packages feed

amazonka-sagemaker-geospatial (empty) → 2.0

raw patch · 153 files changed

+15925/−0 lines, 153 filesdep +amazonka-coredep +amazonka-sagemaker-geospatialdep +amazonka-test

Dependencies added: amazonka-core, amazonka-sagemaker-geospatial, 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 SageMaker geospatial capabilities SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-05-27@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-sagemaker-geospatial)+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.SageMakerGeoSpatial](http://hackage.haskell.org/package/amazonka-sagemaker-geospatial/docs/Amazonka-SageMakerGeoSpatial.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-sagemaker-geospatial` 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-sagemaker-geospatial.cabal view
@@ -0,0 +1,186 @@+cabal-version:      2.2+name:               amazonka-sagemaker-geospatial+version:            2.0+synopsis:           Amazon SageMaker geospatial capabilities 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 @2020-05-27@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.SageMakerGeoSpatial.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.SageMakerGeoSpatial" 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-sagemaker-geospatial++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.SageMakerGeoSpatial+    Amazonka.SageMakerGeoSpatial.DeleteEarthObservationJob+    Amazonka.SageMakerGeoSpatial.DeleteVectorEnrichmentJob+    Amazonka.SageMakerGeoSpatial.ExportEarthObservationJob+    Amazonka.SageMakerGeoSpatial.ExportVectorEnrichmentJob+    Amazonka.SageMakerGeoSpatial.GetEarthObservationJob+    Amazonka.SageMakerGeoSpatial.GetRasterDataCollection+    Amazonka.SageMakerGeoSpatial.GetTile+    Amazonka.SageMakerGeoSpatial.GetVectorEnrichmentJob+    Amazonka.SageMakerGeoSpatial.Lens+    Amazonka.SageMakerGeoSpatial.ListEarthObservationJobs+    Amazonka.SageMakerGeoSpatial.ListRasterDataCollections+    Amazonka.SageMakerGeoSpatial.ListTagsForResource+    Amazonka.SageMakerGeoSpatial.ListVectorEnrichmentJobs+    Amazonka.SageMakerGeoSpatial.SearchRasterDataCollection+    Amazonka.SageMakerGeoSpatial.StartEarthObservationJob+    Amazonka.SageMakerGeoSpatial.StartVectorEnrichmentJob+    Amazonka.SageMakerGeoSpatial.StopEarthObservationJob+    Amazonka.SageMakerGeoSpatial.StopVectorEnrichmentJob+    Amazonka.SageMakerGeoSpatial.TagResource+    Amazonka.SageMakerGeoSpatial.Types+    Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameCloudRemoval+    Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameGeoMosaic+    Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameResampling+    Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+    Amazonka.SageMakerGeoSpatial.Types.AreaOfInterestGeometry+    Amazonka.SageMakerGeoSpatial.Types.AssetValue+    Amazonka.SageMakerGeoSpatial.Types.BandMathConfigInput+    Amazonka.SageMakerGeoSpatial.Types.CloudMaskingConfigInput+    Amazonka.SageMakerGeoSpatial.Types.CloudRemovalConfigInput+    Amazonka.SageMakerGeoSpatial.Types.ComparisonOperator+    Amazonka.SageMakerGeoSpatial.Types.CustomIndicesInput+    Amazonka.SageMakerGeoSpatial.Types.DataCollectionType+    Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorDetails+    Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorType+    Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobExportStatus+    Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobStatus+    Amazonka.SageMakerGeoSpatial.Types.EoCloudCoverInput+    Amazonka.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+    Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetails+    Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput+    Amazonka.SageMakerGeoSpatial.Types.ExportErrorType+    Amazonka.SageMakerGeoSpatial.Types.ExportS3DataInput+    Amazonka.SageMakerGeoSpatial.Types.ExportVectorEnrichmentJobOutputConfig+    Amazonka.SageMakerGeoSpatial.Types.Filter+    Amazonka.SageMakerGeoSpatial.Types.Geometry+    Amazonka.SageMakerGeoSpatial.Types.GeoMosaicConfigInput+    Amazonka.SageMakerGeoSpatial.Types.GroupBy+    Amazonka.SageMakerGeoSpatial.Types.InputConfigInput+    Amazonka.SageMakerGeoSpatial.Types.InputConfigOutput+    Amazonka.SageMakerGeoSpatial.Types.ItemSource+    Amazonka.SageMakerGeoSpatial.Types.JobConfigInput+    Amazonka.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput+    Amazonka.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput+    Amazonka.SageMakerGeoSpatial.Types.ListEarthObservationJobOutputConfig+    Amazonka.SageMakerGeoSpatial.Types.ListVectorEnrichmentJobOutputConfig+    Amazonka.SageMakerGeoSpatial.Types.LogicalOperator+    Amazonka.SageMakerGeoSpatial.Types.MapMatchingConfig+    Amazonka.SageMakerGeoSpatial.Types.MetadataProvider+    Amazonka.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput+    Amazonka.SageMakerGeoSpatial.Types.Operation+    Amazonka.SageMakerGeoSpatial.Types.OutputBand+    Amazonka.SageMakerGeoSpatial.Types.OutputConfigInput+    Amazonka.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput+    Amazonka.SageMakerGeoSpatial.Types.OutputResolutionStackInput+    Amazonka.SageMakerGeoSpatial.Types.OutputType+    Amazonka.SageMakerGeoSpatial.Types.PlatformInput+    Amazonka.SageMakerGeoSpatial.Types.PolygonGeometryInput+    Amazonka.SageMakerGeoSpatial.Types.PredefinedResolution+    Amazonka.SageMakerGeoSpatial.Types.Properties+    Amazonka.SageMakerGeoSpatial.Types.Property+    Amazonka.SageMakerGeoSpatial.Types.PropertyFilter+    Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+    Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionMetadata+    Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput+    Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput+    Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryWithBandFilterInput+    Amazonka.SageMakerGeoSpatial.Types.ResamplingConfigInput+    Amazonka.SageMakerGeoSpatial.Types.ReverseGeocodingConfig+    Amazonka.SageMakerGeoSpatial.Types.S3DataInput+    Amazonka.SageMakerGeoSpatial.Types.SortOrder+    Amazonka.SageMakerGeoSpatial.Types.StackConfigInput+    Amazonka.SageMakerGeoSpatial.Types.TargetOptions+    Amazonka.SageMakerGeoSpatial.Types.TemporalStatistics+    Amazonka.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput+    Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput+    Amazonka.SageMakerGeoSpatial.Types.Unit+    Amazonka.SageMakerGeoSpatial.Types.UserDefined+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobConfig+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDocumentType+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorDetails+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorType+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorDetails+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorType+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportStatus+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobInputConfig+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobStatus+    Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobType+    Amazonka.SageMakerGeoSpatial.Types.ViewOffNadirInput+    Amazonka.SageMakerGeoSpatial.Types.ViewSunAzimuthInput+    Amazonka.SageMakerGeoSpatial.Types.ViewSunElevationInput+    Amazonka.SageMakerGeoSpatial.Types.ZonalStatistics+    Amazonka.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput+    Amazonka.SageMakerGeoSpatial.UntagResource+    Amazonka.SageMakerGeoSpatial.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-sagemaker-geospatial-test+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded++  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Gen.SageMakerGeoSpatial+    Test.Amazonka.SageMakerGeoSpatial+    Test.Amazonka.SageMakerGeoSpatial.Internal++  build-depends:+    , amazonka-core                  >=2.0 && <2.1+    , amazonka-sagemaker-geospatial+    , amazonka-test                  >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/DeleteEarthObservationJob.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/DeleteEarthObservationJobResponse.proto view
+ fixture/DeleteVectorEnrichmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/DeleteVectorEnrichmentJobResponse.proto view
+ fixture/ExportEarthObservationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ExportEarthObservationJobResponse.proto view
+ fixture/ExportVectorEnrichmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ExportVectorEnrichmentJobResponse.proto view
+ fixture/GetEarthObservationJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/GetEarthObservationJobResponse.proto view
+ fixture/GetRasterDataCollection.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/GetRasterDataCollectionResponse.proto view
+ fixture/GetTile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/GetTileResponse.proto view
+ fixture/GetVectorEnrichmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/GetVectorEnrichmentJobResponse.proto view
+ fixture/ListEarthObservationJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ListEarthObservationJobsResponse.proto view
+ fixture/ListRasterDataCollections.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ListRasterDataCollectionsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ListVectorEnrichmentJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/ListVectorEnrichmentJobsResponse.proto view
+ fixture/SearchRasterDataCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/SearchRasterDataCollectionResponse.proto view
+ fixture/StartEarthObservationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/StartEarthObservationJobResponse.proto view
+ fixture/StartVectorEnrichmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/StartVectorEnrichmentJobResponse.proto view
+ fixture/StopEarthObservationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/StopEarthObservationJobResponse.proto view
+ fixture/StopVectorEnrichmentJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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/StopVectorEnrichmentJobResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/sagemaker-geospatial/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  sagemaker-geospatial.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
+ gen/Amazonka/SageMakerGeoSpatial.hs view
@@ -0,0 +1,526 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.SageMakerGeoSpatial+-- 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 @2020-05-27@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Provides APIs for creating and managing SageMaker geospatial resources.+module Amazonka.SageMakerGeoSpatial+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DeleteEarthObservationJob+    DeleteEarthObservationJob (DeleteEarthObservationJob'),+    newDeleteEarthObservationJob,+    DeleteEarthObservationJobResponse (DeleteEarthObservationJobResponse'),+    newDeleteEarthObservationJobResponse,++    -- ** DeleteVectorEnrichmentJob+    DeleteVectorEnrichmentJob (DeleteVectorEnrichmentJob'),+    newDeleteVectorEnrichmentJob,+    DeleteVectorEnrichmentJobResponse (DeleteVectorEnrichmentJobResponse'),+    newDeleteVectorEnrichmentJobResponse,++    -- ** ExportEarthObservationJob+    ExportEarthObservationJob (ExportEarthObservationJob'),+    newExportEarthObservationJob,+    ExportEarthObservationJobResponse (ExportEarthObservationJobResponse'),+    newExportEarthObservationJobResponse,++    -- ** ExportVectorEnrichmentJob+    ExportVectorEnrichmentJob (ExportVectorEnrichmentJob'),+    newExportVectorEnrichmentJob,+    ExportVectorEnrichmentJobResponse (ExportVectorEnrichmentJobResponse'),+    newExportVectorEnrichmentJobResponse,++    -- ** GetEarthObservationJob+    GetEarthObservationJob (GetEarthObservationJob'),+    newGetEarthObservationJob,+    GetEarthObservationJobResponse (GetEarthObservationJobResponse'),+    newGetEarthObservationJobResponse,++    -- ** GetRasterDataCollection+    GetRasterDataCollection (GetRasterDataCollection'),+    newGetRasterDataCollection,+    GetRasterDataCollectionResponse (GetRasterDataCollectionResponse'),+    newGetRasterDataCollectionResponse,++    -- ** GetTile+    GetTile (GetTile'),+    newGetTile,+    GetTileResponse (GetTileResponse'),+    newGetTileResponse,++    -- ** GetVectorEnrichmentJob+    GetVectorEnrichmentJob (GetVectorEnrichmentJob'),+    newGetVectorEnrichmentJob,+    GetVectorEnrichmentJobResponse (GetVectorEnrichmentJobResponse'),+    newGetVectorEnrichmentJobResponse,++    -- ** ListEarthObservationJobs (Paginated)+    ListEarthObservationJobs (ListEarthObservationJobs'),+    newListEarthObservationJobs,+    ListEarthObservationJobsResponse (ListEarthObservationJobsResponse'),+    newListEarthObservationJobsResponse,++    -- ** ListRasterDataCollections (Paginated)+    ListRasterDataCollections (ListRasterDataCollections'),+    newListRasterDataCollections,+    ListRasterDataCollectionsResponse (ListRasterDataCollectionsResponse'),+    newListRasterDataCollectionsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListVectorEnrichmentJobs (Paginated)+    ListVectorEnrichmentJobs (ListVectorEnrichmentJobs'),+    newListVectorEnrichmentJobs,+    ListVectorEnrichmentJobsResponse (ListVectorEnrichmentJobsResponse'),+    newListVectorEnrichmentJobsResponse,++    -- ** SearchRasterDataCollection+    SearchRasterDataCollection (SearchRasterDataCollection'),+    newSearchRasterDataCollection,+    SearchRasterDataCollectionResponse (SearchRasterDataCollectionResponse'),+    newSearchRasterDataCollectionResponse,++    -- ** StartEarthObservationJob+    StartEarthObservationJob (StartEarthObservationJob'),+    newStartEarthObservationJob,+    StartEarthObservationJobResponse (StartEarthObservationJobResponse'),+    newStartEarthObservationJobResponse,++    -- ** StartVectorEnrichmentJob+    StartVectorEnrichmentJob (StartVectorEnrichmentJob'),+    newStartVectorEnrichmentJob,+    StartVectorEnrichmentJobResponse (StartVectorEnrichmentJobResponse'),+    newStartVectorEnrichmentJobResponse,++    -- ** StopEarthObservationJob+    StopEarthObservationJob (StopEarthObservationJob'),+    newStopEarthObservationJob,+    StopEarthObservationJobResponse (StopEarthObservationJobResponse'),+    newStopEarthObservationJobResponse,++    -- ** StopVectorEnrichmentJob+    StopVectorEnrichmentJob (StopVectorEnrichmentJob'),+    newStopVectorEnrichmentJob,+    StopVectorEnrichmentJobResponse (StopVectorEnrichmentJobResponse'),+    newStopVectorEnrichmentJobResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** AlgorithmNameCloudRemoval+    AlgorithmNameCloudRemoval (..),++    -- ** AlgorithmNameGeoMosaic+    AlgorithmNameGeoMosaic (..),++    -- ** AlgorithmNameResampling+    AlgorithmNameResampling (..),++    -- ** ComparisonOperator+    ComparisonOperator (..),++    -- ** DataCollectionType+    DataCollectionType (..),++    -- ** EarthObservationJobErrorType+    EarthObservationJobErrorType (..),++    -- ** EarthObservationJobExportStatus+    EarthObservationJobExportStatus (..),++    -- ** EarthObservationJobStatus+    EarthObservationJobStatus (..),++    -- ** ExportErrorType+    ExportErrorType (..),++    -- ** GroupBy+    GroupBy (..),++    -- ** LogicalOperator+    LogicalOperator (..),++    -- ** MetadataProvider+    MetadataProvider (..),++    -- ** OutputType+    OutputType (..),++    -- ** PredefinedResolution+    PredefinedResolution (..),++    -- ** SortOrder+    SortOrder (..),++    -- ** TargetOptions+    TargetOptions (..),++    -- ** TemporalStatistics+    TemporalStatistics (..),++    -- ** Unit+    Unit (..),++    -- ** VectorEnrichmentJobDocumentType+    VectorEnrichmentJobDocumentType (..),++    -- ** VectorEnrichmentJobErrorType+    VectorEnrichmentJobErrorType (..),++    -- ** VectorEnrichmentJobExportErrorType+    VectorEnrichmentJobExportErrorType (..),++    -- ** VectorEnrichmentJobExportStatus+    VectorEnrichmentJobExportStatus (..),++    -- ** VectorEnrichmentJobStatus+    VectorEnrichmentJobStatus (..),++    -- ** VectorEnrichmentJobType+    VectorEnrichmentJobType (..),++    -- ** ZonalStatistics+    ZonalStatistics (..),++    -- ** AreaOfInterest+    AreaOfInterest (AreaOfInterest'),+    newAreaOfInterest,++    -- ** AreaOfInterestGeometry+    AreaOfInterestGeometry (AreaOfInterestGeometry'),+    newAreaOfInterestGeometry,++    -- ** AssetValue+    AssetValue (AssetValue'),+    newAssetValue,++    -- ** BandMathConfigInput+    BandMathConfigInput (BandMathConfigInput'),+    newBandMathConfigInput,++    -- ** CloudMaskingConfigInput+    CloudMaskingConfigInput (CloudMaskingConfigInput'),+    newCloudMaskingConfigInput,++    -- ** CloudRemovalConfigInput+    CloudRemovalConfigInput (CloudRemovalConfigInput'),+    newCloudRemovalConfigInput,++    -- ** CustomIndicesInput+    CustomIndicesInput (CustomIndicesInput'),+    newCustomIndicesInput,++    -- ** EarthObservationJobErrorDetails+    EarthObservationJobErrorDetails (EarthObservationJobErrorDetails'),+    newEarthObservationJobErrorDetails,++    -- ** EoCloudCoverInput+    EoCloudCoverInput (EoCloudCoverInput'),+    newEoCloudCoverInput,++    -- ** EojDataSourceConfigInput+    EojDataSourceConfigInput (EojDataSourceConfigInput'),+    newEojDataSourceConfigInput,++    -- ** ExportErrorDetails+    ExportErrorDetails (ExportErrorDetails'),+    newExportErrorDetails,++    -- ** ExportErrorDetailsOutput+    ExportErrorDetailsOutput (ExportErrorDetailsOutput'),+    newExportErrorDetailsOutput,++    -- ** ExportS3DataInput+    ExportS3DataInput (ExportS3DataInput'),+    newExportS3DataInput,++    -- ** ExportVectorEnrichmentJobOutputConfig+    ExportVectorEnrichmentJobOutputConfig (ExportVectorEnrichmentJobOutputConfig'),+    newExportVectorEnrichmentJobOutputConfig,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** GeoMosaicConfigInput+    GeoMosaicConfigInput (GeoMosaicConfigInput'),+    newGeoMosaicConfigInput,++    -- ** Geometry+    Geometry (Geometry'),+    newGeometry,++    -- ** InputConfigInput+    InputConfigInput (InputConfigInput'),+    newInputConfigInput,++    -- ** InputConfigOutput+    InputConfigOutput (InputConfigOutput'),+    newInputConfigOutput,++    -- ** ItemSource+    ItemSource (ItemSource'),+    newItemSource,++    -- ** JobConfigInput+    JobConfigInput (JobConfigInput'),+    newJobConfigInput,++    -- ** LandCoverSegmentationConfigInput+    LandCoverSegmentationConfigInput (LandCoverSegmentationConfigInput'),+    newLandCoverSegmentationConfigInput,++    -- ** LandsatCloudCoverLandInput+    LandsatCloudCoverLandInput (LandsatCloudCoverLandInput'),+    newLandsatCloudCoverLandInput,++    -- ** ListEarthObservationJobOutputConfig+    ListEarthObservationJobOutputConfig (ListEarthObservationJobOutputConfig'),+    newListEarthObservationJobOutputConfig,++    -- ** ListVectorEnrichmentJobOutputConfig+    ListVectorEnrichmentJobOutputConfig (ListVectorEnrichmentJobOutputConfig'),+    newListVectorEnrichmentJobOutputConfig,++    -- ** MapMatchingConfig+    MapMatchingConfig (MapMatchingConfig'),+    newMapMatchingConfig,++    -- ** MultiPolygonGeometryInput+    MultiPolygonGeometryInput (MultiPolygonGeometryInput'),+    newMultiPolygonGeometryInput,++    -- ** Operation+    Operation (Operation'),+    newOperation,++    -- ** OutputBand+    OutputBand (OutputBand'),+    newOutputBand,++    -- ** OutputConfigInput+    OutputConfigInput (OutputConfigInput'),+    newOutputConfigInput,++    -- ** OutputResolutionResamplingInput+    OutputResolutionResamplingInput (OutputResolutionResamplingInput'),+    newOutputResolutionResamplingInput,++    -- ** OutputResolutionStackInput+    OutputResolutionStackInput (OutputResolutionStackInput'),+    newOutputResolutionStackInput,++    -- ** PlatformInput+    PlatformInput (PlatformInput'),+    newPlatformInput,++    -- ** PolygonGeometryInput+    PolygonGeometryInput (PolygonGeometryInput'),+    newPolygonGeometryInput,++    -- ** Properties+    Properties (Properties'),+    newProperties,++    -- ** Property+    Property (Property'),+    newProperty,++    -- ** PropertyFilter+    PropertyFilter (PropertyFilter'),+    newPropertyFilter,++    -- ** PropertyFilters+    PropertyFilters (PropertyFilters'),+    newPropertyFilters,++    -- ** RasterDataCollectionMetadata+    RasterDataCollectionMetadata (RasterDataCollectionMetadata'),+    newRasterDataCollectionMetadata,++    -- ** RasterDataCollectionQueryInput+    RasterDataCollectionQueryInput (RasterDataCollectionQueryInput'),+    newRasterDataCollectionQueryInput,++    -- ** RasterDataCollectionQueryOutput+    RasterDataCollectionQueryOutput (RasterDataCollectionQueryOutput'),+    newRasterDataCollectionQueryOutput,++    -- ** RasterDataCollectionQueryWithBandFilterInput+    RasterDataCollectionQueryWithBandFilterInput (RasterDataCollectionQueryWithBandFilterInput'),+    newRasterDataCollectionQueryWithBandFilterInput,++    -- ** ResamplingConfigInput+    ResamplingConfigInput (ResamplingConfigInput'),+    newResamplingConfigInput,++    -- ** ReverseGeocodingConfig+    ReverseGeocodingConfig (ReverseGeocodingConfig'),+    newReverseGeocodingConfig,++    -- ** S3DataInput+    S3DataInput (S3DataInput'),+    newS3DataInput,++    -- ** StackConfigInput+    StackConfigInput (StackConfigInput'),+    newStackConfigInput,++    -- ** TemporalStatisticsConfigInput+    TemporalStatisticsConfigInput (TemporalStatisticsConfigInput'),+    newTemporalStatisticsConfigInput,++    -- ** TimeRangeFilterInput+    TimeRangeFilterInput (TimeRangeFilterInput'),+    newTimeRangeFilterInput,++    -- ** UserDefined+    UserDefined (UserDefined'),+    newUserDefined,++    -- ** VectorEnrichmentJobConfig+    VectorEnrichmentJobConfig (VectorEnrichmentJobConfig'),+    newVectorEnrichmentJobConfig,++    -- ** VectorEnrichmentJobDataSourceConfigInput+    VectorEnrichmentJobDataSourceConfigInput (VectorEnrichmentJobDataSourceConfigInput'),+    newVectorEnrichmentJobDataSourceConfigInput,++    -- ** VectorEnrichmentJobErrorDetails+    VectorEnrichmentJobErrorDetails (VectorEnrichmentJobErrorDetails'),+    newVectorEnrichmentJobErrorDetails,++    -- ** VectorEnrichmentJobExportErrorDetails+    VectorEnrichmentJobExportErrorDetails (VectorEnrichmentJobExportErrorDetails'),+    newVectorEnrichmentJobExportErrorDetails,++    -- ** VectorEnrichmentJobInputConfig+    VectorEnrichmentJobInputConfig (VectorEnrichmentJobInputConfig'),+    newVectorEnrichmentJobInputConfig,++    -- ** VectorEnrichmentJobS3Data+    VectorEnrichmentJobS3Data (VectorEnrichmentJobS3Data'),+    newVectorEnrichmentJobS3Data,++    -- ** ViewOffNadirInput+    ViewOffNadirInput (ViewOffNadirInput'),+    newViewOffNadirInput,++    -- ** ViewSunAzimuthInput+    ViewSunAzimuthInput (ViewSunAzimuthInput'),+    newViewSunAzimuthInput,++    -- ** ViewSunElevationInput+    ViewSunElevationInput (ViewSunElevationInput'),+    newViewSunElevationInput,++    -- ** ZonalStatisticsConfigInput+    ZonalStatisticsConfigInput (ZonalStatisticsConfigInput'),+    newZonalStatisticsConfigInput,+  )+where++import Amazonka.SageMakerGeoSpatial.DeleteEarthObservationJob+import Amazonka.SageMakerGeoSpatial.DeleteVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.ExportEarthObservationJob+import Amazonka.SageMakerGeoSpatial.ExportVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.GetEarthObservationJob+import Amazonka.SageMakerGeoSpatial.GetRasterDataCollection+import Amazonka.SageMakerGeoSpatial.GetTile+import Amazonka.SageMakerGeoSpatial.GetVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.Lens+import Amazonka.SageMakerGeoSpatial.ListEarthObservationJobs+import Amazonka.SageMakerGeoSpatial.ListRasterDataCollections+import Amazonka.SageMakerGeoSpatial.ListTagsForResource+import Amazonka.SageMakerGeoSpatial.ListVectorEnrichmentJobs+import Amazonka.SageMakerGeoSpatial.SearchRasterDataCollection+import Amazonka.SageMakerGeoSpatial.StartEarthObservationJob+import Amazonka.SageMakerGeoSpatial.StartVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.StopEarthObservationJob+import Amazonka.SageMakerGeoSpatial.StopVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.TagResource+import Amazonka.SageMakerGeoSpatial.Types+import Amazonka.SageMakerGeoSpatial.UntagResource+import Amazonka.SageMakerGeoSpatial.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 'SageMakerGeoSpatial'.++-- $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/SageMakerGeoSpatial/DeleteEarthObservationJob.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.SageMakerGeoSpatial.DeleteEarthObservationJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to delete an Earth Observation job.+module Amazonka.SageMakerGeoSpatial.DeleteEarthObservationJob+  ( -- * Creating a Request+    DeleteEarthObservationJob (..),+    newDeleteEarthObservationJob,++    -- * Request Lenses+    deleteEarthObservationJob_arn,++    -- * Destructuring the Response+    DeleteEarthObservationJobResponse (..),+    newDeleteEarthObservationJobResponse,++    -- * Response Lenses+    deleteEarthObservationJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newDeleteEarthObservationJob' smart constructor.+data DeleteEarthObservationJob = DeleteEarthObservationJob'+  { -- | The Amazon Resource Name (ARN) of the Earth Observation job being+    -- deleted.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEarthObservationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEarthObservationJob_arn' - The Amazon Resource Name (ARN) of the Earth Observation job being+-- deleted.+newDeleteEarthObservationJob ::+  -- | 'arn'+  Prelude.Text ->+  DeleteEarthObservationJob+newDeleteEarthObservationJob pArn_ =+  DeleteEarthObservationJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Earth Observation job being+-- deleted.+deleteEarthObservationJob_arn :: Lens.Lens' DeleteEarthObservationJob Prelude.Text+deleteEarthObservationJob_arn = Lens.lens (\DeleteEarthObservationJob' {arn} -> arn) (\s@DeleteEarthObservationJob' {} a -> s {arn = a} :: DeleteEarthObservationJob)++instance Core.AWSRequest DeleteEarthObservationJob where+  type+    AWSResponse DeleteEarthObservationJob =+      DeleteEarthObservationJobResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteEarthObservationJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteEarthObservationJob where+  hashWithSalt _salt DeleteEarthObservationJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteEarthObservationJob where+  rnf DeleteEarthObservationJob' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteEarthObservationJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteEarthObservationJob where+  toPath DeleteEarthObservationJob' {..} =+    Prelude.mconcat+      ["/earth-observation-jobs/", Data.toBS arn]++instance Data.ToQuery DeleteEarthObservationJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEarthObservationJobResponse' smart constructor.+data DeleteEarthObservationJobResponse = DeleteEarthObservationJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEarthObservationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteEarthObservationJobResponse_httpStatus' - The response's http status code.+newDeleteEarthObservationJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteEarthObservationJobResponse+newDeleteEarthObservationJobResponse pHttpStatus_ =+  DeleteEarthObservationJobResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteEarthObservationJobResponse_httpStatus :: Lens.Lens' DeleteEarthObservationJobResponse Prelude.Int+deleteEarthObservationJobResponse_httpStatus = Lens.lens (\DeleteEarthObservationJobResponse' {httpStatus} -> httpStatus) (\s@DeleteEarthObservationJobResponse' {} a -> s {httpStatus = a} :: DeleteEarthObservationJobResponse)++instance+  Prelude.NFData+    DeleteEarthObservationJobResponse+  where+  rnf DeleteEarthObservationJobResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/DeleteVectorEnrichmentJob.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.SageMakerGeoSpatial.DeleteVectorEnrichmentJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to delete a Vector Enrichment job.+module Amazonka.SageMakerGeoSpatial.DeleteVectorEnrichmentJob+  ( -- * Creating a Request+    DeleteVectorEnrichmentJob (..),+    newDeleteVectorEnrichmentJob,++    -- * Request Lenses+    deleteVectorEnrichmentJob_arn,++    -- * Destructuring the Response+    DeleteVectorEnrichmentJobResponse (..),+    newDeleteVectorEnrichmentJobResponse,++    -- * Response Lenses+    deleteVectorEnrichmentJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newDeleteVectorEnrichmentJob' smart constructor.+data DeleteVectorEnrichmentJob = DeleteVectorEnrichmentJob'+  { -- | The Amazon Resource Name (ARN) of the Vector Enrichment job being+    -- deleted.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVectorEnrichmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteVectorEnrichmentJob_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job being+-- deleted.+newDeleteVectorEnrichmentJob ::+  -- | 'arn'+  Prelude.Text ->+  DeleteVectorEnrichmentJob+newDeleteVectorEnrichmentJob pArn_ =+  DeleteVectorEnrichmentJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job being+-- deleted.+deleteVectorEnrichmentJob_arn :: Lens.Lens' DeleteVectorEnrichmentJob Prelude.Text+deleteVectorEnrichmentJob_arn = Lens.lens (\DeleteVectorEnrichmentJob' {arn} -> arn) (\s@DeleteVectorEnrichmentJob' {} a -> s {arn = a} :: DeleteVectorEnrichmentJob)++instance Core.AWSRequest DeleteVectorEnrichmentJob where+  type+    AWSResponse DeleteVectorEnrichmentJob =+      DeleteVectorEnrichmentJobResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteVectorEnrichmentJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteVectorEnrichmentJob where+  hashWithSalt _salt DeleteVectorEnrichmentJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteVectorEnrichmentJob where+  rnf DeleteVectorEnrichmentJob' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteVectorEnrichmentJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteVectorEnrichmentJob where+  toPath DeleteVectorEnrichmentJob' {..} =+    Prelude.mconcat+      ["/vector-enrichment-jobs/", Data.toBS arn]++instance Data.ToQuery DeleteVectorEnrichmentJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVectorEnrichmentJobResponse' smart constructor.+data DeleteVectorEnrichmentJobResponse = DeleteVectorEnrichmentJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVectorEnrichmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteVectorEnrichmentJobResponse_httpStatus' - The response's http status code.+newDeleteVectorEnrichmentJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteVectorEnrichmentJobResponse+newDeleteVectorEnrichmentJobResponse pHttpStatus_ =+  DeleteVectorEnrichmentJobResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' DeleteVectorEnrichmentJobResponse Prelude.Int+deleteVectorEnrichmentJobResponse_httpStatus = Lens.lens (\DeleteVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@DeleteVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: DeleteVectorEnrichmentJobResponse)++instance+  Prelude.NFData+    DeleteVectorEnrichmentJobResponse+  where+  rnf DeleteVectorEnrichmentJobResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/ExportEarthObservationJob.hs view
@@ -0,0 +1,312 @@+{-# 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.SageMakerGeoSpatial.ExportEarthObservationJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to export results of an Earth Observation job and+-- optionally source images used as input to the EOJ to an S3 location.+module Amazonka.SageMakerGeoSpatial.ExportEarthObservationJob+  ( -- * Creating a Request+    ExportEarthObservationJob (..),+    newExportEarthObservationJob,++    -- * Request Lenses+    exportEarthObservationJob_exportSourceImages,+    exportEarthObservationJob_arn,+    exportEarthObservationJob_executionRoleArn,+    exportEarthObservationJob_outputConfig,++    -- * Destructuring the Response+    ExportEarthObservationJobResponse (..),+    newExportEarthObservationJobResponse,++    -- * Response Lenses+    exportEarthObservationJobResponse_exportSourceImages,+    exportEarthObservationJobResponse_httpStatus,+    exportEarthObservationJobResponse_arn,+    exportEarthObservationJobResponse_creationTime,+    exportEarthObservationJobResponse_executionRoleArn,+    exportEarthObservationJobResponse_exportStatus,+    exportEarthObservationJobResponse_outputConfig,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newExportEarthObservationJob' smart constructor.+data ExportEarthObservationJob = ExportEarthObservationJob'+  { -- | The source images provided to the Earth Observation job being exported.+    exportSourceImages :: Prelude.Maybe Prelude.Bool,+    -- | The input Amazon Resource Name (ARN) of the Earth Observation job being+    -- exported.+    arn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Text,+    -- | An object containing information about the output file.+    outputConfig :: OutputConfigInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportEarthObservationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exportSourceImages', 'exportEarthObservationJob_exportSourceImages' - The source images provided to the Earth Observation job being exported.+--+-- 'arn', 'exportEarthObservationJob_arn' - The input Amazon Resource Name (ARN) of the Earth Observation job being+-- exported.+--+-- 'executionRoleArn', 'exportEarthObservationJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'outputConfig', 'exportEarthObservationJob_outputConfig' - An object containing information about the output file.+newExportEarthObservationJob ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'outputConfig'+  OutputConfigInput ->+  ExportEarthObservationJob+newExportEarthObservationJob+  pArn_+  pExecutionRoleArn_+  pOutputConfig_ =+    ExportEarthObservationJob'+      { exportSourceImages =+          Prelude.Nothing,+        arn = pArn_,+        executionRoleArn = pExecutionRoleArn_,+        outputConfig = pOutputConfig_+      }++-- | The source images provided to the Earth Observation job being exported.+exportEarthObservationJob_exportSourceImages :: Lens.Lens' ExportEarthObservationJob (Prelude.Maybe Prelude.Bool)+exportEarthObservationJob_exportSourceImages = Lens.lens (\ExportEarthObservationJob' {exportSourceImages} -> exportSourceImages) (\s@ExportEarthObservationJob' {} a -> s {exportSourceImages = a} :: ExportEarthObservationJob)++-- | The input Amazon Resource Name (ARN) of the Earth Observation job being+-- exported.+exportEarthObservationJob_arn :: Lens.Lens' ExportEarthObservationJob Prelude.Text+exportEarthObservationJob_arn = Lens.lens (\ExportEarthObservationJob' {arn} -> arn) (\s@ExportEarthObservationJob' {} a -> s {arn = a} :: ExportEarthObservationJob)++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+exportEarthObservationJob_executionRoleArn :: Lens.Lens' ExportEarthObservationJob Prelude.Text+exportEarthObservationJob_executionRoleArn = Lens.lens (\ExportEarthObservationJob' {executionRoleArn} -> executionRoleArn) (\s@ExportEarthObservationJob' {} a -> s {executionRoleArn = a} :: ExportEarthObservationJob)++-- | An object containing information about the output file.+exportEarthObservationJob_outputConfig :: Lens.Lens' ExportEarthObservationJob OutputConfigInput+exportEarthObservationJob_outputConfig = Lens.lens (\ExportEarthObservationJob' {outputConfig} -> outputConfig) (\s@ExportEarthObservationJob' {} a -> s {outputConfig = a} :: ExportEarthObservationJob)++instance Core.AWSRequest ExportEarthObservationJob where+  type+    AWSResponse ExportEarthObservationJob =+      ExportEarthObservationJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExportEarthObservationJobResponse'+            Prelude.<$> (x Data..?> "ExportSourceImages")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "ExecutionRoleArn")+            Prelude.<*> (x Data..:> "ExportStatus")+            Prelude.<*> (x Data..:> "OutputConfig")+      )++instance Prelude.Hashable ExportEarthObservationJob where+  hashWithSalt _salt ExportEarthObservationJob' {..} =+    _salt+      `Prelude.hashWithSalt` exportSourceImages+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` outputConfig++instance Prelude.NFData ExportEarthObservationJob where+  rnf ExportEarthObservationJob' {..} =+    Prelude.rnf exportSourceImages+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf outputConfig++instance Data.ToHeaders ExportEarthObservationJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ExportEarthObservationJob where+  toJSON ExportEarthObservationJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ExportSourceImages" Data..=)+              Prelude.<$> exportSourceImages,+            Prelude.Just ("Arn" Data..= arn),+            Prelude.Just+              ("ExecutionRoleArn" Data..= executionRoleArn),+            Prelude.Just ("OutputConfig" Data..= outputConfig)+          ]+      )++instance Data.ToPath ExportEarthObservationJob where+  toPath =+    Prelude.const "/export-earth-observation-job"++instance Data.ToQuery ExportEarthObservationJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExportEarthObservationJobResponse' smart constructor.+data ExportEarthObservationJobResponse = ExportEarthObservationJobResponse'+  { -- | The source images provided to the Earth Observation job being exported.+    exportSourceImages :: Prelude.Maybe Prelude.Bool,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The output Amazon Resource Name (ARN) of the Earth Observation job being+    -- exported.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Text,+    -- | The status of the results of the Earth Observation job being exported.+    exportStatus :: EarthObservationJobExportStatus,+    -- | An object containing information about the output file.+    outputConfig :: OutputConfigInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportEarthObservationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exportSourceImages', 'exportEarthObservationJobResponse_exportSourceImages' - The source images provided to the Earth Observation job being exported.+--+-- 'httpStatus', 'exportEarthObservationJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'exportEarthObservationJobResponse_arn' - The output Amazon Resource Name (ARN) of the Earth Observation job being+-- exported.+--+-- 'creationTime', 'exportEarthObservationJobResponse_creationTime' - The creation time.+--+-- 'executionRoleArn', 'exportEarthObservationJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'exportStatus', 'exportEarthObservationJobResponse_exportStatus' - The status of the results of the Earth Observation job being exported.+--+-- 'outputConfig', 'exportEarthObservationJobResponse_outputConfig' - An object containing information about the output file.+newExportEarthObservationJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'exportStatus'+  EarthObservationJobExportStatus ->+  -- | 'outputConfig'+  OutputConfigInput ->+  ExportEarthObservationJobResponse+newExportEarthObservationJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pExecutionRoleArn_+  pExportStatus_+  pOutputConfig_ =+    ExportEarthObservationJobResponse'+      { exportSourceImages =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        executionRoleArn = pExecutionRoleArn_,+        exportStatus = pExportStatus_,+        outputConfig = pOutputConfig_+      }++-- | The source images provided to the Earth Observation job being exported.+exportEarthObservationJobResponse_exportSourceImages :: Lens.Lens' ExportEarthObservationJobResponse (Prelude.Maybe Prelude.Bool)+exportEarthObservationJobResponse_exportSourceImages = Lens.lens (\ExportEarthObservationJobResponse' {exportSourceImages} -> exportSourceImages) (\s@ExportEarthObservationJobResponse' {} a -> s {exportSourceImages = a} :: ExportEarthObservationJobResponse)++-- | The response's http status code.+exportEarthObservationJobResponse_httpStatus :: Lens.Lens' ExportEarthObservationJobResponse Prelude.Int+exportEarthObservationJobResponse_httpStatus = Lens.lens (\ExportEarthObservationJobResponse' {httpStatus} -> httpStatus) (\s@ExportEarthObservationJobResponse' {} a -> s {httpStatus = a} :: ExportEarthObservationJobResponse)++-- | The output Amazon Resource Name (ARN) of the Earth Observation job being+-- exported.+exportEarthObservationJobResponse_arn :: Lens.Lens' ExportEarthObservationJobResponse Prelude.Text+exportEarthObservationJobResponse_arn = Lens.lens (\ExportEarthObservationJobResponse' {arn} -> arn) (\s@ExportEarthObservationJobResponse' {} a -> s {arn = a} :: ExportEarthObservationJobResponse)++-- | The creation time.+exportEarthObservationJobResponse_creationTime :: Lens.Lens' ExportEarthObservationJobResponse Prelude.UTCTime+exportEarthObservationJobResponse_creationTime = Lens.lens (\ExportEarthObservationJobResponse' {creationTime} -> creationTime) (\s@ExportEarthObservationJobResponse' {} a -> s {creationTime = a} :: ExportEarthObservationJobResponse) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+exportEarthObservationJobResponse_executionRoleArn :: Lens.Lens' ExportEarthObservationJobResponse Prelude.Text+exportEarthObservationJobResponse_executionRoleArn = Lens.lens (\ExportEarthObservationJobResponse' {executionRoleArn} -> executionRoleArn) (\s@ExportEarthObservationJobResponse' {} a -> s {executionRoleArn = a} :: ExportEarthObservationJobResponse)++-- | The status of the results of the Earth Observation job being exported.+exportEarthObservationJobResponse_exportStatus :: Lens.Lens' ExportEarthObservationJobResponse EarthObservationJobExportStatus+exportEarthObservationJobResponse_exportStatus = Lens.lens (\ExportEarthObservationJobResponse' {exportStatus} -> exportStatus) (\s@ExportEarthObservationJobResponse' {} a -> s {exportStatus = a} :: ExportEarthObservationJobResponse)++-- | An object containing information about the output file.+exportEarthObservationJobResponse_outputConfig :: Lens.Lens' ExportEarthObservationJobResponse OutputConfigInput+exportEarthObservationJobResponse_outputConfig = Lens.lens (\ExportEarthObservationJobResponse' {outputConfig} -> outputConfig) (\s@ExportEarthObservationJobResponse' {} a -> s {outputConfig = a} :: ExportEarthObservationJobResponse)++instance+  Prelude.NFData+    ExportEarthObservationJobResponse+  where+  rnf ExportEarthObservationJobResponse' {..} =+    Prelude.rnf exportSourceImages+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf exportStatus+      `Prelude.seq` Prelude.rnf outputConfig
+ gen/Amazonka/SageMakerGeoSpatial/ExportVectorEnrichmentJob.hs view
@@ -0,0 +1,282 @@+{-# 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.SageMakerGeoSpatial.ExportVectorEnrichmentJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to copy results of a Vector Enrichment job to an S3+-- location.+module Amazonka.SageMakerGeoSpatial.ExportVectorEnrichmentJob+  ( -- * Creating a Request+    ExportVectorEnrichmentJob (..),+    newExportVectorEnrichmentJob,++    -- * Request Lenses+    exportVectorEnrichmentJob_arn,+    exportVectorEnrichmentJob_executionRoleArn,+    exportVectorEnrichmentJob_outputConfig,++    -- * Destructuring the Response+    ExportVectorEnrichmentJobResponse (..),+    newExportVectorEnrichmentJobResponse,++    -- * Response Lenses+    exportVectorEnrichmentJobResponse_httpStatus,+    exportVectorEnrichmentJobResponse_arn,+    exportVectorEnrichmentJobResponse_creationTime,+    exportVectorEnrichmentJobResponse_executionRoleArn,+    exportVectorEnrichmentJobResponse_exportStatus,+    exportVectorEnrichmentJobResponse_outputConfig,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newExportVectorEnrichmentJob' smart constructor.+data ExportVectorEnrichmentJob = ExportVectorEnrichmentJob'+  { -- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+    arn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM rolewith permission to upload+    -- to the location in OutputConfig.+    executionRoleArn :: Prelude.Text,+    -- | Output location information for exporting Vector Enrichment Job results.+    outputConfig :: ExportVectorEnrichmentJobOutputConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportVectorEnrichmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'exportVectorEnrichmentJob_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job.+--+-- 'executionRoleArn', 'exportVectorEnrichmentJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM rolewith permission to upload+-- to the location in OutputConfig.+--+-- 'outputConfig', 'exportVectorEnrichmentJob_outputConfig' - Output location information for exporting Vector Enrichment Job results.+newExportVectorEnrichmentJob ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'outputConfig'+  ExportVectorEnrichmentJobOutputConfig ->+  ExportVectorEnrichmentJob+newExportVectorEnrichmentJob+  pArn_+  pExecutionRoleArn_+  pOutputConfig_ =+    ExportVectorEnrichmentJob'+      { arn = pArn_,+        executionRoleArn = pExecutionRoleArn_,+        outputConfig = pOutputConfig_+      }++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+exportVectorEnrichmentJob_arn :: Lens.Lens' ExportVectorEnrichmentJob Prelude.Text+exportVectorEnrichmentJob_arn = Lens.lens (\ExportVectorEnrichmentJob' {arn} -> arn) (\s@ExportVectorEnrichmentJob' {} a -> s {arn = a} :: ExportVectorEnrichmentJob)++-- | The Amazon Resource Name (ARN) of the IAM rolewith permission to upload+-- to the location in OutputConfig.+exportVectorEnrichmentJob_executionRoleArn :: Lens.Lens' ExportVectorEnrichmentJob Prelude.Text+exportVectorEnrichmentJob_executionRoleArn = Lens.lens (\ExportVectorEnrichmentJob' {executionRoleArn} -> executionRoleArn) (\s@ExportVectorEnrichmentJob' {} a -> s {executionRoleArn = a} :: ExportVectorEnrichmentJob)++-- | Output location information for exporting Vector Enrichment Job results.+exportVectorEnrichmentJob_outputConfig :: Lens.Lens' ExportVectorEnrichmentJob ExportVectorEnrichmentJobOutputConfig+exportVectorEnrichmentJob_outputConfig = Lens.lens (\ExportVectorEnrichmentJob' {outputConfig} -> outputConfig) (\s@ExportVectorEnrichmentJob' {} a -> s {outputConfig = a} :: ExportVectorEnrichmentJob)++instance Core.AWSRequest ExportVectorEnrichmentJob where+  type+    AWSResponse ExportVectorEnrichmentJob =+      ExportVectorEnrichmentJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExportVectorEnrichmentJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "ExecutionRoleArn")+            Prelude.<*> (x Data..:> "ExportStatus")+            Prelude.<*> (x Data..:> "OutputConfig")+      )++instance Prelude.Hashable ExportVectorEnrichmentJob where+  hashWithSalt _salt ExportVectorEnrichmentJob' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` outputConfig++instance Prelude.NFData ExportVectorEnrichmentJob where+  rnf ExportVectorEnrichmentJob' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf outputConfig++instance Data.ToHeaders ExportVectorEnrichmentJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ExportVectorEnrichmentJob where+  toJSON ExportVectorEnrichmentJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Arn" Data..= arn),+            Prelude.Just+              ("ExecutionRoleArn" Data..= executionRoleArn),+            Prelude.Just ("OutputConfig" Data..= outputConfig)+          ]+      )++instance Data.ToPath ExportVectorEnrichmentJob where+  toPath =+    Prelude.const "/export-vector-enrichment-jobs"++instance Data.ToQuery ExportVectorEnrichmentJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExportVectorEnrichmentJobResponse' smart constructor.+data ExportVectorEnrichmentJobResponse = ExportVectorEnrichmentJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Vector Enrichment job being+    -- exported.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the IAM role with permission to upload+    -- to the location in OutputConfig.+    executionRoleArn :: Prelude.Text,+    -- | The status of the results the Vector Enrichment job being exported.+    exportStatus :: VectorEnrichmentJobExportStatus,+    -- | Output location information for exporting Vector Enrichment Job results.+    outputConfig :: ExportVectorEnrichmentJobOutputConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportVectorEnrichmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'exportVectorEnrichmentJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'exportVectorEnrichmentJobResponse_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job being+-- exported.+--+-- 'creationTime', 'exportVectorEnrichmentJobResponse_creationTime' - The creation time.+--+-- 'executionRoleArn', 'exportVectorEnrichmentJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role with permission to upload+-- to the location in OutputConfig.+--+-- 'exportStatus', 'exportVectorEnrichmentJobResponse_exportStatus' - The status of the results the Vector Enrichment job being exported.+--+-- 'outputConfig', 'exportVectorEnrichmentJobResponse_outputConfig' - Output location information for exporting Vector Enrichment Job results.+newExportVectorEnrichmentJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'exportStatus'+  VectorEnrichmentJobExportStatus ->+  -- | 'outputConfig'+  ExportVectorEnrichmentJobOutputConfig ->+  ExportVectorEnrichmentJobResponse+newExportVectorEnrichmentJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pExecutionRoleArn_+  pExportStatus_+  pOutputConfig_ =+    ExportVectorEnrichmentJobResponse'+      { httpStatus =+          pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        executionRoleArn = pExecutionRoleArn_,+        exportStatus = pExportStatus_,+        outputConfig = pOutputConfig_+      }++-- | The response's http status code.+exportVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Int+exportVectorEnrichmentJobResponse_httpStatus = Lens.lens (\ExportVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: ExportVectorEnrichmentJobResponse)++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job being+-- exported.+exportVectorEnrichmentJobResponse_arn :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Text+exportVectorEnrichmentJobResponse_arn = Lens.lens (\ExportVectorEnrichmentJobResponse' {arn} -> arn) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {arn = a} :: ExportVectorEnrichmentJobResponse)++-- | The creation time.+exportVectorEnrichmentJobResponse_creationTime :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.UTCTime+exportVectorEnrichmentJobResponse_creationTime = Lens.lens (\ExportVectorEnrichmentJobResponse' {creationTime} -> creationTime) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {creationTime = a} :: ExportVectorEnrichmentJobResponse) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) of the IAM role with permission to upload+-- to the location in OutputConfig.+exportVectorEnrichmentJobResponse_executionRoleArn :: Lens.Lens' ExportVectorEnrichmentJobResponse Prelude.Text+exportVectorEnrichmentJobResponse_executionRoleArn = Lens.lens (\ExportVectorEnrichmentJobResponse' {executionRoleArn} -> executionRoleArn) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {executionRoleArn = a} :: ExportVectorEnrichmentJobResponse)++-- | The status of the results the Vector Enrichment job being exported.+exportVectorEnrichmentJobResponse_exportStatus :: Lens.Lens' ExportVectorEnrichmentJobResponse VectorEnrichmentJobExportStatus+exportVectorEnrichmentJobResponse_exportStatus = Lens.lens (\ExportVectorEnrichmentJobResponse' {exportStatus} -> exportStatus) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {exportStatus = a} :: ExportVectorEnrichmentJobResponse)++-- | Output location information for exporting Vector Enrichment Job results.+exportVectorEnrichmentJobResponse_outputConfig :: Lens.Lens' ExportVectorEnrichmentJobResponse ExportVectorEnrichmentJobOutputConfig+exportVectorEnrichmentJobResponse_outputConfig = Lens.lens (\ExportVectorEnrichmentJobResponse' {outputConfig} -> outputConfig) (\s@ExportVectorEnrichmentJobResponse' {} a -> s {outputConfig = a} :: ExportVectorEnrichmentJobResponse)++instance+  Prelude.NFData+    ExportVectorEnrichmentJobResponse+  where+  rnf ExportVectorEnrichmentJobResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf exportStatus+      `Prelude.seq` Prelude.rnf outputConfig
+ gen/Amazonka/SageMakerGeoSpatial/GetEarthObservationJob.hs view
@@ -0,0 +1,345 @@+{-# 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.SageMakerGeoSpatial.GetEarthObservationJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the details for a previously initiated Earth Observation job.+module Amazonka.SageMakerGeoSpatial.GetEarthObservationJob+  ( -- * Creating a Request+    GetEarthObservationJob (..),+    newGetEarthObservationJob,++    -- * Request Lenses+    getEarthObservationJob_arn,++    -- * Destructuring the Response+    GetEarthObservationJobResponse (..),+    newGetEarthObservationJobResponse,++    -- * Response Lenses+    getEarthObservationJobResponse_errorDetails,+    getEarthObservationJobResponse_executionRoleArn,+    getEarthObservationJobResponse_exportErrorDetails,+    getEarthObservationJobResponse_exportStatus,+    getEarthObservationJobResponse_kmsKeyId,+    getEarthObservationJobResponse_outputBands,+    getEarthObservationJobResponse_tags,+    getEarthObservationJobResponse_httpStatus,+    getEarthObservationJobResponse_arn,+    getEarthObservationJobResponse_creationTime,+    getEarthObservationJobResponse_durationInSeconds,+    getEarthObservationJobResponse_inputConfig,+    getEarthObservationJobResponse_jobConfig,+    getEarthObservationJobResponse_name,+    getEarthObservationJobResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newGetEarthObservationJob' smart constructor.+data GetEarthObservationJob = GetEarthObservationJob'+  { -- | The Amazon Resource Name (ARN) of the Earth Observation job.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEarthObservationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getEarthObservationJob_arn' - The Amazon Resource Name (ARN) of the Earth Observation job.+newGetEarthObservationJob ::+  -- | 'arn'+  Prelude.Text ->+  GetEarthObservationJob+newGetEarthObservationJob pArn_ =+  GetEarthObservationJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Earth Observation job.+getEarthObservationJob_arn :: Lens.Lens' GetEarthObservationJob Prelude.Text+getEarthObservationJob_arn = Lens.lens (\GetEarthObservationJob' {arn} -> arn) (\s@GetEarthObservationJob' {} a -> s {arn = a} :: GetEarthObservationJob)++instance Core.AWSRequest GetEarthObservationJob where+  type+    AWSResponse GetEarthObservationJob =+      GetEarthObservationJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEarthObservationJobResponse'+            Prelude.<$> (x Data..?> "ErrorDetails")+            Prelude.<*> (x Data..?> "ExecutionRoleArn")+            Prelude.<*> (x Data..?> "ExportErrorDetails")+            Prelude.<*> (x Data..?> "ExportStatus")+            Prelude.<*> (x Data..?> "KmsKeyId")+            Prelude.<*> (x Data..?> "OutputBands" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "DurationInSeconds")+            Prelude.<*> (x Data..:> "InputConfig")+            Prelude.<*> (x Data..:> "JobConfig")+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> (x Data..:> "Status")+      )++instance Prelude.Hashable GetEarthObservationJob where+  hashWithSalt _salt GetEarthObservationJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetEarthObservationJob where+  rnf GetEarthObservationJob' {..} = Prelude.rnf arn++instance Data.ToHeaders GetEarthObservationJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetEarthObservationJob where+  toPath GetEarthObservationJob' {..} =+    Prelude.mconcat+      ["/earth-observation-jobs/", Data.toBS arn]++instance Data.ToQuery GetEarthObservationJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEarthObservationJobResponse' smart constructor.+data GetEarthObservationJobResponse = GetEarthObservationJobResponse'+  { -- | Details about the errors generated during the Earth Observation job.+    errorDetails :: Prelude.Maybe EarthObservationJobErrorDetails,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Details about the errors generated during ExportEarthObservationJob.+    exportErrorDetails :: Prelude.Maybe ExportErrorDetails,+    -- | The status of the Earth Observation job.+    exportStatus :: Prelude.Maybe EarthObservationJobExportStatus,+    -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    outputBands :: Prelude.Maybe [OutputBand],+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Earth Observation job.+    arn :: Prelude.Text,+    -- | The creation time of the initiated Earth Observation job.+    creationTime :: Data.POSIX,+    -- | The duration of Earth Observation job, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | Input data for the Earth Observation job.+    inputConfig :: InputConfigOutput,+    -- | An object containing information about the job configuration.+    jobConfig :: JobConfigInput,+    -- | The name of the Earth Observation job.+    name :: Prelude.Text,+    -- | The status of a previously initiated Earth Observation job.+    status :: EarthObservationJobStatus+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEarthObservationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorDetails', 'getEarthObservationJobResponse_errorDetails' - Details about the errors generated during the Earth Observation job.+--+-- 'executionRoleArn', 'getEarthObservationJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'exportErrorDetails', 'getEarthObservationJobResponse_exportErrorDetails' - Details about the errors generated during ExportEarthObservationJob.+--+-- 'exportStatus', 'getEarthObservationJobResponse_exportStatus' - The status of the Earth Observation job.+--+-- 'kmsKeyId', 'getEarthObservationJobResponse_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'outputBands', 'getEarthObservationJobResponse_outputBands' -+--+-- 'tags', 'getEarthObservationJobResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'getEarthObservationJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'getEarthObservationJobResponse_arn' - The Amazon Resource Name (ARN) of the Earth Observation job.+--+-- 'creationTime', 'getEarthObservationJobResponse_creationTime' - The creation time of the initiated Earth Observation job.+--+-- 'durationInSeconds', 'getEarthObservationJobResponse_durationInSeconds' - The duration of Earth Observation job, in seconds.+--+-- 'inputConfig', 'getEarthObservationJobResponse_inputConfig' - Input data for the Earth Observation job.+--+-- 'jobConfig', 'getEarthObservationJobResponse_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'getEarthObservationJobResponse_name' - The name of the Earth Observation job.+--+-- 'status', 'getEarthObservationJobResponse_status' - The status of a previously initiated Earth Observation job.+newGetEarthObservationJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'inputConfig'+  InputConfigOutput ->+  -- | 'jobConfig'+  JobConfigInput ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  EarthObservationJobStatus ->+  GetEarthObservationJobResponse+newGetEarthObservationJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pInputConfig_+  pJobConfig_+  pName_+  pStatus_ =+    GetEarthObservationJobResponse'+      { errorDetails =+          Prelude.Nothing,+        executionRoleArn = Prelude.Nothing,+        exportErrorDetails = Prelude.Nothing,+        exportStatus = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        outputBands = Prelude.Nothing,+        tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds = pDurationInSeconds_,+        inputConfig = pInputConfig_,+        jobConfig = pJobConfig_,+        name = pName_,+        status = pStatus_+      }++-- | Details about the errors generated during the Earth Observation job.+getEarthObservationJobResponse_errorDetails :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe EarthObservationJobErrorDetails)+getEarthObservationJobResponse_errorDetails = Lens.lens (\GetEarthObservationJobResponse' {errorDetails} -> errorDetails) (\s@GetEarthObservationJobResponse' {} a -> s {errorDetails = a} :: GetEarthObservationJobResponse)++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+getEarthObservationJobResponse_executionRoleArn :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe Prelude.Text)+getEarthObservationJobResponse_executionRoleArn = Lens.lens (\GetEarthObservationJobResponse' {executionRoleArn} -> executionRoleArn) (\s@GetEarthObservationJobResponse' {} a -> s {executionRoleArn = a} :: GetEarthObservationJobResponse)++-- | Details about the errors generated during ExportEarthObservationJob.+getEarthObservationJobResponse_exportErrorDetails :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe ExportErrorDetails)+getEarthObservationJobResponse_exportErrorDetails = Lens.lens (\GetEarthObservationJobResponse' {exportErrorDetails} -> exportErrorDetails) (\s@GetEarthObservationJobResponse' {} a -> s {exportErrorDetails = a} :: GetEarthObservationJobResponse)++-- | The status of the Earth Observation job.+getEarthObservationJobResponse_exportStatus :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe EarthObservationJobExportStatus)+getEarthObservationJobResponse_exportStatus = Lens.lens (\GetEarthObservationJobResponse' {exportStatus} -> exportStatus) (\s@GetEarthObservationJobResponse' {} a -> s {exportStatus = a} :: GetEarthObservationJobResponse)++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+getEarthObservationJobResponse_kmsKeyId :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe Prelude.Text)+getEarthObservationJobResponse_kmsKeyId = Lens.lens (\GetEarthObservationJobResponse' {kmsKeyId} -> kmsKeyId) (\s@GetEarthObservationJobResponse' {} a -> s {kmsKeyId = a} :: GetEarthObservationJobResponse)++getEarthObservationJobResponse_outputBands :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe [OutputBand])+getEarthObservationJobResponse_outputBands = Lens.lens (\GetEarthObservationJobResponse' {outputBands} -> outputBands) (\s@GetEarthObservationJobResponse' {} a -> s {outputBands = a} :: GetEarthObservationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | Each tag consists of a key and a value.+getEarthObservationJobResponse_tags :: Lens.Lens' GetEarthObservationJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getEarthObservationJobResponse_tags = Lens.lens (\GetEarthObservationJobResponse' {tags} -> tags) (\s@GetEarthObservationJobResponse' {} a -> s {tags = a} :: GetEarthObservationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getEarthObservationJobResponse_httpStatus :: Lens.Lens' GetEarthObservationJobResponse Prelude.Int+getEarthObservationJobResponse_httpStatus = Lens.lens (\GetEarthObservationJobResponse' {httpStatus} -> httpStatus) (\s@GetEarthObservationJobResponse' {} a -> s {httpStatus = a} :: GetEarthObservationJobResponse)++-- | The Amazon Resource Name (ARN) of the Earth Observation job.+getEarthObservationJobResponse_arn :: Lens.Lens' GetEarthObservationJobResponse Prelude.Text+getEarthObservationJobResponse_arn = Lens.lens (\GetEarthObservationJobResponse' {arn} -> arn) (\s@GetEarthObservationJobResponse' {} a -> s {arn = a} :: GetEarthObservationJobResponse)++-- | The creation time of the initiated Earth Observation job.+getEarthObservationJobResponse_creationTime :: Lens.Lens' GetEarthObservationJobResponse Prelude.UTCTime+getEarthObservationJobResponse_creationTime = Lens.lens (\GetEarthObservationJobResponse' {creationTime} -> creationTime) (\s@GetEarthObservationJobResponse' {} a -> s {creationTime = a} :: GetEarthObservationJobResponse) Prelude.. Data._Time++-- | The duration of Earth Observation job, in seconds.+getEarthObservationJobResponse_durationInSeconds :: Lens.Lens' GetEarthObservationJobResponse Prelude.Int+getEarthObservationJobResponse_durationInSeconds = Lens.lens (\GetEarthObservationJobResponse' {durationInSeconds} -> durationInSeconds) (\s@GetEarthObservationJobResponse' {} a -> s {durationInSeconds = a} :: GetEarthObservationJobResponse)++-- | Input data for the Earth Observation job.+getEarthObservationJobResponse_inputConfig :: Lens.Lens' GetEarthObservationJobResponse InputConfigOutput+getEarthObservationJobResponse_inputConfig = Lens.lens (\GetEarthObservationJobResponse' {inputConfig} -> inputConfig) (\s@GetEarthObservationJobResponse' {} a -> s {inputConfig = a} :: GetEarthObservationJobResponse)++-- | An object containing information about the job configuration.+getEarthObservationJobResponse_jobConfig :: Lens.Lens' GetEarthObservationJobResponse JobConfigInput+getEarthObservationJobResponse_jobConfig = Lens.lens (\GetEarthObservationJobResponse' {jobConfig} -> jobConfig) (\s@GetEarthObservationJobResponse' {} a -> s {jobConfig = a} :: GetEarthObservationJobResponse)++-- | The name of the Earth Observation job.+getEarthObservationJobResponse_name :: Lens.Lens' GetEarthObservationJobResponse Prelude.Text+getEarthObservationJobResponse_name = Lens.lens (\GetEarthObservationJobResponse' {name} -> name) (\s@GetEarthObservationJobResponse' {} a -> s {name = a} :: GetEarthObservationJobResponse)++-- | The status of a previously initiated Earth Observation job.+getEarthObservationJobResponse_status :: Lens.Lens' GetEarthObservationJobResponse EarthObservationJobStatus+getEarthObservationJobResponse_status = Lens.lens (\GetEarthObservationJobResponse' {status} -> status) (\s@GetEarthObservationJobResponse' {} a -> s {status = a} :: GetEarthObservationJobResponse)++instance+  Prelude.NFData+    GetEarthObservationJobResponse+  where+  rnf GetEarthObservationJobResponse' {..} =+    Prelude.rnf errorDetails+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf exportErrorDetails+      `Prelude.seq` Prelude.rnf exportStatus+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf outputBands+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/SageMakerGeoSpatial/GetRasterDataCollection.hs view
@@ -0,0 +1,266 @@+{-# 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.SageMakerGeoSpatial.GetRasterDataCollection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to get details of a specific raster data collection.+module Amazonka.SageMakerGeoSpatial.GetRasterDataCollection+  ( -- * Creating a Request+    GetRasterDataCollection (..),+    newGetRasterDataCollection,++    -- * Request Lenses+    getRasterDataCollection_arn,++    -- * Destructuring the Response+    GetRasterDataCollectionResponse (..),+    newGetRasterDataCollectionResponse,++    -- * Response Lenses+    getRasterDataCollectionResponse_tags,+    getRasterDataCollectionResponse_httpStatus,+    getRasterDataCollectionResponse_arn,+    getRasterDataCollectionResponse_description,+    getRasterDataCollectionResponse_descriptionPageUrl,+    getRasterDataCollectionResponse_imageSourceBands,+    getRasterDataCollectionResponse_name,+    getRasterDataCollectionResponse_supportedFilters,+    getRasterDataCollectionResponse_type,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newGetRasterDataCollection' smart constructor.+data GetRasterDataCollection = GetRasterDataCollection'+  { -- | The Amazon Resource Name (ARN) of the raster data collection.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRasterDataCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getRasterDataCollection_arn' - The Amazon Resource Name (ARN) of the raster data collection.+newGetRasterDataCollection ::+  -- | 'arn'+  Prelude.Text ->+  GetRasterDataCollection+newGetRasterDataCollection pArn_ =+  GetRasterDataCollection' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the raster data collection.+getRasterDataCollection_arn :: Lens.Lens' GetRasterDataCollection Prelude.Text+getRasterDataCollection_arn = Lens.lens (\GetRasterDataCollection' {arn} -> arn) (\s@GetRasterDataCollection' {} a -> s {arn = a} :: GetRasterDataCollection)++instance Core.AWSRequest GetRasterDataCollection where+  type+    AWSResponse GetRasterDataCollection =+      GetRasterDataCollectionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRasterDataCollectionResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "Description")+            Prelude.<*> (x Data..:> "DescriptionPageUrl")+            Prelude.<*> ( x+                            Data..?> "ImageSourceBands"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> ( x+                            Data..?> "SupportedFilters"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..:> "Type")+      )++instance Prelude.Hashable GetRasterDataCollection where+  hashWithSalt _salt GetRasterDataCollection' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetRasterDataCollection where+  rnf GetRasterDataCollection' {..} = Prelude.rnf arn++instance Data.ToHeaders GetRasterDataCollection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRasterDataCollection where+  toPath GetRasterDataCollection' {..} =+    Prelude.mconcat+      ["/raster-data-collection/", Data.toBS arn]++instance Data.ToQuery GetRasterDataCollection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRasterDataCollectionResponse' smart constructor.+data GetRasterDataCollectionResponse = GetRasterDataCollectionResponse'+  { -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the raster data collection.+    arn :: Prelude.Text,+    -- | A description of the raster data collection.+    description :: Prelude.Text,+    -- | The URL of the description page.+    descriptionPageUrl :: Prelude.Text,+    imageSourceBands :: [Prelude.Text],+    -- | The name of the raster data collection.+    name :: Prelude.Text,+    -- | The filters supported by the raster data collection.+    supportedFilters :: [Filter],+    -- | The raster data collection type.+    type' :: DataCollectionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRasterDataCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getRasterDataCollectionResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'getRasterDataCollectionResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'getRasterDataCollectionResponse_arn' - The Amazon Resource Name (ARN) of the raster data collection.+--+-- 'description', 'getRasterDataCollectionResponse_description' - A description of the raster data collection.+--+-- 'descriptionPageUrl', 'getRasterDataCollectionResponse_descriptionPageUrl' - The URL of the description page.+--+-- 'imageSourceBands', 'getRasterDataCollectionResponse_imageSourceBands' -+--+-- 'name', 'getRasterDataCollectionResponse_name' - The name of the raster data collection.+--+-- 'supportedFilters', 'getRasterDataCollectionResponse_supportedFilters' - The filters supported by the raster data collection.+--+-- 'type'', 'getRasterDataCollectionResponse_type' - The raster data collection type.+newGetRasterDataCollectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'description'+  Prelude.Text ->+  -- | 'descriptionPageUrl'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  DataCollectionType ->+  GetRasterDataCollectionResponse+newGetRasterDataCollectionResponse+  pHttpStatus_+  pArn_+  pDescription_+  pDescriptionPageUrl_+  pName_+  pType_ =+    GetRasterDataCollectionResponse'+      { tags =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        description = pDescription_,+        descriptionPageUrl = pDescriptionPageUrl_,+        imageSourceBands = Prelude.mempty,+        name = pName_,+        supportedFilters = Prelude.mempty,+        type' = pType_+      }++-- | Each tag consists of a key and a value.+getRasterDataCollectionResponse_tags :: Lens.Lens' GetRasterDataCollectionResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getRasterDataCollectionResponse_tags = Lens.lens (\GetRasterDataCollectionResponse' {tags} -> tags) (\s@GetRasterDataCollectionResponse' {} a -> s {tags = a} :: GetRasterDataCollectionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getRasterDataCollectionResponse_httpStatus :: Lens.Lens' GetRasterDataCollectionResponse Prelude.Int+getRasterDataCollectionResponse_httpStatus = Lens.lens (\GetRasterDataCollectionResponse' {httpStatus} -> httpStatus) (\s@GetRasterDataCollectionResponse' {} a -> s {httpStatus = a} :: GetRasterDataCollectionResponse)++-- | The Amazon Resource Name (ARN) of the raster data collection.+getRasterDataCollectionResponse_arn :: Lens.Lens' GetRasterDataCollectionResponse Prelude.Text+getRasterDataCollectionResponse_arn = Lens.lens (\GetRasterDataCollectionResponse' {arn} -> arn) (\s@GetRasterDataCollectionResponse' {} a -> s {arn = a} :: GetRasterDataCollectionResponse)++-- | A description of the raster data collection.+getRasterDataCollectionResponse_description :: Lens.Lens' GetRasterDataCollectionResponse Prelude.Text+getRasterDataCollectionResponse_description = Lens.lens (\GetRasterDataCollectionResponse' {description} -> description) (\s@GetRasterDataCollectionResponse' {} a -> s {description = a} :: GetRasterDataCollectionResponse)++-- | The URL of the description page.+getRasterDataCollectionResponse_descriptionPageUrl :: Lens.Lens' GetRasterDataCollectionResponse Prelude.Text+getRasterDataCollectionResponse_descriptionPageUrl = Lens.lens (\GetRasterDataCollectionResponse' {descriptionPageUrl} -> descriptionPageUrl) (\s@GetRasterDataCollectionResponse' {} a -> s {descriptionPageUrl = a} :: GetRasterDataCollectionResponse)++getRasterDataCollectionResponse_imageSourceBands :: Lens.Lens' GetRasterDataCollectionResponse [Prelude.Text]+getRasterDataCollectionResponse_imageSourceBands = Lens.lens (\GetRasterDataCollectionResponse' {imageSourceBands} -> imageSourceBands) (\s@GetRasterDataCollectionResponse' {} a -> s {imageSourceBands = a} :: GetRasterDataCollectionResponse) Prelude.. Lens.coerced++-- | The name of the raster data collection.+getRasterDataCollectionResponse_name :: Lens.Lens' GetRasterDataCollectionResponse Prelude.Text+getRasterDataCollectionResponse_name = Lens.lens (\GetRasterDataCollectionResponse' {name} -> name) (\s@GetRasterDataCollectionResponse' {} a -> s {name = a} :: GetRasterDataCollectionResponse)++-- | The filters supported by the raster data collection.+getRasterDataCollectionResponse_supportedFilters :: Lens.Lens' GetRasterDataCollectionResponse [Filter]+getRasterDataCollectionResponse_supportedFilters = Lens.lens (\GetRasterDataCollectionResponse' {supportedFilters} -> supportedFilters) (\s@GetRasterDataCollectionResponse' {} a -> s {supportedFilters = a} :: GetRasterDataCollectionResponse) Prelude.. Lens.coerced++-- | The raster data collection type.+getRasterDataCollectionResponse_type :: Lens.Lens' GetRasterDataCollectionResponse DataCollectionType+getRasterDataCollectionResponse_type = Lens.lens (\GetRasterDataCollectionResponse' {type'} -> type') (\s@GetRasterDataCollectionResponse' {} a -> s {type' = a} :: GetRasterDataCollectionResponse)++instance+  Prelude.NFData+    GetRasterDataCollectionResponse+  where+  rnf GetRasterDataCollectionResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf descriptionPageUrl+      `Prelude.seq` Prelude.rnf imageSourceBands+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf supportedFilters+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/GetTile.hs view
@@ -0,0 +1,310 @@+{-# 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.SageMakerGeoSpatial.GetTile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a web mercator tile for the given Earth Observation job.+module Amazonka.SageMakerGeoSpatial.GetTile+  ( -- * Creating a Request+    GetTile (..),+    newGetTile,++    -- * Request Lenses+    getTile_imageMask,+    getTile_outputDataType,+    getTile_outputFormat,+    getTile_propertyFilters,+    getTile_timeRangeFilter,+    getTile_arn,+    getTile_imageAssets,+    getTile_target,+    getTile_x,+    getTile_y,+    getTile_z,++    -- * Destructuring the Response+    GetTileResponse (..),+    newGetTileResponse,++    -- * Response Lenses+    getTileResponse_httpStatus,+    getTileResponse_binaryFile,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newGetTile' smart constructor.+data GetTile = GetTile'+  { -- | Determines whether or not to return a valid data mask.+    imageMask :: Prelude.Maybe Prelude.Bool,+    -- | The output data type of the tile operation.+    outputDataType :: Prelude.Maybe OutputType,+    -- | The data format of the output tile. The formats include .npy, .png and+    -- .jpg.+    outputFormat :: Prelude.Maybe Prelude.Text,+    -- | Property filters for the imagery to tile.+    propertyFilters :: Prelude.Maybe Prelude.Text,+    -- | Time range filter applied to imagery to find the images to tile.+    timeRangeFilter :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the tile operation.+    arn :: Prelude.Text,+    -- | The particular assets or bands to tile.+    imageAssets :: Prelude.NonEmpty Prelude.Text,+    -- | Determines what part of the Earth Observation job to tile. \'INPUT\' or+    -- \'OUTPUT\' are the valid options.+    target :: TargetOptions,+    -- | The x coordinate of the tile input.+    x :: Prelude.Int,+    -- | The y coordinate of the tile input.+    y :: Prelude.Int,+    -- | The z coordinate of the tile input.+    z :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageMask', 'getTile_imageMask' - Determines whether or not to return a valid data mask.+--+-- 'outputDataType', 'getTile_outputDataType' - The output data type of the tile operation.+--+-- 'outputFormat', 'getTile_outputFormat' - The data format of the output tile. The formats include .npy, .png and+-- .jpg.+--+-- 'propertyFilters', 'getTile_propertyFilters' - Property filters for the imagery to tile.+--+-- 'timeRangeFilter', 'getTile_timeRangeFilter' - Time range filter applied to imagery to find the images to tile.+--+-- 'arn', 'getTile_arn' - The Amazon Resource Name (ARN) of the tile operation.+--+-- 'imageAssets', 'getTile_imageAssets' - The particular assets or bands to tile.+--+-- 'target', 'getTile_target' - Determines what part of the Earth Observation job to tile. \'INPUT\' or+-- \'OUTPUT\' are the valid options.+--+-- 'x', 'getTile_x' - The x coordinate of the tile input.+--+-- 'y', 'getTile_y' - The y coordinate of the tile input.+--+-- 'z', 'getTile_z' - The z coordinate of the tile input.+newGetTile ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'imageAssets'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'target'+  TargetOptions ->+  -- | 'x'+  Prelude.Int ->+  -- | 'y'+  Prelude.Int ->+  -- | 'z'+  Prelude.Int ->+  GetTile+newGetTile pArn_ pImageAssets_ pTarget_ pX_ pY_ pZ_ =+  GetTile'+    { imageMask = Prelude.Nothing,+      outputDataType = Prelude.Nothing,+      outputFormat = Prelude.Nothing,+      propertyFilters = Prelude.Nothing,+      timeRangeFilter = Prelude.Nothing,+      arn = pArn_,+      imageAssets = Lens.coerced Lens.# pImageAssets_,+      target = pTarget_,+      x = pX_,+      y = pY_,+      z = pZ_+    }++-- | Determines whether or not to return a valid data mask.+getTile_imageMask :: Lens.Lens' GetTile (Prelude.Maybe Prelude.Bool)+getTile_imageMask = Lens.lens (\GetTile' {imageMask} -> imageMask) (\s@GetTile' {} a -> s {imageMask = a} :: GetTile)++-- | The output data type of the tile operation.+getTile_outputDataType :: Lens.Lens' GetTile (Prelude.Maybe OutputType)+getTile_outputDataType = Lens.lens (\GetTile' {outputDataType} -> outputDataType) (\s@GetTile' {} a -> s {outputDataType = a} :: GetTile)++-- | The data format of the output tile. The formats include .npy, .png and+-- .jpg.+getTile_outputFormat :: Lens.Lens' GetTile (Prelude.Maybe Prelude.Text)+getTile_outputFormat = Lens.lens (\GetTile' {outputFormat} -> outputFormat) (\s@GetTile' {} a -> s {outputFormat = a} :: GetTile)++-- | Property filters for the imagery to tile.+getTile_propertyFilters :: Lens.Lens' GetTile (Prelude.Maybe Prelude.Text)+getTile_propertyFilters = Lens.lens (\GetTile' {propertyFilters} -> propertyFilters) (\s@GetTile' {} a -> s {propertyFilters = a} :: GetTile)++-- | Time range filter applied to imagery to find the images to tile.+getTile_timeRangeFilter :: Lens.Lens' GetTile (Prelude.Maybe Prelude.Text)+getTile_timeRangeFilter = Lens.lens (\GetTile' {timeRangeFilter} -> timeRangeFilter) (\s@GetTile' {} a -> s {timeRangeFilter = a} :: GetTile)++-- | The Amazon Resource Name (ARN) of the tile operation.+getTile_arn :: Lens.Lens' GetTile Prelude.Text+getTile_arn = Lens.lens (\GetTile' {arn} -> arn) (\s@GetTile' {} a -> s {arn = a} :: GetTile)++-- | The particular assets or bands to tile.+getTile_imageAssets :: Lens.Lens' GetTile (Prelude.NonEmpty Prelude.Text)+getTile_imageAssets = Lens.lens (\GetTile' {imageAssets} -> imageAssets) (\s@GetTile' {} a -> s {imageAssets = a} :: GetTile) Prelude.. Lens.coerced++-- | Determines what part of the Earth Observation job to tile. \'INPUT\' or+-- \'OUTPUT\' are the valid options.+getTile_target :: Lens.Lens' GetTile TargetOptions+getTile_target = Lens.lens (\GetTile' {target} -> target) (\s@GetTile' {} a -> s {target = a} :: GetTile)++-- | The x coordinate of the tile input.+getTile_x :: Lens.Lens' GetTile Prelude.Int+getTile_x = Lens.lens (\GetTile' {x} -> x) (\s@GetTile' {} a -> s {x = a} :: GetTile)++-- | The y coordinate of the tile input.+getTile_y :: Lens.Lens' GetTile Prelude.Int+getTile_y = Lens.lens (\GetTile' {y} -> y) (\s@GetTile' {} a -> s {y = a} :: GetTile)++-- | The z coordinate of the tile input.+getTile_z :: Lens.Lens' GetTile Prelude.Int+getTile_z = Lens.lens (\GetTile' {z} -> z) (\s@GetTile' {} a -> s {z = a} :: GetTile)++instance Core.AWSRequest GetTile where+  type AWSResponse GetTile = GetTileResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          GetTileResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable GetTile where+  hashWithSalt _salt GetTile' {..} =+    _salt+      `Prelude.hashWithSalt` imageMask+      `Prelude.hashWithSalt` outputDataType+      `Prelude.hashWithSalt` outputFormat+      `Prelude.hashWithSalt` propertyFilters+      `Prelude.hashWithSalt` timeRangeFilter+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` imageAssets+      `Prelude.hashWithSalt` target+      `Prelude.hashWithSalt` x+      `Prelude.hashWithSalt` y+      `Prelude.hashWithSalt` z++instance Prelude.NFData GetTile where+  rnf GetTile' {..} =+    Prelude.rnf imageMask+      `Prelude.seq` Prelude.rnf outputDataType+      `Prelude.seq` Prelude.rnf outputFormat+      `Prelude.seq` Prelude.rnf propertyFilters+      `Prelude.seq` Prelude.rnf timeRangeFilter+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf imageAssets+      `Prelude.seq` Prelude.rnf target+      `Prelude.seq` Prelude.rnf x+      `Prelude.seq` Prelude.rnf y+      `Prelude.seq` Prelude.rnf z++instance Data.ToHeaders GetTile where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTile where+  toPath GetTile' {..} =+    Prelude.mconcat+      [ "/tile/",+        Data.toBS z,+        "/",+        Data.toBS x,+        "/",+        Data.toBS y+      ]++instance Data.ToQuery GetTile where+  toQuery GetTile' {..} =+    Prelude.mconcat+      [ "ImageMask" Data.=: imageMask,+        "OutputDataType" Data.=: outputDataType,+        "OutputFormat" Data.=: outputFormat,+        "PropertyFilters" Data.=: propertyFilters,+        "TimeRangeFilter" Data.=: timeRangeFilter,+        "Arn" Data.=: arn,+        "ImageAssets"+          Data.=: Data.toQueryList "member" imageAssets,+        "Target" Data.=: target+      ]++-- | /See:/ 'newGetTileResponse' smart constructor.+data GetTileResponse = GetTileResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The output binary file.+    binaryFile :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getTileResponse_httpStatus' - The response's http status code.+--+-- 'binaryFile', 'getTileResponse_binaryFile' - The output binary file.+newGetTileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'binaryFile'+  Data.ResponseBody ->+  GetTileResponse+newGetTileResponse pHttpStatus_ pBinaryFile_ =+  GetTileResponse'+    { httpStatus = pHttpStatus_,+      binaryFile = pBinaryFile_+    }++-- | The response's http status code.+getTileResponse_httpStatus :: Lens.Lens' GetTileResponse Prelude.Int+getTileResponse_httpStatus = Lens.lens (\GetTileResponse' {httpStatus} -> httpStatus) (\s@GetTileResponse' {} a -> s {httpStatus = a} :: GetTileResponse)++-- | The output binary file.+getTileResponse_binaryFile :: Lens.Lens' GetTileResponse Data.ResponseBody+getTileResponse_binaryFile = Lens.lens (\GetTileResponse' {binaryFile} -> binaryFile) (\s@GetTileResponse' {} a -> s {binaryFile = a} :: GetTileResponse)
+ gen/Amazonka/SageMakerGeoSpatial/GetVectorEnrichmentJob.hs view
@@ -0,0 +1,354 @@+{-# 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.SageMakerGeoSpatial.GetVectorEnrichmentJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves details of a Vector Enrichment Job for a given job Amazon+-- Resource Name (ARN).+module Amazonka.SageMakerGeoSpatial.GetVectorEnrichmentJob+  ( -- * Creating a Request+    GetVectorEnrichmentJob (..),+    newGetVectorEnrichmentJob,++    -- * Request Lenses+    getVectorEnrichmentJob_arn,++    -- * Destructuring the Response+    GetVectorEnrichmentJobResponse (..),+    newGetVectorEnrichmentJobResponse,++    -- * Response Lenses+    getVectorEnrichmentJobResponse_errorDetails,+    getVectorEnrichmentJobResponse_exportErrorDetails,+    getVectorEnrichmentJobResponse_exportStatus,+    getVectorEnrichmentJobResponse_kmsKeyId,+    getVectorEnrichmentJobResponse_tags,+    getVectorEnrichmentJobResponse_httpStatus,+    getVectorEnrichmentJobResponse_arn,+    getVectorEnrichmentJobResponse_creationTime,+    getVectorEnrichmentJobResponse_durationInSeconds,+    getVectorEnrichmentJobResponse_executionRoleArn,+    getVectorEnrichmentJobResponse_inputConfig,+    getVectorEnrichmentJobResponse_jobConfig,+    getVectorEnrichmentJobResponse_name,+    getVectorEnrichmentJobResponse_status,+    getVectorEnrichmentJobResponse_type,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newGetVectorEnrichmentJob' smart constructor.+data GetVectorEnrichmentJob = GetVectorEnrichmentJob'+  { -- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVectorEnrichmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getVectorEnrichmentJob_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job.+newGetVectorEnrichmentJob ::+  -- | 'arn'+  Prelude.Text ->+  GetVectorEnrichmentJob+newGetVectorEnrichmentJob pArn_ =+  GetVectorEnrichmentJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+getVectorEnrichmentJob_arn :: Lens.Lens' GetVectorEnrichmentJob Prelude.Text+getVectorEnrichmentJob_arn = Lens.lens (\GetVectorEnrichmentJob' {arn} -> arn) (\s@GetVectorEnrichmentJob' {} a -> s {arn = a} :: GetVectorEnrichmentJob)++instance Core.AWSRequest GetVectorEnrichmentJob where+  type+    AWSResponse GetVectorEnrichmentJob =+      GetVectorEnrichmentJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVectorEnrichmentJobResponse'+            Prelude.<$> (x Data..?> "ErrorDetails")+            Prelude.<*> (x Data..?> "ExportErrorDetails")+            Prelude.<*> (x Data..?> "ExportStatus")+            Prelude.<*> (x Data..?> "KmsKeyId")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "DurationInSeconds")+            Prelude.<*> (x Data..:> "ExecutionRoleArn")+            Prelude.<*> (x Data..:> "InputConfig")+            Prelude.<*> (x Data..:> "JobConfig")+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> (x Data..:> "Status")+            Prelude.<*> (x Data..:> "Type")+      )++instance Prelude.Hashable GetVectorEnrichmentJob where+  hashWithSalt _salt GetVectorEnrichmentJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetVectorEnrichmentJob where+  rnf GetVectorEnrichmentJob' {..} = Prelude.rnf arn++instance Data.ToHeaders GetVectorEnrichmentJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetVectorEnrichmentJob where+  toPath GetVectorEnrichmentJob' {..} =+    Prelude.mconcat+      ["/vector-enrichment-jobs/", Data.toBS arn]++instance Data.ToQuery GetVectorEnrichmentJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVectorEnrichmentJobResponse' smart constructor.+data GetVectorEnrichmentJobResponse = GetVectorEnrichmentJobResponse'+  { -- | Details about the errors generated during the Vector Enrichment job.+    errorDetails :: Prelude.Maybe VectorEnrichmentJobErrorDetails,+    -- | Details about the errors generated during the ExportVectorEnrichmentJob.+    exportErrorDetails :: Prelude.Maybe VectorEnrichmentJobExportErrorDetails,+    -- | The export status of the Vector Enrichment job being initiated.+    exportStatus :: Prelude.Maybe VectorEnrichmentJobExportStatus,+    -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The duration of the Vector Enrichment job, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Text,+    -- | Input configuration information for the Vector Enrichment job.+    inputConfig :: VectorEnrichmentJobInputConfig,+    -- | An object containing information about the job configuration.+    jobConfig :: VectorEnrichmentJobConfig,+    -- | The name of the Vector Enrichment job.+    name :: Prelude.Text,+    -- | The status of the initiated Vector Enrichment job.+    status :: VectorEnrichmentJobStatus,+    -- | The type of the Vector Enrichment job being initiated.+    type' :: VectorEnrichmentJobType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVectorEnrichmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorDetails', 'getVectorEnrichmentJobResponse_errorDetails' - Details about the errors generated during the Vector Enrichment job.+--+-- 'exportErrorDetails', 'getVectorEnrichmentJobResponse_exportErrorDetails' - Details about the errors generated during the ExportVectorEnrichmentJob.+--+-- 'exportStatus', 'getVectorEnrichmentJobResponse_exportStatus' - The export status of the Vector Enrichment job being initiated.+--+-- 'kmsKeyId', 'getVectorEnrichmentJobResponse_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'tags', 'getVectorEnrichmentJobResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'getVectorEnrichmentJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'getVectorEnrichmentJobResponse_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job.+--+-- 'creationTime', 'getVectorEnrichmentJobResponse_creationTime' - The creation time.+--+-- 'durationInSeconds', 'getVectorEnrichmentJobResponse_durationInSeconds' - The duration of the Vector Enrichment job, in seconds.+--+-- 'executionRoleArn', 'getVectorEnrichmentJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'inputConfig', 'getVectorEnrichmentJobResponse_inputConfig' - Input configuration information for the Vector Enrichment job.+--+-- 'jobConfig', 'getVectorEnrichmentJobResponse_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'getVectorEnrichmentJobResponse_name' - The name of the Vector Enrichment job.+--+-- 'status', 'getVectorEnrichmentJobResponse_status' - The status of the initiated Vector Enrichment job.+--+-- 'type'', 'getVectorEnrichmentJobResponse_type' - The type of the Vector Enrichment job being initiated.+newGetVectorEnrichmentJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'inputConfig'+  VectorEnrichmentJobInputConfig ->+  -- | 'jobConfig'+  VectorEnrichmentJobConfig ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  VectorEnrichmentJobStatus ->+  -- | 'type''+  VectorEnrichmentJobType ->+  GetVectorEnrichmentJobResponse+newGetVectorEnrichmentJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pExecutionRoleArn_+  pInputConfig_+  pJobConfig_+  pName_+  pStatus_+  pType_ =+    GetVectorEnrichmentJobResponse'+      { errorDetails =+          Prelude.Nothing,+        exportErrorDetails = Prelude.Nothing,+        exportStatus = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds = pDurationInSeconds_,+        executionRoleArn = pExecutionRoleArn_,+        inputConfig = pInputConfig_,+        jobConfig = pJobConfig_,+        name = pName_,+        status = pStatus_,+        type' = pType_+      }++-- | Details about the errors generated during the Vector Enrichment job.+getVectorEnrichmentJobResponse_errorDetails :: Lens.Lens' GetVectorEnrichmentJobResponse (Prelude.Maybe VectorEnrichmentJobErrorDetails)+getVectorEnrichmentJobResponse_errorDetails = Lens.lens (\GetVectorEnrichmentJobResponse' {errorDetails} -> errorDetails) (\s@GetVectorEnrichmentJobResponse' {} a -> s {errorDetails = a} :: GetVectorEnrichmentJobResponse)++-- | Details about the errors generated during the ExportVectorEnrichmentJob.+getVectorEnrichmentJobResponse_exportErrorDetails :: Lens.Lens' GetVectorEnrichmentJobResponse (Prelude.Maybe VectorEnrichmentJobExportErrorDetails)+getVectorEnrichmentJobResponse_exportErrorDetails = Lens.lens (\GetVectorEnrichmentJobResponse' {exportErrorDetails} -> exportErrorDetails) (\s@GetVectorEnrichmentJobResponse' {} a -> s {exportErrorDetails = a} :: GetVectorEnrichmentJobResponse)++-- | The export status of the Vector Enrichment job being initiated.+getVectorEnrichmentJobResponse_exportStatus :: Lens.Lens' GetVectorEnrichmentJobResponse (Prelude.Maybe VectorEnrichmentJobExportStatus)+getVectorEnrichmentJobResponse_exportStatus = Lens.lens (\GetVectorEnrichmentJobResponse' {exportStatus} -> exportStatus) (\s@GetVectorEnrichmentJobResponse' {} a -> s {exportStatus = a} :: GetVectorEnrichmentJobResponse)++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+getVectorEnrichmentJobResponse_kmsKeyId :: Lens.Lens' GetVectorEnrichmentJobResponse (Prelude.Maybe Prelude.Text)+getVectorEnrichmentJobResponse_kmsKeyId = Lens.lens (\GetVectorEnrichmentJobResponse' {kmsKeyId} -> kmsKeyId) (\s@GetVectorEnrichmentJobResponse' {} a -> s {kmsKeyId = a} :: GetVectorEnrichmentJobResponse)++-- | Each tag consists of a key and a value.+getVectorEnrichmentJobResponse_tags :: Lens.Lens' GetVectorEnrichmentJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getVectorEnrichmentJobResponse_tags = Lens.lens (\GetVectorEnrichmentJobResponse' {tags} -> tags) (\s@GetVectorEnrichmentJobResponse' {} a -> s {tags = a} :: GetVectorEnrichmentJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.Int+getVectorEnrichmentJobResponse_httpStatus = Lens.lens (\GetVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@GetVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: GetVectorEnrichmentJobResponse)++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+getVectorEnrichmentJobResponse_arn :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.Text+getVectorEnrichmentJobResponse_arn = Lens.lens (\GetVectorEnrichmentJobResponse' {arn} -> arn) (\s@GetVectorEnrichmentJobResponse' {} a -> s {arn = a} :: GetVectorEnrichmentJobResponse)++-- | The creation time.+getVectorEnrichmentJobResponse_creationTime :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.UTCTime+getVectorEnrichmentJobResponse_creationTime = Lens.lens (\GetVectorEnrichmentJobResponse' {creationTime} -> creationTime) (\s@GetVectorEnrichmentJobResponse' {} a -> s {creationTime = a} :: GetVectorEnrichmentJobResponse) Prelude.. Data._Time++-- | The duration of the Vector Enrichment job, in seconds.+getVectorEnrichmentJobResponse_durationInSeconds :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.Int+getVectorEnrichmentJobResponse_durationInSeconds = Lens.lens (\GetVectorEnrichmentJobResponse' {durationInSeconds} -> durationInSeconds) (\s@GetVectorEnrichmentJobResponse' {} a -> s {durationInSeconds = a} :: GetVectorEnrichmentJobResponse)++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+getVectorEnrichmentJobResponse_executionRoleArn :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.Text+getVectorEnrichmentJobResponse_executionRoleArn = Lens.lens (\GetVectorEnrichmentJobResponse' {executionRoleArn} -> executionRoleArn) (\s@GetVectorEnrichmentJobResponse' {} a -> s {executionRoleArn = a} :: GetVectorEnrichmentJobResponse)++-- | Input configuration information for the Vector Enrichment job.+getVectorEnrichmentJobResponse_inputConfig :: Lens.Lens' GetVectorEnrichmentJobResponse VectorEnrichmentJobInputConfig+getVectorEnrichmentJobResponse_inputConfig = Lens.lens (\GetVectorEnrichmentJobResponse' {inputConfig} -> inputConfig) (\s@GetVectorEnrichmentJobResponse' {} a -> s {inputConfig = a} :: GetVectorEnrichmentJobResponse)++-- | An object containing information about the job configuration.+getVectorEnrichmentJobResponse_jobConfig :: Lens.Lens' GetVectorEnrichmentJobResponse VectorEnrichmentJobConfig+getVectorEnrichmentJobResponse_jobConfig = Lens.lens (\GetVectorEnrichmentJobResponse' {jobConfig} -> jobConfig) (\s@GetVectorEnrichmentJobResponse' {} a -> s {jobConfig = a} :: GetVectorEnrichmentJobResponse)++-- | The name of the Vector Enrichment job.+getVectorEnrichmentJobResponse_name :: Lens.Lens' GetVectorEnrichmentJobResponse Prelude.Text+getVectorEnrichmentJobResponse_name = Lens.lens (\GetVectorEnrichmentJobResponse' {name} -> name) (\s@GetVectorEnrichmentJobResponse' {} a -> s {name = a} :: GetVectorEnrichmentJobResponse)++-- | The status of the initiated Vector Enrichment job.+getVectorEnrichmentJobResponse_status :: Lens.Lens' GetVectorEnrichmentJobResponse VectorEnrichmentJobStatus+getVectorEnrichmentJobResponse_status = Lens.lens (\GetVectorEnrichmentJobResponse' {status} -> status) (\s@GetVectorEnrichmentJobResponse' {} a -> s {status = a} :: GetVectorEnrichmentJobResponse)++-- | The type of the Vector Enrichment job being initiated.+getVectorEnrichmentJobResponse_type :: Lens.Lens' GetVectorEnrichmentJobResponse VectorEnrichmentJobType+getVectorEnrichmentJobResponse_type = Lens.lens (\GetVectorEnrichmentJobResponse' {type'} -> type') (\s@GetVectorEnrichmentJobResponse' {} a -> s {type' = a} :: GetVectorEnrichmentJobResponse)++instance+  Prelude.NFData+    GetVectorEnrichmentJobResponse+  where+  rnf GetVectorEnrichmentJobResponse' {..} =+    Prelude.rnf errorDetails+      `Prelude.seq` Prelude.rnf exportErrorDetails+      `Prelude.seq` Prelude.rnf exportStatus+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Lens.hs view
@@ -0,0 +1,566 @@+{-# 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.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Lens+  ( -- * Operations++    -- ** DeleteEarthObservationJob+    deleteEarthObservationJob_arn,+    deleteEarthObservationJobResponse_httpStatus,++    -- ** DeleteVectorEnrichmentJob+    deleteVectorEnrichmentJob_arn,+    deleteVectorEnrichmentJobResponse_httpStatus,++    -- ** ExportEarthObservationJob+    exportEarthObservationJob_exportSourceImages,+    exportEarthObservationJob_arn,+    exportEarthObservationJob_executionRoleArn,+    exportEarthObservationJob_outputConfig,+    exportEarthObservationJobResponse_exportSourceImages,+    exportEarthObservationJobResponse_httpStatus,+    exportEarthObservationJobResponse_arn,+    exportEarthObservationJobResponse_creationTime,+    exportEarthObservationJobResponse_executionRoleArn,+    exportEarthObservationJobResponse_exportStatus,+    exportEarthObservationJobResponse_outputConfig,++    -- ** ExportVectorEnrichmentJob+    exportVectorEnrichmentJob_arn,+    exportVectorEnrichmentJob_executionRoleArn,+    exportVectorEnrichmentJob_outputConfig,+    exportVectorEnrichmentJobResponse_httpStatus,+    exportVectorEnrichmentJobResponse_arn,+    exportVectorEnrichmentJobResponse_creationTime,+    exportVectorEnrichmentJobResponse_executionRoleArn,+    exportVectorEnrichmentJobResponse_exportStatus,+    exportVectorEnrichmentJobResponse_outputConfig,++    -- ** GetEarthObservationJob+    getEarthObservationJob_arn,+    getEarthObservationJobResponse_errorDetails,+    getEarthObservationJobResponse_executionRoleArn,+    getEarthObservationJobResponse_exportErrorDetails,+    getEarthObservationJobResponse_exportStatus,+    getEarthObservationJobResponse_kmsKeyId,+    getEarthObservationJobResponse_outputBands,+    getEarthObservationJobResponse_tags,+    getEarthObservationJobResponse_httpStatus,+    getEarthObservationJobResponse_arn,+    getEarthObservationJobResponse_creationTime,+    getEarthObservationJobResponse_durationInSeconds,+    getEarthObservationJobResponse_inputConfig,+    getEarthObservationJobResponse_jobConfig,+    getEarthObservationJobResponse_name,+    getEarthObservationJobResponse_status,++    -- ** GetRasterDataCollection+    getRasterDataCollection_arn,+    getRasterDataCollectionResponse_tags,+    getRasterDataCollectionResponse_httpStatus,+    getRasterDataCollectionResponse_arn,+    getRasterDataCollectionResponse_description,+    getRasterDataCollectionResponse_descriptionPageUrl,+    getRasterDataCollectionResponse_imageSourceBands,+    getRasterDataCollectionResponse_name,+    getRasterDataCollectionResponse_supportedFilters,+    getRasterDataCollectionResponse_type,++    -- ** GetTile+    getTile_imageMask,+    getTile_outputDataType,+    getTile_outputFormat,+    getTile_propertyFilters,+    getTile_timeRangeFilter,+    getTile_arn,+    getTile_imageAssets,+    getTile_target,+    getTile_x,+    getTile_y,+    getTile_z,+    getTileResponse_httpStatus,+    getTileResponse_binaryFile,++    -- ** GetVectorEnrichmentJob+    getVectorEnrichmentJob_arn,+    getVectorEnrichmentJobResponse_errorDetails,+    getVectorEnrichmentJobResponse_exportErrorDetails,+    getVectorEnrichmentJobResponse_exportStatus,+    getVectorEnrichmentJobResponse_kmsKeyId,+    getVectorEnrichmentJobResponse_tags,+    getVectorEnrichmentJobResponse_httpStatus,+    getVectorEnrichmentJobResponse_arn,+    getVectorEnrichmentJobResponse_creationTime,+    getVectorEnrichmentJobResponse_durationInSeconds,+    getVectorEnrichmentJobResponse_executionRoleArn,+    getVectorEnrichmentJobResponse_inputConfig,+    getVectorEnrichmentJobResponse_jobConfig,+    getVectorEnrichmentJobResponse_name,+    getVectorEnrichmentJobResponse_status,+    getVectorEnrichmentJobResponse_type,++    -- ** ListEarthObservationJobs+    listEarthObservationJobs_maxResults,+    listEarthObservationJobs_nextToken,+    listEarthObservationJobs_sortBy,+    listEarthObservationJobs_sortOrder,+    listEarthObservationJobs_statusEquals,+    listEarthObservationJobsResponse_nextToken,+    listEarthObservationJobsResponse_httpStatus,+    listEarthObservationJobsResponse_earthObservationJobSummaries,++    -- ** ListRasterDataCollections+    listRasterDataCollections_maxResults,+    listRasterDataCollections_nextToken,+    listRasterDataCollectionsResponse_nextToken,+    listRasterDataCollectionsResponse_httpStatus,+    listRasterDataCollectionsResponse_rasterDataCollectionSummaries,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListVectorEnrichmentJobs+    listVectorEnrichmentJobs_maxResults,+    listVectorEnrichmentJobs_nextToken,+    listVectorEnrichmentJobs_sortBy,+    listVectorEnrichmentJobs_sortOrder,+    listVectorEnrichmentJobs_statusEquals,+    listVectorEnrichmentJobsResponse_nextToken,+    listVectorEnrichmentJobsResponse_httpStatus,+    listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries,++    -- ** SearchRasterDataCollection+    searchRasterDataCollection_nextToken,+    searchRasterDataCollection_arn,+    searchRasterDataCollection_rasterDataCollectionQuery,+    searchRasterDataCollectionResponse_items,+    searchRasterDataCollectionResponse_nextToken,+    searchRasterDataCollectionResponse_httpStatus,+    searchRasterDataCollectionResponse_approximateResultCount,++    -- ** StartEarthObservationJob+    startEarthObservationJob_clientToken,+    startEarthObservationJob_executionRoleArn,+    startEarthObservationJob_kmsKeyId,+    startEarthObservationJob_tags,+    startEarthObservationJob_inputConfig,+    startEarthObservationJob_jobConfig,+    startEarthObservationJob_name,+    startEarthObservationJobResponse_executionRoleArn,+    startEarthObservationJobResponse_inputConfig,+    startEarthObservationJobResponse_kmsKeyId,+    startEarthObservationJobResponse_tags,+    startEarthObservationJobResponse_httpStatus,+    startEarthObservationJobResponse_arn,+    startEarthObservationJobResponse_creationTime,+    startEarthObservationJobResponse_durationInSeconds,+    startEarthObservationJobResponse_jobConfig,+    startEarthObservationJobResponse_name,+    startEarthObservationJobResponse_status,++    -- ** StartVectorEnrichmentJob+    startVectorEnrichmentJob_clientToken,+    startVectorEnrichmentJob_kmsKeyId,+    startVectorEnrichmentJob_tags,+    startVectorEnrichmentJob_executionRoleArn,+    startVectorEnrichmentJob_inputConfig,+    startVectorEnrichmentJob_jobConfig,+    startVectorEnrichmentJob_name,+    startVectorEnrichmentJobResponse_kmsKeyId,+    startVectorEnrichmentJobResponse_tags,+    startVectorEnrichmentJobResponse_httpStatus,+    startVectorEnrichmentJobResponse_arn,+    startVectorEnrichmentJobResponse_creationTime,+    startVectorEnrichmentJobResponse_durationInSeconds,+    startVectorEnrichmentJobResponse_executionRoleArn,+    startVectorEnrichmentJobResponse_inputConfig,+    startVectorEnrichmentJobResponse_jobConfig,+    startVectorEnrichmentJobResponse_name,+    startVectorEnrichmentJobResponse_status,+    startVectorEnrichmentJobResponse_type,++    -- ** StopEarthObservationJob+    stopEarthObservationJob_arn,+    stopEarthObservationJobResponse_httpStatus,++    -- ** StopVectorEnrichmentJob+    stopVectorEnrichmentJob_arn,+    stopVectorEnrichmentJobResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** AreaOfInterest+    areaOfInterest_areaOfInterestGeometry,++    -- ** AreaOfInterestGeometry+    areaOfInterestGeometry_multiPolygonGeometry,+    areaOfInterestGeometry_polygonGeometry,++    -- ** AssetValue+    assetValue_href,++    -- ** BandMathConfigInput+    bandMathConfigInput_customIndices,+    bandMathConfigInput_predefinedIndices,++    -- ** CloudMaskingConfigInput++    -- ** CloudRemovalConfigInput+    cloudRemovalConfigInput_algorithmName,+    cloudRemovalConfigInput_interpolationValue,+    cloudRemovalConfigInput_targetBands,++    -- ** CustomIndicesInput+    customIndicesInput_operations,++    -- ** EarthObservationJobErrorDetails+    earthObservationJobErrorDetails_message,+    earthObservationJobErrorDetails_type,++    -- ** EoCloudCoverInput+    eoCloudCoverInput_lowerBound,+    eoCloudCoverInput_upperBound,++    -- ** EojDataSourceConfigInput+    eojDataSourceConfigInput_s3Data,++    -- ** ExportErrorDetails+    exportErrorDetails_exportResults,+    exportErrorDetails_exportSourceImages,++    -- ** ExportErrorDetailsOutput+    exportErrorDetailsOutput_message,+    exportErrorDetailsOutput_type,++    -- ** ExportS3DataInput+    exportS3DataInput_kmsKeyId,+    exportS3DataInput_s3Uri,++    -- ** ExportVectorEnrichmentJobOutputConfig+    exportVectorEnrichmentJobOutputConfig_s3Data,++    -- ** Filter+    filter_maximum,+    filter_minimum,+    filter_name,+    filter_type,++    -- ** GeoMosaicConfigInput+    geoMosaicConfigInput_algorithmName,+    geoMosaicConfigInput_targetBands,++    -- ** Geometry+    geometry_coordinates,+    geometry_type,++    -- ** InputConfigInput+    inputConfigInput_dataSourceConfig,+    inputConfigInput_previousEarthObservationJobArn,+    inputConfigInput_rasterDataCollectionQuery,++    -- ** InputConfigOutput+    inputConfigOutput_dataSourceConfig,+    inputConfigOutput_previousEarthObservationJobArn,+    inputConfigOutput_rasterDataCollectionQuery,++    -- ** ItemSource+    itemSource_assets,+    itemSource_properties,+    itemSource_dateTime,+    itemSource_geometry,+    itemSource_id,++    -- ** JobConfigInput+    jobConfigInput_bandMathConfig,+    jobConfigInput_cloudMaskingConfig,+    jobConfigInput_cloudRemovalConfig,+    jobConfigInput_geoMosaicConfig,+    jobConfigInput_landCoverSegmentationConfig,+    jobConfigInput_resamplingConfig,+    jobConfigInput_stackConfig,+    jobConfigInput_temporalStatisticsConfig,+    jobConfigInput_zonalStatisticsConfig,++    -- ** LandCoverSegmentationConfigInput++    -- ** LandsatCloudCoverLandInput+    landsatCloudCoverLandInput_lowerBound,+    landsatCloudCoverLandInput_upperBound,++    -- ** ListEarthObservationJobOutputConfig+    listEarthObservationJobOutputConfig_tags,+    listEarthObservationJobOutputConfig_arn,+    listEarthObservationJobOutputConfig_creationTime,+    listEarthObservationJobOutputConfig_durationInSeconds,+    listEarthObservationJobOutputConfig_name,+    listEarthObservationJobOutputConfig_operationType,+    listEarthObservationJobOutputConfig_status,++    -- ** ListVectorEnrichmentJobOutputConfig+    listVectorEnrichmentJobOutputConfig_tags,+    listVectorEnrichmentJobOutputConfig_arn,+    listVectorEnrichmentJobOutputConfig_creationTime,+    listVectorEnrichmentJobOutputConfig_durationInSeconds,+    listVectorEnrichmentJobOutputConfig_name,+    listVectorEnrichmentJobOutputConfig_status,+    listVectorEnrichmentJobOutputConfig_type,++    -- ** MapMatchingConfig+    mapMatchingConfig_idAttributeName,+    mapMatchingConfig_timestampAttributeName,+    mapMatchingConfig_xAttributeName,+    mapMatchingConfig_yAttributeName,++    -- ** MultiPolygonGeometryInput+    multiPolygonGeometryInput_coordinates,++    -- ** Operation+    operation_outputType,+    operation_equation,+    operation_name,++    -- ** OutputBand+    outputBand_bandName,+    outputBand_outputDataType,++    -- ** OutputConfigInput+    outputConfigInput_s3Data,++    -- ** OutputResolutionResamplingInput+    outputResolutionResamplingInput_userDefined,++    -- ** OutputResolutionStackInput+    outputResolutionStackInput_predefined,+    outputResolutionStackInput_userDefined,++    -- ** PlatformInput+    platformInput_comparisonOperator,+    platformInput_value,++    -- ** PolygonGeometryInput+    polygonGeometryInput_coordinates,++    -- ** Properties+    properties_eoCloudCover,+    properties_landsatCloudCoverLand,+    properties_platform,+    properties_viewOffNadir,+    properties_viewSunAzimuth,+    properties_viewSunElevation,++    -- ** Property+    property_eoCloudCover,+    property_landsatCloudCoverLand,+    property_platform,+    property_viewOffNadir,+    property_viewSunAzimuth,+    property_viewSunElevation,++    -- ** PropertyFilter+    propertyFilter_property,++    -- ** PropertyFilters+    propertyFilters_logicalOperator,+    propertyFilters_properties,++    -- ** RasterDataCollectionMetadata+    rasterDataCollectionMetadata_descriptionPageUrl,+    rasterDataCollectionMetadata_tags,+    rasterDataCollectionMetadata_arn,+    rasterDataCollectionMetadata_description,+    rasterDataCollectionMetadata_name,+    rasterDataCollectionMetadata_supportedFilters,+    rasterDataCollectionMetadata_type,++    -- ** RasterDataCollectionQueryInput+    rasterDataCollectionQueryInput_areaOfInterest,+    rasterDataCollectionQueryInput_propertyFilters,+    rasterDataCollectionQueryInput_rasterDataCollectionArn,+    rasterDataCollectionQueryInput_timeRangeFilter,++    -- ** RasterDataCollectionQueryOutput+    rasterDataCollectionQueryOutput_areaOfInterest,+    rasterDataCollectionQueryOutput_propertyFilters,+    rasterDataCollectionQueryOutput_rasterDataCollectionArn,+    rasterDataCollectionQueryOutput_rasterDataCollectionName,+    rasterDataCollectionQueryOutput_timeRangeFilter,++    -- ** RasterDataCollectionQueryWithBandFilterInput+    rasterDataCollectionQueryWithBandFilterInput_areaOfInterest,+    rasterDataCollectionQueryWithBandFilterInput_bandFilter,+    rasterDataCollectionQueryWithBandFilterInput_propertyFilters,+    rasterDataCollectionQueryWithBandFilterInput_timeRangeFilter,++    -- ** ResamplingConfigInput+    resamplingConfigInput_algorithmName,+    resamplingConfigInput_targetBands,+    resamplingConfigInput_outputResolution,++    -- ** ReverseGeocodingConfig+    reverseGeocodingConfig_xAttributeName,+    reverseGeocodingConfig_yAttributeName,++    -- ** S3DataInput+    s3DataInput_kmsKeyId,+    s3DataInput_metadataProvider,+    s3DataInput_s3Uri,++    -- ** StackConfigInput+    stackConfigInput_outputResolution,+    stackConfigInput_targetBands,++    -- ** TemporalStatisticsConfigInput+    temporalStatisticsConfigInput_groupBy,+    temporalStatisticsConfigInput_targetBands,+    temporalStatisticsConfigInput_statistics,++    -- ** TimeRangeFilterInput+    timeRangeFilterInput_endTime,+    timeRangeFilterInput_startTime,++    -- ** UserDefined+    userDefined_unit,+    userDefined_value,++    -- ** VectorEnrichmentJobConfig+    vectorEnrichmentJobConfig_mapMatchingConfig,+    vectorEnrichmentJobConfig_reverseGeocodingConfig,++    -- ** VectorEnrichmentJobDataSourceConfigInput+    vectorEnrichmentJobDataSourceConfigInput_s3Data,++    -- ** VectorEnrichmentJobErrorDetails+    vectorEnrichmentJobErrorDetails_errorMessage,+    vectorEnrichmentJobErrorDetails_errorType,++    -- ** VectorEnrichmentJobExportErrorDetails+    vectorEnrichmentJobExportErrorDetails_message,+    vectorEnrichmentJobExportErrorDetails_type,++    -- ** VectorEnrichmentJobInputConfig+    vectorEnrichmentJobInputConfig_dataSourceConfig,+    vectorEnrichmentJobInputConfig_documentType,++    -- ** VectorEnrichmentJobS3Data+    vectorEnrichmentJobS3Data_kmsKeyId,+    vectorEnrichmentJobS3Data_s3Uri,++    -- ** ViewOffNadirInput+    viewOffNadirInput_lowerBound,+    viewOffNadirInput_upperBound,++    -- ** ViewSunAzimuthInput+    viewSunAzimuthInput_lowerBound,+    viewSunAzimuthInput_upperBound,++    -- ** ViewSunElevationInput+    viewSunElevationInput_lowerBound,+    viewSunElevationInput_upperBound,++    -- ** ZonalStatisticsConfigInput+    zonalStatisticsConfigInput_targetBands,+    zonalStatisticsConfigInput_statistics,+    zonalStatisticsConfigInput_zoneS3Path,+  )+where++import Amazonka.SageMakerGeoSpatial.DeleteEarthObservationJob+import Amazonka.SageMakerGeoSpatial.DeleteVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.ExportEarthObservationJob+import Amazonka.SageMakerGeoSpatial.ExportVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.GetEarthObservationJob+import Amazonka.SageMakerGeoSpatial.GetRasterDataCollection+import Amazonka.SageMakerGeoSpatial.GetTile+import Amazonka.SageMakerGeoSpatial.GetVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.ListEarthObservationJobs+import Amazonka.SageMakerGeoSpatial.ListRasterDataCollections+import Amazonka.SageMakerGeoSpatial.ListTagsForResource+import Amazonka.SageMakerGeoSpatial.ListVectorEnrichmentJobs+import Amazonka.SageMakerGeoSpatial.SearchRasterDataCollection+import Amazonka.SageMakerGeoSpatial.StartEarthObservationJob+import Amazonka.SageMakerGeoSpatial.StartVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.StopEarthObservationJob+import Amazonka.SageMakerGeoSpatial.StopVectorEnrichmentJob+import Amazonka.SageMakerGeoSpatial.TagResource+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterestGeometry+import Amazonka.SageMakerGeoSpatial.Types.AssetValue+import Amazonka.SageMakerGeoSpatial.Types.BandMathConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudMaskingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudRemovalConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CustomIndicesInput+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.EoCloudCoverInput+import Amazonka.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput+import Amazonka.SageMakerGeoSpatial.Types.ExportS3DataInput+import Amazonka.SageMakerGeoSpatial.Types.ExportVectorEnrichmentJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.Filter+import Amazonka.SageMakerGeoSpatial.Types.GeoMosaicConfigInput+import Amazonka.SageMakerGeoSpatial.Types.Geometry+import Amazonka.SageMakerGeoSpatial.Types.InputConfigInput+import Amazonka.SageMakerGeoSpatial.Types.InputConfigOutput+import Amazonka.SageMakerGeoSpatial.Types.ItemSource+import Amazonka.SageMakerGeoSpatial.Types.JobConfigInput+import Amazonka.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput+import Amazonka.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput+import Amazonka.SageMakerGeoSpatial.Types.ListEarthObservationJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.ListVectorEnrichmentJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.MapMatchingConfig+import Amazonka.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput+import Amazonka.SageMakerGeoSpatial.Types.Operation+import Amazonka.SageMakerGeoSpatial.Types.OutputBand+import Amazonka.SageMakerGeoSpatial.Types.OutputConfigInput+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionStackInput+import Amazonka.SageMakerGeoSpatial.Types.PlatformInput+import Amazonka.SageMakerGeoSpatial.Types.PolygonGeometryInput+import Amazonka.SageMakerGeoSpatial.Types.Properties+import Amazonka.SageMakerGeoSpatial.Types.Property+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilter+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionMetadata+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryWithBandFilterInput+import Amazonka.SageMakerGeoSpatial.Types.ResamplingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ReverseGeocodingConfig+import Amazonka.SageMakerGeoSpatial.Types.S3DataInput+import Amazonka.SageMakerGeoSpatial.Types.StackConfigInput+import Amazonka.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput+import Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput+import Amazonka.SageMakerGeoSpatial.Types.UserDefined+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobConfig+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobInputConfig+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data+import Amazonka.SageMakerGeoSpatial.Types.ViewOffNadirInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunAzimuthInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunElevationInput+import Amazonka.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput+import Amazonka.SageMakerGeoSpatial.UntagResource
+ gen/Amazonka/SageMakerGeoSpatial/ListEarthObservationJobs.hs view
@@ -0,0 +1,272 @@+{-# 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.SageMakerGeoSpatial.ListEarthObservationJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to get a list of the Earth Observation jobs+-- associated with the calling Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.SageMakerGeoSpatial.ListEarthObservationJobs+  ( -- * Creating a Request+    ListEarthObservationJobs (..),+    newListEarthObservationJobs,++    -- * Request Lenses+    listEarthObservationJobs_maxResults,+    listEarthObservationJobs_nextToken,+    listEarthObservationJobs_sortBy,+    listEarthObservationJobs_sortOrder,+    listEarthObservationJobs_statusEquals,++    -- * Destructuring the Response+    ListEarthObservationJobsResponse (..),+    newListEarthObservationJobsResponse,++    -- * Response Lenses+    listEarthObservationJobsResponse_nextToken,+    listEarthObservationJobsResponse_httpStatus,+    listEarthObservationJobsResponse_earthObservationJobSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newListEarthObservationJobs' smart constructor.+data ListEarthObservationJobs = ListEarthObservationJobs'+  { -- | The total number of items to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The parameter by which to sort the results.+    sortBy :: Prelude.Maybe Prelude.Text,+    -- | An optional value that specifies whether you want the results sorted in+    -- @Ascending@ or @Descending@ order.+    sortOrder :: Prelude.Maybe SortOrder,+    -- | A filter that retrieves only jobs with a specific status.+    statusEquals :: Prelude.Maybe EarthObservationJobStatus+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEarthObservationJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEarthObservationJobs_maxResults' - The total number of items to return.+--+-- 'nextToken', 'listEarthObservationJobs_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'sortBy', 'listEarthObservationJobs_sortBy' - The parameter by which to sort the results.+--+-- 'sortOrder', 'listEarthObservationJobs_sortOrder' - An optional value that specifies whether you want the results sorted in+-- @Ascending@ or @Descending@ order.+--+-- 'statusEquals', 'listEarthObservationJobs_statusEquals' - A filter that retrieves only jobs with a specific status.+newListEarthObservationJobs ::+  ListEarthObservationJobs+newListEarthObservationJobs =+  ListEarthObservationJobs'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sortBy = Prelude.Nothing,+      sortOrder = Prelude.Nothing,+      statusEquals = Prelude.Nothing+    }++-- | The total number of items to return.+listEarthObservationJobs_maxResults :: Lens.Lens' ListEarthObservationJobs (Prelude.Maybe Prelude.Natural)+listEarthObservationJobs_maxResults = Lens.lens (\ListEarthObservationJobs' {maxResults} -> maxResults) (\s@ListEarthObservationJobs' {} a -> s {maxResults = a} :: ListEarthObservationJobs)++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listEarthObservationJobs_nextToken :: Lens.Lens' ListEarthObservationJobs (Prelude.Maybe Prelude.Text)+listEarthObservationJobs_nextToken = Lens.lens (\ListEarthObservationJobs' {nextToken} -> nextToken) (\s@ListEarthObservationJobs' {} a -> s {nextToken = a} :: ListEarthObservationJobs) Prelude.. Lens.mapping Data._Sensitive++-- | The parameter by which to sort the results.+listEarthObservationJobs_sortBy :: Lens.Lens' ListEarthObservationJobs (Prelude.Maybe Prelude.Text)+listEarthObservationJobs_sortBy = Lens.lens (\ListEarthObservationJobs' {sortBy} -> sortBy) (\s@ListEarthObservationJobs' {} a -> s {sortBy = a} :: ListEarthObservationJobs)++-- | An optional value that specifies whether you want the results sorted in+-- @Ascending@ or @Descending@ order.+listEarthObservationJobs_sortOrder :: Lens.Lens' ListEarthObservationJobs (Prelude.Maybe SortOrder)+listEarthObservationJobs_sortOrder = Lens.lens (\ListEarthObservationJobs' {sortOrder} -> sortOrder) (\s@ListEarthObservationJobs' {} a -> s {sortOrder = a} :: ListEarthObservationJobs)++-- | A filter that retrieves only jobs with a specific status.+listEarthObservationJobs_statusEquals :: Lens.Lens' ListEarthObservationJobs (Prelude.Maybe EarthObservationJobStatus)+listEarthObservationJobs_statusEquals = Lens.lens (\ListEarthObservationJobs' {statusEquals} -> statusEquals) (\s@ListEarthObservationJobs' {} a -> s {statusEquals = a} :: ListEarthObservationJobs)++instance Core.AWSPager ListEarthObservationJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listEarthObservationJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listEarthObservationJobsResponse_earthObservationJobSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listEarthObservationJobs_nextToken+          Lens..~ rs+          Lens.^? listEarthObservationJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListEarthObservationJobs where+  type+    AWSResponse ListEarthObservationJobs =+      ListEarthObservationJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEarthObservationJobsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "EarthObservationJobSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListEarthObservationJobs where+  hashWithSalt _salt ListEarthObservationJobs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` sortOrder+      `Prelude.hashWithSalt` statusEquals++instance Prelude.NFData ListEarthObservationJobs where+  rnf ListEarthObservationJobs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf sortOrder+      `Prelude.seq` Prelude.rnf statusEquals++instance Data.ToHeaders ListEarthObservationJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListEarthObservationJobs where+  toJSON ListEarthObservationJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("SortBy" Data..=) Prelude.<$> sortBy,+            ("SortOrder" Data..=) Prelude.<$> sortOrder,+            ("StatusEquals" Data..=) Prelude.<$> statusEquals+          ]+      )++instance Data.ToPath ListEarthObservationJobs where+  toPath = Prelude.const "/list-earth-observation-jobs"++instance Data.ToQuery ListEarthObservationJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListEarthObservationJobsResponse' smart constructor.+data ListEarthObservationJobsResponse = ListEarthObservationJobsResponse'+  { -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Contains summary information about the Earth Observation jobs.+    earthObservationJobSummaries :: [ListEarthObservationJobOutputConfig]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEarthObservationJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEarthObservationJobsResponse_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'httpStatus', 'listEarthObservationJobsResponse_httpStatus' - The response's http status code.+--+-- 'earthObservationJobSummaries', 'listEarthObservationJobsResponse_earthObservationJobSummaries' - Contains summary information about the Earth Observation jobs.+newListEarthObservationJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEarthObservationJobsResponse+newListEarthObservationJobsResponse pHttpStatus_ =+  ListEarthObservationJobsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      earthObservationJobSummaries =+        Prelude.mempty+    }++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listEarthObservationJobsResponse_nextToken :: Lens.Lens' ListEarthObservationJobsResponse (Prelude.Maybe Prelude.Text)+listEarthObservationJobsResponse_nextToken = Lens.lens (\ListEarthObservationJobsResponse' {nextToken} -> nextToken) (\s@ListEarthObservationJobsResponse' {} a -> s {nextToken = a} :: ListEarthObservationJobsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listEarthObservationJobsResponse_httpStatus :: Lens.Lens' ListEarthObservationJobsResponse Prelude.Int+listEarthObservationJobsResponse_httpStatus = Lens.lens (\ListEarthObservationJobsResponse' {httpStatus} -> httpStatus) (\s@ListEarthObservationJobsResponse' {} a -> s {httpStatus = a} :: ListEarthObservationJobsResponse)++-- | Contains summary information about the Earth Observation jobs.+listEarthObservationJobsResponse_earthObservationJobSummaries :: Lens.Lens' ListEarthObservationJobsResponse [ListEarthObservationJobOutputConfig]+listEarthObservationJobsResponse_earthObservationJobSummaries = Lens.lens (\ListEarthObservationJobsResponse' {earthObservationJobSummaries} -> earthObservationJobSummaries) (\s@ListEarthObservationJobsResponse' {} a -> s {earthObservationJobSummaries = a} :: ListEarthObservationJobsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListEarthObservationJobsResponse+  where+  rnf ListEarthObservationJobsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf earthObservationJobSummaries
+ gen/Amazonka/SageMakerGeoSpatial/ListRasterDataCollections.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.ListRasterDataCollections+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to get raster data collections.+--+-- This operation returns paginated results.+module Amazonka.SageMakerGeoSpatial.ListRasterDataCollections+  ( -- * Creating a Request+    ListRasterDataCollections (..),+    newListRasterDataCollections,++    -- * Request Lenses+    listRasterDataCollections_maxResults,+    listRasterDataCollections_nextToken,++    -- * Destructuring the Response+    ListRasterDataCollectionsResponse (..),+    newListRasterDataCollectionsResponse,++    -- * Response Lenses+    listRasterDataCollectionsResponse_nextToken,+    listRasterDataCollectionsResponse_httpStatus,+    listRasterDataCollectionsResponse_rasterDataCollectionSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newListRasterDataCollections' smart constructor.+data ListRasterDataCollections = ListRasterDataCollections'+  { -- | The total number of items to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRasterDataCollections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRasterDataCollections_maxResults' - The total number of items to return.+--+-- 'nextToken', 'listRasterDataCollections_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+newListRasterDataCollections ::+  ListRasterDataCollections+newListRasterDataCollections =+  ListRasterDataCollections'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The total number of items to return.+listRasterDataCollections_maxResults :: Lens.Lens' ListRasterDataCollections (Prelude.Maybe Prelude.Natural)+listRasterDataCollections_maxResults = Lens.lens (\ListRasterDataCollections' {maxResults} -> maxResults) (\s@ListRasterDataCollections' {} a -> s {maxResults = a} :: ListRasterDataCollections)++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listRasterDataCollections_nextToken :: Lens.Lens' ListRasterDataCollections (Prelude.Maybe Prelude.Text)+listRasterDataCollections_nextToken = Lens.lens (\ListRasterDataCollections' {nextToken} -> nextToken) (\s@ListRasterDataCollections' {} a -> s {nextToken = a} :: ListRasterDataCollections) Prelude.. Lens.mapping Data._Sensitive++instance Core.AWSPager ListRasterDataCollections where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRasterDataCollectionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listRasterDataCollectionsResponse_rasterDataCollectionSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRasterDataCollections_nextToken+          Lens..~ rs+          Lens.^? listRasterDataCollectionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRasterDataCollections where+  type+    AWSResponse ListRasterDataCollections =+      ListRasterDataCollectionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRasterDataCollectionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "RasterDataCollectionSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListRasterDataCollections where+  hashWithSalt _salt ListRasterDataCollections' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListRasterDataCollections where+  rnf ListRasterDataCollections' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListRasterDataCollections where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListRasterDataCollections where+  toPath = Prelude.const "/raster-data-collections"++instance Data.ToQuery ListRasterDataCollections where+  toQuery ListRasterDataCollections' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListRasterDataCollectionsResponse' smart constructor.+data ListRasterDataCollectionsResponse = ListRasterDataCollectionsResponse'+  { -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Contains summary information about the raster data collection.+    rasterDataCollectionSummaries :: [RasterDataCollectionMetadata]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRasterDataCollectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRasterDataCollectionsResponse_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'httpStatus', 'listRasterDataCollectionsResponse_httpStatus' - The response's http status code.+--+-- 'rasterDataCollectionSummaries', 'listRasterDataCollectionsResponse_rasterDataCollectionSummaries' - Contains summary information about the raster data collection.+newListRasterDataCollectionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRasterDataCollectionsResponse+newListRasterDataCollectionsResponse pHttpStatus_ =+  ListRasterDataCollectionsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      rasterDataCollectionSummaries =+        Prelude.mempty+    }++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listRasterDataCollectionsResponse_nextToken :: Lens.Lens' ListRasterDataCollectionsResponse (Prelude.Maybe Prelude.Text)+listRasterDataCollectionsResponse_nextToken = Lens.lens (\ListRasterDataCollectionsResponse' {nextToken} -> nextToken) (\s@ListRasterDataCollectionsResponse' {} a -> s {nextToken = a} :: ListRasterDataCollectionsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listRasterDataCollectionsResponse_httpStatus :: Lens.Lens' ListRasterDataCollectionsResponse Prelude.Int+listRasterDataCollectionsResponse_httpStatus = Lens.lens (\ListRasterDataCollectionsResponse' {httpStatus} -> httpStatus) (\s@ListRasterDataCollectionsResponse' {} a -> s {httpStatus = a} :: ListRasterDataCollectionsResponse)++-- | Contains summary information about the raster data collection.+listRasterDataCollectionsResponse_rasterDataCollectionSummaries :: Lens.Lens' ListRasterDataCollectionsResponse [RasterDataCollectionMetadata]+listRasterDataCollectionsResponse_rasterDataCollectionSummaries = Lens.lens (\ListRasterDataCollectionsResponse' {rasterDataCollectionSummaries} -> rasterDataCollectionSummaries) (\s@ListRasterDataCollectionsResponse' {} a -> s {rasterDataCollectionSummaries = a} :: ListRasterDataCollectionsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListRasterDataCollectionsResponse+  where+  rnf ListRasterDataCollectionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf rasterDataCollectionSummaries
+ gen/Amazonka/SageMakerGeoSpatial/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.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 attached to the resource.+module Amazonka.SageMakerGeoSpatial.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource you want to tag.+    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) of the resource you want to tag.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource you want to tag.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Each tag consists of a key and a value.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/ListVectorEnrichmentJobs.hs view
@@ -0,0 +1,271 @@+{-# 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.SageMakerGeoSpatial.ListVectorEnrichmentJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of vector enrichment jobs.+--+-- This operation returns paginated results.+module Amazonka.SageMakerGeoSpatial.ListVectorEnrichmentJobs+  ( -- * Creating a Request+    ListVectorEnrichmentJobs (..),+    newListVectorEnrichmentJobs,++    -- * Request Lenses+    listVectorEnrichmentJobs_maxResults,+    listVectorEnrichmentJobs_nextToken,+    listVectorEnrichmentJobs_sortBy,+    listVectorEnrichmentJobs_sortOrder,+    listVectorEnrichmentJobs_statusEquals,++    -- * Destructuring the Response+    ListVectorEnrichmentJobsResponse (..),+    newListVectorEnrichmentJobsResponse,++    -- * Response Lenses+    listVectorEnrichmentJobsResponse_nextToken,+    listVectorEnrichmentJobsResponse_httpStatus,+    listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newListVectorEnrichmentJobs' smart constructor.+data ListVectorEnrichmentJobs = ListVectorEnrichmentJobs'+  { -- | The maximum number of items to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The parameter by which to sort the results.+    sortBy :: Prelude.Maybe Prelude.Text,+    -- | An optional value that specifies whether you want the results sorted in+    -- @Ascending@ or @Descending@ order.+    sortOrder :: Prelude.Maybe SortOrder,+    -- | A filter that retrieves only jobs with a specific status.+    statusEquals :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVectorEnrichmentJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVectorEnrichmentJobs_maxResults' - The maximum number of items to return.+--+-- 'nextToken', 'listVectorEnrichmentJobs_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'sortBy', 'listVectorEnrichmentJobs_sortBy' - The parameter by which to sort the results.+--+-- 'sortOrder', 'listVectorEnrichmentJobs_sortOrder' - An optional value that specifies whether you want the results sorted in+-- @Ascending@ or @Descending@ order.+--+-- 'statusEquals', 'listVectorEnrichmentJobs_statusEquals' - A filter that retrieves only jobs with a specific status.+newListVectorEnrichmentJobs ::+  ListVectorEnrichmentJobs+newListVectorEnrichmentJobs =+  ListVectorEnrichmentJobs'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sortBy = Prelude.Nothing,+      sortOrder = Prelude.Nothing,+      statusEquals = Prelude.Nothing+    }++-- | The maximum number of items to return.+listVectorEnrichmentJobs_maxResults :: Lens.Lens' ListVectorEnrichmentJobs (Prelude.Maybe Prelude.Natural)+listVectorEnrichmentJobs_maxResults = Lens.lens (\ListVectorEnrichmentJobs' {maxResults} -> maxResults) (\s@ListVectorEnrichmentJobs' {} a -> s {maxResults = a} :: ListVectorEnrichmentJobs)++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listVectorEnrichmentJobs_nextToken :: Lens.Lens' ListVectorEnrichmentJobs (Prelude.Maybe Prelude.Text)+listVectorEnrichmentJobs_nextToken = Lens.lens (\ListVectorEnrichmentJobs' {nextToken} -> nextToken) (\s@ListVectorEnrichmentJobs' {} a -> s {nextToken = a} :: ListVectorEnrichmentJobs) Prelude.. Lens.mapping Data._Sensitive++-- | The parameter by which to sort the results.+listVectorEnrichmentJobs_sortBy :: Lens.Lens' ListVectorEnrichmentJobs (Prelude.Maybe Prelude.Text)+listVectorEnrichmentJobs_sortBy = Lens.lens (\ListVectorEnrichmentJobs' {sortBy} -> sortBy) (\s@ListVectorEnrichmentJobs' {} a -> s {sortBy = a} :: ListVectorEnrichmentJobs)++-- | An optional value that specifies whether you want the results sorted in+-- @Ascending@ or @Descending@ order.+listVectorEnrichmentJobs_sortOrder :: Lens.Lens' ListVectorEnrichmentJobs (Prelude.Maybe SortOrder)+listVectorEnrichmentJobs_sortOrder = Lens.lens (\ListVectorEnrichmentJobs' {sortOrder} -> sortOrder) (\s@ListVectorEnrichmentJobs' {} a -> s {sortOrder = a} :: ListVectorEnrichmentJobs)++-- | A filter that retrieves only jobs with a specific status.+listVectorEnrichmentJobs_statusEquals :: Lens.Lens' ListVectorEnrichmentJobs (Prelude.Maybe Prelude.Text)+listVectorEnrichmentJobs_statusEquals = Lens.lens (\ListVectorEnrichmentJobs' {statusEquals} -> statusEquals) (\s@ListVectorEnrichmentJobs' {} a -> s {statusEquals = a} :: ListVectorEnrichmentJobs)++instance Core.AWSPager ListVectorEnrichmentJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listVectorEnrichmentJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listVectorEnrichmentJobs_nextToken+          Lens..~ rs+          Lens.^? listVectorEnrichmentJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListVectorEnrichmentJobs where+  type+    AWSResponse ListVectorEnrichmentJobs =+      ListVectorEnrichmentJobsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListVectorEnrichmentJobsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "VectorEnrichmentJobSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListVectorEnrichmentJobs where+  hashWithSalt _salt ListVectorEnrichmentJobs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` sortOrder+      `Prelude.hashWithSalt` statusEquals++instance Prelude.NFData ListVectorEnrichmentJobs where+  rnf ListVectorEnrichmentJobs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf sortOrder+      `Prelude.seq` Prelude.rnf statusEquals++instance Data.ToHeaders ListVectorEnrichmentJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListVectorEnrichmentJobs where+  toJSON ListVectorEnrichmentJobs' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MaxResults" Data..=) Prelude.<$> maxResults,+            ("NextToken" Data..=) Prelude.<$> nextToken,+            ("SortBy" Data..=) Prelude.<$> sortBy,+            ("SortOrder" Data..=) Prelude.<$> sortOrder,+            ("StatusEquals" Data..=) Prelude.<$> statusEquals+          ]+      )++instance Data.ToPath ListVectorEnrichmentJobs where+  toPath = Prelude.const "/list-vector-enrichment-jobs"++instance Data.ToQuery ListVectorEnrichmentJobs where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVectorEnrichmentJobsResponse' smart constructor.+data ListVectorEnrichmentJobsResponse = ListVectorEnrichmentJobsResponse'+  { -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Contains summary information about the Vector Enrichment jobs.+    vectorEnrichmentJobSummaries :: [ListVectorEnrichmentJobOutputConfig]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVectorEnrichmentJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVectorEnrichmentJobsResponse_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'httpStatus', 'listVectorEnrichmentJobsResponse_httpStatus' - The response's http status code.+--+-- 'vectorEnrichmentJobSummaries', 'listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries' - Contains summary information about the Vector Enrichment jobs.+newListVectorEnrichmentJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListVectorEnrichmentJobsResponse+newListVectorEnrichmentJobsResponse pHttpStatus_ =+  ListVectorEnrichmentJobsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      vectorEnrichmentJobSummaries =+        Prelude.mempty+    }++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+listVectorEnrichmentJobsResponse_nextToken :: Lens.Lens' ListVectorEnrichmentJobsResponse (Prelude.Maybe Prelude.Text)+listVectorEnrichmentJobsResponse_nextToken = Lens.lens (\ListVectorEnrichmentJobsResponse' {nextToken} -> nextToken) (\s@ListVectorEnrichmentJobsResponse' {} a -> s {nextToken = a} :: ListVectorEnrichmentJobsResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+listVectorEnrichmentJobsResponse_httpStatus :: Lens.Lens' ListVectorEnrichmentJobsResponse Prelude.Int+listVectorEnrichmentJobsResponse_httpStatus = Lens.lens (\ListVectorEnrichmentJobsResponse' {httpStatus} -> httpStatus) (\s@ListVectorEnrichmentJobsResponse' {} a -> s {httpStatus = a} :: ListVectorEnrichmentJobsResponse)++-- | Contains summary information about the Vector Enrichment jobs.+listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries :: Lens.Lens' ListVectorEnrichmentJobsResponse [ListVectorEnrichmentJobOutputConfig]+listVectorEnrichmentJobsResponse_vectorEnrichmentJobSummaries = Lens.lens (\ListVectorEnrichmentJobsResponse' {vectorEnrichmentJobSummaries} -> vectorEnrichmentJobSummaries) (\s@ListVectorEnrichmentJobsResponse' {} a -> s {vectorEnrichmentJobSummaries = a} :: ListVectorEnrichmentJobsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListVectorEnrichmentJobsResponse+  where+  rnf ListVectorEnrichmentJobsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf vectorEnrichmentJobSummaries
+ gen/Amazonka/SageMakerGeoSpatial/SearchRasterDataCollection.hs view
@@ -0,0 +1,238 @@+{-# 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.SageMakerGeoSpatial.SearchRasterDataCollection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Allows you run image query on a specific raster data collection to get a+-- list of the satellite imagery matching the selected filters.+module Amazonka.SageMakerGeoSpatial.SearchRasterDataCollection+  ( -- * Creating a Request+    SearchRasterDataCollection (..),+    newSearchRasterDataCollection,++    -- * Request Lenses+    searchRasterDataCollection_nextToken,+    searchRasterDataCollection_arn,+    searchRasterDataCollection_rasterDataCollectionQuery,++    -- * Destructuring the Response+    SearchRasterDataCollectionResponse (..),+    newSearchRasterDataCollectionResponse,++    -- * Response Lenses+    searchRasterDataCollectionResponse_items,+    searchRasterDataCollectionResponse_nextToken,+    searchRasterDataCollectionResponse_httpStatus,+    searchRasterDataCollectionResponse_approximateResultCount,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newSearchRasterDataCollection' smart constructor.+data SearchRasterDataCollection = SearchRasterDataCollection'+  { -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the raster data collection.+    arn :: Prelude.Text,+    rasterDataCollectionQuery :: RasterDataCollectionQueryWithBandFilterInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchRasterDataCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'searchRasterDataCollection_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'arn', 'searchRasterDataCollection_arn' - The Amazon Resource Name (ARN) of the raster data collection.+--+-- 'rasterDataCollectionQuery', 'searchRasterDataCollection_rasterDataCollectionQuery' -+newSearchRasterDataCollection ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'rasterDataCollectionQuery'+  RasterDataCollectionQueryWithBandFilterInput ->+  SearchRasterDataCollection+newSearchRasterDataCollection+  pArn_+  pRasterDataCollectionQuery_ =+    SearchRasterDataCollection'+      { nextToken =+          Prelude.Nothing,+        arn = pArn_,+        rasterDataCollectionQuery =+          pRasterDataCollectionQuery_+      }++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+searchRasterDataCollection_nextToken :: Lens.Lens' SearchRasterDataCollection (Prelude.Maybe Prelude.Text)+searchRasterDataCollection_nextToken = Lens.lens (\SearchRasterDataCollection' {nextToken} -> nextToken) (\s@SearchRasterDataCollection' {} a -> s {nextToken = a} :: SearchRasterDataCollection) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Resource Name (ARN) of the raster data collection.+searchRasterDataCollection_arn :: Lens.Lens' SearchRasterDataCollection Prelude.Text+searchRasterDataCollection_arn = Lens.lens (\SearchRasterDataCollection' {arn} -> arn) (\s@SearchRasterDataCollection' {} a -> s {arn = a} :: SearchRasterDataCollection)++searchRasterDataCollection_rasterDataCollectionQuery :: Lens.Lens' SearchRasterDataCollection RasterDataCollectionQueryWithBandFilterInput+searchRasterDataCollection_rasterDataCollectionQuery = Lens.lens (\SearchRasterDataCollection' {rasterDataCollectionQuery} -> rasterDataCollectionQuery) (\s@SearchRasterDataCollection' {} a -> s {rasterDataCollectionQuery = a} :: SearchRasterDataCollection)++instance Core.AWSRequest SearchRasterDataCollection where+  type+    AWSResponse SearchRasterDataCollection =+      SearchRasterDataCollectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SearchRasterDataCollectionResponse'+            Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ApproximateResultCount")+      )++instance Prelude.Hashable SearchRasterDataCollection where+  hashWithSalt _salt SearchRasterDataCollection' {..} =+    _salt+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` rasterDataCollectionQuery++instance Prelude.NFData SearchRasterDataCollection where+  rnf SearchRasterDataCollection' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf rasterDataCollectionQuery++instance Data.ToHeaders SearchRasterDataCollection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON SearchRasterDataCollection where+  toJSON SearchRasterDataCollection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("NextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just ("Arn" Data..= arn),+            Prelude.Just+              ( "RasterDataCollectionQuery"+                  Data..= rasterDataCollectionQuery+              )+          ]+      )++instance Data.ToPath SearchRasterDataCollection where+  toPath =+    Prelude.const "/search-raster-data-collection"++instance Data.ToQuery SearchRasterDataCollection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchRasterDataCollectionResponse' smart constructor.+data SearchRasterDataCollectionResponse = SearchRasterDataCollectionResponse'+  { items :: Prelude.Maybe [ItemSource],+    -- | If the previous response was truncated, you receive this token. Use it+    -- in your next request to receive the next set of results.+    nextToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    approximateResultCount :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchRasterDataCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'searchRasterDataCollectionResponse_items' -+--+-- 'nextToken', 'searchRasterDataCollectionResponse_nextToken' - If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+--+-- 'httpStatus', 'searchRasterDataCollectionResponse_httpStatus' - The response's http status code.+--+-- 'approximateResultCount', 'searchRasterDataCollectionResponse_approximateResultCount' -+newSearchRasterDataCollectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'approximateResultCount'+  Prelude.Int ->+  SearchRasterDataCollectionResponse+newSearchRasterDataCollectionResponse+  pHttpStatus_+  pApproximateResultCount_ =+    SearchRasterDataCollectionResponse'+      { items =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        approximateResultCount =+          pApproximateResultCount_+      }++searchRasterDataCollectionResponse_items :: Lens.Lens' SearchRasterDataCollectionResponse (Prelude.Maybe [ItemSource])+searchRasterDataCollectionResponse_items = Lens.lens (\SearchRasterDataCollectionResponse' {items} -> items) (\s@SearchRasterDataCollectionResponse' {} a -> s {items = a} :: SearchRasterDataCollectionResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the previous response was truncated, you receive this token. Use it+-- in your next request to receive the next set of results.+searchRasterDataCollectionResponse_nextToken :: Lens.Lens' SearchRasterDataCollectionResponse (Prelude.Maybe Prelude.Text)+searchRasterDataCollectionResponse_nextToken = Lens.lens (\SearchRasterDataCollectionResponse' {nextToken} -> nextToken) (\s@SearchRasterDataCollectionResponse' {} a -> s {nextToken = a} :: SearchRasterDataCollectionResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The response's http status code.+searchRasterDataCollectionResponse_httpStatus :: Lens.Lens' SearchRasterDataCollectionResponse Prelude.Int+searchRasterDataCollectionResponse_httpStatus = Lens.lens (\SearchRasterDataCollectionResponse' {httpStatus} -> httpStatus) (\s@SearchRasterDataCollectionResponse' {} a -> s {httpStatus = a} :: SearchRasterDataCollectionResponse)++searchRasterDataCollectionResponse_approximateResultCount :: Lens.Lens' SearchRasterDataCollectionResponse Prelude.Int+searchRasterDataCollectionResponse_approximateResultCount = Lens.lens (\SearchRasterDataCollectionResponse' {approximateResultCount} -> approximateResultCount) (\s@SearchRasterDataCollectionResponse' {} a -> s {approximateResultCount = a} :: SearchRasterDataCollectionResponse)++instance+  Prelude.NFData+    SearchRasterDataCollectionResponse+  where+  rnf SearchRasterDataCollectionResponse' {..} =+    Prelude.rnf items+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf approximateResultCount
+ gen/Amazonka/SageMakerGeoSpatial/StartEarthObservationJob.hs view
@@ -0,0 +1,399 @@+{-# 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.SageMakerGeoSpatial.StartEarthObservationJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to create an Earth observation job.+module Amazonka.SageMakerGeoSpatial.StartEarthObservationJob+  ( -- * Creating a Request+    StartEarthObservationJob (..),+    newStartEarthObservationJob,++    -- * Request Lenses+    startEarthObservationJob_clientToken,+    startEarthObservationJob_executionRoleArn,+    startEarthObservationJob_kmsKeyId,+    startEarthObservationJob_tags,+    startEarthObservationJob_inputConfig,+    startEarthObservationJob_jobConfig,+    startEarthObservationJob_name,++    -- * Destructuring the Response+    StartEarthObservationJobResponse (..),+    newStartEarthObservationJobResponse,++    -- * Response Lenses+    startEarthObservationJobResponse_executionRoleArn,+    startEarthObservationJobResponse_inputConfig,+    startEarthObservationJobResponse_kmsKeyId,+    startEarthObservationJobResponse_tags,+    startEarthObservationJobResponse_httpStatus,+    startEarthObservationJobResponse_arn,+    startEarthObservationJobResponse_creationTime,+    startEarthObservationJobResponse_durationInSeconds,+    startEarthObservationJobResponse_jobConfig,+    startEarthObservationJobResponse_name,+    startEarthObservationJobResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newStartEarthObservationJob' smart constructor.+data StartEarthObservationJob = StartEarthObservationJob'+  { -- | A unique token that guarantees that the call to this API is idempotent.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | Input configuration information for the Earth Observation job.+    inputConfig :: InputConfigInput,+    -- | An object containing information about the job configuration.+    jobConfig :: JobConfigInput,+    -- | The name of the Earth Observation job.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartEarthObservationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startEarthObservationJob_clientToken' - A unique token that guarantees that the call to this API is idempotent.+--+-- 'executionRoleArn', 'startEarthObservationJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'kmsKeyId', 'startEarthObservationJob_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'tags', 'startEarthObservationJob_tags' - Each tag consists of a key and a value.+--+-- 'inputConfig', 'startEarthObservationJob_inputConfig' - Input configuration information for the Earth Observation job.+--+-- 'jobConfig', 'startEarthObservationJob_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'startEarthObservationJob_name' - The name of the Earth Observation job.+newStartEarthObservationJob ::+  -- | 'inputConfig'+  InputConfigInput ->+  -- | 'jobConfig'+  JobConfigInput ->+  -- | 'name'+  Prelude.Text ->+  StartEarthObservationJob+newStartEarthObservationJob+  pInputConfig_+  pJobConfig_+  pName_ =+    StartEarthObservationJob'+      { clientToken =+          Prelude.Nothing,+        executionRoleArn = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        tags = Prelude.Nothing,+        inputConfig = pInputConfig_,+        jobConfig = pJobConfig_,+        name = pName_+      }++-- | A unique token that guarantees that the call to this API is idempotent.+startEarthObservationJob_clientToken :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)+startEarthObservationJob_clientToken = Lens.lens (\StartEarthObservationJob' {clientToken} -> clientToken) (\s@StartEarthObservationJob' {} a -> s {clientToken = a} :: StartEarthObservationJob)++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+startEarthObservationJob_executionRoleArn :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)+startEarthObservationJob_executionRoleArn = Lens.lens (\StartEarthObservationJob' {executionRoleArn} -> executionRoleArn) (\s@StartEarthObservationJob' {} a -> s {executionRoleArn = a} :: StartEarthObservationJob)++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+startEarthObservationJob_kmsKeyId :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe Prelude.Text)+startEarthObservationJob_kmsKeyId = Lens.lens (\StartEarthObservationJob' {kmsKeyId} -> kmsKeyId) (\s@StartEarthObservationJob' {} a -> s {kmsKeyId = a} :: StartEarthObservationJob)++-- | Each tag consists of a key and a value.+startEarthObservationJob_tags :: Lens.Lens' StartEarthObservationJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startEarthObservationJob_tags = Lens.lens (\StartEarthObservationJob' {tags} -> tags) (\s@StartEarthObservationJob' {} a -> s {tags = a} :: StartEarthObservationJob) Prelude.. Lens.mapping Lens.coerced++-- | Input configuration information for the Earth Observation job.+startEarthObservationJob_inputConfig :: Lens.Lens' StartEarthObservationJob InputConfigInput+startEarthObservationJob_inputConfig = Lens.lens (\StartEarthObservationJob' {inputConfig} -> inputConfig) (\s@StartEarthObservationJob' {} a -> s {inputConfig = a} :: StartEarthObservationJob)++-- | An object containing information about the job configuration.+startEarthObservationJob_jobConfig :: Lens.Lens' StartEarthObservationJob JobConfigInput+startEarthObservationJob_jobConfig = Lens.lens (\StartEarthObservationJob' {jobConfig} -> jobConfig) (\s@StartEarthObservationJob' {} a -> s {jobConfig = a} :: StartEarthObservationJob)++-- | The name of the Earth Observation job.+startEarthObservationJob_name :: Lens.Lens' StartEarthObservationJob Prelude.Text+startEarthObservationJob_name = Lens.lens (\StartEarthObservationJob' {name} -> name) (\s@StartEarthObservationJob' {} a -> s {name = a} :: StartEarthObservationJob)++instance Core.AWSRequest StartEarthObservationJob where+  type+    AWSResponse StartEarthObservationJob =+      StartEarthObservationJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartEarthObservationJobResponse'+            Prelude.<$> (x Data..?> "ExecutionRoleArn")+            Prelude.<*> (x Data..?> "InputConfig")+            Prelude.<*> (x Data..?> "KmsKeyId")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "DurationInSeconds")+            Prelude.<*> (x Data..:> "JobConfig")+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> (x Data..:> "Status")+      )++instance Prelude.Hashable StartEarthObservationJob where+  hashWithSalt _salt StartEarthObservationJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` inputConfig+      `Prelude.hashWithSalt` jobConfig+      `Prelude.hashWithSalt` name++instance Prelude.NFData StartEarthObservationJob where+  rnf StartEarthObservationJob' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders StartEarthObservationJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartEarthObservationJob where+  toJSON StartEarthObservationJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("ExecutionRoleArn" Data..=)+              Prelude.<$> executionRoleArn,+            ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("InputConfig" Data..= inputConfig),+            Prelude.Just ("JobConfig" Data..= jobConfig),+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath StartEarthObservationJob where+  toPath = Prelude.const "/earth-observation-jobs"++instance Data.ToQuery StartEarthObservationJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartEarthObservationJobResponse' smart constructor.+data StartEarthObservationJobResponse = StartEarthObservationJobResponse'+  { -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Input configuration information for the Earth Observation job.+    inputConfig :: Prelude.Maybe InputConfigOutput,+    -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Earth Observation job.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The duration of the session, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | An object containing information about the job configuration.+    jobConfig :: JobConfigInput,+    -- | The name of the Earth Observation job.+    name :: Prelude.Text,+    -- | The status of the Earth Observation job.+    status :: EarthObservationJobStatus+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartEarthObservationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'executionRoleArn', 'startEarthObservationJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'inputConfig', 'startEarthObservationJobResponse_inputConfig' - Input configuration information for the Earth Observation job.+--+-- 'kmsKeyId', 'startEarthObservationJobResponse_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'tags', 'startEarthObservationJobResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'startEarthObservationJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'startEarthObservationJobResponse_arn' - The Amazon Resource Name (ARN) of the Earth Observation job.+--+-- 'creationTime', 'startEarthObservationJobResponse_creationTime' - The creation time.+--+-- 'durationInSeconds', 'startEarthObservationJobResponse_durationInSeconds' - The duration of the session, in seconds.+--+-- 'jobConfig', 'startEarthObservationJobResponse_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'startEarthObservationJobResponse_name' - The name of the Earth Observation job.+--+-- 'status', 'startEarthObservationJobResponse_status' - The status of the Earth Observation job.+newStartEarthObservationJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'jobConfig'+  JobConfigInput ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  EarthObservationJobStatus ->+  StartEarthObservationJobResponse+newStartEarthObservationJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pJobConfig_+  pName_+  pStatus_ =+    StartEarthObservationJobResponse'+      { executionRoleArn =+          Prelude.Nothing,+        inputConfig = Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds = pDurationInSeconds_,+        jobConfig = pJobConfig_,+        name = pName_,+        status = pStatus_+      }++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+startEarthObservationJobResponse_executionRoleArn :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe Prelude.Text)+startEarthObservationJobResponse_executionRoleArn = Lens.lens (\StartEarthObservationJobResponse' {executionRoleArn} -> executionRoleArn) (\s@StartEarthObservationJobResponse' {} a -> s {executionRoleArn = a} :: StartEarthObservationJobResponse)++-- | Input configuration information for the Earth Observation job.+startEarthObservationJobResponse_inputConfig :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe InputConfigOutput)+startEarthObservationJobResponse_inputConfig = Lens.lens (\StartEarthObservationJobResponse' {inputConfig} -> inputConfig) (\s@StartEarthObservationJobResponse' {} a -> s {inputConfig = a} :: StartEarthObservationJobResponse)++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+startEarthObservationJobResponse_kmsKeyId :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe Prelude.Text)+startEarthObservationJobResponse_kmsKeyId = Lens.lens (\StartEarthObservationJobResponse' {kmsKeyId} -> kmsKeyId) (\s@StartEarthObservationJobResponse' {} a -> s {kmsKeyId = a} :: StartEarthObservationJobResponse)++-- | Each tag consists of a key and a value.+startEarthObservationJobResponse_tags :: Lens.Lens' StartEarthObservationJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startEarthObservationJobResponse_tags = Lens.lens (\StartEarthObservationJobResponse' {tags} -> tags) (\s@StartEarthObservationJobResponse' {} a -> s {tags = a} :: StartEarthObservationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+startEarthObservationJobResponse_httpStatus :: Lens.Lens' StartEarthObservationJobResponse Prelude.Int+startEarthObservationJobResponse_httpStatus = Lens.lens (\StartEarthObservationJobResponse' {httpStatus} -> httpStatus) (\s@StartEarthObservationJobResponse' {} a -> s {httpStatus = a} :: StartEarthObservationJobResponse)++-- | The Amazon Resource Name (ARN) of the Earth Observation job.+startEarthObservationJobResponse_arn :: Lens.Lens' StartEarthObservationJobResponse Prelude.Text+startEarthObservationJobResponse_arn = Lens.lens (\StartEarthObservationJobResponse' {arn} -> arn) (\s@StartEarthObservationJobResponse' {} a -> s {arn = a} :: StartEarthObservationJobResponse)++-- | The creation time.+startEarthObservationJobResponse_creationTime :: Lens.Lens' StartEarthObservationJobResponse Prelude.UTCTime+startEarthObservationJobResponse_creationTime = Lens.lens (\StartEarthObservationJobResponse' {creationTime} -> creationTime) (\s@StartEarthObservationJobResponse' {} a -> s {creationTime = a} :: StartEarthObservationJobResponse) Prelude.. Data._Time++-- | The duration of the session, in seconds.+startEarthObservationJobResponse_durationInSeconds :: Lens.Lens' StartEarthObservationJobResponse Prelude.Int+startEarthObservationJobResponse_durationInSeconds = Lens.lens (\StartEarthObservationJobResponse' {durationInSeconds} -> durationInSeconds) (\s@StartEarthObservationJobResponse' {} a -> s {durationInSeconds = a} :: StartEarthObservationJobResponse)++-- | An object containing information about the job configuration.+startEarthObservationJobResponse_jobConfig :: Lens.Lens' StartEarthObservationJobResponse JobConfigInput+startEarthObservationJobResponse_jobConfig = Lens.lens (\StartEarthObservationJobResponse' {jobConfig} -> jobConfig) (\s@StartEarthObservationJobResponse' {} a -> s {jobConfig = a} :: StartEarthObservationJobResponse)++-- | The name of the Earth Observation job.+startEarthObservationJobResponse_name :: Lens.Lens' StartEarthObservationJobResponse Prelude.Text+startEarthObservationJobResponse_name = Lens.lens (\StartEarthObservationJobResponse' {name} -> name) (\s@StartEarthObservationJobResponse' {} a -> s {name = a} :: StartEarthObservationJobResponse)++-- | The status of the Earth Observation job.+startEarthObservationJobResponse_status :: Lens.Lens' StartEarthObservationJobResponse EarthObservationJobStatus+startEarthObservationJobResponse_status = Lens.lens (\StartEarthObservationJobResponse' {status} -> status) (\s@StartEarthObservationJobResponse' {} a -> s {status = a} :: StartEarthObservationJobResponse)++instance+  Prelude.NFData+    StartEarthObservationJobResponse+  where+  rnf StartEarthObservationJobResponse' {..} =+    Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/SageMakerGeoSpatial/StartVectorEnrichmentJob.hs view
@@ -0,0 +1,424 @@+{-# 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.SageMakerGeoSpatial.StartVectorEnrichmentJob+-- 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 Vector Enrichment job for the supplied job type. Currently,+-- there are two supported job types: reverse geocoding and map matching.+module Amazonka.SageMakerGeoSpatial.StartVectorEnrichmentJob+  ( -- * Creating a Request+    StartVectorEnrichmentJob (..),+    newStartVectorEnrichmentJob,++    -- * Request Lenses+    startVectorEnrichmentJob_clientToken,+    startVectorEnrichmentJob_kmsKeyId,+    startVectorEnrichmentJob_tags,+    startVectorEnrichmentJob_executionRoleArn,+    startVectorEnrichmentJob_inputConfig,+    startVectorEnrichmentJob_jobConfig,+    startVectorEnrichmentJob_name,++    -- * Destructuring the Response+    StartVectorEnrichmentJobResponse (..),+    newStartVectorEnrichmentJobResponse,++    -- * Response Lenses+    startVectorEnrichmentJobResponse_kmsKeyId,+    startVectorEnrichmentJobResponse_tags,+    startVectorEnrichmentJobResponse_httpStatus,+    startVectorEnrichmentJobResponse_arn,+    startVectorEnrichmentJobResponse_creationTime,+    startVectorEnrichmentJobResponse_durationInSeconds,+    startVectorEnrichmentJobResponse_executionRoleArn,+    startVectorEnrichmentJobResponse_inputConfig,+    startVectorEnrichmentJobResponse_jobConfig,+    startVectorEnrichmentJobResponse_name,+    startVectorEnrichmentJobResponse_status,+    startVectorEnrichmentJobResponse_type,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newStartVectorEnrichmentJob' smart constructor.+data StartVectorEnrichmentJob = StartVectorEnrichmentJob'+  { -- | A unique token that guarantees that the call to this API is idempotent.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Text,+    -- | Input configuration information for the Vector Enrichment job.+    inputConfig :: VectorEnrichmentJobInputConfig,+    -- | An object containing information about the job configuration.+    jobConfig :: VectorEnrichmentJobConfig,+    -- | The name of the Vector Enrichment job.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartVectorEnrichmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startVectorEnrichmentJob_clientToken' - A unique token that guarantees that the call to this API is idempotent.+--+-- 'kmsKeyId', 'startVectorEnrichmentJob_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'tags', 'startVectorEnrichmentJob_tags' - Each tag consists of a key and a value.+--+-- 'executionRoleArn', 'startVectorEnrichmentJob_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'inputConfig', 'startVectorEnrichmentJob_inputConfig' - Input configuration information for the Vector Enrichment job.+--+-- 'jobConfig', 'startVectorEnrichmentJob_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'startVectorEnrichmentJob_name' - The name of the Vector Enrichment job.+newStartVectorEnrichmentJob ::+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'inputConfig'+  VectorEnrichmentJobInputConfig ->+  -- | 'jobConfig'+  VectorEnrichmentJobConfig ->+  -- | 'name'+  Prelude.Text ->+  StartVectorEnrichmentJob+newStartVectorEnrichmentJob+  pExecutionRoleArn_+  pInputConfig_+  pJobConfig_+  pName_ =+    StartVectorEnrichmentJob'+      { clientToken =+          Prelude.Nothing,+        kmsKeyId = Prelude.Nothing,+        tags = Prelude.Nothing,+        executionRoleArn = pExecutionRoleArn_,+        inputConfig = pInputConfig_,+        jobConfig = pJobConfig_,+        name = pName_+      }++-- | A unique token that guarantees that the call to this API is idempotent.+startVectorEnrichmentJob_clientToken :: Lens.Lens' StartVectorEnrichmentJob (Prelude.Maybe Prelude.Text)+startVectorEnrichmentJob_clientToken = Lens.lens (\StartVectorEnrichmentJob' {clientToken} -> clientToken) (\s@StartVectorEnrichmentJob' {} a -> s {clientToken = a} :: StartVectorEnrichmentJob)++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+startVectorEnrichmentJob_kmsKeyId :: Lens.Lens' StartVectorEnrichmentJob (Prelude.Maybe Prelude.Text)+startVectorEnrichmentJob_kmsKeyId = Lens.lens (\StartVectorEnrichmentJob' {kmsKeyId} -> kmsKeyId) (\s@StartVectorEnrichmentJob' {} a -> s {kmsKeyId = a} :: StartVectorEnrichmentJob)++-- | Each tag consists of a key and a value.+startVectorEnrichmentJob_tags :: Lens.Lens' StartVectorEnrichmentJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startVectorEnrichmentJob_tags = Lens.lens (\StartVectorEnrichmentJob' {tags} -> tags) (\s@StartVectorEnrichmentJob' {} a -> s {tags = a} :: StartVectorEnrichmentJob) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+startVectorEnrichmentJob_executionRoleArn :: Lens.Lens' StartVectorEnrichmentJob Prelude.Text+startVectorEnrichmentJob_executionRoleArn = Lens.lens (\StartVectorEnrichmentJob' {executionRoleArn} -> executionRoleArn) (\s@StartVectorEnrichmentJob' {} a -> s {executionRoleArn = a} :: StartVectorEnrichmentJob)++-- | Input configuration information for the Vector Enrichment job.+startVectorEnrichmentJob_inputConfig :: Lens.Lens' StartVectorEnrichmentJob VectorEnrichmentJobInputConfig+startVectorEnrichmentJob_inputConfig = Lens.lens (\StartVectorEnrichmentJob' {inputConfig} -> inputConfig) (\s@StartVectorEnrichmentJob' {} a -> s {inputConfig = a} :: StartVectorEnrichmentJob)++-- | An object containing information about the job configuration.+startVectorEnrichmentJob_jobConfig :: Lens.Lens' StartVectorEnrichmentJob VectorEnrichmentJobConfig+startVectorEnrichmentJob_jobConfig = Lens.lens (\StartVectorEnrichmentJob' {jobConfig} -> jobConfig) (\s@StartVectorEnrichmentJob' {} a -> s {jobConfig = a} :: StartVectorEnrichmentJob)++-- | The name of the Vector Enrichment job.+startVectorEnrichmentJob_name :: Lens.Lens' StartVectorEnrichmentJob Prelude.Text+startVectorEnrichmentJob_name = Lens.lens (\StartVectorEnrichmentJob' {name} -> name) (\s@StartVectorEnrichmentJob' {} a -> s {name = a} :: StartVectorEnrichmentJob)++instance Core.AWSRequest StartVectorEnrichmentJob where+  type+    AWSResponse StartVectorEnrichmentJob =+      StartVectorEnrichmentJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartVectorEnrichmentJobResponse'+            Prelude.<$> (x Data..?> "KmsKeyId")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreationTime")+            Prelude.<*> (x Data..:> "DurationInSeconds")+            Prelude.<*> (x Data..:> "ExecutionRoleArn")+            Prelude.<*> (x Data..:> "InputConfig")+            Prelude.<*> (x Data..:> "JobConfig")+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> (x Data..:> "Status")+            Prelude.<*> (x Data..:> "Type")+      )++instance Prelude.Hashable StartVectorEnrichmentJob where+  hashWithSalt _salt StartVectorEnrichmentJob' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` executionRoleArn+      `Prelude.hashWithSalt` inputConfig+      `Prelude.hashWithSalt` jobConfig+      `Prelude.hashWithSalt` name++instance Prelude.NFData StartVectorEnrichmentJob where+  rnf StartVectorEnrichmentJob' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders StartVectorEnrichmentJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartVectorEnrichmentJob where+  toJSON StartVectorEnrichmentJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ExecutionRoleArn" Data..= executionRoleArn),+            Prelude.Just ("InputConfig" Data..= inputConfig),+            Prelude.Just ("JobConfig" Data..= jobConfig),+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath StartVectorEnrichmentJob where+  toPath = Prelude.const "/vector-enrichment-jobs"++instance Data.ToQuery StartVectorEnrichmentJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartVectorEnrichmentJobResponse' smart constructor.+data StartVectorEnrichmentJobResponse = StartVectorEnrichmentJobResponse'+  { -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The duration of the Vector Enrichment job, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the IAM role that you specified for+    -- the job.+    executionRoleArn :: Prelude.Text,+    -- | Input configuration information for starting the Vector Enrichment job.+    inputConfig :: VectorEnrichmentJobInputConfig,+    -- | An object containing information about the job configuration.+    jobConfig :: VectorEnrichmentJobConfig,+    -- | The name of the Vector Enrichment job.+    name :: Prelude.Text,+    -- | The status of the Vector Enrichment job being started.+    status :: VectorEnrichmentJobStatus,+    -- | The type of the Vector Enrichment job.+    type' :: VectorEnrichmentJobType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartVectorEnrichmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'startVectorEnrichmentJobResponse_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'tags', 'startVectorEnrichmentJobResponse_tags' - Each tag consists of a key and a value.+--+-- 'httpStatus', 'startVectorEnrichmentJobResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'startVectorEnrichmentJobResponse_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job.+--+-- 'creationTime', 'startVectorEnrichmentJobResponse_creationTime' - The creation time.+--+-- 'durationInSeconds', 'startVectorEnrichmentJobResponse_durationInSeconds' - The duration of the Vector Enrichment job, in seconds.+--+-- 'executionRoleArn', 'startVectorEnrichmentJobResponse_executionRoleArn' - The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+--+-- 'inputConfig', 'startVectorEnrichmentJobResponse_inputConfig' - Input configuration information for starting the Vector Enrichment job.+--+-- 'jobConfig', 'startVectorEnrichmentJobResponse_jobConfig' - An object containing information about the job configuration.+--+-- 'name', 'startVectorEnrichmentJobResponse_name' - The name of the Vector Enrichment job.+--+-- 'status', 'startVectorEnrichmentJobResponse_status' - The status of the Vector Enrichment job being started.+--+-- 'type'', 'startVectorEnrichmentJobResponse_type' - The type of the Vector Enrichment job.+newStartVectorEnrichmentJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'executionRoleArn'+  Prelude.Text ->+  -- | 'inputConfig'+  VectorEnrichmentJobInputConfig ->+  -- | 'jobConfig'+  VectorEnrichmentJobConfig ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  VectorEnrichmentJobStatus ->+  -- | 'type''+  VectorEnrichmentJobType ->+  StartVectorEnrichmentJobResponse+newStartVectorEnrichmentJobResponse+  pHttpStatus_+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pExecutionRoleArn_+  pInputConfig_+  pJobConfig_+  pName_+  pStatus_+  pType_ =+    StartVectorEnrichmentJobResponse'+      { kmsKeyId =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds = pDurationInSeconds_,+        executionRoleArn = pExecutionRoleArn_,+        inputConfig = pInputConfig_,+        jobConfig = pJobConfig_,+        name = pName_,+        status = pStatus_,+        type' = pType_+      }++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+startVectorEnrichmentJobResponse_kmsKeyId :: Lens.Lens' StartVectorEnrichmentJobResponse (Prelude.Maybe Prelude.Text)+startVectorEnrichmentJobResponse_kmsKeyId = Lens.lens (\StartVectorEnrichmentJobResponse' {kmsKeyId} -> kmsKeyId) (\s@StartVectorEnrichmentJobResponse' {} a -> s {kmsKeyId = a} :: StartVectorEnrichmentJobResponse)++-- | Each tag consists of a key and a value.+startVectorEnrichmentJobResponse_tags :: Lens.Lens' StartVectorEnrichmentJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startVectorEnrichmentJobResponse_tags = Lens.lens (\StartVectorEnrichmentJobResponse' {tags} -> tags) (\s@StartVectorEnrichmentJobResponse' {} a -> s {tags = a} :: StartVectorEnrichmentJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+startVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.Int+startVectorEnrichmentJobResponse_httpStatus = Lens.lens (\StartVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@StartVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: StartVectorEnrichmentJobResponse)++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+startVectorEnrichmentJobResponse_arn :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.Text+startVectorEnrichmentJobResponse_arn = Lens.lens (\StartVectorEnrichmentJobResponse' {arn} -> arn) (\s@StartVectorEnrichmentJobResponse' {} a -> s {arn = a} :: StartVectorEnrichmentJobResponse)++-- | The creation time.+startVectorEnrichmentJobResponse_creationTime :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.UTCTime+startVectorEnrichmentJobResponse_creationTime = Lens.lens (\StartVectorEnrichmentJobResponse' {creationTime} -> creationTime) (\s@StartVectorEnrichmentJobResponse' {} a -> s {creationTime = a} :: StartVectorEnrichmentJobResponse) Prelude.. Data._Time++-- | The duration of the Vector Enrichment job, in seconds.+startVectorEnrichmentJobResponse_durationInSeconds :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.Int+startVectorEnrichmentJobResponse_durationInSeconds = Lens.lens (\StartVectorEnrichmentJobResponse' {durationInSeconds} -> durationInSeconds) (\s@StartVectorEnrichmentJobResponse' {} a -> s {durationInSeconds = a} :: StartVectorEnrichmentJobResponse)++-- | The Amazon Resource Name (ARN) of the IAM role that you specified for+-- the job.+startVectorEnrichmentJobResponse_executionRoleArn :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.Text+startVectorEnrichmentJobResponse_executionRoleArn = Lens.lens (\StartVectorEnrichmentJobResponse' {executionRoleArn} -> executionRoleArn) (\s@StartVectorEnrichmentJobResponse' {} a -> s {executionRoleArn = a} :: StartVectorEnrichmentJobResponse)++-- | Input configuration information for starting the Vector Enrichment job.+startVectorEnrichmentJobResponse_inputConfig :: Lens.Lens' StartVectorEnrichmentJobResponse VectorEnrichmentJobInputConfig+startVectorEnrichmentJobResponse_inputConfig = Lens.lens (\StartVectorEnrichmentJobResponse' {inputConfig} -> inputConfig) (\s@StartVectorEnrichmentJobResponse' {} a -> s {inputConfig = a} :: StartVectorEnrichmentJobResponse)++-- | An object containing information about the job configuration.+startVectorEnrichmentJobResponse_jobConfig :: Lens.Lens' StartVectorEnrichmentJobResponse VectorEnrichmentJobConfig+startVectorEnrichmentJobResponse_jobConfig = Lens.lens (\StartVectorEnrichmentJobResponse' {jobConfig} -> jobConfig) (\s@StartVectorEnrichmentJobResponse' {} a -> s {jobConfig = a} :: StartVectorEnrichmentJobResponse)++-- | The name of the Vector Enrichment job.+startVectorEnrichmentJobResponse_name :: Lens.Lens' StartVectorEnrichmentJobResponse Prelude.Text+startVectorEnrichmentJobResponse_name = Lens.lens (\StartVectorEnrichmentJobResponse' {name} -> name) (\s@StartVectorEnrichmentJobResponse' {} a -> s {name = a} :: StartVectorEnrichmentJobResponse)++-- | The status of the Vector Enrichment job being started.+startVectorEnrichmentJobResponse_status :: Lens.Lens' StartVectorEnrichmentJobResponse VectorEnrichmentJobStatus+startVectorEnrichmentJobResponse_status = Lens.lens (\StartVectorEnrichmentJobResponse' {status} -> status) (\s@StartVectorEnrichmentJobResponse' {} a -> s {status = a} :: StartVectorEnrichmentJobResponse)++-- | The type of the Vector Enrichment job.+startVectorEnrichmentJobResponse_type :: Lens.Lens' StartVectorEnrichmentJobResponse VectorEnrichmentJobType+startVectorEnrichmentJobResponse_type = Lens.lens (\StartVectorEnrichmentJobResponse' {type'} -> type') (\s@StartVectorEnrichmentJobResponse' {} a -> s {type' = a} :: StartVectorEnrichmentJobResponse)++instance+  Prelude.NFData+    StartVectorEnrichmentJobResponse+  where+  rnf StartVectorEnrichmentJobResponse' {..} =+    Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf executionRoleArn+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobConfig+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/StopEarthObservationJob.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.SageMakerGeoSpatial.StopEarthObservationJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Use this operation to stop an existing earth observation job.+module Amazonka.SageMakerGeoSpatial.StopEarthObservationJob+  ( -- * Creating a Request+    StopEarthObservationJob (..),+    newStopEarthObservationJob,++    -- * Request Lenses+    stopEarthObservationJob_arn,++    -- * Destructuring the Response+    StopEarthObservationJobResponse (..),+    newStopEarthObservationJobResponse,++    -- * Response Lenses+    stopEarthObservationJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newStopEarthObservationJob' smart constructor.+data StopEarthObservationJob = StopEarthObservationJob'+  { -- | The Amazon Resource Name (ARN) of the Earth Observation job being+    -- stopped.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopEarthObservationJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopEarthObservationJob_arn' - The Amazon Resource Name (ARN) of the Earth Observation job being+-- stopped.+newStopEarthObservationJob ::+  -- | 'arn'+  Prelude.Text ->+  StopEarthObservationJob+newStopEarthObservationJob pArn_ =+  StopEarthObservationJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Earth Observation job being+-- stopped.+stopEarthObservationJob_arn :: Lens.Lens' StopEarthObservationJob Prelude.Text+stopEarthObservationJob_arn = Lens.lens (\StopEarthObservationJob' {arn} -> arn) (\s@StopEarthObservationJob' {} a -> s {arn = a} :: StopEarthObservationJob)++instance Core.AWSRequest StopEarthObservationJob where+  type+    AWSResponse StopEarthObservationJob =+      StopEarthObservationJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StopEarthObservationJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopEarthObservationJob where+  hashWithSalt _salt StopEarthObservationJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData StopEarthObservationJob where+  rnf StopEarthObservationJob' {..} = Prelude.rnf arn++instance Data.ToHeaders StopEarthObservationJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopEarthObservationJob where+  toJSON StopEarthObservationJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Arn" Data..= arn)]+      )++instance Data.ToPath StopEarthObservationJob where+  toPath = Prelude.const "/earth-observation-jobs/stop"++instance Data.ToQuery StopEarthObservationJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopEarthObservationJobResponse' smart constructor.+data StopEarthObservationJobResponse = StopEarthObservationJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopEarthObservationJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopEarthObservationJobResponse_httpStatus' - The response's http status code.+newStopEarthObservationJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopEarthObservationJobResponse+newStopEarthObservationJobResponse pHttpStatus_ =+  StopEarthObservationJobResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+stopEarthObservationJobResponse_httpStatus :: Lens.Lens' StopEarthObservationJobResponse Prelude.Int+stopEarthObservationJobResponse_httpStatus = Lens.lens (\StopEarthObservationJobResponse' {httpStatus} -> httpStatus) (\s@StopEarthObservationJobResponse' {} a -> s {httpStatus = a} :: StopEarthObservationJobResponse)++instance+  Prelude.NFData+    StopEarthObservationJobResponse+  where+  rnf StopEarthObservationJobResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/StopVectorEnrichmentJob.hs view
@@ -0,0 +1,155 @@+{-# 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.SageMakerGeoSpatial.StopVectorEnrichmentJob+-- 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 the Vector Enrichment job for a given job ARN.+module Amazonka.SageMakerGeoSpatial.StopVectorEnrichmentJob+  ( -- * Creating a Request+    StopVectorEnrichmentJob (..),+    newStopVectorEnrichmentJob,++    -- * Request Lenses+    stopVectorEnrichmentJob_arn,++    -- * Destructuring the Response+    StopVectorEnrichmentJobResponse (..),+    newStopVectorEnrichmentJobResponse,++    -- * Response Lenses+    stopVectorEnrichmentJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newStopVectorEnrichmentJob' smart constructor.+data StopVectorEnrichmentJob = StopVectorEnrichmentJob'+  { -- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopVectorEnrichmentJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopVectorEnrichmentJob_arn' - The Amazon Resource Name (ARN) of the Vector Enrichment job.+newStopVectorEnrichmentJob ::+  -- | 'arn'+  Prelude.Text ->+  StopVectorEnrichmentJob+newStopVectorEnrichmentJob pArn_ =+  StopVectorEnrichmentJob' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Vector Enrichment job.+stopVectorEnrichmentJob_arn :: Lens.Lens' StopVectorEnrichmentJob Prelude.Text+stopVectorEnrichmentJob_arn = Lens.lens (\StopVectorEnrichmentJob' {arn} -> arn) (\s@StopVectorEnrichmentJob' {} a -> s {arn = a} :: StopVectorEnrichmentJob)++instance Core.AWSRequest StopVectorEnrichmentJob where+  type+    AWSResponse StopVectorEnrichmentJob =+      StopVectorEnrichmentJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StopVectorEnrichmentJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopVectorEnrichmentJob where+  hashWithSalt _salt StopVectorEnrichmentJob' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData StopVectorEnrichmentJob where+  rnf StopVectorEnrichmentJob' {..} = Prelude.rnf arn++instance Data.ToHeaders StopVectorEnrichmentJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopVectorEnrichmentJob where+  toJSON StopVectorEnrichmentJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Arn" Data..= arn)]+      )++instance Data.ToPath StopVectorEnrichmentJob where+  toPath = Prelude.const "/vector-enrichment-jobs/stop"++instance Data.ToQuery StopVectorEnrichmentJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopVectorEnrichmentJobResponse' smart constructor.+data StopVectorEnrichmentJobResponse = StopVectorEnrichmentJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopVectorEnrichmentJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopVectorEnrichmentJobResponse_httpStatus' - The response's http status code.+newStopVectorEnrichmentJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopVectorEnrichmentJobResponse+newStopVectorEnrichmentJobResponse pHttpStatus_ =+  StopVectorEnrichmentJobResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+stopVectorEnrichmentJobResponse_httpStatus :: Lens.Lens' StopVectorEnrichmentJobResponse Prelude.Int+stopVectorEnrichmentJobResponse_httpStatus = Lens.lens (\StopVectorEnrichmentJobResponse' {httpStatus} -> httpStatus) (\s@StopVectorEnrichmentJobResponse' {} a -> s {httpStatus = a} :: StopVectorEnrichmentJobResponse)++instance+  Prelude.NFData+    StopVectorEnrichmentJobResponse+  where+  rnf StopVectorEnrichmentJobResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/TagResource.hs view
@@ -0,0 +1,163 @@+{-# 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.SageMakerGeoSpatial.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)+--+-- The resource you want to tag.+module Amazonka.SageMakerGeoSpatial.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource you want to tag.+    resourceArn :: Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource you want to tag.+--+-- 'tags', 'tagResource_tags' - Each tag consists of a key and a value.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource you want to tag.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Each tag consists of a key and a value.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/Types.hs view
@@ -0,0 +1,711 @@+{-# 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.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AlgorithmNameCloudRemoval+    AlgorithmNameCloudRemoval (..),++    -- * AlgorithmNameGeoMosaic+    AlgorithmNameGeoMosaic (..),++    -- * AlgorithmNameResampling+    AlgorithmNameResampling (..),++    -- * ComparisonOperator+    ComparisonOperator (..),++    -- * DataCollectionType+    DataCollectionType (..),++    -- * EarthObservationJobErrorType+    EarthObservationJobErrorType (..),++    -- * EarthObservationJobExportStatus+    EarthObservationJobExportStatus (..),++    -- * EarthObservationJobStatus+    EarthObservationJobStatus (..),++    -- * ExportErrorType+    ExportErrorType (..),++    -- * GroupBy+    GroupBy (..),++    -- * LogicalOperator+    LogicalOperator (..),++    -- * MetadataProvider+    MetadataProvider (..),++    -- * OutputType+    OutputType (..),++    -- * PredefinedResolution+    PredefinedResolution (..),++    -- * SortOrder+    SortOrder (..),++    -- * TargetOptions+    TargetOptions (..),++    -- * TemporalStatistics+    TemporalStatistics (..),++    -- * Unit+    Unit (..),++    -- * VectorEnrichmentJobDocumentType+    VectorEnrichmentJobDocumentType (..),++    -- * VectorEnrichmentJobErrorType+    VectorEnrichmentJobErrorType (..),++    -- * VectorEnrichmentJobExportErrorType+    VectorEnrichmentJobExportErrorType (..),++    -- * VectorEnrichmentJobExportStatus+    VectorEnrichmentJobExportStatus (..),++    -- * VectorEnrichmentJobStatus+    VectorEnrichmentJobStatus (..),++    -- * VectorEnrichmentJobType+    VectorEnrichmentJobType (..),++    -- * ZonalStatistics+    ZonalStatistics (..),++    -- * AreaOfInterest+    AreaOfInterest (..),+    newAreaOfInterest,+    areaOfInterest_areaOfInterestGeometry,++    -- * AreaOfInterestGeometry+    AreaOfInterestGeometry (..),+    newAreaOfInterestGeometry,+    areaOfInterestGeometry_multiPolygonGeometry,+    areaOfInterestGeometry_polygonGeometry,++    -- * AssetValue+    AssetValue (..),+    newAssetValue,+    assetValue_href,++    -- * BandMathConfigInput+    BandMathConfigInput (..),+    newBandMathConfigInput,+    bandMathConfigInput_customIndices,+    bandMathConfigInput_predefinedIndices,++    -- * CloudMaskingConfigInput+    CloudMaskingConfigInput (..),+    newCloudMaskingConfigInput,++    -- * CloudRemovalConfigInput+    CloudRemovalConfigInput (..),+    newCloudRemovalConfigInput,+    cloudRemovalConfigInput_algorithmName,+    cloudRemovalConfigInput_interpolationValue,+    cloudRemovalConfigInput_targetBands,++    -- * CustomIndicesInput+    CustomIndicesInput (..),+    newCustomIndicesInput,+    customIndicesInput_operations,++    -- * EarthObservationJobErrorDetails+    EarthObservationJobErrorDetails (..),+    newEarthObservationJobErrorDetails,+    earthObservationJobErrorDetails_message,+    earthObservationJobErrorDetails_type,++    -- * EoCloudCoverInput+    EoCloudCoverInput (..),+    newEoCloudCoverInput,+    eoCloudCoverInput_lowerBound,+    eoCloudCoverInput_upperBound,++    -- * EojDataSourceConfigInput+    EojDataSourceConfigInput (..),+    newEojDataSourceConfigInput,+    eojDataSourceConfigInput_s3Data,++    -- * ExportErrorDetails+    ExportErrorDetails (..),+    newExportErrorDetails,+    exportErrorDetails_exportResults,+    exportErrorDetails_exportSourceImages,++    -- * ExportErrorDetailsOutput+    ExportErrorDetailsOutput (..),+    newExportErrorDetailsOutput,+    exportErrorDetailsOutput_message,+    exportErrorDetailsOutput_type,++    -- * ExportS3DataInput+    ExportS3DataInput (..),+    newExportS3DataInput,+    exportS3DataInput_kmsKeyId,+    exportS3DataInput_s3Uri,++    -- * ExportVectorEnrichmentJobOutputConfig+    ExportVectorEnrichmentJobOutputConfig (..),+    newExportVectorEnrichmentJobOutputConfig,+    exportVectorEnrichmentJobOutputConfig_s3Data,++    -- * Filter+    Filter (..),+    newFilter,+    filter_maximum,+    filter_minimum,+    filter_name,+    filter_type,++    -- * GeoMosaicConfigInput+    GeoMosaicConfigInput (..),+    newGeoMosaicConfigInput,+    geoMosaicConfigInput_algorithmName,+    geoMosaicConfigInput_targetBands,++    -- * Geometry+    Geometry (..),+    newGeometry,+    geometry_coordinates,+    geometry_type,++    -- * InputConfigInput+    InputConfigInput (..),+    newInputConfigInput,+    inputConfigInput_dataSourceConfig,+    inputConfigInput_previousEarthObservationJobArn,+    inputConfigInput_rasterDataCollectionQuery,++    -- * InputConfigOutput+    InputConfigOutput (..),+    newInputConfigOutput,+    inputConfigOutput_dataSourceConfig,+    inputConfigOutput_previousEarthObservationJobArn,+    inputConfigOutput_rasterDataCollectionQuery,++    -- * ItemSource+    ItemSource (..),+    newItemSource,+    itemSource_assets,+    itemSource_properties,+    itemSource_dateTime,+    itemSource_geometry,+    itemSource_id,++    -- * JobConfigInput+    JobConfigInput (..),+    newJobConfigInput,+    jobConfigInput_bandMathConfig,+    jobConfigInput_cloudMaskingConfig,+    jobConfigInput_cloudRemovalConfig,+    jobConfigInput_geoMosaicConfig,+    jobConfigInput_landCoverSegmentationConfig,+    jobConfigInput_resamplingConfig,+    jobConfigInput_stackConfig,+    jobConfigInput_temporalStatisticsConfig,+    jobConfigInput_zonalStatisticsConfig,++    -- * LandCoverSegmentationConfigInput+    LandCoverSegmentationConfigInput (..),+    newLandCoverSegmentationConfigInput,++    -- * LandsatCloudCoverLandInput+    LandsatCloudCoverLandInput (..),+    newLandsatCloudCoverLandInput,+    landsatCloudCoverLandInput_lowerBound,+    landsatCloudCoverLandInput_upperBound,++    -- * ListEarthObservationJobOutputConfig+    ListEarthObservationJobOutputConfig (..),+    newListEarthObservationJobOutputConfig,+    listEarthObservationJobOutputConfig_tags,+    listEarthObservationJobOutputConfig_arn,+    listEarthObservationJobOutputConfig_creationTime,+    listEarthObservationJobOutputConfig_durationInSeconds,+    listEarthObservationJobOutputConfig_name,+    listEarthObservationJobOutputConfig_operationType,+    listEarthObservationJobOutputConfig_status,++    -- * ListVectorEnrichmentJobOutputConfig+    ListVectorEnrichmentJobOutputConfig (..),+    newListVectorEnrichmentJobOutputConfig,+    listVectorEnrichmentJobOutputConfig_tags,+    listVectorEnrichmentJobOutputConfig_arn,+    listVectorEnrichmentJobOutputConfig_creationTime,+    listVectorEnrichmentJobOutputConfig_durationInSeconds,+    listVectorEnrichmentJobOutputConfig_name,+    listVectorEnrichmentJobOutputConfig_status,+    listVectorEnrichmentJobOutputConfig_type,++    -- * MapMatchingConfig+    MapMatchingConfig (..),+    newMapMatchingConfig,+    mapMatchingConfig_idAttributeName,+    mapMatchingConfig_timestampAttributeName,+    mapMatchingConfig_xAttributeName,+    mapMatchingConfig_yAttributeName,++    -- * MultiPolygonGeometryInput+    MultiPolygonGeometryInput (..),+    newMultiPolygonGeometryInput,+    multiPolygonGeometryInput_coordinates,++    -- * Operation+    Operation (..),+    newOperation,+    operation_outputType,+    operation_equation,+    operation_name,++    -- * OutputBand+    OutputBand (..),+    newOutputBand,+    outputBand_bandName,+    outputBand_outputDataType,++    -- * OutputConfigInput+    OutputConfigInput (..),+    newOutputConfigInput,+    outputConfigInput_s3Data,++    -- * OutputResolutionResamplingInput+    OutputResolutionResamplingInput (..),+    newOutputResolutionResamplingInput,+    outputResolutionResamplingInput_userDefined,++    -- * OutputResolutionStackInput+    OutputResolutionStackInput (..),+    newOutputResolutionStackInput,+    outputResolutionStackInput_predefined,+    outputResolutionStackInput_userDefined,++    -- * PlatformInput+    PlatformInput (..),+    newPlatformInput,+    platformInput_comparisonOperator,+    platformInput_value,++    -- * PolygonGeometryInput+    PolygonGeometryInput (..),+    newPolygonGeometryInput,+    polygonGeometryInput_coordinates,++    -- * Properties+    Properties (..),+    newProperties,+    properties_eoCloudCover,+    properties_landsatCloudCoverLand,+    properties_platform,+    properties_viewOffNadir,+    properties_viewSunAzimuth,+    properties_viewSunElevation,++    -- * Property+    Property (..),+    newProperty,+    property_eoCloudCover,+    property_landsatCloudCoverLand,+    property_platform,+    property_viewOffNadir,+    property_viewSunAzimuth,+    property_viewSunElevation,++    -- * PropertyFilter+    PropertyFilter (..),+    newPropertyFilter,+    propertyFilter_property,++    -- * PropertyFilters+    PropertyFilters (..),+    newPropertyFilters,+    propertyFilters_logicalOperator,+    propertyFilters_properties,++    -- * RasterDataCollectionMetadata+    RasterDataCollectionMetadata (..),+    newRasterDataCollectionMetadata,+    rasterDataCollectionMetadata_descriptionPageUrl,+    rasterDataCollectionMetadata_tags,+    rasterDataCollectionMetadata_arn,+    rasterDataCollectionMetadata_description,+    rasterDataCollectionMetadata_name,+    rasterDataCollectionMetadata_supportedFilters,+    rasterDataCollectionMetadata_type,++    -- * RasterDataCollectionQueryInput+    RasterDataCollectionQueryInput (..),+    newRasterDataCollectionQueryInput,+    rasterDataCollectionQueryInput_areaOfInterest,+    rasterDataCollectionQueryInput_propertyFilters,+    rasterDataCollectionQueryInput_rasterDataCollectionArn,+    rasterDataCollectionQueryInput_timeRangeFilter,++    -- * RasterDataCollectionQueryOutput+    RasterDataCollectionQueryOutput (..),+    newRasterDataCollectionQueryOutput,+    rasterDataCollectionQueryOutput_areaOfInterest,+    rasterDataCollectionQueryOutput_propertyFilters,+    rasterDataCollectionQueryOutput_rasterDataCollectionArn,+    rasterDataCollectionQueryOutput_rasterDataCollectionName,+    rasterDataCollectionQueryOutput_timeRangeFilter,++    -- * RasterDataCollectionQueryWithBandFilterInput+    RasterDataCollectionQueryWithBandFilterInput (..),+    newRasterDataCollectionQueryWithBandFilterInput,+    rasterDataCollectionQueryWithBandFilterInput_areaOfInterest,+    rasterDataCollectionQueryWithBandFilterInput_bandFilter,+    rasterDataCollectionQueryWithBandFilterInput_propertyFilters,+    rasterDataCollectionQueryWithBandFilterInput_timeRangeFilter,++    -- * ResamplingConfigInput+    ResamplingConfigInput (..),+    newResamplingConfigInput,+    resamplingConfigInput_algorithmName,+    resamplingConfigInput_targetBands,+    resamplingConfigInput_outputResolution,++    -- * ReverseGeocodingConfig+    ReverseGeocodingConfig (..),+    newReverseGeocodingConfig,+    reverseGeocodingConfig_xAttributeName,+    reverseGeocodingConfig_yAttributeName,++    -- * S3DataInput+    S3DataInput (..),+    newS3DataInput,+    s3DataInput_kmsKeyId,+    s3DataInput_metadataProvider,+    s3DataInput_s3Uri,++    -- * StackConfigInput+    StackConfigInput (..),+    newStackConfigInput,+    stackConfigInput_outputResolution,+    stackConfigInput_targetBands,++    -- * TemporalStatisticsConfigInput+    TemporalStatisticsConfigInput (..),+    newTemporalStatisticsConfigInput,+    temporalStatisticsConfigInput_groupBy,+    temporalStatisticsConfigInput_targetBands,+    temporalStatisticsConfigInput_statistics,++    -- * TimeRangeFilterInput+    TimeRangeFilterInput (..),+    newTimeRangeFilterInput,+    timeRangeFilterInput_endTime,+    timeRangeFilterInput_startTime,++    -- * UserDefined+    UserDefined (..),+    newUserDefined,+    userDefined_unit,+    userDefined_value,++    -- * VectorEnrichmentJobConfig+    VectorEnrichmentJobConfig (..),+    newVectorEnrichmentJobConfig,+    vectorEnrichmentJobConfig_mapMatchingConfig,+    vectorEnrichmentJobConfig_reverseGeocodingConfig,++    -- * VectorEnrichmentJobDataSourceConfigInput+    VectorEnrichmentJobDataSourceConfigInput (..),+    newVectorEnrichmentJobDataSourceConfigInput,+    vectorEnrichmentJobDataSourceConfigInput_s3Data,++    -- * VectorEnrichmentJobErrorDetails+    VectorEnrichmentJobErrorDetails (..),+    newVectorEnrichmentJobErrorDetails,+    vectorEnrichmentJobErrorDetails_errorMessage,+    vectorEnrichmentJobErrorDetails_errorType,++    -- * VectorEnrichmentJobExportErrorDetails+    VectorEnrichmentJobExportErrorDetails (..),+    newVectorEnrichmentJobExportErrorDetails,+    vectorEnrichmentJobExportErrorDetails_message,+    vectorEnrichmentJobExportErrorDetails_type,++    -- * VectorEnrichmentJobInputConfig+    VectorEnrichmentJobInputConfig (..),+    newVectorEnrichmentJobInputConfig,+    vectorEnrichmentJobInputConfig_dataSourceConfig,+    vectorEnrichmentJobInputConfig_documentType,++    -- * VectorEnrichmentJobS3Data+    VectorEnrichmentJobS3Data (..),+    newVectorEnrichmentJobS3Data,+    vectorEnrichmentJobS3Data_kmsKeyId,+    vectorEnrichmentJobS3Data_s3Uri,++    -- * ViewOffNadirInput+    ViewOffNadirInput (..),+    newViewOffNadirInput,+    viewOffNadirInput_lowerBound,+    viewOffNadirInput_upperBound,++    -- * ViewSunAzimuthInput+    ViewSunAzimuthInput (..),+    newViewSunAzimuthInput,+    viewSunAzimuthInput_lowerBound,+    viewSunAzimuthInput_upperBound,++    -- * ViewSunElevationInput+    ViewSunElevationInput (..),+    newViewSunElevationInput,+    viewSunElevationInput_lowerBound,+    viewSunElevationInput_upperBound,++    -- * ZonalStatisticsConfigInput+    ZonalStatisticsConfigInput (..),+    newZonalStatisticsConfigInput,+    zonalStatisticsConfigInput_targetBands,+    zonalStatisticsConfigInput_statistics,+    zonalStatisticsConfigInput_zoneS3Path,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameCloudRemoval+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameGeoMosaic+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameResampling+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterestGeometry+import Amazonka.SageMakerGeoSpatial.Types.AssetValue+import Amazonka.SageMakerGeoSpatial.Types.BandMathConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudMaskingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudRemovalConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ComparisonOperator+import Amazonka.SageMakerGeoSpatial.Types.CustomIndicesInput+import Amazonka.SageMakerGeoSpatial.Types.DataCollectionType+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorType+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobExportStatus+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobStatus+import Amazonka.SageMakerGeoSpatial.Types.EoCloudCoverInput+import Amazonka.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorType+import Amazonka.SageMakerGeoSpatial.Types.ExportS3DataInput+import Amazonka.SageMakerGeoSpatial.Types.ExportVectorEnrichmentJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.Filter+import Amazonka.SageMakerGeoSpatial.Types.GeoMosaicConfigInput+import Amazonka.SageMakerGeoSpatial.Types.Geometry+import Amazonka.SageMakerGeoSpatial.Types.GroupBy+import Amazonka.SageMakerGeoSpatial.Types.InputConfigInput+import Amazonka.SageMakerGeoSpatial.Types.InputConfigOutput+import Amazonka.SageMakerGeoSpatial.Types.ItemSource+import Amazonka.SageMakerGeoSpatial.Types.JobConfigInput+import Amazonka.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput+import Amazonka.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput+import Amazonka.SageMakerGeoSpatial.Types.ListEarthObservationJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.ListVectorEnrichmentJobOutputConfig+import Amazonka.SageMakerGeoSpatial.Types.LogicalOperator+import Amazonka.SageMakerGeoSpatial.Types.MapMatchingConfig+import Amazonka.SageMakerGeoSpatial.Types.MetadataProvider+import Amazonka.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput+import Amazonka.SageMakerGeoSpatial.Types.Operation+import Amazonka.SageMakerGeoSpatial.Types.OutputBand+import Amazonka.SageMakerGeoSpatial.Types.OutputConfigInput+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionStackInput+import Amazonka.SageMakerGeoSpatial.Types.OutputType+import Amazonka.SageMakerGeoSpatial.Types.PlatformInput+import Amazonka.SageMakerGeoSpatial.Types.PolygonGeometryInput+import Amazonka.SageMakerGeoSpatial.Types.PredefinedResolution+import Amazonka.SageMakerGeoSpatial.Types.Properties+import Amazonka.SageMakerGeoSpatial.Types.Property+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilter+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionMetadata+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryWithBandFilterInput+import Amazonka.SageMakerGeoSpatial.Types.ResamplingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ReverseGeocodingConfig+import Amazonka.SageMakerGeoSpatial.Types.S3DataInput+import Amazonka.SageMakerGeoSpatial.Types.SortOrder+import Amazonka.SageMakerGeoSpatial.Types.StackConfigInput+import Amazonka.SageMakerGeoSpatial.Types.TargetOptions+import Amazonka.SageMakerGeoSpatial.Types.TemporalStatistics+import Amazonka.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput+import Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput+import Amazonka.SageMakerGeoSpatial.Types.Unit+import Amazonka.SageMakerGeoSpatial.Types.UserDefined+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobConfig+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDocumentType+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorType+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorDetails+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorType+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportStatus+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobInputConfig+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobStatus+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobType+import Amazonka.SageMakerGeoSpatial.Types.ViewOffNadirInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunAzimuthInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunElevationInput+import Amazonka.SageMakerGeoSpatial.Types.ZonalStatistics+import Amazonka.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-05-27@ of the Amazon SageMaker geospatial capabilities SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "SageMakerGeoSpatial",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "sagemaker-geospatial",+      Core.signingName = "sagemaker-geospatial",+      Core.version = "2020-05-27",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "SageMakerGeoSpatial",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The request processing has failed because of an unknown error,+-- exception, or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | You have exceeded the service quota.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints specified by an Amazon Web+-- Services service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/SageMakerGeoSpatial/Types/AlgorithmNameCloudRemoval.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.SageMakerGeoSpatial.Types.AlgorithmNameCloudRemoval+-- 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.SageMakerGeoSpatial.Types.AlgorithmNameCloudRemoval+  ( AlgorithmNameCloudRemoval+      ( ..,+        AlgorithmNameCloudRemoval_INTERPOLATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlgorithmNameCloudRemoval = AlgorithmNameCloudRemoval'+  { fromAlgorithmNameCloudRemoval ::+      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 AlgorithmNameCloudRemoval_INTERPOLATION :: AlgorithmNameCloudRemoval+pattern AlgorithmNameCloudRemoval_INTERPOLATION = AlgorithmNameCloudRemoval' "INTERPOLATION"++{-# COMPLETE+  AlgorithmNameCloudRemoval_INTERPOLATION,+  AlgorithmNameCloudRemoval'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/AlgorithmNameGeoMosaic.hs view
@@ -0,0 +1,131 @@+{-# 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.SageMakerGeoSpatial.Types.AlgorithmNameGeoMosaic+-- 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.SageMakerGeoSpatial.Types.AlgorithmNameGeoMosaic+  ( AlgorithmNameGeoMosaic+      ( ..,+        AlgorithmNameGeoMosaic_AVERAGE,+        AlgorithmNameGeoMosaic_BILINEAR,+        AlgorithmNameGeoMosaic_CUBIC,+        AlgorithmNameGeoMosaic_CUBICSPLINE,+        AlgorithmNameGeoMosaic_LANCZOS,+        AlgorithmNameGeoMosaic_MAX,+        AlgorithmNameGeoMosaic_MED,+        AlgorithmNameGeoMosaic_MIN,+        AlgorithmNameGeoMosaic_MODE,+        AlgorithmNameGeoMosaic_NEAR,+        AlgorithmNameGeoMosaic_Q1,+        AlgorithmNameGeoMosaic_Q3,+        AlgorithmNameGeoMosaic_RMS,+        AlgorithmNameGeoMosaic_SUM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlgorithmNameGeoMosaic = AlgorithmNameGeoMosaic'+  { fromAlgorithmNameGeoMosaic ::+      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 AlgorithmNameGeoMosaic_AVERAGE :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_AVERAGE = AlgorithmNameGeoMosaic' "AVERAGE"++pattern AlgorithmNameGeoMosaic_BILINEAR :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_BILINEAR = AlgorithmNameGeoMosaic' "BILINEAR"++pattern AlgorithmNameGeoMosaic_CUBIC :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_CUBIC = AlgorithmNameGeoMosaic' "CUBIC"++pattern AlgorithmNameGeoMosaic_CUBICSPLINE :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_CUBICSPLINE = AlgorithmNameGeoMosaic' "CUBICSPLINE"++pattern AlgorithmNameGeoMosaic_LANCZOS :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_LANCZOS = AlgorithmNameGeoMosaic' "LANCZOS"++pattern AlgorithmNameGeoMosaic_MAX :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_MAX = AlgorithmNameGeoMosaic' "MAX"++pattern AlgorithmNameGeoMosaic_MED :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_MED = AlgorithmNameGeoMosaic' "MED"++pattern AlgorithmNameGeoMosaic_MIN :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_MIN = AlgorithmNameGeoMosaic' "MIN"++pattern AlgorithmNameGeoMosaic_MODE :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_MODE = AlgorithmNameGeoMosaic' "MODE"++pattern AlgorithmNameGeoMosaic_NEAR :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_NEAR = AlgorithmNameGeoMosaic' "NEAR"++pattern AlgorithmNameGeoMosaic_Q1 :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_Q1 = AlgorithmNameGeoMosaic' "Q1"++pattern AlgorithmNameGeoMosaic_Q3 :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_Q3 = AlgorithmNameGeoMosaic' "Q3"++pattern AlgorithmNameGeoMosaic_RMS :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_RMS = AlgorithmNameGeoMosaic' "RMS"++pattern AlgorithmNameGeoMosaic_SUM :: AlgorithmNameGeoMosaic+pattern AlgorithmNameGeoMosaic_SUM = AlgorithmNameGeoMosaic' "SUM"++{-# COMPLETE+  AlgorithmNameGeoMosaic_AVERAGE,+  AlgorithmNameGeoMosaic_BILINEAR,+  AlgorithmNameGeoMosaic_CUBIC,+  AlgorithmNameGeoMosaic_CUBICSPLINE,+  AlgorithmNameGeoMosaic_LANCZOS,+  AlgorithmNameGeoMosaic_MAX,+  AlgorithmNameGeoMosaic_MED,+  AlgorithmNameGeoMosaic_MIN,+  AlgorithmNameGeoMosaic_MODE,+  AlgorithmNameGeoMosaic_NEAR,+  AlgorithmNameGeoMosaic_Q1,+  AlgorithmNameGeoMosaic_Q3,+  AlgorithmNameGeoMosaic_RMS,+  AlgorithmNameGeoMosaic_SUM,+  AlgorithmNameGeoMosaic'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/AlgorithmNameResampling.hs view
@@ -0,0 +1,131 @@+{-# 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.SageMakerGeoSpatial.Types.AlgorithmNameResampling+-- 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.SageMakerGeoSpatial.Types.AlgorithmNameResampling+  ( AlgorithmNameResampling+      ( ..,+        AlgorithmNameResampling_AVERAGE,+        AlgorithmNameResampling_BILINEAR,+        AlgorithmNameResampling_CUBIC,+        AlgorithmNameResampling_CUBICSPLINE,+        AlgorithmNameResampling_LANCZOS,+        AlgorithmNameResampling_MAX,+        AlgorithmNameResampling_MED,+        AlgorithmNameResampling_MIN,+        AlgorithmNameResampling_MODE,+        AlgorithmNameResampling_NEAR,+        AlgorithmNameResampling_Q1,+        AlgorithmNameResampling_Q3,+        AlgorithmNameResampling_RMS,+        AlgorithmNameResampling_SUM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AlgorithmNameResampling = AlgorithmNameResampling'+  { fromAlgorithmNameResampling ::+      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 AlgorithmNameResampling_AVERAGE :: AlgorithmNameResampling+pattern AlgorithmNameResampling_AVERAGE = AlgorithmNameResampling' "AVERAGE"++pattern AlgorithmNameResampling_BILINEAR :: AlgorithmNameResampling+pattern AlgorithmNameResampling_BILINEAR = AlgorithmNameResampling' "BILINEAR"++pattern AlgorithmNameResampling_CUBIC :: AlgorithmNameResampling+pattern AlgorithmNameResampling_CUBIC = AlgorithmNameResampling' "CUBIC"++pattern AlgorithmNameResampling_CUBICSPLINE :: AlgorithmNameResampling+pattern AlgorithmNameResampling_CUBICSPLINE = AlgorithmNameResampling' "CUBICSPLINE"++pattern AlgorithmNameResampling_LANCZOS :: AlgorithmNameResampling+pattern AlgorithmNameResampling_LANCZOS = AlgorithmNameResampling' "LANCZOS"++pattern AlgorithmNameResampling_MAX :: AlgorithmNameResampling+pattern AlgorithmNameResampling_MAX = AlgorithmNameResampling' "MAX"++pattern AlgorithmNameResampling_MED :: AlgorithmNameResampling+pattern AlgorithmNameResampling_MED = AlgorithmNameResampling' "MED"++pattern AlgorithmNameResampling_MIN :: AlgorithmNameResampling+pattern AlgorithmNameResampling_MIN = AlgorithmNameResampling' "MIN"++pattern AlgorithmNameResampling_MODE :: AlgorithmNameResampling+pattern AlgorithmNameResampling_MODE = AlgorithmNameResampling' "MODE"++pattern AlgorithmNameResampling_NEAR :: AlgorithmNameResampling+pattern AlgorithmNameResampling_NEAR = AlgorithmNameResampling' "NEAR"++pattern AlgorithmNameResampling_Q1 :: AlgorithmNameResampling+pattern AlgorithmNameResampling_Q1 = AlgorithmNameResampling' "Q1"++pattern AlgorithmNameResampling_Q3 :: AlgorithmNameResampling+pattern AlgorithmNameResampling_Q3 = AlgorithmNameResampling' "Q3"++pattern AlgorithmNameResampling_RMS :: AlgorithmNameResampling+pattern AlgorithmNameResampling_RMS = AlgorithmNameResampling' "RMS"++pattern AlgorithmNameResampling_SUM :: AlgorithmNameResampling+pattern AlgorithmNameResampling_SUM = AlgorithmNameResampling' "SUM"++{-# COMPLETE+  AlgorithmNameResampling_AVERAGE,+  AlgorithmNameResampling_BILINEAR,+  AlgorithmNameResampling_CUBIC,+  AlgorithmNameResampling_CUBICSPLINE,+  AlgorithmNameResampling_LANCZOS,+  AlgorithmNameResampling_MAX,+  AlgorithmNameResampling_MED,+  AlgorithmNameResampling_MIN,+  AlgorithmNameResampling_MODE,+  AlgorithmNameResampling_NEAR,+  AlgorithmNameResampling_Q1,+  AlgorithmNameResampling_Q3,+  AlgorithmNameResampling_RMS,+  AlgorithmNameResampling_SUM,+  AlgorithmNameResampling'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/AreaOfInterest.hs view
@@ -0,0 +1,80 @@+{-# 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.SageMakerGeoSpatial.Types.AreaOfInterest+-- 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.SageMakerGeoSpatial.Types.AreaOfInterest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterestGeometry++-- |+--+-- /See:/ 'newAreaOfInterest' smart constructor.+data AreaOfInterest = AreaOfInterest'+  { areaOfInterestGeometry :: Prelude.Maybe AreaOfInterestGeometry+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AreaOfInterest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'areaOfInterestGeometry', 'areaOfInterest_areaOfInterestGeometry' -+newAreaOfInterest ::+  AreaOfInterest+newAreaOfInterest =+  AreaOfInterest'+    { areaOfInterestGeometry =+        Prelude.Nothing+    }++areaOfInterest_areaOfInterestGeometry :: Lens.Lens' AreaOfInterest (Prelude.Maybe AreaOfInterestGeometry)+areaOfInterest_areaOfInterestGeometry = Lens.lens (\AreaOfInterest' {areaOfInterestGeometry} -> areaOfInterestGeometry) (\s@AreaOfInterest' {} a -> s {areaOfInterestGeometry = a} :: AreaOfInterest)++instance Data.FromJSON AreaOfInterest where+  parseJSON =+    Data.withObject+      "AreaOfInterest"+      ( \x ->+          AreaOfInterest'+            Prelude.<$> (x Data..:? "AreaOfInterestGeometry")+      )++instance Prelude.Hashable AreaOfInterest where+  hashWithSalt _salt AreaOfInterest' {..} =+    _salt `Prelude.hashWithSalt` areaOfInterestGeometry++instance Prelude.NFData AreaOfInterest where+  rnf AreaOfInterest' {..} =+    Prelude.rnf areaOfInterestGeometry++instance Data.ToJSON AreaOfInterest where+  toJSON AreaOfInterest' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AreaOfInterestGeometry" Data..=)+              Prelude.<$> areaOfInterestGeometry+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/AreaOfInterestGeometry.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.SageMakerGeoSpatial.Types.AreaOfInterestGeometry+-- 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.SageMakerGeoSpatial.Types.AreaOfInterestGeometry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput+import Amazonka.SageMakerGeoSpatial.Types.PolygonGeometryInput++-- |+--+-- /See:/ 'newAreaOfInterestGeometry' smart constructor.+data AreaOfInterestGeometry = AreaOfInterestGeometry'+  { multiPolygonGeometry :: Prelude.Maybe MultiPolygonGeometryInput,+    polygonGeometry :: Prelude.Maybe PolygonGeometryInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AreaOfInterestGeometry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'multiPolygonGeometry', 'areaOfInterestGeometry_multiPolygonGeometry' -+--+-- 'polygonGeometry', 'areaOfInterestGeometry_polygonGeometry' -+newAreaOfInterestGeometry ::+  AreaOfInterestGeometry+newAreaOfInterestGeometry =+  AreaOfInterestGeometry'+    { multiPolygonGeometry =+        Prelude.Nothing,+      polygonGeometry = Prelude.Nothing+    }++areaOfInterestGeometry_multiPolygonGeometry :: Lens.Lens' AreaOfInterestGeometry (Prelude.Maybe MultiPolygonGeometryInput)+areaOfInterestGeometry_multiPolygonGeometry = Lens.lens (\AreaOfInterestGeometry' {multiPolygonGeometry} -> multiPolygonGeometry) (\s@AreaOfInterestGeometry' {} a -> s {multiPolygonGeometry = a} :: AreaOfInterestGeometry)++areaOfInterestGeometry_polygonGeometry :: Lens.Lens' AreaOfInterestGeometry (Prelude.Maybe PolygonGeometryInput)+areaOfInterestGeometry_polygonGeometry = Lens.lens (\AreaOfInterestGeometry' {polygonGeometry} -> polygonGeometry) (\s@AreaOfInterestGeometry' {} a -> s {polygonGeometry = a} :: AreaOfInterestGeometry)++instance Data.FromJSON AreaOfInterestGeometry where+  parseJSON =+    Data.withObject+      "AreaOfInterestGeometry"+      ( \x ->+          AreaOfInterestGeometry'+            Prelude.<$> (x Data..:? "MultiPolygonGeometry")+            Prelude.<*> (x Data..:? "PolygonGeometry")+      )++instance Prelude.Hashable AreaOfInterestGeometry where+  hashWithSalt _salt AreaOfInterestGeometry' {..} =+    _salt+      `Prelude.hashWithSalt` multiPolygonGeometry+      `Prelude.hashWithSalt` polygonGeometry++instance Prelude.NFData AreaOfInterestGeometry where+  rnf AreaOfInterestGeometry' {..} =+    Prelude.rnf multiPolygonGeometry+      `Prelude.seq` Prelude.rnf polygonGeometry++instance Data.ToJSON AreaOfInterestGeometry where+  toJSON AreaOfInterestGeometry' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MultiPolygonGeometry" Data..=)+              Prelude.<$> multiPolygonGeometry,+            ("PolygonGeometry" Data..=)+              Prelude.<$> polygonGeometry+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/AssetValue.hs view
@@ -0,0 +1,62 @@+{-# 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.SageMakerGeoSpatial.Types.AssetValue+-- 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.SageMakerGeoSpatial.Types.AssetValue 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++-- |+--+-- /See:/ 'newAssetValue' smart constructor.+data AssetValue = AssetValue'+  { href :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'href', 'assetValue_href' -+newAssetValue ::+  AssetValue+newAssetValue = AssetValue' {href = Prelude.Nothing}++assetValue_href :: Lens.Lens' AssetValue (Prelude.Maybe Prelude.Text)+assetValue_href = Lens.lens (\AssetValue' {href} -> href) (\s@AssetValue' {} a -> s {href = a} :: AssetValue)++instance Data.FromJSON AssetValue where+  parseJSON =+    Data.withObject+      "AssetValue"+      (\x -> AssetValue' Prelude.<$> (x Data..:? "Href"))++instance Prelude.Hashable AssetValue where+  hashWithSalt _salt AssetValue' {..} =+    _salt `Prelude.hashWithSalt` href++instance Prelude.NFData AssetValue where+  rnf AssetValue' {..} = Prelude.rnf href
+ gen/Amazonka/SageMakerGeoSpatial/Types/BandMathConfigInput.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.SageMakerGeoSpatial.Types.BandMathConfigInput+-- 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.SageMakerGeoSpatial.Types.BandMathConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.CustomIndicesInput++-- |+--+-- /See:/ 'newBandMathConfigInput' smart constructor.+data BandMathConfigInput = BandMathConfigInput'+  { customIndices :: Prelude.Maybe CustomIndicesInput,+    predefinedIndices :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BandMathConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customIndices', 'bandMathConfigInput_customIndices' -+--+-- 'predefinedIndices', 'bandMathConfigInput_predefinedIndices' -+newBandMathConfigInput ::+  BandMathConfigInput+newBandMathConfigInput =+  BandMathConfigInput'+    { customIndices =+        Prelude.Nothing,+      predefinedIndices = Prelude.Nothing+    }++bandMathConfigInput_customIndices :: Lens.Lens' BandMathConfigInput (Prelude.Maybe CustomIndicesInput)+bandMathConfigInput_customIndices = Lens.lens (\BandMathConfigInput' {customIndices} -> customIndices) (\s@BandMathConfigInput' {} a -> s {customIndices = a} :: BandMathConfigInput)++bandMathConfigInput_predefinedIndices :: Lens.Lens' BandMathConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+bandMathConfigInput_predefinedIndices = Lens.lens (\BandMathConfigInput' {predefinedIndices} -> predefinedIndices) (\s@BandMathConfigInput' {} a -> s {predefinedIndices = a} :: BandMathConfigInput) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON BandMathConfigInput where+  parseJSON =+    Data.withObject+      "BandMathConfigInput"+      ( \x ->+          BandMathConfigInput'+            Prelude.<$> (x Data..:? "CustomIndices")+            Prelude.<*> (x Data..:? "PredefinedIndices")+      )++instance Prelude.Hashable BandMathConfigInput where+  hashWithSalt _salt BandMathConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` customIndices+      `Prelude.hashWithSalt` predefinedIndices++instance Prelude.NFData BandMathConfigInput where+  rnf BandMathConfigInput' {..} =+    Prelude.rnf customIndices+      `Prelude.seq` Prelude.rnf predefinedIndices++instance Data.ToJSON BandMathConfigInput where+  toJSON BandMathConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CustomIndices" Data..=) Prelude.<$> customIndices,+            ("PredefinedIndices" Data..=)+              Prelude.<$> predefinedIndices+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/CloudMaskingConfigInput.hs view
@@ -0,0 +1,57 @@+{-# 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.SageMakerGeoSpatial.Types.CloudMaskingConfigInput+-- 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.SageMakerGeoSpatial.Types.CloudMaskingConfigInput 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++-- |+--+-- /See:/ 'newCloudMaskingConfigInput' smart constructor.+data CloudMaskingConfigInput = CloudMaskingConfigInput'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudMaskingConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newCloudMaskingConfigInput ::+  CloudMaskingConfigInput+newCloudMaskingConfigInput = CloudMaskingConfigInput'++instance Data.FromJSON CloudMaskingConfigInput where+  parseJSON =+    Data.withObject+      "CloudMaskingConfigInput"+      (\x -> Prelude.pure CloudMaskingConfigInput')++instance Prelude.Hashable CloudMaskingConfigInput where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData CloudMaskingConfigInput where+  rnf _ = ()++instance Data.ToJSON CloudMaskingConfigInput where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/SageMakerGeoSpatial/Types/CloudRemovalConfigInput.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.SageMakerGeoSpatial.Types.CloudRemovalConfigInput+-- 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.SageMakerGeoSpatial.Types.CloudRemovalConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameCloudRemoval++-- |+--+-- /See:/ 'newCloudRemovalConfigInput' smart constructor.+data CloudRemovalConfigInput = CloudRemovalConfigInput'+  { -- | The name of the algorithm used for cloud removal.+    algorithmName :: Prelude.Maybe AlgorithmNameCloudRemoval,+    -- | The interpolation value you provide for cloud removal.+    interpolationValue :: Prelude.Maybe Prelude.Text,+    targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudRemovalConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithmName', 'cloudRemovalConfigInput_algorithmName' - The name of the algorithm used for cloud removal.+--+-- 'interpolationValue', 'cloudRemovalConfigInput_interpolationValue' - The interpolation value you provide for cloud removal.+--+-- 'targetBands', 'cloudRemovalConfigInput_targetBands' -+newCloudRemovalConfigInput ::+  CloudRemovalConfigInput+newCloudRemovalConfigInput =+  CloudRemovalConfigInput'+    { algorithmName =+        Prelude.Nothing,+      interpolationValue = Prelude.Nothing,+      targetBands = Prelude.Nothing+    }++-- | The name of the algorithm used for cloud removal.+cloudRemovalConfigInput_algorithmName :: Lens.Lens' CloudRemovalConfigInput (Prelude.Maybe AlgorithmNameCloudRemoval)+cloudRemovalConfigInput_algorithmName = Lens.lens (\CloudRemovalConfigInput' {algorithmName} -> algorithmName) (\s@CloudRemovalConfigInput' {} a -> s {algorithmName = a} :: CloudRemovalConfigInput)++-- | The interpolation value you provide for cloud removal.+cloudRemovalConfigInput_interpolationValue :: Lens.Lens' CloudRemovalConfigInput (Prelude.Maybe Prelude.Text)+cloudRemovalConfigInput_interpolationValue = Lens.lens (\CloudRemovalConfigInput' {interpolationValue} -> interpolationValue) (\s@CloudRemovalConfigInput' {} a -> s {interpolationValue = a} :: CloudRemovalConfigInput)++cloudRemovalConfigInput_targetBands :: Lens.Lens' CloudRemovalConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+cloudRemovalConfigInput_targetBands = Lens.lens (\CloudRemovalConfigInput' {targetBands} -> targetBands) (\s@CloudRemovalConfigInput' {} a -> s {targetBands = a} :: CloudRemovalConfigInput) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CloudRemovalConfigInput where+  parseJSON =+    Data.withObject+      "CloudRemovalConfigInput"+      ( \x ->+          CloudRemovalConfigInput'+            Prelude.<$> (x Data..:? "AlgorithmName")+            Prelude.<*> (x Data..:? "InterpolationValue")+            Prelude.<*> (x Data..:? "TargetBands")+      )++instance Prelude.Hashable CloudRemovalConfigInput where+  hashWithSalt _salt CloudRemovalConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmName+      `Prelude.hashWithSalt` interpolationValue+      `Prelude.hashWithSalt` targetBands++instance Prelude.NFData CloudRemovalConfigInput where+  rnf CloudRemovalConfigInput' {..} =+    Prelude.rnf algorithmName+      `Prelude.seq` Prelude.rnf interpolationValue+      `Prelude.seq` Prelude.rnf targetBands++instance Data.ToJSON CloudRemovalConfigInput where+  toJSON CloudRemovalConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlgorithmName" Data..=) Prelude.<$> algorithmName,+            ("InterpolationValue" Data..=)+              Prelude.<$> interpolationValue,+            ("TargetBands" Data..=) Prelude.<$> targetBands+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ComparisonOperator.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.SageMakerGeoSpatial.Types.ComparisonOperator+-- 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.SageMakerGeoSpatial.Types.ComparisonOperator+  ( ComparisonOperator+      ( ..,+        ComparisonOperator_EQUALS,+        ComparisonOperator_NOT_EQUALS,+        ComparisonOperator_STARTS_WITH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComparisonOperator = ComparisonOperator'+  { fromComparisonOperator ::+      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 ComparisonOperator_EQUALS :: ComparisonOperator+pattern ComparisonOperator_EQUALS = ComparisonOperator' "EQUALS"++pattern ComparisonOperator_NOT_EQUALS :: ComparisonOperator+pattern ComparisonOperator_NOT_EQUALS = ComparisonOperator' "NOT_EQUALS"++pattern ComparisonOperator_STARTS_WITH :: ComparisonOperator+pattern ComparisonOperator_STARTS_WITH = ComparisonOperator' "STARTS_WITH"++{-# COMPLETE+  ComparisonOperator_EQUALS,+  ComparisonOperator_NOT_EQUALS,+  ComparisonOperator_STARTS_WITH,+  ComparisonOperator'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/CustomIndicesInput.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.CustomIndicesInput+-- 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.SageMakerGeoSpatial.Types.CustomIndicesInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.Operation++-- |+--+-- /See:/ 'newCustomIndicesInput' smart constructor.+data CustomIndicesInput = CustomIndicesInput'+  { operations :: Prelude.Maybe (Prelude.NonEmpty Operation)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomIndicesInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'operations', 'customIndicesInput_operations' -+newCustomIndicesInput ::+  CustomIndicesInput+newCustomIndicesInput =+  CustomIndicesInput' {operations = Prelude.Nothing}++customIndicesInput_operations :: Lens.Lens' CustomIndicesInput (Prelude.Maybe (Prelude.NonEmpty Operation))+customIndicesInput_operations = Lens.lens (\CustomIndicesInput' {operations} -> operations) (\s@CustomIndicesInput' {} a -> s {operations = a} :: CustomIndicesInput) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CustomIndicesInput where+  parseJSON =+    Data.withObject+      "CustomIndicesInput"+      ( \x ->+          CustomIndicesInput'+            Prelude.<$> (x Data..:? "Operations")+      )++instance Prelude.Hashable CustomIndicesInput where+  hashWithSalt _salt CustomIndicesInput' {..} =+    _salt `Prelude.hashWithSalt` operations++instance Prelude.NFData CustomIndicesInput where+  rnf CustomIndicesInput' {..} = Prelude.rnf operations++instance Data.ToJSON CustomIndicesInput where+  toJSON CustomIndicesInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Operations" Data..=) Prelude.<$> operations]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/DataCollectionType.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.SageMakerGeoSpatial.Types.DataCollectionType+-- 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.SageMakerGeoSpatial.Types.DataCollectionType+  ( DataCollectionType+      ( ..,+        DataCollectionType_PREMIUM,+        DataCollectionType_PUBLIC,+        DataCollectionType_USER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataCollectionType = DataCollectionType'+  { fromDataCollectionType ::+      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 DataCollectionType_PREMIUM :: DataCollectionType+pattern DataCollectionType_PREMIUM = DataCollectionType' "PREMIUM"++pattern DataCollectionType_PUBLIC :: DataCollectionType+pattern DataCollectionType_PUBLIC = DataCollectionType' "PUBLIC"++pattern DataCollectionType_USER :: DataCollectionType+pattern DataCollectionType_USER = DataCollectionType' "USER"++{-# COMPLETE+  DataCollectionType_PREMIUM,+  DataCollectionType_PUBLIC,+  DataCollectionType_USER,+  DataCollectionType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/EarthObservationJobErrorDetails.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.SageMakerGeoSpatial.Types.EarthObservationJobErrorDetails+-- 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.SageMakerGeoSpatial.Types.EarthObservationJobErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobErrorType++-- | The structure representing the errors in an EarthObservationJob.+--+-- /See:/ 'newEarthObservationJobErrorDetails' smart constructor.+data EarthObservationJobErrorDetails = EarthObservationJobErrorDetails'+  { message :: Prelude.Maybe Prelude.Text,+    type' :: Prelude.Maybe EarthObservationJobErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EarthObservationJobErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'earthObservationJobErrorDetails_message' -+--+-- 'type'', 'earthObservationJobErrorDetails_type' -+newEarthObservationJobErrorDetails ::+  EarthObservationJobErrorDetails+newEarthObservationJobErrorDetails =+  EarthObservationJobErrorDetails'+    { message =+        Prelude.Nothing,+      type' = Prelude.Nothing+    }++earthObservationJobErrorDetails_message :: Lens.Lens' EarthObservationJobErrorDetails (Prelude.Maybe Prelude.Text)+earthObservationJobErrorDetails_message = Lens.lens (\EarthObservationJobErrorDetails' {message} -> message) (\s@EarthObservationJobErrorDetails' {} a -> s {message = a} :: EarthObservationJobErrorDetails)++earthObservationJobErrorDetails_type :: Lens.Lens' EarthObservationJobErrorDetails (Prelude.Maybe EarthObservationJobErrorType)+earthObservationJobErrorDetails_type = Lens.lens (\EarthObservationJobErrorDetails' {type'} -> type') (\s@EarthObservationJobErrorDetails' {} a -> s {type' = a} :: EarthObservationJobErrorDetails)++instance+  Data.FromJSON+    EarthObservationJobErrorDetails+  where+  parseJSON =+    Data.withObject+      "EarthObservationJobErrorDetails"+      ( \x ->+          EarthObservationJobErrorDetails'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance+  Prelude.Hashable+    EarthObservationJobErrorDetails+  where+  hashWithSalt+    _salt+    EarthObservationJobErrorDetails' {..} =+      _salt+        `Prelude.hashWithSalt` message+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    EarthObservationJobErrorDetails+  where+  rnf EarthObservationJobErrorDetails' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/EarthObservationJobErrorType.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.SageMakerGeoSpatial.Types.EarthObservationJobErrorType+-- 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.SageMakerGeoSpatial.Types.EarthObservationJobErrorType+  ( EarthObservationJobErrorType+      ( ..,+        EarthObservationJobErrorType_CLIENT_ERROR,+        EarthObservationJobErrorType_SERVER_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EarthObservationJobErrorType = EarthObservationJobErrorType'+  { fromEarthObservationJobErrorType ::+      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 EarthObservationJobErrorType_CLIENT_ERROR :: EarthObservationJobErrorType+pattern EarthObservationJobErrorType_CLIENT_ERROR = EarthObservationJobErrorType' "CLIENT_ERROR"++pattern EarthObservationJobErrorType_SERVER_ERROR :: EarthObservationJobErrorType+pattern EarthObservationJobErrorType_SERVER_ERROR = EarthObservationJobErrorType' "SERVER_ERROR"++{-# COMPLETE+  EarthObservationJobErrorType_CLIENT_ERROR,+  EarthObservationJobErrorType_SERVER_ERROR,+  EarthObservationJobErrorType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/EarthObservationJobExportStatus.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.SageMakerGeoSpatial.Types.EarthObservationJobExportStatus+-- 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.SageMakerGeoSpatial.Types.EarthObservationJobExportStatus+  ( EarthObservationJobExportStatus+      ( ..,+        EarthObservationJobExportStatus_FAILED,+        EarthObservationJobExportStatus_IN_PROGRESS,+        EarthObservationJobExportStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EarthObservationJobExportStatus = EarthObservationJobExportStatus'+  { fromEarthObservationJobExportStatus ::+      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 EarthObservationJobExportStatus_FAILED :: EarthObservationJobExportStatus+pattern EarthObservationJobExportStatus_FAILED = EarthObservationJobExportStatus' "FAILED"++pattern EarthObservationJobExportStatus_IN_PROGRESS :: EarthObservationJobExportStatus+pattern EarthObservationJobExportStatus_IN_PROGRESS = EarthObservationJobExportStatus' "IN_PROGRESS"++pattern EarthObservationJobExportStatus_SUCCEEDED :: EarthObservationJobExportStatus+pattern EarthObservationJobExportStatus_SUCCEEDED = EarthObservationJobExportStatus' "SUCCEEDED"++{-# COMPLETE+  EarthObservationJobExportStatus_FAILED,+  EarthObservationJobExportStatus_IN_PROGRESS,+  EarthObservationJobExportStatus_SUCCEEDED,+  EarthObservationJobExportStatus'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/EarthObservationJobStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.SageMakerGeoSpatial.Types.EarthObservationJobStatus+-- 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.SageMakerGeoSpatial.Types.EarthObservationJobStatus+  ( EarthObservationJobStatus+      ( ..,+        EarthObservationJobStatus_COMPLETED,+        EarthObservationJobStatus_DELETED,+        EarthObservationJobStatus_DELETING,+        EarthObservationJobStatus_FAILED,+        EarthObservationJobStatus_INITIALIZING,+        EarthObservationJobStatus_IN_PROGRESS,+        EarthObservationJobStatus_STOPPED,+        EarthObservationJobStatus_STOPPING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EarthObservationJobStatus = EarthObservationJobStatus'+  { fromEarthObservationJobStatus ::+      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 EarthObservationJobStatus_COMPLETED :: EarthObservationJobStatus+pattern EarthObservationJobStatus_COMPLETED = EarthObservationJobStatus' "COMPLETED"++pattern EarthObservationJobStatus_DELETED :: EarthObservationJobStatus+pattern EarthObservationJobStatus_DELETED = EarthObservationJobStatus' "DELETED"++pattern EarthObservationJobStatus_DELETING :: EarthObservationJobStatus+pattern EarthObservationJobStatus_DELETING = EarthObservationJobStatus' "DELETING"++pattern EarthObservationJobStatus_FAILED :: EarthObservationJobStatus+pattern EarthObservationJobStatus_FAILED = EarthObservationJobStatus' "FAILED"++pattern EarthObservationJobStatus_INITIALIZING :: EarthObservationJobStatus+pattern EarthObservationJobStatus_INITIALIZING = EarthObservationJobStatus' "INITIALIZING"++pattern EarthObservationJobStatus_IN_PROGRESS :: EarthObservationJobStatus+pattern EarthObservationJobStatus_IN_PROGRESS = EarthObservationJobStatus' "IN_PROGRESS"++pattern EarthObservationJobStatus_STOPPED :: EarthObservationJobStatus+pattern EarthObservationJobStatus_STOPPED = EarthObservationJobStatus' "STOPPED"++pattern EarthObservationJobStatus_STOPPING :: EarthObservationJobStatus+pattern EarthObservationJobStatus_STOPPING = EarthObservationJobStatus' "STOPPING"++{-# COMPLETE+  EarthObservationJobStatus_COMPLETED,+  EarthObservationJobStatus_DELETED,+  EarthObservationJobStatus_DELETING,+  EarthObservationJobStatus_FAILED,+  EarthObservationJobStatus_INITIALIZING,+  EarthObservationJobStatus_IN_PROGRESS,+  EarthObservationJobStatus_STOPPED,+  EarthObservationJobStatus_STOPPING,+  EarthObservationJobStatus'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/EoCloudCoverInput.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.SageMakerGeoSpatial.Types.EoCloudCoverInput+-- 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.SageMakerGeoSpatial.Types.EoCloudCoverInput 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++-- |+--+-- /See:/ 'newEoCloudCoverInput' smart constructor.+data EoCloudCoverInput = EoCloudCoverInput'+  { lowerBound :: Prelude.Double,+    upperBound :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EoCloudCoverInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBound', 'eoCloudCoverInput_lowerBound' -+--+-- 'upperBound', 'eoCloudCoverInput_upperBound' -+newEoCloudCoverInput ::+  -- | 'lowerBound'+  Prelude.Double ->+  -- | 'upperBound'+  Prelude.Double ->+  EoCloudCoverInput+newEoCloudCoverInput pLowerBound_ pUpperBound_ =+  EoCloudCoverInput'+    { lowerBound = pLowerBound_,+      upperBound = pUpperBound_+    }++eoCloudCoverInput_lowerBound :: Lens.Lens' EoCloudCoverInput Prelude.Double+eoCloudCoverInput_lowerBound = Lens.lens (\EoCloudCoverInput' {lowerBound} -> lowerBound) (\s@EoCloudCoverInput' {} a -> s {lowerBound = a} :: EoCloudCoverInput)++eoCloudCoverInput_upperBound :: Lens.Lens' EoCloudCoverInput Prelude.Double+eoCloudCoverInput_upperBound = Lens.lens (\EoCloudCoverInput' {upperBound} -> upperBound) (\s@EoCloudCoverInput' {} a -> s {upperBound = a} :: EoCloudCoverInput)++instance Data.FromJSON EoCloudCoverInput where+  parseJSON =+    Data.withObject+      "EoCloudCoverInput"+      ( \x ->+          EoCloudCoverInput'+            Prelude.<$> (x Data..: "LowerBound")+            Prelude.<*> (x Data..: "UpperBound")+      )++instance Prelude.Hashable EoCloudCoverInput where+  hashWithSalt _salt EoCloudCoverInput' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBound+      `Prelude.hashWithSalt` upperBound++instance Prelude.NFData EoCloudCoverInput where+  rnf EoCloudCoverInput' {..} =+    Prelude.rnf lowerBound+      `Prelude.seq` Prelude.rnf upperBound++instance Data.ToJSON EoCloudCoverInput where+  toJSON EoCloudCoverInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LowerBound" Data..= lowerBound),+            Prelude.Just ("UpperBound" Data..= upperBound)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/EojDataSourceConfigInput.hs view
@@ -0,0 +1,75 @@+{-# 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.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+-- 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.SageMakerGeoSpatial.Types.EojDataSourceConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.S3DataInput++-- |+--+-- /See:/ 'newEojDataSourceConfigInput' smart constructor.+data EojDataSourceConfigInput = EojDataSourceConfigInput'+  { s3Data :: Prelude.Maybe S3DataInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EojDataSourceConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Data', 'eojDataSourceConfigInput_s3Data' -+newEojDataSourceConfigInput ::+  EojDataSourceConfigInput+newEojDataSourceConfigInput =+  EojDataSourceConfigInput' {s3Data = Prelude.Nothing}++eojDataSourceConfigInput_s3Data :: Lens.Lens' EojDataSourceConfigInput (Prelude.Maybe S3DataInput)+eojDataSourceConfigInput_s3Data = Lens.lens (\EojDataSourceConfigInput' {s3Data} -> s3Data) (\s@EojDataSourceConfigInput' {} a -> s {s3Data = a} :: EojDataSourceConfigInput)++instance Data.FromJSON EojDataSourceConfigInput where+  parseJSON =+    Data.withObject+      "EojDataSourceConfigInput"+      ( \x ->+          EojDataSourceConfigInput'+            Prelude.<$> (x Data..:? "S3Data")+      )++instance Prelude.Hashable EojDataSourceConfigInput where+  hashWithSalt _salt EojDataSourceConfigInput' {..} =+    _salt `Prelude.hashWithSalt` s3Data++instance Prelude.NFData EojDataSourceConfigInput where+  rnf EojDataSourceConfigInput' {..} =+    Prelude.rnf s3Data++instance Data.ToJSON EojDataSourceConfigInput where+  toJSON EojDataSourceConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [("S3Data" Data..=) Prelude.<$> s3Data]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ExportErrorDetails.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetails+-- 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.SageMakerGeoSpatial.Types.ExportErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput++-- | The structure for returning the export error details in a+-- GetEarthObservationJob.+--+-- /See:/ 'newExportErrorDetails' smart constructor.+data ExportErrorDetails = ExportErrorDetails'+  { exportResults :: Prelude.Maybe ExportErrorDetailsOutput,+    exportSourceImages :: Prelude.Maybe ExportErrorDetailsOutput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exportResults', 'exportErrorDetails_exportResults' -+--+-- 'exportSourceImages', 'exportErrorDetails_exportSourceImages' -+newExportErrorDetails ::+  ExportErrorDetails+newExportErrorDetails =+  ExportErrorDetails'+    { exportResults =+        Prelude.Nothing,+      exportSourceImages = Prelude.Nothing+    }++exportErrorDetails_exportResults :: Lens.Lens' ExportErrorDetails (Prelude.Maybe ExportErrorDetailsOutput)+exportErrorDetails_exportResults = Lens.lens (\ExportErrorDetails' {exportResults} -> exportResults) (\s@ExportErrorDetails' {} a -> s {exportResults = a} :: ExportErrorDetails)++exportErrorDetails_exportSourceImages :: Lens.Lens' ExportErrorDetails (Prelude.Maybe ExportErrorDetailsOutput)+exportErrorDetails_exportSourceImages = Lens.lens (\ExportErrorDetails' {exportSourceImages} -> exportSourceImages) (\s@ExportErrorDetails' {} a -> s {exportSourceImages = a} :: ExportErrorDetails)++instance Data.FromJSON ExportErrorDetails where+  parseJSON =+    Data.withObject+      "ExportErrorDetails"+      ( \x ->+          ExportErrorDetails'+            Prelude.<$> (x Data..:? "ExportResults")+            Prelude.<*> (x Data..:? "ExportSourceImages")+      )++instance Prelude.Hashable ExportErrorDetails where+  hashWithSalt _salt ExportErrorDetails' {..} =+    _salt+      `Prelude.hashWithSalt` exportResults+      `Prelude.hashWithSalt` exportSourceImages++instance Prelude.NFData ExportErrorDetails where+  rnf ExportErrorDetails' {..} =+    Prelude.rnf exportResults+      `Prelude.seq` Prelude.rnf exportSourceImages
+ gen/Amazonka/SageMakerGeoSpatial/Types/ExportErrorDetailsOutput.hs view
@@ -0,0 +1,81 @@+{-# 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.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput+-- 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.SageMakerGeoSpatial.Types.ExportErrorDetailsOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.ExportErrorType++-- |+--+-- /See:/ 'newExportErrorDetailsOutput' smart constructor.+data ExportErrorDetailsOutput = ExportErrorDetailsOutput'+  { message :: Prelude.Maybe Prelude.Text,+    type' :: Prelude.Maybe ExportErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportErrorDetailsOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'exportErrorDetailsOutput_message' -+--+-- 'type'', 'exportErrorDetailsOutput_type' -+newExportErrorDetailsOutput ::+  ExportErrorDetailsOutput+newExportErrorDetailsOutput =+  ExportErrorDetailsOutput'+    { message =+        Prelude.Nothing,+      type' = Prelude.Nothing+    }++exportErrorDetailsOutput_message :: Lens.Lens' ExportErrorDetailsOutput (Prelude.Maybe Prelude.Text)+exportErrorDetailsOutput_message = Lens.lens (\ExportErrorDetailsOutput' {message} -> message) (\s@ExportErrorDetailsOutput' {} a -> s {message = a} :: ExportErrorDetailsOutput)++exportErrorDetailsOutput_type :: Lens.Lens' ExportErrorDetailsOutput (Prelude.Maybe ExportErrorType)+exportErrorDetailsOutput_type = Lens.lens (\ExportErrorDetailsOutput' {type'} -> type') (\s@ExportErrorDetailsOutput' {} a -> s {type' = a} :: ExportErrorDetailsOutput)++instance Data.FromJSON ExportErrorDetailsOutput where+  parseJSON =+    Data.withObject+      "ExportErrorDetailsOutput"+      ( \x ->+          ExportErrorDetailsOutput'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ExportErrorDetailsOutput where+  hashWithSalt _salt ExportErrorDetailsOutput' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ExportErrorDetailsOutput where+  rnf ExportErrorDetailsOutput' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/ExportErrorType.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.SageMakerGeoSpatial.Types.ExportErrorType+-- 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.SageMakerGeoSpatial.Types.ExportErrorType+  ( ExportErrorType+      ( ..,+        ExportErrorType_CLIENT_ERROR,+        ExportErrorType_SERVER_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExportErrorType = ExportErrorType'+  { fromExportErrorType ::+      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 ExportErrorType_CLIENT_ERROR :: ExportErrorType+pattern ExportErrorType_CLIENT_ERROR = ExportErrorType' "CLIENT_ERROR"++pattern ExportErrorType_SERVER_ERROR :: ExportErrorType+pattern ExportErrorType_SERVER_ERROR = ExportErrorType' "SERVER_ERROR"++{-# COMPLETE+  ExportErrorType_CLIENT_ERROR,+  ExportErrorType_SERVER_ERROR,+  ExportErrorType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/ExportS3DataInput.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.ExportS3DataInput+-- 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.SageMakerGeoSpatial.Types.ExportS3DataInput 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++-- |+--+-- /See:/ 'newExportS3DataInput' smart constructor.+data ExportS3DataInput = ExportS3DataInput'+  { -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | The URL to the Amazon S3 data input.+    s3Uri :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportS3DataInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'exportS3DataInput_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 's3Uri', 'exportS3DataInput_s3Uri' - The URL to the Amazon S3 data input.+newExportS3DataInput ::+  -- | 's3Uri'+  Prelude.Text ->+  ExportS3DataInput+newExportS3DataInput pS3Uri_ =+  ExportS3DataInput'+    { kmsKeyId = Prelude.Nothing,+      s3Uri = pS3Uri_+    }++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+exportS3DataInput_kmsKeyId :: Lens.Lens' ExportS3DataInput (Prelude.Maybe Prelude.Text)+exportS3DataInput_kmsKeyId = Lens.lens (\ExportS3DataInput' {kmsKeyId} -> kmsKeyId) (\s@ExportS3DataInput' {} a -> s {kmsKeyId = a} :: ExportS3DataInput)++-- | The URL to the Amazon S3 data input.+exportS3DataInput_s3Uri :: Lens.Lens' ExportS3DataInput Prelude.Text+exportS3DataInput_s3Uri = Lens.lens (\ExportS3DataInput' {s3Uri} -> s3Uri) (\s@ExportS3DataInput' {} a -> s {s3Uri = a} :: ExportS3DataInput)++instance Data.FromJSON ExportS3DataInput where+  parseJSON =+    Data.withObject+      "ExportS3DataInput"+      ( \x ->+          ExportS3DataInput'+            Prelude.<$> (x Data..:? "KmsKeyId")+            Prelude.<*> (x Data..: "S3Uri")+      )++instance Prelude.Hashable ExportS3DataInput where+  hashWithSalt _salt ExportS3DataInput' {..} =+    _salt+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` s3Uri++instance Prelude.NFData ExportS3DataInput where+  rnf ExportS3DataInput' {..} =+    Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf s3Uri++instance Data.ToJSON ExportS3DataInput where+  toJSON ExportS3DataInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+            Prelude.Just ("S3Uri" Data..= s3Uri)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ExportVectorEnrichmentJobOutputConfig.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.SageMakerGeoSpatial.Types.ExportVectorEnrichmentJobOutputConfig+-- 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.SageMakerGeoSpatial.Types.ExportVectorEnrichmentJobOutputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data++-- | An object containing information about the output file.+--+-- /See:/ 'newExportVectorEnrichmentJobOutputConfig' smart constructor.+data ExportVectorEnrichmentJobOutputConfig = ExportVectorEnrichmentJobOutputConfig'+  { s3Data :: VectorEnrichmentJobS3Data+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportVectorEnrichmentJobOutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Data', 'exportVectorEnrichmentJobOutputConfig_s3Data' -+newExportVectorEnrichmentJobOutputConfig ::+  -- | 's3Data'+  VectorEnrichmentJobS3Data ->+  ExportVectorEnrichmentJobOutputConfig+newExportVectorEnrichmentJobOutputConfig pS3Data_ =+  ExportVectorEnrichmentJobOutputConfig'+    { s3Data =+        pS3Data_+    }++exportVectorEnrichmentJobOutputConfig_s3Data :: Lens.Lens' ExportVectorEnrichmentJobOutputConfig VectorEnrichmentJobS3Data+exportVectorEnrichmentJobOutputConfig_s3Data = Lens.lens (\ExportVectorEnrichmentJobOutputConfig' {s3Data} -> s3Data) (\s@ExportVectorEnrichmentJobOutputConfig' {} a -> s {s3Data = a} :: ExportVectorEnrichmentJobOutputConfig)++instance+  Data.FromJSON+    ExportVectorEnrichmentJobOutputConfig+  where+  parseJSON =+    Data.withObject+      "ExportVectorEnrichmentJobOutputConfig"+      ( \x ->+          ExportVectorEnrichmentJobOutputConfig'+            Prelude.<$> (x Data..: "S3Data")+      )++instance+  Prelude.Hashable+    ExportVectorEnrichmentJobOutputConfig+  where+  hashWithSalt+    _salt+    ExportVectorEnrichmentJobOutputConfig' {..} =+      _salt `Prelude.hashWithSalt` s3Data++instance+  Prelude.NFData+    ExportVectorEnrichmentJobOutputConfig+  where+  rnf ExportVectorEnrichmentJobOutputConfig' {..} =+    Prelude.rnf s3Data++instance+  Data.ToJSON+    ExportVectorEnrichmentJobOutputConfig+  where+  toJSON ExportVectorEnrichmentJobOutputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("S3Data" Data..= s3Data)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/Filter.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.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Types.Filter 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 structure representing the filters supported by a+-- RasterDataCollection.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | The maximum value of the filter.+    maximum :: Prelude.Maybe Prelude.Double,+    -- | The minimum value of the filter.+    minimum :: Prelude.Maybe Prelude.Double,+    -- | The name of the filter.+    name :: Prelude.Text,+    -- | The type of the filter being used.+    type' :: Prelude.Text+  }+  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:+--+-- 'maximum', 'filter_maximum' - The maximum value of the filter.+--+-- 'minimum', 'filter_minimum' - The minimum value of the filter.+--+-- 'name', 'filter_name' - The name of the filter.+--+-- 'type'', 'filter_type' - The type of the filter being used.+newFilter ::+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  Prelude.Text ->+  Filter+newFilter pName_ pType_ =+  Filter'+    { maximum = Prelude.Nothing,+      minimum = Prelude.Nothing,+      name = pName_,+      type' = pType_+    }++-- | The maximum value of the filter.+filter_maximum :: Lens.Lens' Filter (Prelude.Maybe Prelude.Double)+filter_maximum = Lens.lens (\Filter' {maximum} -> maximum) (\s@Filter' {} a -> s {maximum = a} :: Filter)++-- | The minimum value of the filter.+filter_minimum :: Lens.Lens' Filter (Prelude.Maybe Prelude.Double)+filter_minimum = Lens.lens (\Filter' {minimum} -> minimum) (\s@Filter' {} a -> s {minimum = a} :: Filter)++-- | The name of the filter.+filter_name :: Lens.Lens' Filter Prelude.Text+filter_name = Lens.lens (\Filter' {name} -> name) (\s@Filter' {} a -> s {name = a} :: Filter)++-- | The type of the filter being used.+filter_type :: Lens.Lens' Filter Prelude.Text+filter_type = Lens.lens (\Filter' {type'} -> type') (\s@Filter' {} a -> s {type' = a} :: Filter)++instance Data.FromJSON Filter where+  parseJSON =+    Data.withObject+      "Filter"+      ( \x ->+          Filter'+            Prelude.<$> (x Data..:? "Maximum")+            Prelude.<*> (x Data..:? "Minimum")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` maximum+      `Prelude.hashWithSalt` minimum+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf maximum+      `Prelude.seq` Prelude.rnf minimum+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/GeoMosaicConfigInput.hs view
@@ -0,0 +1,95 @@+{-# 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.SageMakerGeoSpatial.Types.GeoMosaicConfigInput+-- 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.SageMakerGeoSpatial.Types.GeoMosaicConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameGeoMosaic++-- | Input configuration information for the geomosaic.+--+-- /See:/ 'newGeoMosaicConfigInput' smart constructor.+data GeoMosaicConfigInput = GeoMosaicConfigInput'+  { -- | The name of the algorithm being used for geomosaic.+    algorithmName :: Prelude.Maybe AlgorithmNameGeoMosaic,+    -- | The target bands for geomosaic.+    targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeoMosaicConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithmName', 'geoMosaicConfigInput_algorithmName' - The name of the algorithm being used for geomosaic.+--+-- 'targetBands', 'geoMosaicConfigInput_targetBands' - The target bands for geomosaic.+newGeoMosaicConfigInput ::+  GeoMosaicConfigInput+newGeoMosaicConfigInput =+  GeoMosaicConfigInput'+    { algorithmName =+        Prelude.Nothing,+      targetBands = Prelude.Nothing+    }++-- | The name of the algorithm being used for geomosaic.+geoMosaicConfigInput_algorithmName :: Lens.Lens' GeoMosaicConfigInput (Prelude.Maybe AlgorithmNameGeoMosaic)+geoMosaicConfigInput_algorithmName = Lens.lens (\GeoMosaicConfigInput' {algorithmName} -> algorithmName) (\s@GeoMosaicConfigInput' {} a -> s {algorithmName = a} :: GeoMosaicConfigInput)++-- | The target bands for geomosaic.+geoMosaicConfigInput_targetBands :: Lens.Lens' GeoMosaicConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+geoMosaicConfigInput_targetBands = Lens.lens (\GeoMosaicConfigInput' {targetBands} -> targetBands) (\s@GeoMosaicConfigInput' {} a -> s {targetBands = a} :: GeoMosaicConfigInput) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GeoMosaicConfigInput where+  parseJSON =+    Data.withObject+      "GeoMosaicConfigInput"+      ( \x ->+          GeoMosaicConfigInput'+            Prelude.<$> (x Data..:? "AlgorithmName")+            Prelude.<*> (x Data..:? "TargetBands")+      )++instance Prelude.Hashable GeoMosaicConfigInput where+  hashWithSalt _salt GeoMosaicConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmName+      `Prelude.hashWithSalt` targetBands++instance Prelude.NFData GeoMosaicConfigInput where+  rnf GeoMosaicConfigInput' {..} =+    Prelude.rnf algorithmName+      `Prelude.seq` Prelude.rnf targetBands++instance Data.ToJSON GeoMosaicConfigInput where+  toJSON GeoMosaicConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlgorithmName" Data..=) Prelude.<$> algorithmName,+            ("TargetBands" Data..=) Prelude.<$> targetBands+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/Geometry.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.SageMakerGeoSpatial.Types.Geometry+-- 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.SageMakerGeoSpatial.Types.Geometry 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++-- |+--+-- /See:/ 'newGeometry' smart constructor.+data Geometry = Geometry'+  { coordinates :: Prelude.NonEmpty (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))),+    type' :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Geometry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coordinates', 'geometry_coordinates' -+--+-- 'type'', 'geometry_type' -+newGeometry ::+  -- | 'coordinates'+  Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)) ->+  -- | 'type''+  Prelude.Text ->+  Geometry+newGeometry pCoordinates_ pType_ =+  Geometry'+    { coordinates =+        Lens.coerced Lens.# pCoordinates_,+      type' = pType_+    }++geometry_coordinates :: Lens.Lens' Geometry (Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))+geometry_coordinates = Lens.lens (\Geometry' {coordinates} -> coordinates) (\s@Geometry' {} a -> s {coordinates = a} :: Geometry) Prelude.. Lens.coerced++geometry_type :: Lens.Lens' Geometry Prelude.Text+geometry_type = Lens.lens (\Geometry' {type'} -> type') (\s@Geometry' {} a -> s {type' = a} :: Geometry)++instance Data.FromJSON Geometry where+  parseJSON =+    Data.withObject+      "Geometry"+      ( \x ->+          Geometry'+            Prelude.<$> (x Data..: "Coordinates")+            Prelude.<*> (x Data..: "Type")+      )++instance Prelude.Hashable Geometry where+  hashWithSalt _salt Geometry' {..} =+    _salt+      `Prelude.hashWithSalt` coordinates+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Geometry where+  rnf Geometry' {..} =+    Prelude.rnf coordinates+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/GroupBy.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.SageMakerGeoSpatial.Types.GroupBy+-- 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.SageMakerGeoSpatial.Types.GroupBy+  ( GroupBy+      ( ..,+        GroupBy_ALL,+        GroupBy_YEARLY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GroupBy = GroupBy' {fromGroupBy :: 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 GroupBy_ALL :: GroupBy+pattern GroupBy_ALL = GroupBy' "ALL"++pattern GroupBy_YEARLY :: GroupBy+pattern GroupBy_YEARLY = GroupBy' "YEARLY"++{-# COMPLETE+  GroupBy_ALL,+  GroupBy_YEARLY,+  GroupBy'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/InputConfigInput.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.InputConfigInput+-- 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.SageMakerGeoSpatial.Types.InputConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput++-- | Input configuration information.+--+-- /See:/ 'newInputConfigInput' smart constructor.+data InputConfigInput = InputConfigInput'+  { -- | The location of the input data.>+    dataSourceConfig :: Prelude.Maybe EojDataSourceConfigInput,+    -- | The Amazon Resource Name (ARN) of the previous Earth Observation job.+    previousEarthObservationJobArn :: Prelude.Maybe Prelude.Text,+    rasterDataCollectionQuery :: Prelude.Maybe RasterDataCollectionQueryInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceConfig', 'inputConfigInput_dataSourceConfig' - The location of the input data.>+--+-- 'previousEarthObservationJobArn', 'inputConfigInput_previousEarthObservationJobArn' - The Amazon Resource Name (ARN) of the previous Earth Observation job.+--+-- 'rasterDataCollectionQuery', 'inputConfigInput_rasterDataCollectionQuery' -+newInputConfigInput ::+  InputConfigInput+newInputConfigInput =+  InputConfigInput'+    { dataSourceConfig =+        Prelude.Nothing,+      previousEarthObservationJobArn = Prelude.Nothing,+      rasterDataCollectionQuery = Prelude.Nothing+    }++-- | The location of the input data.>+inputConfigInput_dataSourceConfig :: Lens.Lens' InputConfigInput (Prelude.Maybe EojDataSourceConfigInput)+inputConfigInput_dataSourceConfig = Lens.lens (\InputConfigInput' {dataSourceConfig} -> dataSourceConfig) (\s@InputConfigInput' {} a -> s {dataSourceConfig = a} :: InputConfigInput)++-- | The Amazon Resource Name (ARN) of the previous Earth Observation job.+inputConfigInput_previousEarthObservationJobArn :: Lens.Lens' InputConfigInput (Prelude.Maybe Prelude.Text)+inputConfigInput_previousEarthObservationJobArn = Lens.lens (\InputConfigInput' {previousEarthObservationJobArn} -> previousEarthObservationJobArn) (\s@InputConfigInput' {} a -> s {previousEarthObservationJobArn = a} :: InputConfigInput)++inputConfigInput_rasterDataCollectionQuery :: Lens.Lens' InputConfigInput (Prelude.Maybe RasterDataCollectionQueryInput)+inputConfigInput_rasterDataCollectionQuery = Lens.lens (\InputConfigInput' {rasterDataCollectionQuery} -> rasterDataCollectionQuery) (\s@InputConfigInput' {} a -> s {rasterDataCollectionQuery = a} :: InputConfigInput)++instance Prelude.Hashable InputConfigInput where+  hashWithSalt _salt InputConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` dataSourceConfig+      `Prelude.hashWithSalt` previousEarthObservationJobArn+      `Prelude.hashWithSalt` rasterDataCollectionQuery++instance Prelude.NFData InputConfigInput where+  rnf InputConfigInput' {..} =+    Prelude.rnf dataSourceConfig+      `Prelude.seq` Prelude.rnf previousEarthObservationJobArn+      `Prelude.seq` Prelude.rnf rasterDataCollectionQuery++instance Data.ToJSON InputConfigInput where+  toJSON InputConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataSourceConfig" Data..=)+              Prelude.<$> dataSourceConfig,+            ("PreviousEarthObservationJobArn" Data..=)+              Prelude.<$> previousEarthObservationJobArn,+            ("RasterDataCollectionQuery" Data..=)+              Prelude.<$> rasterDataCollectionQuery+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/InputConfigOutput.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.SageMakerGeoSpatial.Types.InputConfigOutput+-- 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.SageMakerGeoSpatial.Types.InputConfigOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.EojDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput++-- | The InputConfig for an EarthObservationJob response.+--+-- /See:/ 'newInputConfigOutput' smart constructor.+data InputConfigOutput = InputConfigOutput'+  { -- | The location of the input data.+    dataSourceConfig :: Prelude.Maybe EojDataSourceConfigInput,+    -- | The Amazon Resource Name (ARN) of the previous Earth Observation job.+    previousEarthObservationJobArn :: Prelude.Maybe Prelude.Text,+    rasterDataCollectionQuery :: Prelude.Maybe RasterDataCollectionQueryOutput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputConfigOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceConfig', 'inputConfigOutput_dataSourceConfig' - The location of the input data.+--+-- 'previousEarthObservationJobArn', 'inputConfigOutput_previousEarthObservationJobArn' - The Amazon Resource Name (ARN) of the previous Earth Observation job.+--+-- 'rasterDataCollectionQuery', 'inputConfigOutput_rasterDataCollectionQuery' -+newInputConfigOutput ::+  InputConfigOutput+newInputConfigOutput =+  InputConfigOutput'+    { dataSourceConfig =+        Prelude.Nothing,+      previousEarthObservationJobArn = Prelude.Nothing,+      rasterDataCollectionQuery = Prelude.Nothing+    }++-- | The location of the input data.+inputConfigOutput_dataSourceConfig :: Lens.Lens' InputConfigOutput (Prelude.Maybe EojDataSourceConfigInput)+inputConfigOutput_dataSourceConfig = Lens.lens (\InputConfigOutput' {dataSourceConfig} -> dataSourceConfig) (\s@InputConfigOutput' {} a -> s {dataSourceConfig = a} :: InputConfigOutput)++-- | The Amazon Resource Name (ARN) of the previous Earth Observation job.+inputConfigOutput_previousEarthObservationJobArn :: Lens.Lens' InputConfigOutput (Prelude.Maybe Prelude.Text)+inputConfigOutput_previousEarthObservationJobArn = Lens.lens (\InputConfigOutput' {previousEarthObservationJobArn} -> previousEarthObservationJobArn) (\s@InputConfigOutput' {} a -> s {previousEarthObservationJobArn = a} :: InputConfigOutput)++inputConfigOutput_rasterDataCollectionQuery :: Lens.Lens' InputConfigOutput (Prelude.Maybe RasterDataCollectionQueryOutput)+inputConfigOutput_rasterDataCollectionQuery = Lens.lens (\InputConfigOutput' {rasterDataCollectionQuery} -> rasterDataCollectionQuery) (\s@InputConfigOutput' {} a -> s {rasterDataCollectionQuery = a} :: InputConfigOutput)++instance Data.FromJSON InputConfigOutput where+  parseJSON =+    Data.withObject+      "InputConfigOutput"+      ( \x ->+          InputConfigOutput'+            Prelude.<$> (x Data..:? "DataSourceConfig")+            Prelude.<*> (x Data..:? "PreviousEarthObservationJobArn")+            Prelude.<*> (x Data..:? "RasterDataCollectionQuery")+      )++instance Prelude.Hashable InputConfigOutput where+  hashWithSalt _salt InputConfigOutput' {..} =+    _salt+      `Prelude.hashWithSalt` dataSourceConfig+      `Prelude.hashWithSalt` previousEarthObservationJobArn+      `Prelude.hashWithSalt` rasterDataCollectionQuery++instance Prelude.NFData InputConfigOutput where+  rnf InputConfigOutput' {..} =+    Prelude.rnf dataSourceConfig+      `Prelude.seq` Prelude.rnf previousEarthObservationJobArn+      `Prelude.seq` Prelude.rnf rasterDataCollectionQuery
+ gen/Amazonka/SageMakerGeoSpatial/Types/ItemSource.hs view
@@ -0,0 +1,122 @@+{-# 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.SageMakerGeoSpatial.Types.ItemSource+-- 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.SageMakerGeoSpatial.Types.ItemSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AssetValue+import Amazonka.SageMakerGeoSpatial.Types.Geometry+import Amazonka.SageMakerGeoSpatial.Types.Properties++-- | Structure representing the items in the response for+-- SearchRasterDataCollection.+--+-- /See:/ 'newItemSource' smart constructor.+data ItemSource = ItemSource'+  { assets :: Prelude.Maybe (Prelude.HashMap Prelude.Text AssetValue),+    properties :: Prelude.Maybe Properties,+    dateTime :: Data.POSIX,+    geometry :: Geometry,+    -- | A unique Id for the source item.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ItemSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assets', 'itemSource_assets' -+--+-- 'properties', 'itemSource_properties' -+--+-- 'dateTime', 'itemSource_dateTime' -+--+-- 'geometry', 'itemSource_geometry' -+--+-- 'id', 'itemSource_id' - A unique Id for the source item.+newItemSource ::+  -- | 'dateTime'+  Prelude.UTCTime ->+  -- | 'geometry'+  Geometry ->+  -- | 'id'+  Prelude.Text ->+  ItemSource+newItemSource pDateTime_ pGeometry_ pId_ =+  ItemSource'+    { assets = Prelude.Nothing,+      properties = Prelude.Nothing,+      dateTime = Data._Time Lens.# pDateTime_,+      geometry = pGeometry_,+      id = pId_+    }++itemSource_assets :: Lens.Lens' ItemSource (Prelude.Maybe (Prelude.HashMap Prelude.Text AssetValue))+itemSource_assets = Lens.lens (\ItemSource' {assets} -> assets) (\s@ItemSource' {} a -> s {assets = a} :: ItemSource) Prelude.. Lens.mapping Lens.coerced++itemSource_properties :: Lens.Lens' ItemSource (Prelude.Maybe Properties)+itemSource_properties = Lens.lens (\ItemSource' {properties} -> properties) (\s@ItemSource' {} a -> s {properties = a} :: ItemSource)++itemSource_dateTime :: Lens.Lens' ItemSource Prelude.UTCTime+itemSource_dateTime = Lens.lens (\ItemSource' {dateTime} -> dateTime) (\s@ItemSource' {} a -> s {dateTime = a} :: ItemSource) Prelude.. Data._Time++itemSource_geometry :: Lens.Lens' ItemSource Geometry+itemSource_geometry = Lens.lens (\ItemSource' {geometry} -> geometry) (\s@ItemSource' {} a -> s {geometry = a} :: ItemSource)++-- | A unique Id for the source item.+itemSource_id :: Lens.Lens' ItemSource Prelude.Text+itemSource_id = Lens.lens (\ItemSource' {id} -> id) (\s@ItemSource' {} a -> s {id = a} :: ItemSource)++instance Data.FromJSON ItemSource where+  parseJSON =+    Data.withObject+      "ItemSource"+      ( \x ->+          ItemSource'+            Prelude.<$> (x Data..:? "Assets" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Properties")+            Prelude.<*> (x Data..: "DateTime")+            Prelude.<*> (x Data..: "Geometry")+            Prelude.<*> (x Data..: "Id")+      )++instance Prelude.Hashable ItemSource where+  hashWithSalt _salt ItemSource' {..} =+    _salt+      `Prelude.hashWithSalt` assets+      `Prelude.hashWithSalt` properties+      `Prelude.hashWithSalt` dateTime+      `Prelude.hashWithSalt` geometry+      `Prelude.hashWithSalt` id++instance Prelude.NFData ItemSource where+  rnf ItemSource' {..} =+    Prelude.rnf assets+      `Prelude.seq` Prelude.rnf properties+      `Prelude.seq` Prelude.rnf dateTime+      `Prelude.seq` Prelude.rnf geometry+      `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/SageMakerGeoSpatial/Types/JobConfigInput.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.SageMakerGeoSpatial.Types.JobConfigInput+-- 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.SageMakerGeoSpatial.Types.JobConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.BandMathConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudMaskingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.CloudRemovalConfigInput+import Amazonka.SageMakerGeoSpatial.Types.GeoMosaicConfigInput+import Amazonka.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ResamplingConfigInput+import Amazonka.SageMakerGeoSpatial.Types.StackConfigInput+import Amazonka.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput+import Amazonka.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput++-- | The input structure for the JobConfig in an EarthObservationJob.+--+-- /See:/ 'newJobConfigInput' smart constructor.+data JobConfigInput = JobConfigInput'+  { bandMathConfig :: Prelude.Maybe BandMathConfigInput,+    -- | An object containing information about the job configuration for cloud+    -- masking.+    cloudMaskingConfig :: Prelude.Maybe CloudMaskingConfigInput,+    -- | An object containing information about the job configuration for cloud+    -- removal.+    cloudRemovalConfig :: Prelude.Maybe CloudRemovalConfigInput,+    -- | An object containing information about the job configuration for+    -- geomosaic.+    geoMosaicConfig :: Prelude.Maybe GeoMosaicConfigInput,+    -- | An object containing information about the job configuration for land+    -- cover segmentation.+    landCoverSegmentationConfig :: Prelude.Maybe LandCoverSegmentationConfigInput,+    -- | An object containing information about the job configuration for+    -- resampling.+    resamplingConfig :: Prelude.Maybe ResamplingConfigInput,+    stackConfig :: Prelude.Maybe StackConfigInput,+    -- | An object containing information about the job configuration for+    -- temporal statistics.+    temporalStatisticsConfig :: Prelude.Maybe TemporalStatisticsConfigInput,+    -- | An object containing information about the job configuration for zonal+    -- statistics.+    zonalStatisticsConfig :: Prelude.Maybe ZonalStatisticsConfigInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandMathConfig', 'jobConfigInput_bandMathConfig' -+--+-- 'cloudMaskingConfig', 'jobConfigInput_cloudMaskingConfig' - An object containing information about the job configuration for cloud+-- masking.+--+-- 'cloudRemovalConfig', 'jobConfigInput_cloudRemovalConfig' - An object containing information about the job configuration for cloud+-- removal.+--+-- 'geoMosaicConfig', 'jobConfigInput_geoMosaicConfig' - An object containing information about the job configuration for+-- geomosaic.+--+-- 'landCoverSegmentationConfig', 'jobConfigInput_landCoverSegmentationConfig' - An object containing information about the job configuration for land+-- cover segmentation.+--+-- 'resamplingConfig', 'jobConfigInput_resamplingConfig' - An object containing information about the job configuration for+-- resampling.+--+-- 'stackConfig', 'jobConfigInput_stackConfig' -+--+-- 'temporalStatisticsConfig', 'jobConfigInput_temporalStatisticsConfig' - An object containing information about the job configuration for+-- temporal statistics.+--+-- 'zonalStatisticsConfig', 'jobConfigInput_zonalStatisticsConfig' - An object containing information about the job configuration for zonal+-- statistics.+newJobConfigInput ::+  JobConfigInput+newJobConfigInput =+  JobConfigInput'+    { bandMathConfig = Prelude.Nothing,+      cloudMaskingConfig = Prelude.Nothing,+      cloudRemovalConfig = Prelude.Nothing,+      geoMosaicConfig = Prelude.Nothing,+      landCoverSegmentationConfig = Prelude.Nothing,+      resamplingConfig = Prelude.Nothing,+      stackConfig = Prelude.Nothing,+      temporalStatisticsConfig = Prelude.Nothing,+      zonalStatisticsConfig = Prelude.Nothing+    }++jobConfigInput_bandMathConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe BandMathConfigInput)+jobConfigInput_bandMathConfig = Lens.lens (\JobConfigInput' {bandMathConfig} -> bandMathConfig) (\s@JobConfigInput' {} a -> s {bandMathConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for cloud+-- masking.+jobConfigInput_cloudMaskingConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe CloudMaskingConfigInput)+jobConfigInput_cloudMaskingConfig = Lens.lens (\JobConfigInput' {cloudMaskingConfig} -> cloudMaskingConfig) (\s@JobConfigInput' {} a -> s {cloudMaskingConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for cloud+-- removal.+jobConfigInput_cloudRemovalConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe CloudRemovalConfigInput)+jobConfigInput_cloudRemovalConfig = Lens.lens (\JobConfigInput' {cloudRemovalConfig} -> cloudRemovalConfig) (\s@JobConfigInput' {} a -> s {cloudRemovalConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for+-- geomosaic.+jobConfigInput_geoMosaicConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe GeoMosaicConfigInput)+jobConfigInput_geoMosaicConfig = Lens.lens (\JobConfigInput' {geoMosaicConfig} -> geoMosaicConfig) (\s@JobConfigInput' {} a -> s {geoMosaicConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for land+-- cover segmentation.+jobConfigInput_landCoverSegmentationConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe LandCoverSegmentationConfigInput)+jobConfigInput_landCoverSegmentationConfig = Lens.lens (\JobConfigInput' {landCoverSegmentationConfig} -> landCoverSegmentationConfig) (\s@JobConfigInput' {} a -> s {landCoverSegmentationConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for+-- resampling.+jobConfigInput_resamplingConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe ResamplingConfigInput)+jobConfigInput_resamplingConfig = Lens.lens (\JobConfigInput' {resamplingConfig} -> resamplingConfig) (\s@JobConfigInput' {} a -> s {resamplingConfig = a} :: JobConfigInput)++jobConfigInput_stackConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe StackConfigInput)+jobConfigInput_stackConfig = Lens.lens (\JobConfigInput' {stackConfig} -> stackConfig) (\s@JobConfigInput' {} a -> s {stackConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for+-- temporal statistics.+jobConfigInput_temporalStatisticsConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe TemporalStatisticsConfigInput)+jobConfigInput_temporalStatisticsConfig = Lens.lens (\JobConfigInput' {temporalStatisticsConfig} -> temporalStatisticsConfig) (\s@JobConfigInput' {} a -> s {temporalStatisticsConfig = a} :: JobConfigInput)++-- | An object containing information about the job configuration for zonal+-- statistics.+jobConfigInput_zonalStatisticsConfig :: Lens.Lens' JobConfigInput (Prelude.Maybe ZonalStatisticsConfigInput)+jobConfigInput_zonalStatisticsConfig = Lens.lens (\JobConfigInput' {zonalStatisticsConfig} -> zonalStatisticsConfig) (\s@JobConfigInput' {} a -> s {zonalStatisticsConfig = a} :: JobConfigInput)++instance Data.FromJSON JobConfigInput where+  parseJSON =+    Data.withObject+      "JobConfigInput"+      ( \x ->+          JobConfigInput'+            Prelude.<$> (x Data..:? "BandMathConfig")+            Prelude.<*> (x Data..:? "CloudMaskingConfig")+            Prelude.<*> (x Data..:? "CloudRemovalConfig")+            Prelude.<*> (x Data..:? "GeoMosaicConfig")+            Prelude.<*> (x Data..:? "LandCoverSegmentationConfig")+            Prelude.<*> (x Data..:? "ResamplingConfig")+            Prelude.<*> (x Data..:? "StackConfig")+            Prelude.<*> (x Data..:? "TemporalStatisticsConfig")+            Prelude.<*> (x Data..:? "ZonalStatisticsConfig")+      )++instance Prelude.Hashable JobConfigInput where+  hashWithSalt _salt JobConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` bandMathConfig+      `Prelude.hashWithSalt` cloudMaskingConfig+      `Prelude.hashWithSalt` cloudRemovalConfig+      `Prelude.hashWithSalt` geoMosaicConfig+      `Prelude.hashWithSalt` landCoverSegmentationConfig+      `Prelude.hashWithSalt` resamplingConfig+      `Prelude.hashWithSalt` stackConfig+      `Prelude.hashWithSalt` temporalStatisticsConfig+      `Prelude.hashWithSalt` zonalStatisticsConfig++instance Prelude.NFData JobConfigInput where+  rnf JobConfigInput' {..} =+    Prelude.rnf bandMathConfig+      `Prelude.seq` Prelude.rnf cloudMaskingConfig+      `Prelude.seq` Prelude.rnf cloudRemovalConfig+      `Prelude.seq` Prelude.rnf geoMosaicConfig+      `Prelude.seq` Prelude.rnf landCoverSegmentationConfig+      `Prelude.seq` Prelude.rnf resamplingConfig+      `Prelude.seq` Prelude.rnf stackConfig+      `Prelude.seq` Prelude.rnf temporalStatisticsConfig+      `Prelude.seq` Prelude.rnf zonalStatisticsConfig++instance Data.ToJSON JobConfigInput where+  toJSON JobConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BandMathConfig" Data..=)+              Prelude.<$> bandMathConfig,+            ("CloudMaskingConfig" Data..=)+              Prelude.<$> cloudMaskingConfig,+            ("CloudRemovalConfig" Data..=)+              Prelude.<$> cloudRemovalConfig,+            ("GeoMosaicConfig" Data..=)+              Prelude.<$> geoMosaicConfig,+            ("LandCoverSegmentationConfig" Data..=)+              Prelude.<$> landCoverSegmentationConfig,+            ("ResamplingConfig" Data..=)+              Prelude.<$> resamplingConfig,+            ("StackConfig" Data..=) Prelude.<$> stackConfig,+            ("TemporalStatisticsConfig" Data..=)+              Prelude.<$> temporalStatisticsConfig,+            ("ZonalStatisticsConfig" Data..=)+              Prelude.<$> zonalStatisticsConfig+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/LandCoverSegmentationConfigInput.hs view
@@ -0,0 +1,69 @@+{-# 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.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput+-- 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.SageMakerGeoSpatial.Types.LandCoverSegmentationConfigInput 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++-- |+--+-- /See:/ 'newLandCoverSegmentationConfigInput' smart constructor.+data LandCoverSegmentationConfigInput = LandCoverSegmentationConfigInput'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LandCoverSegmentationConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newLandCoverSegmentationConfigInput ::+  LandCoverSegmentationConfigInput+newLandCoverSegmentationConfigInput =+  LandCoverSegmentationConfigInput'++instance+  Data.FromJSON+    LandCoverSegmentationConfigInput+  where+  parseJSON =+    Data.withObject+      "LandCoverSegmentationConfigInput"+      ( \x ->+          Prelude.pure LandCoverSegmentationConfigInput'+      )++instance+  Prelude.Hashable+    LandCoverSegmentationConfigInput+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    LandCoverSegmentationConfigInput+  where+  rnf _ = ()++instance Data.ToJSON LandCoverSegmentationConfigInput where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/SageMakerGeoSpatial/Types/LandsatCloudCoverLandInput.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput+-- 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.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput 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++-- |+--+-- /See:/ 'newLandsatCloudCoverLandInput' smart constructor.+data LandsatCloudCoverLandInput = LandsatCloudCoverLandInput'+  { lowerBound :: Prelude.Double,+    upperBound :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LandsatCloudCoverLandInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBound', 'landsatCloudCoverLandInput_lowerBound' -+--+-- 'upperBound', 'landsatCloudCoverLandInput_upperBound' -+newLandsatCloudCoverLandInput ::+  -- | 'lowerBound'+  Prelude.Double ->+  -- | 'upperBound'+  Prelude.Double ->+  LandsatCloudCoverLandInput+newLandsatCloudCoverLandInput+  pLowerBound_+  pUpperBound_ =+    LandsatCloudCoverLandInput'+      { lowerBound =+          pLowerBound_,+        upperBound = pUpperBound_+      }++landsatCloudCoverLandInput_lowerBound :: Lens.Lens' LandsatCloudCoverLandInput Prelude.Double+landsatCloudCoverLandInput_lowerBound = Lens.lens (\LandsatCloudCoverLandInput' {lowerBound} -> lowerBound) (\s@LandsatCloudCoverLandInput' {} a -> s {lowerBound = a} :: LandsatCloudCoverLandInput)++landsatCloudCoverLandInput_upperBound :: Lens.Lens' LandsatCloudCoverLandInput Prelude.Double+landsatCloudCoverLandInput_upperBound = Lens.lens (\LandsatCloudCoverLandInput' {upperBound} -> upperBound) (\s@LandsatCloudCoverLandInput' {} a -> s {upperBound = a} :: LandsatCloudCoverLandInput)++instance Data.FromJSON LandsatCloudCoverLandInput where+  parseJSON =+    Data.withObject+      "LandsatCloudCoverLandInput"+      ( \x ->+          LandsatCloudCoverLandInput'+            Prelude.<$> (x Data..: "LowerBound")+            Prelude.<*> (x Data..: "UpperBound")+      )++instance Prelude.Hashable LandsatCloudCoverLandInput where+  hashWithSalt _salt LandsatCloudCoverLandInput' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBound+      `Prelude.hashWithSalt` upperBound++instance Prelude.NFData LandsatCloudCoverLandInput where+  rnf LandsatCloudCoverLandInput' {..} =+    Prelude.rnf lowerBound+      `Prelude.seq` Prelude.rnf upperBound++instance Data.ToJSON LandsatCloudCoverLandInput where+  toJSON LandsatCloudCoverLandInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LowerBound" Data..= lowerBound),+            Prelude.Just ("UpperBound" Data..= upperBound)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ListEarthObservationJobOutputConfig.hs view
@@ -0,0 +1,178 @@+{-# 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.SageMakerGeoSpatial.Types.ListEarthObservationJobOutputConfig+-- 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.SageMakerGeoSpatial.Types.ListEarthObservationJobOutputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.EarthObservationJobStatus++-- | An object containing information about the output file.+--+-- /See:/ 'newListEarthObservationJobOutputConfig' smart constructor.+data ListEarthObservationJobOutputConfig = ListEarthObservationJobOutputConfig'+  { -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the list of the Earth Observation+    -- jobs.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The duration of the session, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | The names of the Earth Observation jobs in the list.+    name :: Prelude.Text,+    operationType :: Prelude.Text,+    -- | The status of the list of the Earth Observation jobs.+    status :: EarthObservationJobStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEarthObservationJobOutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEarthObservationJobOutputConfig_tags' - Each tag consists of a key and a value.+--+-- 'arn', 'listEarthObservationJobOutputConfig_arn' - The Amazon Resource Name (ARN) of the list of the Earth Observation+-- jobs.+--+-- 'creationTime', 'listEarthObservationJobOutputConfig_creationTime' - The creation time.+--+-- 'durationInSeconds', 'listEarthObservationJobOutputConfig_durationInSeconds' - The duration of the session, in seconds.+--+-- 'name', 'listEarthObservationJobOutputConfig_name' - The names of the Earth Observation jobs in the list.+--+-- 'operationType', 'listEarthObservationJobOutputConfig_operationType' -+--+-- 'status', 'listEarthObservationJobOutputConfig_status' - The status of the list of the Earth Observation jobs.+newListEarthObservationJobOutputConfig ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'name'+  Prelude.Text ->+  -- | 'operationType'+  Prelude.Text ->+  -- | 'status'+  EarthObservationJobStatus ->+  ListEarthObservationJobOutputConfig+newListEarthObservationJobOutputConfig+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pName_+  pOperationType_+  pStatus_ =+    ListEarthObservationJobOutputConfig'+      { tags =+          Prelude.Nothing,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds =+          pDurationInSeconds_,+        name = pName_,+        operationType = pOperationType_,+        status = pStatus_+      }++-- | Each tag consists of a key and a value.+listEarthObservationJobOutputConfig_tags :: Lens.Lens' ListEarthObservationJobOutputConfig (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listEarthObservationJobOutputConfig_tags = Lens.lens (\ListEarthObservationJobOutputConfig' {tags} -> tags) (\s@ListEarthObservationJobOutputConfig' {} a -> s {tags = a} :: ListEarthObservationJobOutputConfig) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the list of the Earth Observation+-- jobs.+listEarthObservationJobOutputConfig_arn :: Lens.Lens' ListEarthObservationJobOutputConfig Prelude.Text+listEarthObservationJobOutputConfig_arn = Lens.lens (\ListEarthObservationJobOutputConfig' {arn} -> arn) (\s@ListEarthObservationJobOutputConfig' {} a -> s {arn = a} :: ListEarthObservationJobOutputConfig)++-- | The creation time.+listEarthObservationJobOutputConfig_creationTime :: Lens.Lens' ListEarthObservationJobOutputConfig Prelude.UTCTime+listEarthObservationJobOutputConfig_creationTime = Lens.lens (\ListEarthObservationJobOutputConfig' {creationTime} -> creationTime) (\s@ListEarthObservationJobOutputConfig' {} a -> s {creationTime = a} :: ListEarthObservationJobOutputConfig) Prelude.. Data._Time++-- | The duration of the session, in seconds.+listEarthObservationJobOutputConfig_durationInSeconds :: Lens.Lens' ListEarthObservationJobOutputConfig Prelude.Int+listEarthObservationJobOutputConfig_durationInSeconds = Lens.lens (\ListEarthObservationJobOutputConfig' {durationInSeconds} -> durationInSeconds) (\s@ListEarthObservationJobOutputConfig' {} a -> s {durationInSeconds = a} :: ListEarthObservationJobOutputConfig)++-- | The names of the Earth Observation jobs in the list.+listEarthObservationJobOutputConfig_name :: Lens.Lens' ListEarthObservationJobOutputConfig Prelude.Text+listEarthObservationJobOutputConfig_name = Lens.lens (\ListEarthObservationJobOutputConfig' {name} -> name) (\s@ListEarthObservationJobOutputConfig' {} a -> s {name = a} :: ListEarthObservationJobOutputConfig)++listEarthObservationJobOutputConfig_operationType :: Lens.Lens' ListEarthObservationJobOutputConfig Prelude.Text+listEarthObservationJobOutputConfig_operationType = Lens.lens (\ListEarthObservationJobOutputConfig' {operationType} -> operationType) (\s@ListEarthObservationJobOutputConfig' {} a -> s {operationType = a} :: ListEarthObservationJobOutputConfig)++-- | The status of the list of the Earth Observation jobs.+listEarthObservationJobOutputConfig_status :: Lens.Lens' ListEarthObservationJobOutputConfig EarthObservationJobStatus+listEarthObservationJobOutputConfig_status = Lens.lens (\ListEarthObservationJobOutputConfig' {status} -> status) (\s@ListEarthObservationJobOutputConfig' {} a -> s {status = a} :: ListEarthObservationJobOutputConfig)++instance+  Data.FromJSON+    ListEarthObservationJobOutputConfig+  where+  parseJSON =+    Data.withObject+      "ListEarthObservationJobOutputConfig"+      ( \x ->+          ListEarthObservationJobOutputConfig'+            Prelude.<$> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "CreationTime")+            Prelude.<*> (x Data..: "DurationInSeconds")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "OperationType")+            Prelude.<*> (x Data..: "Status")+      )++instance+  Prelude.Hashable+    ListEarthObservationJobOutputConfig+  where+  hashWithSalt+    _salt+    ListEarthObservationJobOutputConfig' {..} =+      _salt+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` creationTime+        `Prelude.hashWithSalt` durationInSeconds+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` operationType+        `Prelude.hashWithSalt` status++instance+  Prelude.NFData+    ListEarthObservationJobOutputConfig+  where+  rnf ListEarthObservationJobOutputConfig' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf operationType+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/SageMakerGeoSpatial/Types/ListVectorEnrichmentJobOutputConfig.hs view
@@ -0,0 +1,181 @@+{-# 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.SageMakerGeoSpatial.Types.ListVectorEnrichmentJobOutputConfig+-- 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.SageMakerGeoSpatial.Types.ListVectorEnrichmentJobOutputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobStatus+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobType++-- | An object containing information about the output file.+--+-- /See:/ 'newListVectorEnrichmentJobOutputConfig' smart constructor.+data ListVectorEnrichmentJobOutputConfig = ListVectorEnrichmentJobOutputConfig'+  { -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the list of the Vector Enrichment+    -- jobs.+    arn :: Prelude.Text,+    -- | The creation time.+    creationTime :: Data.POSIX,+    -- | The duration of the session, in seconds.+    durationInSeconds :: Prelude.Int,+    -- | The names of the Vector Enrichment jobs in the list.+    name :: Prelude.Text,+    -- | The status of the Vector Enrichment jobs list.+    status :: VectorEnrichmentJobStatus,+    -- | The type of the list of Vector Enrichment jobs.+    type' :: VectorEnrichmentJobType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVectorEnrichmentJobOutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVectorEnrichmentJobOutputConfig_tags' - Each tag consists of a key and a value.+--+-- 'arn', 'listVectorEnrichmentJobOutputConfig_arn' - The Amazon Resource Name (ARN) of the list of the Vector Enrichment+-- jobs.+--+-- 'creationTime', 'listVectorEnrichmentJobOutputConfig_creationTime' - The creation time.+--+-- 'durationInSeconds', 'listVectorEnrichmentJobOutputConfig_durationInSeconds' - The duration of the session, in seconds.+--+-- 'name', 'listVectorEnrichmentJobOutputConfig_name' - The names of the Vector Enrichment jobs in the list.+--+-- 'status', 'listVectorEnrichmentJobOutputConfig_status' - The status of the Vector Enrichment jobs list.+--+-- 'type'', 'listVectorEnrichmentJobOutputConfig_type' - The type of the list of Vector Enrichment jobs.+newListVectorEnrichmentJobOutputConfig ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'durationInSeconds'+  Prelude.Int ->+  -- | 'name'+  Prelude.Text ->+  -- | 'status'+  VectorEnrichmentJobStatus ->+  -- | 'type''+  VectorEnrichmentJobType ->+  ListVectorEnrichmentJobOutputConfig+newListVectorEnrichmentJobOutputConfig+  pArn_+  pCreationTime_+  pDurationInSeconds_+  pName_+  pStatus_+  pType_ =+    ListVectorEnrichmentJobOutputConfig'+      { tags =+          Prelude.Nothing,+        arn = pArn_,+        creationTime =+          Data._Time Lens.# pCreationTime_,+        durationInSeconds =+          pDurationInSeconds_,+        name = pName_,+        status = pStatus_,+        type' = pType_+      }++-- | Each tag consists of a key and a value.+listVectorEnrichmentJobOutputConfig_tags :: Lens.Lens' ListVectorEnrichmentJobOutputConfig (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listVectorEnrichmentJobOutputConfig_tags = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {tags} -> tags) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {tags = a} :: ListVectorEnrichmentJobOutputConfig) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the list of the Vector Enrichment+-- jobs.+listVectorEnrichmentJobOutputConfig_arn :: Lens.Lens' ListVectorEnrichmentJobOutputConfig Prelude.Text+listVectorEnrichmentJobOutputConfig_arn = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {arn} -> arn) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {arn = a} :: ListVectorEnrichmentJobOutputConfig)++-- | The creation time.+listVectorEnrichmentJobOutputConfig_creationTime :: Lens.Lens' ListVectorEnrichmentJobOutputConfig Prelude.UTCTime+listVectorEnrichmentJobOutputConfig_creationTime = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {creationTime} -> creationTime) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {creationTime = a} :: ListVectorEnrichmentJobOutputConfig) Prelude.. Data._Time++-- | The duration of the session, in seconds.+listVectorEnrichmentJobOutputConfig_durationInSeconds :: Lens.Lens' ListVectorEnrichmentJobOutputConfig Prelude.Int+listVectorEnrichmentJobOutputConfig_durationInSeconds = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {durationInSeconds} -> durationInSeconds) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {durationInSeconds = a} :: ListVectorEnrichmentJobOutputConfig)++-- | The names of the Vector Enrichment jobs in the list.+listVectorEnrichmentJobOutputConfig_name :: Lens.Lens' ListVectorEnrichmentJobOutputConfig Prelude.Text+listVectorEnrichmentJobOutputConfig_name = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {name} -> name) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {name = a} :: ListVectorEnrichmentJobOutputConfig)++-- | The status of the Vector Enrichment jobs list.+listVectorEnrichmentJobOutputConfig_status :: Lens.Lens' ListVectorEnrichmentJobOutputConfig VectorEnrichmentJobStatus+listVectorEnrichmentJobOutputConfig_status = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {status} -> status) (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {status = a} :: ListVectorEnrichmentJobOutputConfig)++-- | The type of the list of Vector Enrichment jobs.+listVectorEnrichmentJobOutputConfig_type :: Lens.Lens' ListVectorEnrichmentJobOutputConfig VectorEnrichmentJobType+listVectorEnrichmentJobOutputConfig_type = Lens.lens (\ListVectorEnrichmentJobOutputConfig' {type'} -> type') (\s@ListVectorEnrichmentJobOutputConfig' {} a -> s {type' = a} :: ListVectorEnrichmentJobOutputConfig)++instance+  Data.FromJSON+    ListVectorEnrichmentJobOutputConfig+  where+  parseJSON =+    Data.withObject+      "ListVectorEnrichmentJobOutputConfig"+      ( \x ->+          ListVectorEnrichmentJobOutputConfig'+            Prelude.<$> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "CreationTime")+            Prelude.<*> (x Data..: "DurationInSeconds")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "Status")+            Prelude.<*> (x Data..: "Type")+      )++instance+  Prelude.Hashable+    ListVectorEnrichmentJobOutputConfig+  where+  hashWithSalt+    _salt+    ListVectorEnrichmentJobOutputConfig' {..} =+      _salt+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` creationTime+        `Prelude.hashWithSalt` durationInSeconds+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` status+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    ListVectorEnrichmentJobOutputConfig+  where+  rnf ListVectorEnrichmentJobOutputConfig' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf durationInSeconds+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/LogicalOperator.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.SageMakerGeoSpatial.Types.LogicalOperator+-- 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.SageMakerGeoSpatial.Types.LogicalOperator+  ( LogicalOperator+      ( ..,+        LogicalOperator_AND+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LogicalOperator = LogicalOperator'+  { fromLogicalOperator ::+      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 LogicalOperator_AND :: LogicalOperator+pattern LogicalOperator_AND = LogicalOperator' "AND"++{-# COMPLETE+  LogicalOperator_AND,+  LogicalOperator'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/MapMatchingConfig.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.MapMatchingConfig+-- 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.SageMakerGeoSpatial.Types.MapMatchingConfig 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++-- |+--+-- /See:/ 'newMapMatchingConfig' smart constructor.+data MapMatchingConfig = MapMatchingConfig'+  { idAttributeName :: Prelude.Text,+    -- | The name of the timestamp attribute.+    timestampAttributeName :: Prelude.Text,+    -- | The name of the X-attribute+    xAttributeName :: Prelude.Text,+    -- | The name of the Y-attribute+    yAttributeName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MapMatchingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'idAttributeName', 'mapMatchingConfig_idAttributeName' -+--+-- 'timestampAttributeName', 'mapMatchingConfig_timestampAttributeName' - The name of the timestamp attribute.+--+-- 'xAttributeName', 'mapMatchingConfig_xAttributeName' - The name of the X-attribute+--+-- 'yAttributeName', 'mapMatchingConfig_yAttributeName' - The name of the Y-attribute+newMapMatchingConfig ::+  -- | 'idAttributeName'+  Prelude.Text ->+  -- | 'timestampAttributeName'+  Prelude.Text ->+  -- | 'xAttributeName'+  Prelude.Text ->+  -- | 'yAttributeName'+  Prelude.Text ->+  MapMatchingConfig+newMapMatchingConfig+  pIdAttributeName_+  pTimestampAttributeName_+  pXAttributeName_+  pYAttributeName_ =+    MapMatchingConfig'+      { idAttributeName =+          pIdAttributeName_,+        timestampAttributeName = pTimestampAttributeName_,+        xAttributeName = pXAttributeName_,+        yAttributeName = pYAttributeName_+      }++mapMatchingConfig_idAttributeName :: Lens.Lens' MapMatchingConfig Prelude.Text+mapMatchingConfig_idAttributeName = Lens.lens (\MapMatchingConfig' {idAttributeName} -> idAttributeName) (\s@MapMatchingConfig' {} a -> s {idAttributeName = a} :: MapMatchingConfig)++-- | The name of the timestamp attribute.+mapMatchingConfig_timestampAttributeName :: Lens.Lens' MapMatchingConfig Prelude.Text+mapMatchingConfig_timestampAttributeName = Lens.lens (\MapMatchingConfig' {timestampAttributeName} -> timestampAttributeName) (\s@MapMatchingConfig' {} a -> s {timestampAttributeName = a} :: MapMatchingConfig)++-- | The name of the X-attribute+mapMatchingConfig_xAttributeName :: Lens.Lens' MapMatchingConfig Prelude.Text+mapMatchingConfig_xAttributeName = Lens.lens (\MapMatchingConfig' {xAttributeName} -> xAttributeName) (\s@MapMatchingConfig' {} a -> s {xAttributeName = a} :: MapMatchingConfig)++-- | The name of the Y-attribute+mapMatchingConfig_yAttributeName :: Lens.Lens' MapMatchingConfig Prelude.Text+mapMatchingConfig_yAttributeName = Lens.lens (\MapMatchingConfig' {yAttributeName} -> yAttributeName) (\s@MapMatchingConfig' {} a -> s {yAttributeName = a} :: MapMatchingConfig)++instance Data.FromJSON MapMatchingConfig where+  parseJSON =+    Data.withObject+      "MapMatchingConfig"+      ( \x ->+          MapMatchingConfig'+            Prelude.<$> (x Data..: "IdAttributeName")+            Prelude.<*> (x Data..: "TimestampAttributeName")+            Prelude.<*> (x Data..: "XAttributeName")+            Prelude.<*> (x Data..: "YAttributeName")+      )++instance Prelude.Hashable MapMatchingConfig where+  hashWithSalt _salt MapMatchingConfig' {..} =+    _salt+      `Prelude.hashWithSalt` idAttributeName+      `Prelude.hashWithSalt` timestampAttributeName+      `Prelude.hashWithSalt` xAttributeName+      `Prelude.hashWithSalt` yAttributeName++instance Prelude.NFData MapMatchingConfig where+  rnf MapMatchingConfig' {..} =+    Prelude.rnf idAttributeName+      `Prelude.seq` Prelude.rnf timestampAttributeName+      `Prelude.seq` Prelude.rnf xAttributeName+      `Prelude.seq` Prelude.rnf yAttributeName++instance Data.ToJSON MapMatchingConfig where+  toJSON MapMatchingConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("IdAttributeName" Data..= idAttributeName),+            Prelude.Just+              ( "TimestampAttributeName"+                  Data..= timestampAttributeName+              ),+            Prelude.Just+              ("XAttributeName" Data..= xAttributeName),+            Prelude.Just+              ("YAttributeName" Data..= yAttributeName)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/MetadataProvider.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.SageMakerGeoSpatial.Types.MetadataProvider+-- 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.SageMakerGeoSpatial.Types.MetadataProvider+  ( MetadataProvider+      ( ..,+        MetadataProvider_PLANET_ORDER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MetadataProvider = MetadataProvider'+  { fromMetadataProvider ::+      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 MetadataProvider_PLANET_ORDER :: MetadataProvider+pattern MetadataProvider_PLANET_ORDER = MetadataProvider' "PLANET_ORDER"++{-# COMPLETE+  MetadataProvider_PLANET_ORDER,+  MetadataProvider'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/MultiPolygonGeometryInput.hs view
@@ -0,0 +1,79 @@+{-# 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.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput+-- 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.SageMakerGeoSpatial.Types.MultiPolygonGeometryInput 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++-- |+--+-- /See:/ 'newMultiPolygonGeometryInput' smart constructor.+data MultiPolygonGeometryInput = MultiPolygonGeometryInput'+  { -- | The coordinates of the multipolygon geometry.+    coordinates :: [Prelude.NonEmpty (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double)))]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MultiPolygonGeometryInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coordinates', 'multiPolygonGeometryInput_coordinates' - The coordinates of the multipolygon geometry.+newMultiPolygonGeometryInput ::+  MultiPolygonGeometryInput+newMultiPolygonGeometryInput =+  MultiPolygonGeometryInput'+    { coordinates =+        Prelude.mempty+    }++-- | The coordinates of the multipolygon geometry.+multiPolygonGeometryInput_coordinates :: Lens.Lens' MultiPolygonGeometryInput [Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))]+multiPolygonGeometryInput_coordinates = Lens.lens (\MultiPolygonGeometryInput' {coordinates} -> coordinates) (\s@MultiPolygonGeometryInput' {} a -> s {coordinates = a} :: MultiPolygonGeometryInput) Prelude.. Lens.coerced++instance Data.FromJSON MultiPolygonGeometryInput where+  parseJSON =+    Data.withObject+      "MultiPolygonGeometryInput"+      ( \x ->+          MultiPolygonGeometryInput'+            Prelude.<$> (x Data..:? "Coordinates" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable MultiPolygonGeometryInput where+  hashWithSalt _salt MultiPolygonGeometryInput' {..} =+    _salt `Prelude.hashWithSalt` coordinates++instance Prelude.NFData MultiPolygonGeometryInput where+  rnf MultiPolygonGeometryInput' {..} =+    Prelude.rnf coordinates++instance Data.ToJSON MultiPolygonGeometryInput where+  toJSON MultiPolygonGeometryInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Coordinates" Data..= coordinates)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/Operation.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.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Types.Operation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.OutputType++-- |+--+-- /See:/ 'newOperation' smart constructor.+data Operation = Operation'+  { -- | The type of the operation.+    outputType :: Prelude.Maybe OutputType,+    equation :: Prelude.Text,+    -- | The name of the operation.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Operation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputType', 'operation_outputType' - The type of the operation.+--+-- 'equation', 'operation_equation' -+--+-- 'name', 'operation_name' - The name of the operation.+newOperation ::+  -- | 'equation'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  Operation+newOperation pEquation_ pName_ =+  Operation'+    { outputType = Prelude.Nothing,+      equation = pEquation_,+      name = pName_+    }++-- | The type of the operation.+operation_outputType :: Lens.Lens' Operation (Prelude.Maybe OutputType)+operation_outputType = Lens.lens (\Operation' {outputType} -> outputType) (\s@Operation' {} a -> s {outputType = a} :: Operation)++operation_equation :: Lens.Lens' Operation Prelude.Text+operation_equation = Lens.lens (\Operation' {equation} -> equation) (\s@Operation' {} a -> s {equation = a} :: Operation)++-- | The name of the operation.+operation_name :: Lens.Lens' Operation Prelude.Text+operation_name = Lens.lens (\Operation' {name} -> name) (\s@Operation' {} a -> s {name = a} :: Operation)++instance Data.FromJSON Operation where+  parseJSON =+    Data.withObject+      "Operation"+      ( \x ->+          Operation'+            Prelude.<$> (x Data..:? "OutputType")+            Prelude.<*> (x Data..: "Equation")+            Prelude.<*> (x Data..: "Name")+      )++instance Prelude.Hashable Operation where+  hashWithSalt _salt Operation' {..} =+    _salt+      `Prelude.hashWithSalt` outputType+      `Prelude.hashWithSalt` equation+      `Prelude.hashWithSalt` name++instance Prelude.NFData Operation where+  rnf Operation' {..} =+    Prelude.rnf outputType+      `Prelude.seq` Prelude.rnf equation+      `Prelude.seq` Prelude.rnf name++instance Data.ToJSON Operation where+  toJSON Operation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OutputType" Data..=) Prelude.<$> outputType,+            Prelude.Just ("Equation" Data..= equation),+            Prelude.Just ("Name" Data..= name)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/OutputBand.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.SageMakerGeoSpatial.Types.OutputBand+-- 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.SageMakerGeoSpatial.Types.OutputBand where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.OutputType++-- | A single EarthObservationJob output band.+--+-- /See:/ 'newOutputBand' smart constructor.+data OutputBand = OutputBand'+  { -- | The name of the band.+    bandName :: Prelude.Text,+    -- | The datatype of the output band.+    outputDataType :: OutputType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputBand' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandName', 'outputBand_bandName' - The name of the band.+--+-- 'outputDataType', 'outputBand_outputDataType' - The datatype of the output band.+newOutputBand ::+  -- | 'bandName'+  Prelude.Text ->+  -- | 'outputDataType'+  OutputType ->+  OutputBand+newOutputBand pBandName_ pOutputDataType_ =+  OutputBand'+    { bandName = pBandName_,+      outputDataType = pOutputDataType_+    }++-- | The name of the band.+outputBand_bandName :: Lens.Lens' OutputBand Prelude.Text+outputBand_bandName = Lens.lens (\OutputBand' {bandName} -> bandName) (\s@OutputBand' {} a -> s {bandName = a} :: OutputBand)++-- | The datatype of the output band.+outputBand_outputDataType :: Lens.Lens' OutputBand OutputType+outputBand_outputDataType = Lens.lens (\OutputBand' {outputDataType} -> outputDataType) (\s@OutputBand' {} a -> s {outputDataType = a} :: OutputBand)++instance Data.FromJSON OutputBand where+  parseJSON =+    Data.withObject+      "OutputBand"+      ( \x ->+          OutputBand'+            Prelude.<$> (x Data..: "BandName")+            Prelude.<*> (x Data..: "OutputDataType")+      )++instance Prelude.Hashable OutputBand where+  hashWithSalt _salt OutputBand' {..} =+    _salt+      `Prelude.hashWithSalt` bandName+      `Prelude.hashWithSalt` outputDataType++instance Prelude.NFData OutputBand where+  rnf OutputBand' {..} =+    Prelude.rnf bandName+      `Prelude.seq` Prelude.rnf outputDataType
+ gen/Amazonka/SageMakerGeoSpatial/Types/OutputConfigInput.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.OutputConfigInput+-- 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.SageMakerGeoSpatial.Types.OutputConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.ExportS3DataInput++-- | The response structure for an OutputConfig returned by an+-- ExportEarthObservationJob.+--+-- /See:/ 'newOutputConfigInput' smart constructor.+data OutputConfigInput = OutputConfigInput'+  { -- | Path to Amazon S3 storage location for the output configuration file.+    s3Data :: ExportS3DataInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Data', 'outputConfigInput_s3Data' - Path to Amazon S3 storage location for the output configuration file.+newOutputConfigInput ::+  -- | 's3Data'+  ExportS3DataInput ->+  OutputConfigInput+newOutputConfigInput pS3Data_ =+  OutputConfigInput' {s3Data = pS3Data_}++-- | Path to Amazon S3 storage location for the output configuration file.+outputConfigInput_s3Data :: Lens.Lens' OutputConfigInput ExportS3DataInput+outputConfigInput_s3Data = Lens.lens (\OutputConfigInput' {s3Data} -> s3Data) (\s@OutputConfigInput' {} a -> s {s3Data = a} :: OutputConfigInput)++instance Data.FromJSON OutputConfigInput where+  parseJSON =+    Data.withObject+      "OutputConfigInput"+      ( \x ->+          OutputConfigInput' Prelude.<$> (x Data..: "S3Data")+      )++instance Prelude.Hashable OutputConfigInput where+  hashWithSalt _salt OutputConfigInput' {..} =+    _salt `Prelude.hashWithSalt` s3Data++instance Prelude.NFData OutputConfigInput where+  rnf OutputConfigInput' {..} = Prelude.rnf s3Data++instance Data.ToJSON OutputConfigInput where+  toJSON OutputConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("S3Data" Data..= s3Data)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/OutputResolutionResamplingInput.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.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput+-- 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.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.UserDefined++-- |+--+-- /See:/ 'newOutputResolutionResamplingInput' smart constructor.+data OutputResolutionResamplingInput = OutputResolutionResamplingInput'+  { userDefined :: UserDefined+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputResolutionResamplingInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'userDefined', 'outputResolutionResamplingInput_userDefined' -+newOutputResolutionResamplingInput ::+  -- | 'userDefined'+  UserDefined ->+  OutputResolutionResamplingInput+newOutputResolutionResamplingInput pUserDefined_ =+  OutputResolutionResamplingInput'+    { userDefined =+        pUserDefined_+    }++outputResolutionResamplingInput_userDefined :: Lens.Lens' OutputResolutionResamplingInput UserDefined+outputResolutionResamplingInput_userDefined = Lens.lens (\OutputResolutionResamplingInput' {userDefined} -> userDefined) (\s@OutputResolutionResamplingInput' {} a -> s {userDefined = a} :: OutputResolutionResamplingInput)++instance+  Data.FromJSON+    OutputResolutionResamplingInput+  where+  parseJSON =+    Data.withObject+      "OutputResolutionResamplingInput"+      ( \x ->+          OutputResolutionResamplingInput'+            Prelude.<$> (x Data..: "UserDefined")+      )++instance+  Prelude.Hashable+    OutputResolutionResamplingInput+  where+  hashWithSalt+    _salt+    OutputResolutionResamplingInput' {..} =+      _salt `Prelude.hashWithSalt` userDefined++instance+  Prelude.NFData+    OutputResolutionResamplingInput+  where+  rnf OutputResolutionResamplingInput' {..} =+    Prelude.rnf userDefined++instance Data.ToJSON OutputResolutionResamplingInput where+  toJSON OutputResolutionResamplingInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("UserDefined" Data..= userDefined)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/OutputResolutionStackInput.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.SageMakerGeoSpatial.Types.OutputResolutionStackInput+-- 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.SageMakerGeoSpatial.Types.OutputResolutionStackInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.PredefinedResolution+import Amazonka.SageMakerGeoSpatial.Types.UserDefined++-- |+--+-- /See:/ 'newOutputResolutionStackInput' smart constructor.+data OutputResolutionStackInput = OutputResolutionStackInput'+  { predefined :: Prelude.Maybe PredefinedResolution,+    userDefined :: Prelude.Maybe UserDefined+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputResolutionStackInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'predefined', 'outputResolutionStackInput_predefined' -+--+-- 'userDefined', 'outputResolutionStackInput_userDefined' -+newOutputResolutionStackInput ::+  OutputResolutionStackInput+newOutputResolutionStackInput =+  OutputResolutionStackInput'+    { predefined =+        Prelude.Nothing,+      userDefined = Prelude.Nothing+    }++outputResolutionStackInput_predefined :: Lens.Lens' OutputResolutionStackInput (Prelude.Maybe PredefinedResolution)+outputResolutionStackInput_predefined = Lens.lens (\OutputResolutionStackInput' {predefined} -> predefined) (\s@OutputResolutionStackInput' {} a -> s {predefined = a} :: OutputResolutionStackInput)++outputResolutionStackInput_userDefined :: Lens.Lens' OutputResolutionStackInput (Prelude.Maybe UserDefined)+outputResolutionStackInput_userDefined = Lens.lens (\OutputResolutionStackInput' {userDefined} -> userDefined) (\s@OutputResolutionStackInput' {} a -> s {userDefined = a} :: OutputResolutionStackInput)++instance Data.FromJSON OutputResolutionStackInput where+  parseJSON =+    Data.withObject+      "OutputResolutionStackInput"+      ( \x ->+          OutputResolutionStackInput'+            Prelude.<$> (x Data..:? "Predefined")+            Prelude.<*> (x Data..:? "UserDefined")+      )++instance Prelude.Hashable OutputResolutionStackInput where+  hashWithSalt _salt OutputResolutionStackInput' {..} =+    _salt+      `Prelude.hashWithSalt` predefined+      `Prelude.hashWithSalt` userDefined++instance Prelude.NFData OutputResolutionStackInput where+  rnf OutputResolutionStackInput' {..} =+    Prelude.rnf predefined+      `Prelude.seq` Prelude.rnf userDefined++instance Data.ToJSON OutputResolutionStackInput where+  toJSON OutputResolutionStackInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Predefined" Data..=) Prelude.<$> predefined,+            ("UserDefined" Data..=) Prelude.<$> userDefined+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/OutputType.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.SageMakerGeoSpatial.Types.OutputType+-- 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.SageMakerGeoSpatial.Types.OutputType+  ( OutputType+      ( ..,+        OutputType_FLOAT32,+        OutputType_FLOAT64,+        OutputType_INT16,+        OutputType_INT32,+        OutputType_UINT16+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OutputType = OutputType'+  { fromOutputType ::+      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 OutputType_FLOAT32 :: OutputType+pattern OutputType_FLOAT32 = OutputType' "FLOAT32"++pattern OutputType_FLOAT64 :: OutputType+pattern OutputType_FLOAT64 = OutputType' "FLOAT64"++pattern OutputType_INT16 :: OutputType+pattern OutputType_INT16 = OutputType' "INT16"++pattern OutputType_INT32 :: OutputType+pattern OutputType_INT32 = OutputType' "INT32"++pattern OutputType_UINT16 :: OutputType+pattern OutputType_UINT16 = OutputType' "UINT16"++{-# COMPLETE+  OutputType_FLOAT32,+  OutputType_FLOAT64,+  OutputType_INT16,+  OutputType_INT32,+  OutputType_UINT16,+  OutputType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/PlatformInput.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.PlatformInput+-- 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.SageMakerGeoSpatial.Types.PlatformInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.ComparisonOperator++-- |+--+-- /See:/ 'newPlatformInput' smart constructor.+data PlatformInput = PlatformInput'+  { comparisonOperator :: Prelude.Maybe ComparisonOperator,+    -- | The value of the platform.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlatformInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'comparisonOperator', 'platformInput_comparisonOperator' -+--+-- 'value', 'platformInput_value' - The value of the platform.+newPlatformInput ::+  -- | 'value'+  Prelude.Text ->+  PlatformInput+newPlatformInput pValue_ =+  PlatformInput'+    { comparisonOperator =+        Prelude.Nothing,+      value = pValue_+    }++platformInput_comparisonOperator :: Lens.Lens' PlatformInput (Prelude.Maybe ComparisonOperator)+platformInput_comparisonOperator = Lens.lens (\PlatformInput' {comparisonOperator} -> comparisonOperator) (\s@PlatformInput' {} a -> s {comparisonOperator = a} :: PlatformInput)++-- | The value of the platform.+platformInput_value :: Lens.Lens' PlatformInput Prelude.Text+platformInput_value = Lens.lens (\PlatformInput' {value} -> value) (\s@PlatformInput' {} a -> s {value = a} :: PlatformInput)++instance Data.FromJSON PlatformInput where+  parseJSON =+    Data.withObject+      "PlatformInput"+      ( \x ->+          PlatformInput'+            Prelude.<$> (x Data..:? "ComparisonOperator")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable PlatformInput where+  hashWithSalt _salt PlatformInput' {..} =+    _salt+      `Prelude.hashWithSalt` comparisonOperator+      `Prelude.hashWithSalt` value++instance Prelude.NFData PlatformInput where+  rnf PlatformInput' {..} =+    Prelude.rnf comparisonOperator+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON PlatformInput where+  toJSON PlatformInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ComparisonOperator" Data..=)+              Prelude.<$> comparisonOperator,+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/PolygonGeometryInput.hs view
@@ -0,0 +1,79 @@+{-# 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.SageMakerGeoSpatial.Types.PolygonGeometryInput+-- 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.SageMakerGeoSpatial.Types.PolygonGeometryInput 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++-- |+--+-- /See:/ 'newPolygonGeometryInput' smart constructor.+data PolygonGeometryInput = PolygonGeometryInput'+  { coordinates :: Prelude.NonEmpty (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double)))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolygonGeometryInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coordinates', 'polygonGeometryInput_coordinates' -+newPolygonGeometryInput ::+  -- | 'coordinates'+  Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)) ->+  PolygonGeometryInput+newPolygonGeometryInput pCoordinates_ =+  PolygonGeometryInput'+    { coordinates =+        Lens.coerced Lens.# pCoordinates_+    }++polygonGeometryInput_coordinates :: Lens.Lens' PolygonGeometryInput (Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))+polygonGeometryInput_coordinates = Lens.lens (\PolygonGeometryInput' {coordinates} -> coordinates) (\s@PolygonGeometryInput' {} a -> s {coordinates = a} :: PolygonGeometryInput) Prelude.. Lens.coerced++instance Data.FromJSON PolygonGeometryInput where+  parseJSON =+    Data.withObject+      "PolygonGeometryInput"+      ( \x ->+          PolygonGeometryInput'+            Prelude.<$> (x Data..: "Coordinates")+      )++instance Prelude.Hashable PolygonGeometryInput where+  hashWithSalt _salt PolygonGeometryInput' {..} =+    _salt `Prelude.hashWithSalt` coordinates++instance Prelude.NFData PolygonGeometryInput where+  rnf PolygonGeometryInput' {..} =+    Prelude.rnf coordinates++instance Data.ToJSON PolygonGeometryInput where+  toJSON PolygonGeometryInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Coordinates" Data..= coordinates)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/PredefinedResolution.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.SageMakerGeoSpatial.Types.PredefinedResolution+-- 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.SageMakerGeoSpatial.Types.PredefinedResolution+  ( PredefinedResolution+      ( ..,+        PredefinedResolution_AVERAGE,+        PredefinedResolution_HIGHEST,+        PredefinedResolution_LOWEST+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PredefinedResolution = PredefinedResolution'+  { fromPredefinedResolution ::+      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 PredefinedResolution_AVERAGE :: PredefinedResolution+pattern PredefinedResolution_AVERAGE = PredefinedResolution' "AVERAGE"++pattern PredefinedResolution_HIGHEST :: PredefinedResolution+pattern PredefinedResolution_HIGHEST = PredefinedResolution' "HIGHEST"++pattern PredefinedResolution_LOWEST :: PredefinedResolution+pattern PredefinedResolution_LOWEST = PredefinedResolution' "LOWEST"++{-# COMPLETE+  PredefinedResolution_AVERAGE,+  PredefinedResolution_HIGHEST,+  PredefinedResolution_LOWEST,+  PredefinedResolution'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/Properties.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.Properties+-- 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.SageMakerGeoSpatial.Types.Properties 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++-- |+--+-- /See:/ 'newProperties' smart constructor.+data Properties = Properties'+  { eoCloudCover :: Prelude.Maybe Prelude.Double,+    landsatCloudCoverLand :: Prelude.Maybe Prelude.Double,+    platform :: Prelude.Maybe Prelude.Text,+    viewOffNadir :: Prelude.Maybe Prelude.Double,+    viewSunAzimuth :: Prelude.Maybe Prelude.Double,+    viewSunElevation :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Properties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eoCloudCover', 'properties_eoCloudCover' -+--+-- 'landsatCloudCoverLand', 'properties_landsatCloudCoverLand' -+--+-- 'platform', 'properties_platform' -+--+-- 'viewOffNadir', 'properties_viewOffNadir' -+--+-- 'viewSunAzimuth', 'properties_viewSunAzimuth' -+--+-- 'viewSunElevation', 'properties_viewSunElevation' -+newProperties ::+  Properties+newProperties =+  Properties'+    { eoCloudCover = Prelude.Nothing,+      landsatCloudCoverLand = Prelude.Nothing,+      platform = Prelude.Nothing,+      viewOffNadir = Prelude.Nothing,+      viewSunAzimuth = Prelude.Nothing,+      viewSunElevation = Prelude.Nothing+    }++properties_eoCloudCover :: Lens.Lens' Properties (Prelude.Maybe Prelude.Double)+properties_eoCloudCover = Lens.lens (\Properties' {eoCloudCover} -> eoCloudCover) (\s@Properties' {} a -> s {eoCloudCover = a} :: Properties)++properties_landsatCloudCoverLand :: Lens.Lens' Properties (Prelude.Maybe Prelude.Double)+properties_landsatCloudCoverLand = Lens.lens (\Properties' {landsatCloudCoverLand} -> landsatCloudCoverLand) (\s@Properties' {} a -> s {landsatCloudCoverLand = a} :: Properties)++properties_platform :: Lens.Lens' Properties (Prelude.Maybe Prelude.Text)+properties_platform = Lens.lens (\Properties' {platform} -> platform) (\s@Properties' {} a -> s {platform = a} :: Properties)++properties_viewOffNadir :: Lens.Lens' Properties (Prelude.Maybe Prelude.Double)+properties_viewOffNadir = Lens.lens (\Properties' {viewOffNadir} -> viewOffNadir) (\s@Properties' {} a -> s {viewOffNadir = a} :: Properties)++properties_viewSunAzimuth :: Lens.Lens' Properties (Prelude.Maybe Prelude.Double)+properties_viewSunAzimuth = Lens.lens (\Properties' {viewSunAzimuth} -> viewSunAzimuth) (\s@Properties' {} a -> s {viewSunAzimuth = a} :: Properties)++properties_viewSunElevation :: Lens.Lens' Properties (Prelude.Maybe Prelude.Double)+properties_viewSunElevation = Lens.lens (\Properties' {viewSunElevation} -> viewSunElevation) (\s@Properties' {} a -> s {viewSunElevation = a} :: Properties)++instance Data.FromJSON Properties where+  parseJSON =+    Data.withObject+      "Properties"+      ( \x ->+          Properties'+            Prelude.<$> (x Data..:? "EoCloudCover")+            Prelude.<*> (x Data..:? "LandsatCloudCoverLand")+            Prelude.<*> (x Data..:? "Platform")+            Prelude.<*> (x Data..:? "ViewOffNadir")+            Prelude.<*> (x Data..:? "ViewSunAzimuth")+            Prelude.<*> (x Data..:? "ViewSunElevation")+      )++instance Prelude.Hashable Properties where+  hashWithSalt _salt Properties' {..} =+    _salt+      `Prelude.hashWithSalt` eoCloudCover+      `Prelude.hashWithSalt` landsatCloudCoverLand+      `Prelude.hashWithSalt` platform+      `Prelude.hashWithSalt` viewOffNadir+      `Prelude.hashWithSalt` viewSunAzimuth+      `Prelude.hashWithSalt` viewSunElevation++instance Prelude.NFData Properties where+  rnf Properties' {..} =+    Prelude.rnf eoCloudCover+      `Prelude.seq` Prelude.rnf landsatCloudCoverLand+      `Prelude.seq` Prelude.rnf platform+      `Prelude.seq` Prelude.rnf viewOffNadir+      `Prelude.seq` Prelude.rnf viewSunAzimuth+      `Prelude.seq` Prelude.rnf viewSunElevation
+ gen/Amazonka/SageMakerGeoSpatial/Types/Property.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.Property+-- 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.SageMakerGeoSpatial.Types.Property where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.EoCloudCoverInput+import Amazonka.SageMakerGeoSpatial.Types.LandsatCloudCoverLandInput+import Amazonka.SageMakerGeoSpatial.Types.PlatformInput+import Amazonka.SageMakerGeoSpatial.Types.ViewOffNadirInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunAzimuthInput+import Amazonka.SageMakerGeoSpatial.Types.ViewSunElevationInput++-- |+--+-- /See:/ 'newProperty' smart constructor.+data Property = Property'+  { eoCloudCover :: Prelude.Maybe EoCloudCoverInput,+    landsatCloudCoverLand :: Prelude.Maybe LandsatCloudCoverLandInput,+    platform :: Prelude.Maybe PlatformInput,+    viewOffNadir :: Prelude.Maybe ViewOffNadirInput,+    viewSunAzimuth :: Prelude.Maybe ViewSunAzimuthInput,+    viewSunElevation :: Prelude.Maybe ViewSunElevationInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Property' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eoCloudCover', 'property_eoCloudCover' -+--+-- 'landsatCloudCoverLand', 'property_landsatCloudCoverLand' -+--+-- 'platform', 'property_platform' -+--+-- 'viewOffNadir', 'property_viewOffNadir' -+--+-- 'viewSunAzimuth', 'property_viewSunAzimuth' -+--+-- 'viewSunElevation', 'property_viewSunElevation' -+newProperty ::+  Property+newProperty =+  Property'+    { eoCloudCover = Prelude.Nothing,+      landsatCloudCoverLand = Prelude.Nothing,+      platform = Prelude.Nothing,+      viewOffNadir = Prelude.Nothing,+      viewSunAzimuth = Prelude.Nothing,+      viewSunElevation = Prelude.Nothing+    }++property_eoCloudCover :: Lens.Lens' Property (Prelude.Maybe EoCloudCoverInput)+property_eoCloudCover = Lens.lens (\Property' {eoCloudCover} -> eoCloudCover) (\s@Property' {} a -> s {eoCloudCover = a} :: Property)++property_landsatCloudCoverLand :: Lens.Lens' Property (Prelude.Maybe LandsatCloudCoverLandInput)+property_landsatCloudCoverLand = Lens.lens (\Property' {landsatCloudCoverLand} -> landsatCloudCoverLand) (\s@Property' {} a -> s {landsatCloudCoverLand = a} :: Property)++property_platform :: Lens.Lens' Property (Prelude.Maybe PlatformInput)+property_platform = Lens.lens (\Property' {platform} -> platform) (\s@Property' {} a -> s {platform = a} :: Property)++property_viewOffNadir :: Lens.Lens' Property (Prelude.Maybe ViewOffNadirInput)+property_viewOffNadir = Lens.lens (\Property' {viewOffNadir} -> viewOffNadir) (\s@Property' {} a -> s {viewOffNadir = a} :: Property)++property_viewSunAzimuth :: Lens.Lens' Property (Prelude.Maybe ViewSunAzimuthInput)+property_viewSunAzimuth = Lens.lens (\Property' {viewSunAzimuth} -> viewSunAzimuth) (\s@Property' {} a -> s {viewSunAzimuth = a} :: Property)++property_viewSunElevation :: Lens.Lens' Property (Prelude.Maybe ViewSunElevationInput)+property_viewSunElevation = Lens.lens (\Property' {viewSunElevation} -> viewSunElevation) (\s@Property' {} a -> s {viewSunElevation = a} :: Property)++instance Data.FromJSON Property where+  parseJSON =+    Data.withObject+      "Property"+      ( \x ->+          Property'+            Prelude.<$> (x Data..:? "EoCloudCover")+            Prelude.<*> (x Data..:? "LandsatCloudCoverLand")+            Prelude.<*> (x Data..:? "Platform")+            Prelude.<*> (x Data..:? "ViewOffNadir")+            Prelude.<*> (x Data..:? "ViewSunAzimuth")+            Prelude.<*> (x Data..:? "ViewSunElevation")+      )++instance Prelude.Hashable Property where+  hashWithSalt _salt Property' {..} =+    _salt+      `Prelude.hashWithSalt` eoCloudCover+      `Prelude.hashWithSalt` landsatCloudCoverLand+      `Prelude.hashWithSalt` platform+      `Prelude.hashWithSalt` viewOffNadir+      `Prelude.hashWithSalt` viewSunAzimuth+      `Prelude.hashWithSalt` viewSunElevation++instance Prelude.NFData Property where+  rnf Property' {..} =+    Prelude.rnf eoCloudCover+      `Prelude.seq` Prelude.rnf landsatCloudCoverLand+      `Prelude.seq` Prelude.rnf platform+      `Prelude.seq` Prelude.rnf viewOffNadir+      `Prelude.seq` Prelude.rnf viewSunAzimuth+      `Prelude.seq` Prelude.rnf viewSunElevation++instance Data.ToJSON Property where+  toJSON Property' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EoCloudCover" Data..=) Prelude.<$> eoCloudCover,+            ("LandsatCloudCoverLand" Data..=)+              Prelude.<$> landsatCloudCoverLand,+            ("Platform" Data..=) Prelude.<$> platform,+            ("ViewOffNadir" Data..=) Prelude.<$> viewOffNadir,+            ("ViewSunAzimuth" Data..=)+              Prelude.<$> viewSunAzimuth,+            ("ViewSunElevation" Data..=)+              Prelude.<$> viewSunElevation+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/PropertyFilter.hs view
@@ -0,0 +1,75 @@+{-# 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.SageMakerGeoSpatial.Types.PropertyFilter+-- 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.SageMakerGeoSpatial.Types.PropertyFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.Property++-- |+--+-- /See:/ 'newPropertyFilter' smart constructor.+data PropertyFilter = PropertyFilter'+  { property :: Property+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PropertyFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'property', 'propertyFilter_property' -+newPropertyFilter ::+  -- | 'property'+  Property ->+  PropertyFilter+newPropertyFilter pProperty_ =+  PropertyFilter' {property = pProperty_}++propertyFilter_property :: Lens.Lens' PropertyFilter Property+propertyFilter_property = Lens.lens (\PropertyFilter' {property} -> property) (\s@PropertyFilter' {} a -> s {property = a} :: PropertyFilter)++instance Data.FromJSON PropertyFilter where+  parseJSON =+    Data.withObject+      "PropertyFilter"+      ( \x ->+          PropertyFilter' Prelude.<$> (x Data..: "Property")+      )++instance Prelude.Hashable PropertyFilter where+  hashWithSalt _salt PropertyFilter' {..} =+    _salt `Prelude.hashWithSalt` property++instance Prelude.NFData PropertyFilter where+  rnf PropertyFilter' {..} = Prelude.rnf property++instance Data.ToJSON PropertyFilter where+  toJSON PropertyFilter' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Property" Data..= property)]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/PropertyFilters.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.SageMakerGeoSpatial.Types.PropertyFilters+-- 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.SageMakerGeoSpatial.Types.PropertyFilters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.LogicalOperator+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilter++-- |+--+-- /See:/ 'newPropertyFilters' smart constructor.+data PropertyFilters = PropertyFilters'+  { logicalOperator :: Prelude.Maybe LogicalOperator,+    properties :: Prelude.Maybe [PropertyFilter]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PropertyFilters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logicalOperator', 'propertyFilters_logicalOperator' -+--+-- 'properties', 'propertyFilters_properties' -+newPropertyFilters ::+  PropertyFilters+newPropertyFilters =+  PropertyFilters'+    { logicalOperator = Prelude.Nothing,+      properties = Prelude.Nothing+    }++propertyFilters_logicalOperator :: Lens.Lens' PropertyFilters (Prelude.Maybe LogicalOperator)+propertyFilters_logicalOperator = Lens.lens (\PropertyFilters' {logicalOperator} -> logicalOperator) (\s@PropertyFilters' {} a -> s {logicalOperator = a} :: PropertyFilters)++propertyFilters_properties :: Lens.Lens' PropertyFilters (Prelude.Maybe [PropertyFilter])+propertyFilters_properties = Lens.lens (\PropertyFilters' {properties} -> properties) (\s@PropertyFilters' {} a -> s {properties = a} :: PropertyFilters) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PropertyFilters where+  parseJSON =+    Data.withObject+      "PropertyFilters"+      ( \x ->+          PropertyFilters'+            Prelude.<$> (x Data..:? "LogicalOperator")+            Prelude.<*> (x Data..:? "Properties" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PropertyFilters where+  hashWithSalt _salt PropertyFilters' {..} =+    _salt+      `Prelude.hashWithSalt` logicalOperator+      `Prelude.hashWithSalt` properties++instance Prelude.NFData PropertyFilters where+  rnf PropertyFilters' {..} =+    Prelude.rnf logicalOperator+      `Prelude.seq` Prelude.rnf properties++instance Data.ToJSON PropertyFilters where+  toJSON PropertyFilters' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LogicalOperator" Data..=)+              Prelude.<$> logicalOperator,+            ("Properties" Data..=) Prelude.<$> properties+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/RasterDataCollectionMetadata.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.RasterDataCollectionMetadata+-- 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.SageMakerGeoSpatial.Types.RasterDataCollectionMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.DataCollectionType+import Amazonka.SageMakerGeoSpatial.Types.Filter++-- | Response object containing details for a specific RasterDataCollection.+--+-- /See:/ 'newRasterDataCollectionMetadata' smart constructor.+data RasterDataCollectionMetadata = RasterDataCollectionMetadata'+  { -- | The description URL of the raster data collection.+    descriptionPageUrl :: Prelude.Maybe Prelude.Text,+    -- | Each tag consists of a key and a value.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the raster data collection.+    arn :: Prelude.Text,+    -- | A description of the raster data collection.+    description :: Prelude.Text,+    -- | The name of the raster data collection.+    name :: Prelude.Text,+    supportedFilters :: [Filter],+    -- | The type of raster data collection.+    type' :: DataCollectionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RasterDataCollectionMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'descriptionPageUrl', 'rasterDataCollectionMetadata_descriptionPageUrl' - The description URL of the raster data collection.+--+-- 'tags', 'rasterDataCollectionMetadata_tags' - Each tag consists of a key and a value.+--+-- 'arn', 'rasterDataCollectionMetadata_arn' - The Amazon Resource Name (ARN) of the raster data collection.+--+-- 'description', 'rasterDataCollectionMetadata_description' - A description of the raster data collection.+--+-- 'name', 'rasterDataCollectionMetadata_name' - The name of the raster data collection.+--+-- 'supportedFilters', 'rasterDataCollectionMetadata_supportedFilters' -+--+-- 'type'', 'rasterDataCollectionMetadata_type' - The type of raster data collection.+newRasterDataCollectionMetadata ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'description'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'type''+  DataCollectionType ->+  RasterDataCollectionMetadata+newRasterDataCollectionMetadata+  pArn_+  pDescription_+  pName_+  pType_ =+    RasterDataCollectionMetadata'+      { descriptionPageUrl =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        arn = pArn_,+        description = pDescription_,+        name = pName_,+        supportedFilters = Prelude.mempty,+        type' = pType_+      }++-- | The description URL of the raster data collection.+rasterDataCollectionMetadata_descriptionPageUrl :: Lens.Lens' RasterDataCollectionMetadata (Prelude.Maybe Prelude.Text)+rasterDataCollectionMetadata_descriptionPageUrl = Lens.lens (\RasterDataCollectionMetadata' {descriptionPageUrl} -> descriptionPageUrl) (\s@RasterDataCollectionMetadata' {} a -> s {descriptionPageUrl = a} :: RasterDataCollectionMetadata)++-- | Each tag consists of a key and a value.+rasterDataCollectionMetadata_tags :: Lens.Lens' RasterDataCollectionMetadata (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+rasterDataCollectionMetadata_tags = Lens.lens (\RasterDataCollectionMetadata' {tags} -> tags) (\s@RasterDataCollectionMetadata' {} a -> s {tags = a} :: RasterDataCollectionMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the raster data collection.+rasterDataCollectionMetadata_arn :: Lens.Lens' RasterDataCollectionMetadata Prelude.Text+rasterDataCollectionMetadata_arn = Lens.lens (\RasterDataCollectionMetadata' {arn} -> arn) (\s@RasterDataCollectionMetadata' {} a -> s {arn = a} :: RasterDataCollectionMetadata)++-- | A description of the raster data collection.+rasterDataCollectionMetadata_description :: Lens.Lens' RasterDataCollectionMetadata Prelude.Text+rasterDataCollectionMetadata_description = Lens.lens (\RasterDataCollectionMetadata' {description} -> description) (\s@RasterDataCollectionMetadata' {} a -> s {description = a} :: RasterDataCollectionMetadata)++-- | The name of the raster data collection.+rasterDataCollectionMetadata_name :: Lens.Lens' RasterDataCollectionMetadata Prelude.Text+rasterDataCollectionMetadata_name = Lens.lens (\RasterDataCollectionMetadata' {name} -> name) (\s@RasterDataCollectionMetadata' {} a -> s {name = a} :: RasterDataCollectionMetadata)++rasterDataCollectionMetadata_supportedFilters :: Lens.Lens' RasterDataCollectionMetadata [Filter]+rasterDataCollectionMetadata_supportedFilters = Lens.lens (\RasterDataCollectionMetadata' {supportedFilters} -> supportedFilters) (\s@RasterDataCollectionMetadata' {} a -> s {supportedFilters = a} :: RasterDataCollectionMetadata) Prelude.. Lens.coerced++-- | The type of raster data collection.+rasterDataCollectionMetadata_type :: Lens.Lens' RasterDataCollectionMetadata DataCollectionType+rasterDataCollectionMetadata_type = Lens.lens (\RasterDataCollectionMetadata' {type'} -> type') (\s@RasterDataCollectionMetadata' {} a -> s {type' = a} :: RasterDataCollectionMetadata)++instance Data.FromJSON RasterDataCollectionMetadata where+  parseJSON =+    Data.withObject+      "RasterDataCollectionMetadata"+      ( \x ->+          RasterDataCollectionMetadata'+            Prelude.<$> (x Data..:? "DescriptionPageUrl")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "Description")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> ( x+                            Data..:? "SupportedFilters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "Type")+      )++instance+  Prelude.Hashable+    RasterDataCollectionMetadata+  where+  hashWithSalt _salt RasterDataCollectionMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` descriptionPageUrl+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` supportedFilters+      `Prelude.hashWithSalt` type'++instance Prelude.NFData RasterDataCollectionMetadata where+  rnf RasterDataCollectionMetadata' {..} =+    Prelude.rnf descriptionPageUrl+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf supportedFilters+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/RasterDataCollectionQueryInput.hs view
@@ -0,0 +1,129 @@+{-# 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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput+-- 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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+import Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput++-- |+--+-- /See:/ 'newRasterDataCollectionQueryInput' smart constructor.+data RasterDataCollectionQueryInput = RasterDataCollectionQueryInput'+  { -- | The area of interest being queried for the raster data collection.+    areaOfInterest :: Prelude.Maybe AreaOfInterest,+    propertyFilters :: Prelude.Maybe PropertyFilters,+    -- | The Amazon Resource Name (ARN) of the raster data collection.+    rasterDataCollectionArn :: Prelude.Text,+    timeRangeFilter :: Data.Sensitive TimeRangeFilterInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RasterDataCollectionQueryInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'areaOfInterest', 'rasterDataCollectionQueryInput_areaOfInterest' - The area of interest being queried for the raster data collection.+--+-- 'propertyFilters', 'rasterDataCollectionQueryInput_propertyFilters' -+--+-- 'rasterDataCollectionArn', 'rasterDataCollectionQueryInput_rasterDataCollectionArn' - The Amazon Resource Name (ARN) of the raster data collection.+--+-- 'timeRangeFilter', 'rasterDataCollectionQueryInput_timeRangeFilter' -+newRasterDataCollectionQueryInput ::+  -- | 'rasterDataCollectionArn'+  Prelude.Text ->+  -- | 'timeRangeFilter'+  TimeRangeFilterInput ->+  RasterDataCollectionQueryInput+newRasterDataCollectionQueryInput+  pRasterDataCollectionArn_+  pTimeRangeFilter_ =+    RasterDataCollectionQueryInput'+      { areaOfInterest =+          Prelude.Nothing,+        propertyFilters = Prelude.Nothing,+        rasterDataCollectionArn =+          pRasterDataCollectionArn_,+        timeRangeFilter =+          Data._Sensitive Lens.# pTimeRangeFilter_+      }++-- | The area of interest being queried for the raster data collection.+rasterDataCollectionQueryInput_areaOfInterest :: Lens.Lens' RasterDataCollectionQueryInput (Prelude.Maybe AreaOfInterest)+rasterDataCollectionQueryInput_areaOfInterest = Lens.lens (\RasterDataCollectionQueryInput' {areaOfInterest} -> areaOfInterest) (\s@RasterDataCollectionQueryInput' {} a -> s {areaOfInterest = a} :: RasterDataCollectionQueryInput)++rasterDataCollectionQueryInput_propertyFilters :: Lens.Lens' RasterDataCollectionQueryInput (Prelude.Maybe PropertyFilters)+rasterDataCollectionQueryInput_propertyFilters = Lens.lens (\RasterDataCollectionQueryInput' {propertyFilters} -> propertyFilters) (\s@RasterDataCollectionQueryInput' {} a -> s {propertyFilters = a} :: RasterDataCollectionQueryInput)++-- | The Amazon Resource Name (ARN) of the raster data collection.+rasterDataCollectionQueryInput_rasterDataCollectionArn :: Lens.Lens' RasterDataCollectionQueryInput Prelude.Text+rasterDataCollectionQueryInput_rasterDataCollectionArn = Lens.lens (\RasterDataCollectionQueryInput' {rasterDataCollectionArn} -> rasterDataCollectionArn) (\s@RasterDataCollectionQueryInput' {} a -> s {rasterDataCollectionArn = a} :: RasterDataCollectionQueryInput)++rasterDataCollectionQueryInput_timeRangeFilter :: Lens.Lens' RasterDataCollectionQueryInput TimeRangeFilterInput+rasterDataCollectionQueryInput_timeRangeFilter = Lens.lens (\RasterDataCollectionQueryInput' {timeRangeFilter} -> timeRangeFilter) (\s@RasterDataCollectionQueryInput' {} a -> s {timeRangeFilter = a} :: RasterDataCollectionQueryInput) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    RasterDataCollectionQueryInput+  where+  hashWithSalt+    _salt+    RasterDataCollectionQueryInput' {..} =+      _salt+        `Prelude.hashWithSalt` areaOfInterest+        `Prelude.hashWithSalt` propertyFilters+        `Prelude.hashWithSalt` rasterDataCollectionArn+        `Prelude.hashWithSalt` timeRangeFilter++instance+  Prelude.NFData+    RasterDataCollectionQueryInput+  where+  rnf RasterDataCollectionQueryInput' {..} =+    Prelude.rnf areaOfInterest+      `Prelude.seq` Prelude.rnf propertyFilters+      `Prelude.seq` Prelude.rnf rasterDataCollectionArn+      `Prelude.seq` Prelude.rnf timeRangeFilter++instance Data.ToJSON RasterDataCollectionQueryInput where+  toJSON RasterDataCollectionQueryInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AreaOfInterest" Data..=)+              Prelude.<$> areaOfInterest,+            ("PropertyFilters" Data..=)+              Prelude.<$> propertyFilters,+            Prelude.Just+              ( "RasterDataCollectionArn"+                  Data..= rasterDataCollectionArn+              ),+            Prelude.Just+              ("TimeRangeFilter" Data..= timeRangeFilter)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/RasterDataCollectionQueryOutput.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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput+-- 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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+import Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput++-- |+--+-- /See:/ 'newRasterDataCollectionQueryOutput' smart constructor.+data RasterDataCollectionQueryOutput = RasterDataCollectionQueryOutput'+  { areaOfInterest :: Prelude.Maybe AreaOfInterest,+    propertyFilters :: Prelude.Maybe PropertyFilters,+    rasterDataCollectionArn :: Prelude.Text,+    -- | The name of the raster data collection.+    rasterDataCollectionName :: Prelude.Text,+    timeRangeFilter :: Data.Sensitive TimeRangeFilterInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RasterDataCollectionQueryOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'areaOfInterest', 'rasterDataCollectionQueryOutput_areaOfInterest' -+--+-- 'propertyFilters', 'rasterDataCollectionQueryOutput_propertyFilters' -+--+-- 'rasterDataCollectionArn', 'rasterDataCollectionQueryOutput_rasterDataCollectionArn' -+--+-- 'rasterDataCollectionName', 'rasterDataCollectionQueryOutput_rasterDataCollectionName' - The name of the raster data collection.+--+-- 'timeRangeFilter', 'rasterDataCollectionQueryOutput_timeRangeFilter' -+newRasterDataCollectionQueryOutput ::+  -- | 'rasterDataCollectionArn'+  Prelude.Text ->+  -- | 'rasterDataCollectionName'+  Prelude.Text ->+  -- | 'timeRangeFilter'+  TimeRangeFilterInput ->+  RasterDataCollectionQueryOutput+newRasterDataCollectionQueryOutput+  pRasterDataCollectionArn_+  pRasterDataCollectionName_+  pTimeRangeFilter_ =+    RasterDataCollectionQueryOutput'+      { areaOfInterest =+          Prelude.Nothing,+        propertyFilters = Prelude.Nothing,+        rasterDataCollectionArn =+          pRasterDataCollectionArn_,+        rasterDataCollectionName =+          pRasterDataCollectionName_,+        timeRangeFilter =+          Data._Sensitive Lens.# pTimeRangeFilter_+      }++rasterDataCollectionQueryOutput_areaOfInterest :: Lens.Lens' RasterDataCollectionQueryOutput (Prelude.Maybe AreaOfInterest)+rasterDataCollectionQueryOutput_areaOfInterest = Lens.lens (\RasterDataCollectionQueryOutput' {areaOfInterest} -> areaOfInterest) (\s@RasterDataCollectionQueryOutput' {} a -> s {areaOfInterest = a} :: RasterDataCollectionQueryOutput)++rasterDataCollectionQueryOutput_propertyFilters :: Lens.Lens' RasterDataCollectionQueryOutput (Prelude.Maybe PropertyFilters)+rasterDataCollectionQueryOutput_propertyFilters = Lens.lens (\RasterDataCollectionQueryOutput' {propertyFilters} -> propertyFilters) (\s@RasterDataCollectionQueryOutput' {} a -> s {propertyFilters = a} :: RasterDataCollectionQueryOutput)++rasterDataCollectionQueryOutput_rasterDataCollectionArn :: Lens.Lens' RasterDataCollectionQueryOutput Prelude.Text+rasterDataCollectionQueryOutput_rasterDataCollectionArn = Lens.lens (\RasterDataCollectionQueryOutput' {rasterDataCollectionArn} -> rasterDataCollectionArn) (\s@RasterDataCollectionQueryOutput' {} a -> s {rasterDataCollectionArn = a} :: RasterDataCollectionQueryOutput)++-- | The name of the raster data collection.+rasterDataCollectionQueryOutput_rasterDataCollectionName :: Lens.Lens' RasterDataCollectionQueryOutput Prelude.Text+rasterDataCollectionQueryOutput_rasterDataCollectionName = Lens.lens (\RasterDataCollectionQueryOutput' {rasterDataCollectionName} -> rasterDataCollectionName) (\s@RasterDataCollectionQueryOutput' {} a -> s {rasterDataCollectionName = a} :: RasterDataCollectionQueryOutput)++rasterDataCollectionQueryOutput_timeRangeFilter :: Lens.Lens' RasterDataCollectionQueryOutput TimeRangeFilterInput+rasterDataCollectionQueryOutput_timeRangeFilter = Lens.lens (\RasterDataCollectionQueryOutput' {timeRangeFilter} -> timeRangeFilter) (\s@RasterDataCollectionQueryOutput' {} a -> s {timeRangeFilter = a} :: RasterDataCollectionQueryOutput) Prelude.. Data._Sensitive++instance+  Data.FromJSON+    RasterDataCollectionQueryOutput+  where+  parseJSON =+    Data.withObject+      "RasterDataCollectionQueryOutput"+      ( \x ->+          RasterDataCollectionQueryOutput'+            Prelude.<$> (x Data..:? "AreaOfInterest")+            Prelude.<*> (x Data..:? "PropertyFilters")+            Prelude.<*> (x Data..: "RasterDataCollectionArn")+            Prelude.<*> (x Data..: "RasterDataCollectionName")+            Prelude.<*> (x Data..: "TimeRangeFilter")+      )++instance+  Prelude.Hashable+    RasterDataCollectionQueryOutput+  where+  hashWithSalt+    _salt+    RasterDataCollectionQueryOutput' {..} =+      _salt+        `Prelude.hashWithSalt` areaOfInterest+        `Prelude.hashWithSalt` propertyFilters+        `Prelude.hashWithSalt` rasterDataCollectionArn+        `Prelude.hashWithSalt` rasterDataCollectionName+        `Prelude.hashWithSalt` timeRangeFilter++instance+  Prelude.NFData+    RasterDataCollectionQueryOutput+  where+  rnf RasterDataCollectionQueryOutput' {..} =+    Prelude.rnf areaOfInterest+      `Prelude.seq` Prelude.rnf propertyFilters+      `Prelude.seq` Prelude.rnf rasterDataCollectionArn+      `Prelude.seq` Prelude.rnf rasterDataCollectionName+      `Prelude.seq` Prelude.rnf timeRangeFilter
+ gen/Amazonka/SageMakerGeoSpatial/Types/RasterDataCollectionQueryWithBandFilterInput.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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryWithBandFilterInput+-- 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.SageMakerGeoSpatial.Types.RasterDataCollectionQueryWithBandFilterInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AreaOfInterest+import Amazonka.SageMakerGeoSpatial.Types.PropertyFilters+import Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput++-- | This is a RasterDataCollectionQueryInput containing AreaOfInterest, Time+-- Range filter and Property filters.+--+-- /See:/ 'newRasterDataCollectionQueryWithBandFilterInput' smart constructor.+data RasterDataCollectionQueryWithBandFilterInput = RasterDataCollectionQueryWithBandFilterInput'+  { areaOfInterest :: Prelude.Maybe AreaOfInterest,+    bandFilter :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    propertyFilters :: Prelude.Maybe PropertyFilters,+    timeRangeFilter :: Data.Sensitive TimeRangeFilterInput+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RasterDataCollectionQueryWithBandFilterInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'areaOfInterest', 'rasterDataCollectionQueryWithBandFilterInput_areaOfInterest' -+--+-- 'bandFilter', 'rasterDataCollectionQueryWithBandFilterInput_bandFilter' -+--+-- 'propertyFilters', 'rasterDataCollectionQueryWithBandFilterInput_propertyFilters' -+--+-- 'timeRangeFilter', 'rasterDataCollectionQueryWithBandFilterInput_timeRangeFilter' -+newRasterDataCollectionQueryWithBandFilterInput ::+  -- | 'timeRangeFilter'+  TimeRangeFilterInput ->+  RasterDataCollectionQueryWithBandFilterInput+newRasterDataCollectionQueryWithBandFilterInput+  pTimeRangeFilter_ =+    RasterDataCollectionQueryWithBandFilterInput'+      { areaOfInterest =+          Prelude.Nothing,+        bandFilter = Prelude.Nothing,+        propertyFilters =+          Prelude.Nothing,+        timeRangeFilter =+          Data._Sensitive+            Lens.# pTimeRangeFilter_+      }++rasterDataCollectionQueryWithBandFilterInput_areaOfInterest :: Lens.Lens' RasterDataCollectionQueryWithBandFilterInput (Prelude.Maybe AreaOfInterest)+rasterDataCollectionQueryWithBandFilterInput_areaOfInterest = Lens.lens (\RasterDataCollectionQueryWithBandFilterInput' {areaOfInterest} -> areaOfInterest) (\s@RasterDataCollectionQueryWithBandFilterInput' {} a -> s {areaOfInterest = a} :: RasterDataCollectionQueryWithBandFilterInput)++rasterDataCollectionQueryWithBandFilterInput_bandFilter :: Lens.Lens' RasterDataCollectionQueryWithBandFilterInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+rasterDataCollectionQueryWithBandFilterInput_bandFilter = Lens.lens (\RasterDataCollectionQueryWithBandFilterInput' {bandFilter} -> bandFilter) (\s@RasterDataCollectionQueryWithBandFilterInput' {} a -> s {bandFilter = a} :: RasterDataCollectionQueryWithBandFilterInput) Prelude.. Lens.mapping Lens.coerced++rasterDataCollectionQueryWithBandFilterInput_propertyFilters :: Lens.Lens' RasterDataCollectionQueryWithBandFilterInput (Prelude.Maybe PropertyFilters)+rasterDataCollectionQueryWithBandFilterInput_propertyFilters = Lens.lens (\RasterDataCollectionQueryWithBandFilterInput' {propertyFilters} -> propertyFilters) (\s@RasterDataCollectionQueryWithBandFilterInput' {} a -> s {propertyFilters = a} :: RasterDataCollectionQueryWithBandFilterInput)++rasterDataCollectionQueryWithBandFilterInput_timeRangeFilter :: Lens.Lens' RasterDataCollectionQueryWithBandFilterInput TimeRangeFilterInput+rasterDataCollectionQueryWithBandFilterInput_timeRangeFilter = Lens.lens (\RasterDataCollectionQueryWithBandFilterInput' {timeRangeFilter} -> timeRangeFilter) (\s@RasterDataCollectionQueryWithBandFilterInput' {} a -> s {timeRangeFilter = a} :: RasterDataCollectionQueryWithBandFilterInput) Prelude.. Data._Sensitive++instance+  Prelude.Hashable+    RasterDataCollectionQueryWithBandFilterInput+  where+  hashWithSalt+    _salt+    RasterDataCollectionQueryWithBandFilterInput' {..} =+      _salt+        `Prelude.hashWithSalt` areaOfInterest+        `Prelude.hashWithSalt` bandFilter+        `Prelude.hashWithSalt` propertyFilters+        `Prelude.hashWithSalt` timeRangeFilter++instance+  Prelude.NFData+    RasterDataCollectionQueryWithBandFilterInput+  where+  rnf RasterDataCollectionQueryWithBandFilterInput' {..} =+    Prelude.rnf areaOfInterest+      `Prelude.seq` Prelude.rnf bandFilter+      `Prelude.seq` Prelude.rnf propertyFilters+      `Prelude.seq` Prelude.rnf timeRangeFilter++instance+  Data.ToJSON+    RasterDataCollectionQueryWithBandFilterInput+  where+  toJSON+    RasterDataCollectionQueryWithBandFilterInput' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("AreaOfInterest" Data..=)+                Prelude.<$> areaOfInterest,+              ("BandFilter" Data..=) Prelude.<$> bandFilter,+              ("PropertyFilters" Data..=)+                Prelude.<$> propertyFilters,+              Prelude.Just+                ("TimeRangeFilter" Data..= timeRangeFilter)+            ]+        )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ResamplingConfigInput.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.SageMakerGeoSpatial.Types.ResamplingConfigInput+-- 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.SageMakerGeoSpatial.Types.ResamplingConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.AlgorithmNameResampling+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionResamplingInput++-- |+--+-- /See:/ 'newResamplingConfigInput' smart constructor.+data ResamplingConfigInput = ResamplingConfigInput'+  { -- | The name of the algorithm used for resampling.+    algorithmName :: Prelude.Maybe AlgorithmNameResampling,+    targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    outputResolution :: OutputResolutionResamplingInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResamplingConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithmName', 'resamplingConfigInput_algorithmName' - The name of the algorithm used for resampling.+--+-- 'targetBands', 'resamplingConfigInput_targetBands' -+--+-- 'outputResolution', 'resamplingConfigInput_outputResolution' -+newResamplingConfigInput ::+  -- | 'outputResolution'+  OutputResolutionResamplingInput ->+  ResamplingConfigInput+newResamplingConfigInput pOutputResolution_ =+  ResamplingConfigInput'+    { algorithmName =+        Prelude.Nothing,+      targetBands = Prelude.Nothing,+      outputResolution = pOutputResolution_+    }++-- | The name of the algorithm used for resampling.+resamplingConfigInput_algorithmName :: Lens.Lens' ResamplingConfigInput (Prelude.Maybe AlgorithmNameResampling)+resamplingConfigInput_algorithmName = Lens.lens (\ResamplingConfigInput' {algorithmName} -> algorithmName) (\s@ResamplingConfigInput' {} a -> s {algorithmName = a} :: ResamplingConfigInput)++resamplingConfigInput_targetBands :: Lens.Lens' ResamplingConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+resamplingConfigInput_targetBands = Lens.lens (\ResamplingConfigInput' {targetBands} -> targetBands) (\s@ResamplingConfigInput' {} a -> s {targetBands = a} :: ResamplingConfigInput) Prelude.. Lens.mapping Lens.coerced++resamplingConfigInput_outputResolution :: Lens.Lens' ResamplingConfigInput OutputResolutionResamplingInput+resamplingConfigInput_outputResolution = Lens.lens (\ResamplingConfigInput' {outputResolution} -> outputResolution) (\s@ResamplingConfigInput' {} a -> s {outputResolution = a} :: ResamplingConfigInput)++instance Data.FromJSON ResamplingConfigInput where+  parseJSON =+    Data.withObject+      "ResamplingConfigInput"+      ( \x ->+          ResamplingConfigInput'+            Prelude.<$> (x Data..:? "AlgorithmName")+            Prelude.<*> (x Data..:? "TargetBands")+            Prelude.<*> (x Data..: "OutputResolution")+      )++instance Prelude.Hashable ResamplingConfigInput where+  hashWithSalt _salt ResamplingConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` algorithmName+      `Prelude.hashWithSalt` targetBands+      `Prelude.hashWithSalt` outputResolution++instance Prelude.NFData ResamplingConfigInput where+  rnf ResamplingConfigInput' {..} =+    Prelude.rnf algorithmName+      `Prelude.seq` Prelude.rnf targetBands+      `Prelude.seq` Prelude.rnf outputResolution++instance Data.ToJSON ResamplingConfigInput where+  toJSON ResamplingConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AlgorithmName" Data..=) Prelude.<$> algorithmName,+            ("TargetBands" Data..=) Prelude.<$> targetBands,+            Prelude.Just+              ("OutputResolution" Data..= outputResolution)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ReverseGeocodingConfig.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.ReverseGeocodingConfig+-- 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.SageMakerGeoSpatial.Types.ReverseGeocodingConfig 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++-- |+--+-- /See:/ 'newReverseGeocodingConfig' smart constructor.+data ReverseGeocodingConfig = ReverseGeocodingConfig'+  { xAttributeName :: Prelude.Text,+    yAttributeName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReverseGeocodingConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'xAttributeName', 'reverseGeocodingConfig_xAttributeName' -+--+-- 'yAttributeName', 'reverseGeocodingConfig_yAttributeName' -+newReverseGeocodingConfig ::+  -- | 'xAttributeName'+  Prelude.Text ->+  -- | 'yAttributeName'+  Prelude.Text ->+  ReverseGeocodingConfig+newReverseGeocodingConfig+  pXAttributeName_+  pYAttributeName_ =+    ReverseGeocodingConfig'+      { xAttributeName =+          pXAttributeName_,+        yAttributeName = pYAttributeName_+      }++reverseGeocodingConfig_xAttributeName :: Lens.Lens' ReverseGeocodingConfig Prelude.Text+reverseGeocodingConfig_xAttributeName = Lens.lens (\ReverseGeocodingConfig' {xAttributeName} -> xAttributeName) (\s@ReverseGeocodingConfig' {} a -> s {xAttributeName = a} :: ReverseGeocodingConfig)++reverseGeocodingConfig_yAttributeName :: Lens.Lens' ReverseGeocodingConfig Prelude.Text+reverseGeocodingConfig_yAttributeName = Lens.lens (\ReverseGeocodingConfig' {yAttributeName} -> yAttributeName) (\s@ReverseGeocodingConfig' {} a -> s {yAttributeName = a} :: ReverseGeocodingConfig)++instance Data.FromJSON ReverseGeocodingConfig where+  parseJSON =+    Data.withObject+      "ReverseGeocodingConfig"+      ( \x ->+          ReverseGeocodingConfig'+            Prelude.<$> (x Data..: "XAttributeName")+            Prelude.<*> (x Data..: "YAttributeName")+      )++instance Prelude.Hashable ReverseGeocodingConfig where+  hashWithSalt _salt ReverseGeocodingConfig' {..} =+    _salt+      `Prelude.hashWithSalt` xAttributeName+      `Prelude.hashWithSalt` yAttributeName++instance Prelude.NFData ReverseGeocodingConfig where+  rnf ReverseGeocodingConfig' {..} =+    Prelude.rnf xAttributeName+      `Prelude.seq` Prelude.rnf yAttributeName++instance Data.ToJSON ReverseGeocodingConfig where+  toJSON ReverseGeocodingConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("XAttributeName" Data..= xAttributeName),+            Prelude.Just+              ("YAttributeName" Data..= yAttributeName)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/S3DataInput.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.SageMakerGeoSpatial.Types.S3DataInput+-- 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.SageMakerGeoSpatial.Types.S3DataInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.MetadataProvider++-- | Path to Amazon S3 storage location for input data.+--+-- /See:/ 'newS3DataInput' smart constructor.+data S3DataInput = S3DataInput'+  { -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    metadataProvider :: MetadataProvider,+    -- | The URL to the Amazon S3 input.+    s3Uri :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3DataInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 's3DataInput_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 'metadataProvider', 's3DataInput_metadataProvider' -+--+-- 's3Uri', 's3DataInput_s3Uri' - The URL to the Amazon S3 input.+newS3DataInput ::+  -- | 'metadataProvider'+  MetadataProvider ->+  -- | 's3Uri'+  Prelude.Text ->+  S3DataInput+newS3DataInput pMetadataProvider_ pS3Uri_ =+  S3DataInput'+    { kmsKeyId = Prelude.Nothing,+      metadataProvider = pMetadataProvider_,+      s3Uri = pS3Uri_+    }++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+s3DataInput_kmsKeyId :: Lens.Lens' S3DataInput (Prelude.Maybe Prelude.Text)+s3DataInput_kmsKeyId = Lens.lens (\S3DataInput' {kmsKeyId} -> kmsKeyId) (\s@S3DataInput' {} a -> s {kmsKeyId = a} :: S3DataInput)++s3DataInput_metadataProvider :: Lens.Lens' S3DataInput MetadataProvider+s3DataInput_metadataProvider = Lens.lens (\S3DataInput' {metadataProvider} -> metadataProvider) (\s@S3DataInput' {} a -> s {metadataProvider = a} :: S3DataInput)++-- | The URL to the Amazon S3 input.+s3DataInput_s3Uri :: Lens.Lens' S3DataInput Prelude.Text+s3DataInput_s3Uri = Lens.lens (\S3DataInput' {s3Uri} -> s3Uri) (\s@S3DataInput' {} a -> s {s3Uri = a} :: S3DataInput)++instance Data.FromJSON S3DataInput where+  parseJSON =+    Data.withObject+      "S3DataInput"+      ( \x ->+          S3DataInput'+            Prelude.<$> (x Data..:? "KmsKeyId")+            Prelude.<*> (x Data..: "MetadataProvider")+            Prelude.<*> (x Data..: "S3Uri")+      )++instance Prelude.Hashable S3DataInput where+  hashWithSalt _salt S3DataInput' {..} =+    _salt+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` metadataProvider+      `Prelude.hashWithSalt` s3Uri++instance Prelude.NFData S3DataInput where+  rnf S3DataInput' {..} =+    Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf metadataProvider+      `Prelude.seq` Prelude.rnf s3Uri++instance Data.ToJSON S3DataInput where+  toJSON S3DataInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+            Prelude.Just+              ("MetadataProvider" Data..= metadataProvider),+            Prelude.Just ("S3Uri" Data..= s3Uri)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/SortOrder.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.SageMakerGeoSpatial.Types.SortOrder+-- 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.SageMakerGeoSpatial.Types.SortOrder+  ( SortOrder+      ( ..,+        SortOrder_ASCENDING,+        SortOrder_DESCENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+  { fromSortOrder ::+      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 SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+  SortOrder_ASCENDING,+  SortOrder_DESCENDING,+  SortOrder'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/StackConfigInput.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.SageMakerGeoSpatial.Types.StackConfigInput+-- 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.SageMakerGeoSpatial.Types.StackConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.OutputResolutionStackInput++-- |+--+-- /See:/ 'newStackConfigInput' smart constructor.+data StackConfigInput = StackConfigInput'+  { outputResolution :: Prelude.Maybe OutputResolutionStackInput,+    targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StackConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputResolution', 'stackConfigInput_outputResolution' -+--+-- 'targetBands', 'stackConfigInput_targetBands' -+newStackConfigInput ::+  StackConfigInput+newStackConfigInput =+  StackConfigInput'+    { outputResolution =+        Prelude.Nothing,+      targetBands = Prelude.Nothing+    }++stackConfigInput_outputResolution :: Lens.Lens' StackConfigInput (Prelude.Maybe OutputResolutionStackInput)+stackConfigInput_outputResolution = Lens.lens (\StackConfigInput' {outputResolution} -> outputResolution) (\s@StackConfigInput' {} a -> s {outputResolution = a} :: StackConfigInput)++stackConfigInput_targetBands :: Lens.Lens' StackConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+stackConfigInput_targetBands = Lens.lens (\StackConfigInput' {targetBands} -> targetBands) (\s@StackConfigInput' {} a -> s {targetBands = a} :: StackConfigInput) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StackConfigInput where+  parseJSON =+    Data.withObject+      "StackConfigInput"+      ( \x ->+          StackConfigInput'+            Prelude.<$> (x Data..:? "OutputResolution")+            Prelude.<*> (x Data..:? "TargetBands")+      )++instance Prelude.Hashable StackConfigInput where+  hashWithSalt _salt StackConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` outputResolution+      `Prelude.hashWithSalt` targetBands++instance Prelude.NFData StackConfigInput where+  rnf StackConfigInput' {..} =+    Prelude.rnf outputResolution+      `Prelude.seq` Prelude.rnf targetBands++instance Data.ToJSON StackConfigInput where+  toJSON StackConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("OutputResolution" Data..=)+              Prelude.<$> outputResolution,+            ("TargetBands" Data..=) Prelude.<$> targetBands+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/TargetOptions.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.SageMakerGeoSpatial.Types.TargetOptions+-- 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.SageMakerGeoSpatial.Types.TargetOptions+  ( TargetOptions+      ( ..,+        TargetOptions_INPUT,+        TargetOptions_OUTPUT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetOptions = TargetOptions'+  { fromTargetOptions ::+      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 TargetOptions_INPUT :: TargetOptions+pattern TargetOptions_INPUT = TargetOptions' "INPUT"++pattern TargetOptions_OUTPUT :: TargetOptions+pattern TargetOptions_OUTPUT = TargetOptions' "OUTPUT"++{-# COMPLETE+  TargetOptions_INPUT,+  TargetOptions_OUTPUT,+  TargetOptions'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/TemporalStatistics.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.SageMakerGeoSpatial.Types.TemporalStatistics+-- 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.SageMakerGeoSpatial.Types.TemporalStatistics+  ( TemporalStatistics+      ( ..,+        TemporalStatistics_MEAN,+        TemporalStatistics_MEDIAN,+        TemporalStatistics_STANDARD_DEVIATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TemporalStatistics = TemporalStatistics'+  { fromTemporalStatistics ::+      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 TemporalStatistics_MEAN :: TemporalStatistics+pattern TemporalStatistics_MEAN = TemporalStatistics' "MEAN"++pattern TemporalStatistics_MEDIAN :: TemporalStatistics+pattern TemporalStatistics_MEDIAN = TemporalStatistics' "MEDIAN"++pattern TemporalStatistics_STANDARD_DEVIATION :: TemporalStatistics+pattern TemporalStatistics_STANDARD_DEVIATION = TemporalStatistics' "STANDARD_DEVIATION"++{-# COMPLETE+  TemporalStatistics_MEAN,+  TemporalStatistics_MEDIAN,+  TemporalStatistics_STANDARD_DEVIATION,+  TemporalStatistics'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/TemporalStatisticsConfigInput.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.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput+-- 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.SageMakerGeoSpatial.Types.TemporalStatisticsConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.GroupBy+import Amazonka.SageMakerGeoSpatial.Types.TemporalStatistics++-- |+--+-- /See:/ 'newTemporalStatisticsConfigInput' smart constructor.+data TemporalStatisticsConfigInput = TemporalStatisticsConfigInput'+  { groupBy :: Prelude.Maybe GroupBy,+    targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    statistics :: Prelude.NonEmpty TemporalStatistics+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemporalStatisticsConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groupBy', 'temporalStatisticsConfigInput_groupBy' -+--+-- 'targetBands', 'temporalStatisticsConfigInput_targetBands' -+--+-- 'statistics', 'temporalStatisticsConfigInput_statistics' -+newTemporalStatisticsConfigInput ::+  -- | 'statistics'+  Prelude.NonEmpty TemporalStatistics ->+  TemporalStatisticsConfigInput+newTemporalStatisticsConfigInput pStatistics_ =+  TemporalStatisticsConfigInput'+    { groupBy =+        Prelude.Nothing,+      targetBands = Prelude.Nothing,+      statistics =+        Lens.coerced Lens.# pStatistics_+    }++temporalStatisticsConfigInput_groupBy :: Lens.Lens' TemporalStatisticsConfigInput (Prelude.Maybe GroupBy)+temporalStatisticsConfigInput_groupBy = Lens.lens (\TemporalStatisticsConfigInput' {groupBy} -> groupBy) (\s@TemporalStatisticsConfigInput' {} a -> s {groupBy = a} :: TemporalStatisticsConfigInput)++temporalStatisticsConfigInput_targetBands :: Lens.Lens' TemporalStatisticsConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+temporalStatisticsConfigInput_targetBands = Lens.lens (\TemporalStatisticsConfigInput' {targetBands} -> targetBands) (\s@TemporalStatisticsConfigInput' {} a -> s {targetBands = a} :: TemporalStatisticsConfigInput) Prelude.. Lens.mapping Lens.coerced++temporalStatisticsConfigInput_statistics :: Lens.Lens' TemporalStatisticsConfigInput (Prelude.NonEmpty TemporalStatistics)+temporalStatisticsConfigInput_statistics = Lens.lens (\TemporalStatisticsConfigInput' {statistics} -> statistics) (\s@TemporalStatisticsConfigInput' {} a -> s {statistics = a} :: TemporalStatisticsConfigInput) Prelude.. Lens.coerced++instance Data.FromJSON TemporalStatisticsConfigInput where+  parseJSON =+    Data.withObject+      "TemporalStatisticsConfigInput"+      ( \x ->+          TemporalStatisticsConfigInput'+            Prelude.<$> (x Data..:? "GroupBy")+            Prelude.<*> (x Data..:? "TargetBands")+            Prelude.<*> (x Data..: "Statistics")+      )++instance+  Prelude.Hashable+    TemporalStatisticsConfigInput+  where+  hashWithSalt _salt TemporalStatisticsConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` groupBy+      `Prelude.hashWithSalt` targetBands+      `Prelude.hashWithSalt` statistics++instance Prelude.NFData TemporalStatisticsConfigInput where+  rnf TemporalStatisticsConfigInput' {..} =+    Prelude.rnf groupBy+      `Prelude.seq` Prelude.rnf targetBands+      `Prelude.seq` Prelude.rnf statistics++instance Data.ToJSON TemporalStatisticsConfigInput where+  toJSON TemporalStatisticsConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GroupBy" Data..=) Prelude.<$> groupBy,+            ("TargetBands" Data..=) Prelude.<$> targetBands,+            Prelude.Just ("Statistics" Data..= statistics)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/TimeRangeFilterInput.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.TimeRangeFilterInput+-- 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.SageMakerGeoSpatial.Types.TimeRangeFilterInput 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 input for the time-range filter.+--+-- /See:/ 'newTimeRangeFilterInput' smart constructor.+data TimeRangeFilterInput = TimeRangeFilterInput'+  { -- | The end time for the time-range filter.+    endTime :: Data.POSIX,+    -- | The start time for the time-range filter.+    startTime :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeRangeFilterInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTime', 'timeRangeFilterInput_endTime' - The end time for the time-range filter.+--+-- 'startTime', 'timeRangeFilterInput_startTime' - The start time for the time-range filter.+newTimeRangeFilterInput ::+  -- | 'endTime'+  Prelude.UTCTime ->+  -- | 'startTime'+  Prelude.UTCTime ->+  TimeRangeFilterInput+newTimeRangeFilterInput pEndTime_ pStartTime_ =+  TimeRangeFilterInput'+    { endTime =+        Data._Time Lens.# pEndTime_,+      startTime = Data._Time Lens.# pStartTime_+    }++-- | The end time for the time-range filter.+timeRangeFilterInput_endTime :: Lens.Lens' TimeRangeFilterInput Prelude.UTCTime+timeRangeFilterInput_endTime = Lens.lens (\TimeRangeFilterInput' {endTime} -> endTime) (\s@TimeRangeFilterInput' {} a -> s {endTime = a} :: TimeRangeFilterInput) Prelude.. Data._Time++-- | The start time for the time-range filter.+timeRangeFilterInput_startTime :: Lens.Lens' TimeRangeFilterInput Prelude.UTCTime+timeRangeFilterInput_startTime = Lens.lens (\TimeRangeFilterInput' {startTime} -> startTime) (\s@TimeRangeFilterInput' {} a -> s {startTime = a} :: TimeRangeFilterInput) Prelude.. Data._Time++instance Data.FromJSON TimeRangeFilterInput where+  parseJSON =+    Data.withObject+      "TimeRangeFilterInput"+      ( \x ->+          TimeRangeFilterInput'+            Prelude.<$> (x Data..: "EndTime")+            Prelude.<*> (x Data..: "StartTime")+      )++instance Prelude.Hashable TimeRangeFilterInput where+  hashWithSalt _salt TimeRangeFilterInput' {..} =+    _salt+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` startTime++instance Prelude.NFData TimeRangeFilterInput where+  rnf TimeRangeFilterInput' {..} =+    Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf startTime++instance Data.ToJSON TimeRangeFilterInput where+  toJSON TimeRangeFilterInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("EndTime" Data..= endTime),+            Prelude.Just ("StartTime" Data..= startTime)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/Unit.hs view
@@ -0,0 +1,63 @@+{-# 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.SageMakerGeoSpatial.Types.Unit+-- 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.SageMakerGeoSpatial.Types.Unit+  ( Unit+      ( ..,+        Unit_METERS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Unit = Unit' {fromUnit :: 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 Unit_METERS :: Unit+pattern Unit_METERS = Unit' "METERS"++{-# COMPLETE+  Unit_METERS,+  Unit'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/UserDefined.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.UserDefined+-- 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.SageMakerGeoSpatial.Types.UserDefined where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.Unit++-- |+--+-- /See:/ 'newUserDefined' smart constructor.+data UserDefined = UserDefined'+  { unit :: Unit,+    value :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserDefined' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'unit', 'userDefined_unit' -+--+-- 'value', 'userDefined_value' -+newUserDefined ::+  -- | 'unit'+  Unit ->+  -- | 'value'+  Prelude.Double ->+  UserDefined+newUserDefined pUnit_ pValue_ =+  UserDefined' {unit = pUnit_, value = pValue_}++userDefined_unit :: Lens.Lens' UserDefined Unit+userDefined_unit = Lens.lens (\UserDefined' {unit} -> unit) (\s@UserDefined' {} a -> s {unit = a} :: UserDefined)++userDefined_value :: Lens.Lens' UserDefined Prelude.Double+userDefined_value = Lens.lens (\UserDefined' {value} -> value) (\s@UserDefined' {} a -> s {value = a} :: UserDefined)++instance Data.FromJSON UserDefined where+  parseJSON =+    Data.withObject+      "UserDefined"+      ( \x ->+          UserDefined'+            Prelude.<$> (x Data..: "Unit")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable UserDefined where+  hashWithSalt _salt UserDefined' {..} =+    _salt+      `Prelude.hashWithSalt` unit+      `Prelude.hashWithSalt` value++instance Prelude.NFData UserDefined where+  rnf UserDefined' {..} =+    Prelude.rnf unit `Prelude.seq` Prelude.rnf value++instance Data.ToJSON UserDefined where+  toJSON UserDefined' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Unit" Data..= unit),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobConfig.hs view
@@ -0,0 +1,95 @@+{-# 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobConfig+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.MapMatchingConfig+import Amazonka.SageMakerGeoSpatial.Types.ReverseGeocodingConfig++-- | It contains configs such as ReverseGeocodingConfig and+-- MapMatchingConfig.+--+-- /See:/ 'newVectorEnrichmentJobConfig' smart constructor.+data VectorEnrichmentJobConfig = VectorEnrichmentJobConfig'+  { mapMatchingConfig :: Prelude.Maybe MapMatchingConfig,+    reverseGeocodingConfig :: Prelude.Maybe ReverseGeocodingConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mapMatchingConfig', 'vectorEnrichmentJobConfig_mapMatchingConfig' -+--+-- 'reverseGeocodingConfig', 'vectorEnrichmentJobConfig_reverseGeocodingConfig' -+newVectorEnrichmentJobConfig ::+  VectorEnrichmentJobConfig+newVectorEnrichmentJobConfig =+  VectorEnrichmentJobConfig'+    { mapMatchingConfig =+        Prelude.Nothing,+      reverseGeocodingConfig = Prelude.Nothing+    }++vectorEnrichmentJobConfig_mapMatchingConfig :: Lens.Lens' VectorEnrichmentJobConfig (Prelude.Maybe MapMatchingConfig)+vectorEnrichmentJobConfig_mapMatchingConfig = Lens.lens (\VectorEnrichmentJobConfig' {mapMatchingConfig} -> mapMatchingConfig) (\s@VectorEnrichmentJobConfig' {} a -> s {mapMatchingConfig = a} :: VectorEnrichmentJobConfig)++vectorEnrichmentJobConfig_reverseGeocodingConfig :: Lens.Lens' VectorEnrichmentJobConfig (Prelude.Maybe ReverseGeocodingConfig)+vectorEnrichmentJobConfig_reverseGeocodingConfig = Lens.lens (\VectorEnrichmentJobConfig' {reverseGeocodingConfig} -> reverseGeocodingConfig) (\s@VectorEnrichmentJobConfig' {} a -> s {reverseGeocodingConfig = a} :: VectorEnrichmentJobConfig)++instance Data.FromJSON VectorEnrichmentJobConfig where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobConfig"+      ( \x ->+          VectorEnrichmentJobConfig'+            Prelude.<$> (x Data..:? "MapMatchingConfig")+            Prelude.<*> (x Data..:? "ReverseGeocodingConfig")+      )++instance Prelude.Hashable VectorEnrichmentJobConfig where+  hashWithSalt _salt VectorEnrichmentJobConfig' {..} =+    _salt+      `Prelude.hashWithSalt` mapMatchingConfig+      `Prelude.hashWithSalt` reverseGeocodingConfig++instance Prelude.NFData VectorEnrichmentJobConfig where+  rnf VectorEnrichmentJobConfig' {..} =+    Prelude.rnf mapMatchingConfig+      `Prelude.seq` Prelude.rnf reverseGeocodingConfig++instance Data.ToJSON VectorEnrichmentJobConfig where+  toJSON VectorEnrichmentJobConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MapMatchingConfig" Data..=)+              Prelude.<$> mapMatchingConfig,+            ("ReverseGeocodingConfig" Data..=)+              Prelude.<$> reverseGeocodingConfig+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobDataSourceConfigInput.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data++-- |+--+-- /See:/ 'newVectorEnrichmentJobDataSourceConfigInput' smart constructor.+data VectorEnrichmentJobDataSourceConfigInput = VectorEnrichmentJobDataSourceConfigInput'+  { s3Data :: Prelude.Maybe VectorEnrichmentJobS3Data+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobDataSourceConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Data', 'vectorEnrichmentJobDataSourceConfigInput_s3Data' -+newVectorEnrichmentJobDataSourceConfigInput ::+  VectorEnrichmentJobDataSourceConfigInput+newVectorEnrichmentJobDataSourceConfigInput =+  VectorEnrichmentJobDataSourceConfigInput'+    { s3Data =+        Prelude.Nothing+    }++vectorEnrichmentJobDataSourceConfigInput_s3Data :: Lens.Lens' VectorEnrichmentJobDataSourceConfigInput (Prelude.Maybe VectorEnrichmentJobS3Data)+vectorEnrichmentJobDataSourceConfigInput_s3Data = Lens.lens (\VectorEnrichmentJobDataSourceConfigInput' {s3Data} -> s3Data) (\s@VectorEnrichmentJobDataSourceConfigInput' {} a -> s {s3Data = a} :: VectorEnrichmentJobDataSourceConfigInput)++instance+  Data.FromJSON+    VectorEnrichmentJobDataSourceConfigInput+  where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobDataSourceConfigInput"+      ( \x ->+          VectorEnrichmentJobDataSourceConfigInput'+            Prelude.<$> (x Data..:? "S3Data")+      )++instance+  Prelude.Hashable+    VectorEnrichmentJobDataSourceConfigInput+  where+  hashWithSalt+    _salt+    VectorEnrichmentJobDataSourceConfigInput' {..} =+      _salt `Prelude.hashWithSalt` s3Data++instance+  Prelude.NFData+    VectorEnrichmentJobDataSourceConfigInput+  where+  rnf VectorEnrichmentJobDataSourceConfigInput' {..} =+    Prelude.rnf s3Data++instance+  Data.ToJSON+    VectorEnrichmentJobDataSourceConfigInput+  where+  toJSON VectorEnrichmentJobDataSourceConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [("S3Data" Data..=) Prelude.<$> s3Data]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobDocumentType.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobDocumentType+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobDocumentType+  ( VectorEnrichmentJobDocumentType+      ( ..,+        VectorEnrichmentJobDocumentType_CSV+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobDocumentType = VectorEnrichmentJobDocumentType'+  { fromVectorEnrichmentJobDocumentType ::+      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 VectorEnrichmentJobDocumentType_CSV :: VectorEnrichmentJobDocumentType+pattern VectorEnrichmentJobDocumentType_CSV = VectorEnrichmentJobDocumentType' "CSV"++{-# COMPLETE+  VectorEnrichmentJobDocumentType_CSV,+  VectorEnrichmentJobDocumentType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobErrorDetails.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorDetails+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorType++-- | VectorEnrichmentJob error details in response from+-- GetVectorEnrichmentJob.+--+-- /See:/ 'newVectorEnrichmentJobErrorDetails' smart constructor.+data VectorEnrichmentJobErrorDetails = VectorEnrichmentJobErrorDetails'+  { -- | A message that you define and then is processed and rendered by the+    -- Vector Enrichment job when the error occurs.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | The type of error generated during the Vector Enrichment job.+    errorType :: Prelude.Maybe VectorEnrichmentJobErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorMessage', 'vectorEnrichmentJobErrorDetails_errorMessage' - A message that you define and then is processed and rendered by the+-- Vector Enrichment job when the error occurs.+--+-- 'errorType', 'vectorEnrichmentJobErrorDetails_errorType' - The type of error generated during the Vector Enrichment job.+newVectorEnrichmentJobErrorDetails ::+  VectorEnrichmentJobErrorDetails+newVectorEnrichmentJobErrorDetails =+  VectorEnrichmentJobErrorDetails'+    { errorMessage =+        Prelude.Nothing,+      errorType = Prelude.Nothing+    }++-- | A message that you define and then is processed and rendered by the+-- Vector Enrichment job when the error occurs.+vectorEnrichmentJobErrorDetails_errorMessage :: Lens.Lens' VectorEnrichmentJobErrorDetails (Prelude.Maybe Prelude.Text)+vectorEnrichmentJobErrorDetails_errorMessage = Lens.lens (\VectorEnrichmentJobErrorDetails' {errorMessage} -> errorMessage) (\s@VectorEnrichmentJobErrorDetails' {} a -> s {errorMessage = a} :: VectorEnrichmentJobErrorDetails)++-- | The type of error generated during the Vector Enrichment job.+vectorEnrichmentJobErrorDetails_errorType :: Lens.Lens' VectorEnrichmentJobErrorDetails (Prelude.Maybe VectorEnrichmentJobErrorType)+vectorEnrichmentJobErrorDetails_errorType = Lens.lens (\VectorEnrichmentJobErrorDetails' {errorType} -> errorType) (\s@VectorEnrichmentJobErrorDetails' {} a -> s {errorType = a} :: VectorEnrichmentJobErrorDetails)++instance+  Data.FromJSON+    VectorEnrichmentJobErrorDetails+  where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobErrorDetails"+      ( \x ->+          VectorEnrichmentJobErrorDetails'+            Prelude.<$> (x Data..:? "ErrorMessage")+            Prelude.<*> (x Data..:? "ErrorType")+      )++instance+  Prelude.Hashable+    VectorEnrichmentJobErrorDetails+  where+  hashWithSalt+    _salt+    VectorEnrichmentJobErrorDetails' {..} =+      _salt+        `Prelude.hashWithSalt` errorMessage+        `Prelude.hashWithSalt` errorType++instance+  Prelude.NFData+    VectorEnrichmentJobErrorDetails+  where+  rnf VectorEnrichmentJobErrorDetails' {..} =+    Prelude.rnf errorMessage+      `Prelude.seq` Prelude.rnf errorType
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobErrorType.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorType+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobErrorType+  ( VectorEnrichmentJobErrorType+      ( ..,+        VectorEnrichmentJobErrorType_CLIENT_ERROR,+        VectorEnrichmentJobErrorType_SERVER_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobErrorType = VectorEnrichmentJobErrorType'+  { fromVectorEnrichmentJobErrorType ::+      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 VectorEnrichmentJobErrorType_CLIENT_ERROR :: VectorEnrichmentJobErrorType+pattern VectorEnrichmentJobErrorType_CLIENT_ERROR = VectorEnrichmentJobErrorType' "CLIENT_ERROR"++pattern VectorEnrichmentJobErrorType_SERVER_ERROR :: VectorEnrichmentJobErrorType+pattern VectorEnrichmentJobErrorType_SERVER_ERROR = VectorEnrichmentJobErrorType' "SERVER_ERROR"++{-# COMPLETE+  VectorEnrichmentJobErrorType_CLIENT_ERROR,+  VectorEnrichmentJobErrorType_SERVER_ERROR,+  VectorEnrichmentJobErrorType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobExportErrorDetails.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorDetails+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorType++-- | VectorEnrichmentJob export error details in response from+-- GetVectorEnrichmentJob.+--+-- /See:/ 'newVectorEnrichmentJobExportErrorDetails' smart constructor.+data VectorEnrichmentJobExportErrorDetails = VectorEnrichmentJobExportErrorDetails'+  { -- | The message providing details about the errors generated during the+    -- Vector Enrichment job.+    message :: Prelude.Maybe Prelude.Text,+    type' :: Prelude.Maybe VectorEnrichmentJobExportErrorType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobExportErrorDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'vectorEnrichmentJobExportErrorDetails_message' - The message providing details about the errors generated during the+-- Vector Enrichment job.+--+-- 'type'', 'vectorEnrichmentJobExportErrorDetails_type' -+newVectorEnrichmentJobExportErrorDetails ::+  VectorEnrichmentJobExportErrorDetails+newVectorEnrichmentJobExportErrorDetails =+  VectorEnrichmentJobExportErrorDetails'+    { message =+        Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The message providing details about the errors generated during the+-- Vector Enrichment job.+vectorEnrichmentJobExportErrorDetails_message :: Lens.Lens' VectorEnrichmentJobExportErrorDetails (Prelude.Maybe Prelude.Text)+vectorEnrichmentJobExportErrorDetails_message = Lens.lens (\VectorEnrichmentJobExportErrorDetails' {message} -> message) (\s@VectorEnrichmentJobExportErrorDetails' {} a -> s {message = a} :: VectorEnrichmentJobExportErrorDetails)++vectorEnrichmentJobExportErrorDetails_type :: Lens.Lens' VectorEnrichmentJobExportErrorDetails (Prelude.Maybe VectorEnrichmentJobExportErrorType)+vectorEnrichmentJobExportErrorDetails_type = Lens.lens (\VectorEnrichmentJobExportErrorDetails' {type'} -> type') (\s@VectorEnrichmentJobExportErrorDetails' {} a -> s {type' = a} :: VectorEnrichmentJobExportErrorDetails)++instance+  Data.FromJSON+    VectorEnrichmentJobExportErrorDetails+  where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobExportErrorDetails"+      ( \x ->+          VectorEnrichmentJobExportErrorDetails'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "Type")+      )++instance+  Prelude.Hashable+    VectorEnrichmentJobExportErrorDetails+  where+  hashWithSalt+    _salt+    VectorEnrichmentJobExportErrorDetails' {..} =+      _salt+        `Prelude.hashWithSalt` message+        `Prelude.hashWithSalt` type'++instance+  Prelude.NFData+    VectorEnrichmentJobExportErrorDetails+  where+  rnf VectorEnrichmentJobExportErrorDetails' {..} =+    Prelude.rnf message `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobExportErrorType.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorType+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportErrorType+  ( VectorEnrichmentJobExportErrorType+      ( ..,+        VectorEnrichmentJobExportErrorType_CLIENT_ERROR,+        VectorEnrichmentJobExportErrorType_SERVER_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobExportErrorType = VectorEnrichmentJobExportErrorType'+  { fromVectorEnrichmentJobExportErrorType ::+      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 VectorEnrichmentJobExportErrorType_CLIENT_ERROR :: VectorEnrichmentJobExportErrorType+pattern VectorEnrichmentJobExportErrorType_CLIENT_ERROR = VectorEnrichmentJobExportErrorType' "CLIENT_ERROR"++pattern VectorEnrichmentJobExportErrorType_SERVER_ERROR :: VectorEnrichmentJobExportErrorType+pattern VectorEnrichmentJobExportErrorType_SERVER_ERROR = VectorEnrichmentJobExportErrorType' "SERVER_ERROR"++{-# COMPLETE+  VectorEnrichmentJobExportErrorType_CLIENT_ERROR,+  VectorEnrichmentJobExportErrorType_SERVER_ERROR,+  VectorEnrichmentJobExportErrorType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobExportStatus.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportStatus+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobExportStatus+  ( VectorEnrichmentJobExportStatus+      ( ..,+        VectorEnrichmentJobExportStatus_FAILED,+        VectorEnrichmentJobExportStatus_IN_PROGRESS,+        VectorEnrichmentJobExportStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobExportStatus = VectorEnrichmentJobExportStatus'+  { fromVectorEnrichmentJobExportStatus ::+      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 VectorEnrichmentJobExportStatus_FAILED :: VectorEnrichmentJobExportStatus+pattern VectorEnrichmentJobExportStatus_FAILED = VectorEnrichmentJobExportStatus' "FAILED"++pattern VectorEnrichmentJobExportStatus_IN_PROGRESS :: VectorEnrichmentJobExportStatus+pattern VectorEnrichmentJobExportStatus_IN_PROGRESS = VectorEnrichmentJobExportStatus' "IN_PROGRESS"++pattern VectorEnrichmentJobExportStatus_SUCCEEDED :: VectorEnrichmentJobExportStatus+pattern VectorEnrichmentJobExportStatus_SUCCEEDED = VectorEnrichmentJobExportStatus' "SUCCEEDED"++{-# COMPLETE+  VectorEnrichmentJobExportStatus_FAILED,+  VectorEnrichmentJobExportStatus_IN_PROGRESS,+  VectorEnrichmentJobExportStatus_SUCCEEDED,+  VectorEnrichmentJobExportStatus'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobInputConfig.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobInputConfig+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobInputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDataSourceConfigInput+import Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobDocumentType++-- | The input structure for the InputConfig in a VectorEnrichmentJob.+--+-- /See:/ 'newVectorEnrichmentJobInputConfig' smart constructor.+data VectorEnrichmentJobInputConfig = VectorEnrichmentJobInputConfig'+  { dataSourceConfig :: VectorEnrichmentJobDataSourceConfigInput,+    documentType :: VectorEnrichmentJobDocumentType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobInputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceConfig', 'vectorEnrichmentJobInputConfig_dataSourceConfig' -+--+-- 'documentType', 'vectorEnrichmentJobInputConfig_documentType' -+newVectorEnrichmentJobInputConfig ::+  -- | 'dataSourceConfig'+  VectorEnrichmentJobDataSourceConfigInput ->+  -- | 'documentType'+  VectorEnrichmentJobDocumentType ->+  VectorEnrichmentJobInputConfig+newVectorEnrichmentJobInputConfig+  pDataSourceConfig_+  pDocumentType_ =+    VectorEnrichmentJobInputConfig'+      { dataSourceConfig =+          pDataSourceConfig_,+        documentType = pDocumentType_+      }++vectorEnrichmentJobInputConfig_dataSourceConfig :: Lens.Lens' VectorEnrichmentJobInputConfig VectorEnrichmentJobDataSourceConfigInput+vectorEnrichmentJobInputConfig_dataSourceConfig = Lens.lens (\VectorEnrichmentJobInputConfig' {dataSourceConfig} -> dataSourceConfig) (\s@VectorEnrichmentJobInputConfig' {} a -> s {dataSourceConfig = a} :: VectorEnrichmentJobInputConfig)++vectorEnrichmentJobInputConfig_documentType :: Lens.Lens' VectorEnrichmentJobInputConfig VectorEnrichmentJobDocumentType+vectorEnrichmentJobInputConfig_documentType = Lens.lens (\VectorEnrichmentJobInputConfig' {documentType} -> documentType) (\s@VectorEnrichmentJobInputConfig' {} a -> s {documentType = a} :: VectorEnrichmentJobInputConfig)++instance Data.FromJSON VectorEnrichmentJobInputConfig where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobInputConfig"+      ( \x ->+          VectorEnrichmentJobInputConfig'+            Prelude.<$> (x Data..: "DataSourceConfig")+            Prelude.<*> (x Data..: "DocumentType")+      )++instance+  Prelude.Hashable+    VectorEnrichmentJobInputConfig+  where+  hashWithSalt+    _salt+    VectorEnrichmentJobInputConfig' {..} =+      _salt+        `Prelude.hashWithSalt` dataSourceConfig+        `Prelude.hashWithSalt` documentType++instance+  Prelude.NFData+    VectorEnrichmentJobInputConfig+  where+  rnf VectorEnrichmentJobInputConfig' {..} =+    Prelude.rnf dataSourceConfig+      `Prelude.seq` Prelude.rnf documentType++instance Data.ToJSON VectorEnrichmentJobInputConfig where+  toJSON VectorEnrichmentJobInputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DataSourceConfig" Data..= dataSourceConfig),+            Prelude.Just ("DocumentType" Data..= documentType)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobS3Data.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobS3Data 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 Amazon S3 data for the Vector Enrichment job.+--+-- /See:/ 'newVectorEnrichmentJobS3Data' smart constructor.+data VectorEnrichmentJobS3Data = VectorEnrichmentJobS3Data'+  { -- | The Amazon Key Management Service (KMS) key ID for server-side+    -- encryption.+    kmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | The URL to the Amazon S3 data for the Vector Enrichment job.+    s3Uri :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VectorEnrichmentJobS3Data' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'vectorEnrichmentJobS3Data_kmsKeyId' - The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+--+-- 's3Uri', 'vectorEnrichmentJobS3Data_s3Uri' - The URL to the Amazon S3 data for the Vector Enrichment job.+newVectorEnrichmentJobS3Data ::+  -- | 's3Uri'+  Prelude.Text ->+  VectorEnrichmentJobS3Data+newVectorEnrichmentJobS3Data pS3Uri_ =+  VectorEnrichmentJobS3Data'+    { kmsKeyId =+        Prelude.Nothing,+      s3Uri = pS3Uri_+    }++-- | The Amazon Key Management Service (KMS) key ID for server-side+-- encryption.+vectorEnrichmentJobS3Data_kmsKeyId :: Lens.Lens' VectorEnrichmentJobS3Data (Prelude.Maybe Prelude.Text)+vectorEnrichmentJobS3Data_kmsKeyId = Lens.lens (\VectorEnrichmentJobS3Data' {kmsKeyId} -> kmsKeyId) (\s@VectorEnrichmentJobS3Data' {} a -> s {kmsKeyId = a} :: VectorEnrichmentJobS3Data)++-- | The URL to the Amazon S3 data for the Vector Enrichment job.+vectorEnrichmentJobS3Data_s3Uri :: Lens.Lens' VectorEnrichmentJobS3Data Prelude.Text+vectorEnrichmentJobS3Data_s3Uri = Lens.lens (\VectorEnrichmentJobS3Data' {s3Uri} -> s3Uri) (\s@VectorEnrichmentJobS3Data' {} a -> s {s3Uri = a} :: VectorEnrichmentJobS3Data)++instance Data.FromJSON VectorEnrichmentJobS3Data where+  parseJSON =+    Data.withObject+      "VectorEnrichmentJobS3Data"+      ( \x ->+          VectorEnrichmentJobS3Data'+            Prelude.<$> (x Data..:? "KmsKeyId")+            Prelude.<*> (x Data..: "S3Uri")+      )++instance Prelude.Hashable VectorEnrichmentJobS3Data where+  hashWithSalt _salt VectorEnrichmentJobS3Data' {..} =+    _salt+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` s3Uri++instance Prelude.NFData VectorEnrichmentJobS3Data where+  rnf VectorEnrichmentJobS3Data' {..} =+    Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf s3Uri++instance Data.ToJSON VectorEnrichmentJobS3Data where+  toJSON VectorEnrichmentJobS3Data' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+            Prelude.Just ("S3Uri" Data..= s3Uri)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobStatus+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobStatus+  ( VectorEnrichmentJobStatus+      ( ..,+        VectorEnrichmentJobStatus_COMPLETED,+        VectorEnrichmentJobStatus_DELETED,+        VectorEnrichmentJobStatus_DELETING,+        VectorEnrichmentJobStatus_FAILED,+        VectorEnrichmentJobStatus_INITIALIZING,+        VectorEnrichmentJobStatus_IN_PROGRESS,+        VectorEnrichmentJobStatus_STOPPED,+        VectorEnrichmentJobStatus_STOPPING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobStatus = VectorEnrichmentJobStatus'+  { fromVectorEnrichmentJobStatus ::+      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 VectorEnrichmentJobStatus_COMPLETED :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_COMPLETED = VectorEnrichmentJobStatus' "COMPLETED"++pattern VectorEnrichmentJobStatus_DELETED :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_DELETED = VectorEnrichmentJobStatus' "DELETED"++pattern VectorEnrichmentJobStatus_DELETING :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_DELETING = VectorEnrichmentJobStatus' "DELETING"++pattern VectorEnrichmentJobStatus_FAILED :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_FAILED = VectorEnrichmentJobStatus' "FAILED"++pattern VectorEnrichmentJobStatus_INITIALIZING :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_INITIALIZING = VectorEnrichmentJobStatus' "INITIALIZING"++pattern VectorEnrichmentJobStatus_IN_PROGRESS :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_IN_PROGRESS = VectorEnrichmentJobStatus' "IN_PROGRESS"++pattern VectorEnrichmentJobStatus_STOPPED :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_STOPPED = VectorEnrichmentJobStatus' "STOPPED"++pattern VectorEnrichmentJobStatus_STOPPING :: VectorEnrichmentJobStatus+pattern VectorEnrichmentJobStatus_STOPPING = VectorEnrichmentJobStatus' "STOPPING"++{-# COMPLETE+  VectorEnrichmentJobStatus_COMPLETED,+  VectorEnrichmentJobStatus_DELETED,+  VectorEnrichmentJobStatus_DELETING,+  VectorEnrichmentJobStatus_FAILED,+  VectorEnrichmentJobStatus_INITIALIZING,+  VectorEnrichmentJobStatus_IN_PROGRESS,+  VectorEnrichmentJobStatus_STOPPED,+  VectorEnrichmentJobStatus_STOPPING,+  VectorEnrichmentJobStatus'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/VectorEnrichmentJobType.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.SageMakerGeoSpatial.Types.VectorEnrichmentJobType+-- 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.SageMakerGeoSpatial.Types.VectorEnrichmentJobType+  ( VectorEnrichmentJobType+      ( ..,+        VectorEnrichmentJobType_MAP_MATCHING,+        VectorEnrichmentJobType_REVERSE_GEOCODING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VectorEnrichmentJobType = VectorEnrichmentJobType'+  { fromVectorEnrichmentJobType ::+      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 VectorEnrichmentJobType_MAP_MATCHING :: VectorEnrichmentJobType+pattern VectorEnrichmentJobType_MAP_MATCHING = VectorEnrichmentJobType' "MAP_MATCHING"++pattern VectorEnrichmentJobType_REVERSE_GEOCODING :: VectorEnrichmentJobType+pattern VectorEnrichmentJobType_REVERSE_GEOCODING = VectorEnrichmentJobType' "REVERSE_GEOCODING"++{-# COMPLETE+  VectorEnrichmentJobType_MAP_MATCHING,+  VectorEnrichmentJobType_REVERSE_GEOCODING,+  VectorEnrichmentJobType'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/ViewOffNadirInput.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.SageMakerGeoSpatial.Types.ViewOffNadirInput+-- 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.SageMakerGeoSpatial.Types.ViewOffNadirInput 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++-- |+--+-- /See:/ 'newViewOffNadirInput' smart constructor.+data ViewOffNadirInput = ViewOffNadirInput'+  { lowerBound :: Prelude.Double,+    upperBound :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ViewOffNadirInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBound', 'viewOffNadirInput_lowerBound' -+--+-- 'upperBound', 'viewOffNadirInput_upperBound' -+newViewOffNadirInput ::+  -- | 'lowerBound'+  Prelude.Double ->+  -- | 'upperBound'+  Prelude.Double ->+  ViewOffNadirInput+newViewOffNadirInput pLowerBound_ pUpperBound_ =+  ViewOffNadirInput'+    { lowerBound = pLowerBound_,+      upperBound = pUpperBound_+    }++viewOffNadirInput_lowerBound :: Lens.Lens' ViewOffNadirInput Prelude.Double+viewOffNadirInput_lowerBound = Lens.lens (\ViewOffNadirInput' {lowerBound} -> lowerBound) (\s@ViewOffNadirInput' {} a -> s {lowerBound = a} :: ViewOffNadirInput)++viewOffNadirInput_upperBound :: Lens.Lens' ViewOffNadirInput Prelude.Double+viewOffNadirInput_upperBound = Lens.lens (\ViewOffNadirInput' {upperBound} -> upperBound) (\s@ViewOffNadirInput' {} a -> s {upperBound = a} :: ViewOffNadirInput)++instance Data.FromJSON ViewOffNadirInput where+  parseJSON =+    Data.withObject+      "ViewOffNadirInput"+      ( \x ->+          ViewOffNadirInput'+            Prelude.<$> (x Data..: "LowerBound")+            Prelude.<*> (x Data..: "UpperBound")+      )++instance Prelude.Hashable ViewOffNadirInput where+  hashWithSalt _salt ViewOffNadirInput' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBound+      `Prelude.hashWithSalt` upperBound++instance Prelude.NFData ViewOffNadirInput where+  rnf ViewOffNadirInput' {..} =+    Prelude.rnf lowerBound+      `Prelude.seq` Prelude.rnf upperBound++instance Data.ToJSON ViewOffNadirInput where+  toJSON ViewOffNadirInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LowerBound" Data..= lowerBound),+            Prelude.Just ("UpperBound" Data..= upperBound)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ViewSunAzimuthInput.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.SageMakerGeoSpatial.Types.ViewSunAzimuthInput+-- 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.SageMakerGeoSpatial.Types.ViewSunAzimuthInput 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++-- |+--+-- /See:/ 'newViewSunAzimuthInput' smart constructor.+data ViewSunAzimuthInput = ViewSunAzimuthInput'+  { lowerBound :: Prelude.Double,+    upperBound :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ViewSunAzimuthInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBound', 'viewSunAzimuthInput_lowerBound' -+--+-- 'upperBound', 'viewSunAzimuthInput_upperBound' -+newViewSunAzimuthInput ::+  -- | 'lowerBound'+  Prelude.Double ->+  -- | 'upperBound'+  Prelude.Double ->+  ViewSunAzimuthInput+newViewSunAzimuthInput pLowerBound_ pUpperBound_ =+  ViewSunAzimuthInput'+    { lowerBound = pLowerBound_,+      upperBound = pUpperBound_+    }++viewSunAzimuthInput_lowerBound :: Lens.Lens' ViewSunAzimuthInput Prelude.Double+viewSunAzimuthInput_lowerBound = Lens.lens (\ViewSunAzimuthInput' {lowerBound} -> lowerBound) (\s@ViewSunAzimuthInput' {} a -> s {lowerBound = a} :: ViewSunAzimuthInput)++viewSunAzimuthInput_upperBound :: Lens.Lens' ViewSunAzimuthInput Prelude.Double+viewSunAzimuthInput_upperBound = Lens.lens (\ViewSunAzimuthInput' {upperBound} -> upperBound) (\s@ViewSunAzimuthInput' {} a -> s {upperBound = a} :: ViewSunAzimuthInput)++instance Data.FromJSON ViewSunAzimuthInput where+  parseJSON =+    Data.withObject+      "ViewSunAzimuthInput"+      ( \x ->+          ViewSunAzimuthInput'+            Prelude.<$> (x Data..: "LowerBound")+            Prelude.<*> (x Data..: "UpperBound")+      )++instance Prelude.Hashable ViewSunAzimuthInput where+  hashWithSalt _salt ViewSunAzimuthInput' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBound+      `Prelude.hashWithSalt` upperBound++instance Prelude.NFData ViewSunAzimuthInput where+  rnf ViewSunAzimuthInput' {..} =+    Prelude.rnf lowerBound+      `Prelude.seq` Prelude.rnf upperBound++instance Data.ToJSON ViewSunAzimuthInput where+  toJSON ViewSunAzimuthInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LowerBound" Data..= lowerBound),+            Prelude.Just ("UpperBound" Data..= upperBound)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ViewSunElevationInput.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.SageMakerGeoSpatial.Types.ViewSunElevationInput+-- 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.SageMakerGeoSpatial.Types.ViewSunElevationInput 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++-- |+--+-- /See:/ 'newViewSunElevationInput' smart constructor.+data ViewSunElevationInput = ViewSunElevationInput'+  { -- | The lower bound to view the sun elevation.+    lowerBound :: Prelude.Double,+    -- | The upper bound to view the sun elevation.+    upperBound :: Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ViewSunElevationInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lowerBound', 'viewSunElevationInput_lowerBound' - The lower bound to view the sun elevation.+--+-- 'upperBound', 'viewSunElevationInput_upperBound' - The upper bound to view the sun elevation.+newViewSunElevationInput ::+  -- | 'lowerBound'+  Prelude.Double ->+  -- | 'upperBound'+  Prelude.Double ->+  ViewSunElevationInput+newViewSunElevationInput pLowerBound_ pUpperBound_ =+  ViewSunElevationInput'+    { lowerBound = pLowerBound_,+      upperBound = pUpperBound_+    }++-- | The lower bound to view the sun elevation.+viewSunElevationInput_lowerBound :: Lens.Lens' ViewSunElevationInput Prelude.Double+viewSunElevationInput_lowerBound = Lens.lens (\ViewSunElevationInput' {lowerBound} -> lowerBound) (\s@ViewSunElevationInput' {} a -> s {lowerBound = a} :: ViewSunElevationInput)++-- | The upper bound to view the sun elevation.+viewSunElevationInput_upperBound :: Lens.Lens' ViewSunElevationInput Prelude.Double+viewSunElevationInput_upperBound = Lens.lens (\ViewSunElevationInput' {upperBound} -> upperBound) (\s@ViewSunElevationInput' {} a -> s {upperBound = a} :: ViewSunElevationInput)++instance Data.FromJSON ViewSunElevationInput where+  parseJSON =+    Data.withObject+      "ViewSunElevationInput"+      ( \x ->+          ViewSunElevationInput'+            Prelude.<$> (x Data..: "LowerBound")+            Prelude.<*> (x Data..: "UpperBound")+      )++instance Prelude.Hashable ViewSunElevationInput where+  hashWithSalt _salt ViewSunElevationInput' {..} =+    _salt+      `Prelude.hashWithSalt` lowerBound+      `Prelude.hashWithSalt` upperBound++instance Prelude.NFData ViewSunElevationInput where+  rnf ViewSunElevationInput' {..} =+    Prelude.rnf lowerBound+      `Prelude.seq` Prelude.rnf upperBound++instance Data.ToJSON ViewSunElevationInput where+  toJSON ViewSunElevationInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("LowerBound" Data..= lowerBound),+            Prelude.Just ("UpperBound" Data..= upperBound)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/Types/ZonalStatistics.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SageMakerGeoSpatial.Types.ZonalStatistics+-- 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.SageMakerGeoSpatial.Types.ZonalStatistics+  ( ZonalStatistics+      ( ..,+        ZonalStatistics_MAX,+        ZonalStatistics_MEAN,+        ZonalStatistics_MEDIAN,+        ZonalStatistics_MIN,+        ZonalStatistics_STANDARD_DEVIATION,+        ZonalStatistics_SUM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ZonalStatistics = ZonalStatistics'+  { fromZonalStatistics ::+      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 ZonalStatistics_MAX :: ZonalStatistics+pattern ZonalStatistics_MAX = ZonalStatistics' "MAX"++pattern ZonalStatistics_MEAN :: ZonalStatistics+pattern ZonalStatistics_MEAN = ZonalStatistics' "MEAN"++pattern ZonalStatistics_MEDIAN :: ZonalStatistics+pattern ZonalStatistics_MEDIAN = ZonalStatistics' "MEDIAN"++pattern ZonalStatistics_MIN :: ZonalStatistics+pattern ZonalStatistics_MIN = ZonalStatistics' "MIN"++pattern ZonalStatistics_STANDARD_DEVIATION :: ZonalStatistics+pattern ZonalStatistics_STANDARD_DEVIATION = ZonalStatistics' "STANDARD_DEVIATION"++pattern ZonalStatistics_SUM :: ZonalStatistics+pattern ZonalStatistics_SUM = ZonalStatistics' "SUM"++{-# COMPLETE+  ZonalStatistics_MAX,+  ZonalStatistics_MEAN,+  ZonalStatistics_MEDIAN,+  ZonalStatistics_MIN,+  ZonalStatistics_STANDARD_DEVIATION,+  ZonalStatistics_SUM,+  ZonalStatistics'+  #-}
+ gen/Amazonka/SageMakerGeoSpatial/Types/ZonalStatisticsConfigInput.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.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput+-- 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.SageMakerGeoSpatial.Types.ZonalStatisticsConfigInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Types.ZonalStatistics++-- |+--+-- /See:/ 'newZonalStatisticsConfigInput' smart constructor.+data ZonalStatisticsConfigInput = ZonalStatisticsConfigInput'+  { targetBands :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    statistics :: Prelude.NonEmpty ZonalStatistics,+    zoneS3Path :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ZonalStatisticsConfigInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetBands', 'zonalStatisticsConfigInput_targetBands' -+--+-- 'statistics', 'zonalStatisticsConfigInput_statistics' -+--+-- 'zoneS3Path', 'zonalStatisticsConfigInput_zoneS3Path' -+newZonalStatisticsConfigInput ::+  -- | 'statistics'+  Prelude.NonEmpty ZonalStatistics ->+  -- | 'zoneS3Path'+  Prelude.Text ->+  ZonalStatisticsConfigInput+newZonalStatisticsConfigInput+  pStatistics_+  pZoneS3Path_ =+    ZonalStatisticsConfigInput'+      { targetBands =+          Prelude.Nothing,+        statistics = Lens.coerced Lens.# pStatistics_,+        zoneS3Path = pZoneS3Path_+      }++zonalStatisticsConfigInput_targetBands :: Lens.Lens' ZonalStatisticsConfigInput (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+zonalStatisticsConfigInput_targetBands = Lens.lens (\ZonalStatisticsConfigInput' {targetBands} -> targetBands) (\s@ZonalStatisticsConfigInput' {} a -> s {targetBands = a} :: ZonalStatisticsConfigInput) Prelude.. Lens.mapping Lens.coerced++zonalStatisticsConfigInput_statistics :: Lens.Lens' ZonalStatisticsConfigInput (Prelude.NonEmpty ZonalStatistics)+zonalStatisticsConfigInput_statistics = Lens.lens (\ZonalStatisticsConfigInput' {statistics} -> statistics) (\s@ZonalStatisticsConfigInput' {} a -> s {statistics = a} :: ZonalStatisticsConfigInput) Prelude.. Lens.coerced++zonalStatisticsConfigInput_zoneS3Path :: Lens.Lens' ZonalStatisticsConfigInput Prelude.Text+zonalStatisticsConfigInput_zoneS3Path = Lens.lens (\ZonalStatisticsConfigInput' {zoneS3Path} -> zoneS3Path) (\s@ZonalStatisticsConfigInput' {} a -> s {zoneS3Path = a} :: ZonalStatisticsConfigInput)++instance Data.FromJSON ZonalStatisticsConfigInput where+  parseJSON =+    Data.withObject+      "ZonalStatisticsConfigInput"+      ( \x ->+          ZonalStatisticsConfigInput'+            Prelude.<$> (x Data..:? "TargetBands")+            Prelude.<*> (x Data..: "Statistics")+            Prelude.<*> (x Data..: "ZoneS3Path")+      )++instance Prelude.Hashable ZonalStatisticsConfigInput where+  hashWithSalt _salt ZonalStatisticsConfigInput' {..} =+    _salt+      `Prelude.hashWithSalt` targetBands+      `Prelude.hashWithSalt` statistics+      `Prelude.hashWithSalt` zoneS3Path++instance Prelude.NFData ZonalStatisticsConfigInput where+  rnf ZonalStatisticsConfigInput' {..} =+    Prelude.rnf targetBands+      `Prelude.seq` Prelude.rnf statistics+      `Prelude.seq` Prelude.rnf zoneS3Path++instance Data.ToJSON ZonalStatisticsConfigInput where+  toJSON ZonalStatisticsConfigInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("TargetBands" Data..=) Prelude.<$> targetBands,+            Prelude.Just ("Statistics" Data..= statistics),+            Prelude.Just ("ZoneS3Path" Data..= zoneS3Path)+          ]+      )
+ gen/Amazonka/SageMakerGeoSpatial/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# 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.SageMakerGeoSpatial.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)+--+-- The resource you want to untag.+module Amazonka.SageMakerGeoSpatial.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SageMakerGeoSpatial.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource you want to untag.+    resourceArn :: Prelude.Text,+    -- | Keys of the tags you want to remove.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource you want to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - Keys of the tags you want to remove.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource you want to untag.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Keys of the tags you want to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SageMakerGeoSpatial/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.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SageMakerGeoSpatial.Lens+import Amazonka.SageMakerGeoSpatial.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.SageMakerGeoSpatial+import Test.Amazonka.SageMakerGeoSpatial.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "SageMakerGeoSpatial"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/SageMakerGeoSpatial.hs view
@@ -0,0 +1,410 @@+{-# 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.SageMakerGeoSpatial+-- 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.SageMakerGeoSpatial where++import Amazonka.SageMakerGeoSpatial+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.SageMakerGeoSpatial.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestDeleteEarthObservationJob $+--             newDeleteEarthObservationJob+--+--         , requestDeleteVectorEnrichmentJob $+--             newDeleteVectorEnrichmentJob+--+--         , requestExportEarthObservationJob $+--             newExportEarthObservationJob+--+--         , requestExportVectorEnrichmentJob $+--             newExportVectorEnrichmentJob+--+--         , requestGetEarthObservationJob $+--             newGetEarthObservationJob+--+--         , requestGetRasterDataCollection $+--             newGetRasterDataCollection+--+--         , requestGetTile $+--             newGetTile+--+--         , requestGetVectorEnrichmentJob $+--             newGetVectorEnrichmentJob+--+--         , requestListEarthObservationJobs $+--             newListEarthObservationJobs+--+--         , requestListRasterDataCollections $+--             newListRasterDataCollections+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListVectorEnrichmentJobs $+--             newListVectorEnrichmentJobs+--+--         , requestSearchRasterDataCollection $+--             newSearchRasterDataCollection+--+--         , requestStartEarthObservationJob $+--             newStartEarthObservationJob+--+--         , requestStartVectorEnrichmentJob $+--             newStartVectorEnrichmentJob+--+--         , requestStopEarthObservationJob $+--             newStopEarthObservationJob+--+--         , requestStopVectorEnrichmentJob $+--             newStopVectorEnrichmentJob+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseDeleteEarthObservationJob $+--             newDeleteEarthObservationJobResponse+--+--         , responseDeleteVectorEnrichmentJob $+--             newDeleteVectorEnrichmentJobResponse+--+--         , responseExportEarthObservationJob $+--             newExportEarthObservationJobResponse+--+--         , responseExportVectorEnrichmentJob $+--             newExportVectorEnrichmentJobResponse+--+--         , responseGetEarthObservationJob $+--             newGetEarthObservationJobResponse+--+--         , responseGetRasterDataCollection $+--             newGetRasterDataCollectionResponse+--+--         , responseGetTile $+--             newGetTileResponse+--+--         , responseGetVectorEnrichmentJob $+--             newGetVectorEnrichmentJobResponse+--+--         , responseListEarthObservationJobs $+--             newListEarthObservationJobsResponse+--+--         , responseListRasterDataCollections $+--             newListRasterDataCollectionsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListVectorEnrichmentJobs $+--             newListVectorEnrichmentJobsResponse+--+--         , responseSearchRasterDataCollection $+--             newSearchRasterDataCollectionResponse+--+--         , responseStartEarthObservationJob $+--             newStartEarthObservationJobResponse+--+--         , responseStartVectorEnrichmentJob $+--             newStartVectorEnrichmentJobResponse+--+--         , responseStopEarthObservationJob $+--             newStopEarthObservationJobResponse+--+--         , responseStopVectorEnrichmentJob $+--             newStopVectorEnrichmentJobResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestDeleteEarthObservationJob :: DeleteEarthObservationJob -> TestTree+requestDeleteEarthObservationJob =+  req+    "DeleteEarthObservationJob"+    "fixture/DeleteEarthObservationJob.yaml"++requestDeleteVectorEnrichmentJob :: DeleteVectorEnrichmentJob -> TestTree+requestDeleteVectorEnrichmentJob =+  req+    "DeleteVectorEnrichmentJob"+    "fixture/DeleteVectorEnrichmentJob.yaml"++requestExportEarthObservationJob :: ExportEarthObservationJob -> TestTree+requestExportEarthObservationJob =+  req+    "ExportEarthObservationJob"+    "fixture/ExportEarthObservationJob.yaml"++requestExportVectorEnrichmentJob :: ExportVectorEnrichmentJob -> TestTree+requestExportVectorEnrichmentJob =+  req+    "ExportVectorEnrichmentJob"+    "fixture/ExportVectorEnrichmentJob.yaml"++requestGetEarthObservationJob :: GetEarthObservationJob -> TestTree+requestGetEarthObservationJob =+  req+    "GetEarthObservationJob"+    "fixture/GetEarthObservationJob.yaml"++requestGetRasterDataCollection :: GetRasterDataCollection -> TestTree+requestGetRasterDataCollection =+  req+    "GetRasterDataCollection"+    "fixture/GetRasterDataCollection.yaml"++requestGetTile :: GetTile -> TestTree+requestGetTile =+  req+    "GetTile"+    "fixture/GetTile.yaml"++requestGetVectorEnrichmentJob :: GetVectorEnrichmentJob -> TestTree+requestGetVectorEnrichmentJob =+  req+    "GetVectorEnrichmentJob"+    "fixture/GetVectorEnrichmentJob.yaml"++requestListEarthObservationJobs :: ListEarthObservationJobs -> TestTree+requestListEarthObservationJobs =+  req+    "ListEarthObservationJobs"+    "fixture/ListEarthObservationJobs.yaml"++requestListRasterDataCollections :: ListRasterDataCollections -> TestTree+requestListRasterDataCollections =+  req+    "ListRasterDataCollections"+    "fixture/ListRasterDataCollections.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListVectorEnrichmentJobs :: ListVectorEnrichmentJobs -> TestTree+requestListVectorEnrichmentJobs =+  req+    "ListVectorEnrichmentJobs"+    "fixture/ListVectorEnrichmentJobs.yaml"++requestSearchRasterDataCollection :: SearchRasterDataCollection -> TestTree+requestSearchRasterDataCollection =+  req+    "SearchRasterDataCollection"+    "fixture/SearchRasterDataCollection.yaml"++requestStartEarthObservationJob :: StartEarthObservationJob -> TestTree+requestStartEarthObservationJob =+  req+    "StartEarthObservationJob"+    "fixture/StartEarthObservationJob.yaml"++requestStartVectorEnrichmentJob :: StartVectorEnrichmentJob -> TestTree+requestStartVectorEnrichmentJob =+  req+    "StartVectorEnrichmentJob"+    "fixture/StartVectorEnrichmentJob.yaml"++requestStopEarthObservationJob :: StopEarthObservationJob -> TestTree+requestStopEarthObservationJob =+  req+    "StopEarthObservationJob"+    "fixture/StopEarthObservationJob.yaml"++requestStopVectorEnrichmentJob :: StopVectorEnrichmentJob -> TestTree+requestStopVectorEnrichmentJob =+  req+    "StopVectorEnrichmentJob"+    "fixture/StopVectorEnrichmentJob.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseDeleteEarthObservationJob :: DeleteEarthObservationJobResponse -> TestTree+responseDeleteEarthObservationJob =+  res+    "DeleteEarthObservationJobResponse"+    "fixture/DeleteEarthObservationJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEarthObservationJob)++responseDeleteVectorEnrichmentJob :: DeleteVectorEnrichmentJobResponse -> TestTree+responseDeleteVectorEnrichmentJob =+  res+    "DeleteVectorEnrichmentJobResponse"+    "fixture/DeleteVectorEnrichmentJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteVectorEnrichmentJob)++responseExportEarthObservationJob :: ExportEarthObservationJobResponse -> TestTree+responseExportEarthObservationJob =+  res+    "ExportEarthObservationJobResponse"+    "fixture/ExportEarthObservationJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExportEarthObservationJob)++responseExportVectorEnrichmentJob :: ExportVectorEnrichmentJobResponse -> TestTree+responseExportVectorEnrichmentJob =+  res+    "ExportVectorEnrichmentJobResponse"+    "fixture/ExportVectorEnrichmentJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExportVectorEnrichmentJob)++responseGetEarthObservationJob :: GetEarthObservationJobResponse -> TestTree+responseGetEarthObservationJob =+  res+    "GetEarthObservationJobResponse"+    "fixture/GetEarthObservationJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEarthObservationJob)++responseGetRasterDataCollection :: GetRasterDataCollectionResponse -> TestTree+responseGetRasterDataCollection =+  res+    "GetRasterDataCollectionResponse"+    "fixture/GetRasterDataCollectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRasterDataCollection)++responseGetVectorEnrichmentJob :: GetVectorEnrichmentJobResponse -> TestTree+responseGetVectorEnrichmentJob =+  res+    "GetVectorEnrichmentJobResponse"+    "fixture/GetVectorEnrichmentJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVectorEnrichmentJob)++responseListEarthObservationJobs :: ListEarthObservationJobsResponse -> TestTree+responseListEarthObservationJobs =+  res+    "ListEarthObservationJobsResponse"+    "fixture/ListEarthObservationJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEarthObservationJobs)++responseListRasterDataCollections :: ListRasterDataCollectionsResponse -> TestTree+responseListRasterDataCollections =+  res+    "ListRasterDataCollectionsResponse"+    "fixture/ListRasterDataCollectionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRasterDataCollections)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVectorEnrichmentJobs :: ListVectorEnrichmentJobsResponse -> TestTree+responseListVectorEnrichmentJobs =+  res+    "ListVectorEnrichmentJobsResponse"+    "fixture/ListVectorEnrichmentJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListVectorEnrichmentJobs)++responseSearchRasterDataCollection :: SearchRasterDataCollectionResponse -> TestTree+responseSearchRasterDataCollection =+  res+    "SearchRasterDataCollectionResponse"+    "fixture/SearchRasterDataCollectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SearchRasterDataCollection)++responseStartEarthObservationJob :: StartEarthObservationJobResponse -> TestTree+responseStartEarthObservationJob =+  res+    "StartEarthObservationJobResponse"+    "fixture/StartEarthObservationJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartEarthObservationJob)++responseStartVectorEnrichmentJob :: StartVectorEnrichmentJobResponse -> TestTree+responseStartVectorEnrichmentJob =+  res+    "StartVectorEnrichmentJobResponse"+    "fixture/StartVectorEnrichmentJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartVectorEnrichmentJob)++responseStopEarthObservationJob :: StopEarthObservationJobResponse -> TestTree+responseStopEarthObservationJob =+  res+    "StopEarthObservationJobResponse"+    "fixture/StopEarthObservationJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopEarthObservationJob)++responseStopVectorEnrichmentJob :: StopVectorEnrichmentJobResponse -> TestTree+responseStopVectorEnrichmentJob =+  res+    "StopVectorEnrichmentJobResponse"+    "fixture/StopVectorEnrichmentJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopVectorEnrichmentJob)++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)
+ test/Test/Amazonka/SageMakerGeoSpatial.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.SageMakerGeoSpatial+-- 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.SageMakerGeoSpatial+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/SageMakerGeoSpatial/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.SageMakerGeoSpatial.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.SageMakerGeoSpatial.Internal where