amazonka-lookoutvision (empty) → 2.0
raw patch · 112 files changed
+11609/−0 lines, 112 filesdep +amazonka-coredep +amazonka-lookoutvisiondep +amazonka-test
Dependencies added: amazonka-core, amazonka-lookoutvision, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-lookoutvision.cabal +139/−0
- fixture/CreateDataset.yaml +10/−0
- fixture/CreateDatasetResponse.proto +0/−0
- fixture/CreateModel.yaml +10/−0
- fixture/CreateModelResponse.proto +0/−0
- fixture/CreateProject.yaml +10/−0
- fixture/CreateProjectResponse.proto +0/−0
- fixture/DeleteDataset.yaml +10/−0
- fixture/DeleteDatasetResponse.proto +0/−0
- fixture/DeleteModel.yaml +10/−0
- fixture/DeleteModelResponse.proto +0/−0
- fixture/DeleteProject.yaml +10/−0
- fixture/DeleteProjectResponse.proto +0/−0
- fixture/DescribeDataset.yaml +10/−0
- fixture/DescribeDatasetResponse.proto +0/−0
- fixture/DescribeModel.yaml +10/−0
- fixture/DescribeModelPackagingJob.yaml +10/−0
- fixture/DescribeModelPackagingJobResponse.proto +0/−0
- fixture/DescribeModelResponse.proto +0/−0
- fixture/DescribeProject.yaml +10/−0
- fixture/DescribeProjectResponse.proto +0/−0
- fixture/DetectAnomalies.yaml +10/−0
- fixture/DetectAnomaliesResponse.proto +0/−0
- fixture/ListDatasetEntries.yaml +10/−0
- fixture/ListDatasetEntriesResponse.proto +0/−0
- fixture/ListModelPackagingJobs.yaml +10/−0
- fixture/ListModelPackagingJobsResponse.proto +0/−0
- fixture/ListModels.yaml +10/−0
- fixture/ListModelsResponse.proto +0/−0
- fixture/ListProjects.yaml +10/−0
- fixture/ListProjectsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/StartModel.yaml +10/−0
- fixture/StartModelPackagingJob.yaml +10/−0
- fixture/StartModelPackagingJobResponse.proto +0/−0
- fixture/StartModelResponse.proto +0/−0
- fixture/StopModel.yaml +10/−0
- fixture/StopModelResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateDatasetEntries.yaml +10/−0
- fixture/UpdateDatasetEntriesResponse.proto +0/−0
- gen/Amazonka/LookoutVision.hs +373/−0
- gen/Amazonka/LookoutVision/CreateDataset.hs +298/−0
- gen/Amazonka/LookoutVision/CreateModel.hs +301/−0
- gen/Amazonka/LookoutVision/CreateProject.hs +220/−0
- gen/Amazonka/LookoutVision/DeleteDataset.hs +240/−0
- gen/Amazonka/LookoutVision/DeleteModel.hs +234/−0
- gen/Amazonka/LookoutVision/DeleteProject.hs +222/−0
- gen/Amazonka/LookoutVision/DescribeDataset.hs +193/−0
- gen/Amazonka/LookoutVision/DescribeModel.hs +187/−0
- gen/Amazonka/LookoutVision/DescribeModelPackagingJob.hs +194/−0
- gen/Amazonka/LookoutVision/DescribeProject.hs +162/−0
- gen/Amazonka/LookoutVision/DetectAnomalies.hs +220/−0
- gen/Amazonka/LookoutVision/Lens.hs +384/−0
- gen/Amazonka/LookoutVision/ListDatasetEntries.hs +365/−0
- gen/Amazonka/LookoutVision/ListModelPackagingJobs.hs +274/−0
- gen/Amazonka/LookoutVision/ListModels.hs +258/−0
- gen/Amazonka/LookoutVision/ListProjects.hs +237/−0
- gen/Amazonka/LookoutVision/ListTagsForResource.hs +167/−0
- gen/Amazonka/LookoutVision/StartModel.hs +295/−0
- gen/Amazonka/LookoutVision/StartModelPackagingJob.hs +335/−0
- gen/Amazonka/LookoutVision/StopModel.hs +236/−0
- gen/Amazonka/LookoutVision/TagResource.hs +169/−0
- gen/Amazonka/LookoutVision/Types.hs +431/−0
- gen/Amazonka/LookoutVision/Types/Anomaly.hs +95/−0
- gen/Amazonka/LookoutVision/Types/DatasetDescription.hs +154/−0
- gen/Amazonka/LookoutVision/Types/DatasetGroundTruthManifest.hs +72/−0
- gen/Amazonka/LookoutVision/Types/DatasetImageStats.hs +108/−0
- gen/Amazonka/LookoutVision/Types/DatasetMetadata.hs +111/−0
- gen/Amazonka/LookoutVision/Types/DatasetSource.hs +74/−0
- gen/Amazonka/LookoutVision/Types/DatasetStatus.hs +111/−0
- gen/Amazonka/LookoutVision/Types/DetectAnomalyResult.hs +199/−0
- gen/Amazonka/LookoutVision/Types/GreengrassConfiguration.hs +230/−0
- gen/Amazonka/LookoutVision/Types/GreengrassOutputDetails.hs +98/−0
- gen/Amazonka/LookoutVision/Types/ImageSource.hs +65/−0
- gen/Amazonka/LookoutVision/Types/InputS3Object.hs +99/−0
- gen/Amazonka/LookoutVision/Types/ModelDescription.hs +254/−0
- gen/Amazonka/LookoutVision/Types/ModelHostingStatus.hs +86/−0
- gen/Amazonka/LookoutVision/Types/ModelMetadata.hs +149/−0
- gen/Amazonka/LookoutVision/Types/ModelPackagingConfiguration.hs +86/−0
- gen/Amazonka/LookoutVision/Types/ModelPackagingDescription.hs +212/−0
- gen/Amazonka/LookoutVision/Types/ModelPackagingJobMetadata.hs +180/−0
- gen/Amazonka/LookoutVision/Types/ModelPackagingJobStatus.hs +81/−0
- gen/Amazonka/LookoutVision/Types/ModelPackagingOutputDetails.hs +76/−0
- gen/Amazonka/LookoutVision/Types/ModelPerformance.hs +96/−0
- gen/Amazonka/LookoutVision/Types/ModelStatus.hs +106/−0
- gen/Amazonka/LookoutVision/Types/OutputConfig.hs +78/−0
- gen/Amazonka/LookoutVision/Types/OutputS3Object.hs +84/−0
- gen/Amazonka/LookoutVision/Types/PixelAnomaly.hs +92/−0
- gen/Amazonka/LookoutVision/Types/ProjectDescription.hs +111/−0
- gen/Amazonka/LookoutVision/Types/ProjectMetadata.hs +97/−0
- gen/Amazonka/LookoutVision/Types/S3Location.hs +104/−0
- gen/Amazonka/LookoutVision/Types/Tag.hs +94/−0
- gen/Amazonka/LookoutVision/Types/TargetDevice.hs +66/−0
- gen/Amazonka/LookoutVision/Types/TargetPlatform.hs +161/−0
- gen/Amazonka/LookoutVision/Types/TargetPlatformAccelerator.hs +66/−0
- gen/Amazonka/LookoutVision/Types/TargetPlatformArch.hs +71/−0
- gen/Amazonka/LookoutVision/Types/TargetPlatformOs.hs +66/−0
- gen/Amazonka/LookoutVision/UntagResource.hs +170/−0
- gen/Amazonka/LookoutVision/UpdateDatasetEntries.hs +295/−0
- gen/Amazonka/LookoutVision/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/LookoutVision.hs +472/−0
- test/Test/Amazonka/LookoutVision.hs +20/−0
- test/Test/Amazonka/LookoutVision/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Lookout for Vision SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-11-20@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-lookoutvision)+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.LookoutVision](http://hackage.haskell.org/package/amazonka-lookoutvision/docs/Amazonka-LookoutVision.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-lookoutvision` 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-lookoutvision.cabal view
@@ -0,0 +1,139 @@+cabal-version: 2.2+name: amazonka-lookoutvision+version: 2.0+synopsis: Amazon Lookout for Vision 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-11-20@ 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.LookoutVision.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.LookoutVision" 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-lookoutvision++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.LookoutVision+ Amazonka.LookoutVision.CreateDataset+ Amazonka.LookoutVision.CreateModel+ Amazonka.LookoutVision.CreateProject+ Amazonka.LookoutVision.DeleteDataset+ Amazonka.LookoutVision.DeleteModel+ Amazonka.LookoutVision.DeleteProject+ Amazonka.LookoutVision.DescribeDataset+ Amazonka.LookoutVision.DescribeModel+ Amazonka.LookoutVision.DescribeModelPackagingJob+ Amazonka.LookoutVision.DescribeProject+ Amazonka.LookoutVision.DetectAnomalies+ Amazonka.LookoutVision.Lens+ Amazonka.LookoutVision.ListDatasetEntries+ Amazonka.LookoutVision.ListModelPackagingJobs+ Amazonka.LookoutVision.ListModels+ Amazonka.LookoutVision.ListProjects+ Amazonka.LookoutVision.ListTagsForResource+ Amazonka.LookoutVision.StartModel+ Amazonka.LookoutVision.StartModelPackagingJob+ Amazonka.LookoutVision.StopModel+ Amazonka.LookoutVision.TagResource+ Amazonka.LookoutVision.Types+ Amazonka.LookoutVision.Types.Anomaly+ Amazonka.LookoutVision.Types.DatasetDescription+ Amazonka.LookoutVision.Types.DatasetGroundTruthManifest+ Amazonka.LookoutVision.Types.DatasetImageStats+ Amazonka.LookoutVision.Types.DatasetMetadata+ Amazonka.LookoutVision.Types.DatasetSource+ Amazonka.LookoutVision.Types.DatasetStatus+ Amazonka.LookoutVision.Types.DetectAnomalyResult+ Amazonka.LookoutVision.Types.GreengrassConfiguration+ Amazonka.LookoutVision.Types.GreengrassOutputDetails+ Amazonka.LookoutVision.Types.ImageSource+ Amazonka.LookoutVision.Types.InputS3Object+ Amazonka.LookoutVision.Types.ModelDescription+ Amazonka.LookoutVision.Types.ModelHostingStatus+ Amazonka.LookoutVision.Types.ModelMetadata+ Amazonka.LookoutVision.Types.ModelPackagingConfiguration+ Amazonka.LookoutVision.Types.ModelPackagingDescription+ Amazonka.LookoutVision.Types.ModelPackagingJobMetadata+ Amazonka.LookoutVision.Types.ModelPackagingJobStatus+ Amazonka.LookoutVision.Types.ModelPackagingOutputDetails+ Amazonka.LookoutVision.Types.ModelPerformance+ Amazonka.LookoutVision.Types.ModelStatus+ Amazonka.LookoutVision.Types.OutputConfig+ Amazonka.LookoutVision.Types.OutputS3Object+ Amazonka.LookoutVision.Types.PixelAnomaly+ Amazonka.LookoutVision.Types.ProjectDescription+ Amazonka.LookoutVision.Types.ProjectMetadata+ Amazonka.LookoutVision.Types.S3Location+ Amazonka.LookoutVision.Types.Tag+ Amazonka.LookoutVision.Types.TargetDevice+ Amazonka.LookoutVision.Types.TargetPlatform+ Amazonka.LookoutVision.Types.TargetPlatformAccelerator+ Amazonka.LookoutVision.Types.TargetPlatformArch+ Amazonka.LookoutVision.Types.TargetPlatformOs+ Amazonka.LookoutVision.UntagResource+ Amazonka.LookoutVision.UpdateDatasetEntries+ Amazonka.LookoutVision.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-lookoutvision-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.LookoutVision+ Test.Amazonka.LookoutVision+ Test.Amazonka.LookoutVision.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-lookoutvision+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateDataset.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/CreateDatasetResponse.proto view
+ fixture/CreateModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/CreateModelResponse.proto view
+ fixture/CreateProject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/CreateProjectResponse.proto view
+ fixture/DeleteDataset.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DeleteDatasetResponse.proto view
+ fixture/DeleteModel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DeleteModelResponse.proto view
+ fixture/DeleteProject.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DeleteProjectResponse.proto view
+ fixture/DescribeDataset.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DescribeDatasetResponse.proto view
+ fixture/DescribeModel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DescribeModelPackagingJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DescribeModelPackagingJobResponse.proto view
+ fixture/DescribeModelResponse.proto view
+ fixture/DescribeProject.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DescribeProjectResponse.proto view
+ fixture/DetectAnomalies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/DetectAnomaliesResponse.proto view
+ fixture/ListDatasetEntries.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/ListDatasetEntriesResponse.proto view
+ fixture/ListModelPackagingJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/ListModelPackagingJobsResponse.proto view
+ fixture/ListModels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/ListModelsResponse.proto view
+ fixture/ListProjects.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/ListProjectsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/StartModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/StartModelPackagingJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/StartModelPackagingJobResponse.proto view
+ fixture/StartModelResponse.proto view
+ fixture/StopModel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/StopModelResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateDatasetEntries.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lookoutvision/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: lookoutvision.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/UpdateDatasetEntriesResponse.proto view
+ gen/Amazonka/LookoutVision.hs view
@@ -0,0 +1,373 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.LookoutVision+-- 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-11-20@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- This is the Amazon Lookout for Vision API Reference. It provides+-- descriptions of actions, data types, common parameters, and common+-- errors.+--+-- Amazon Lookout for Vision enables you to find visual defects in+-- industrial products, accurately and at scale. It uses computer vision to+-- identify missing components in an industrial product, damage to vehicles+-- or structures, irregularities in production lines, and even minuscule+-- defects in silicon wafers — or any other physical item where quality is+-- important such as a missing capacitor on printed circuit boards.+module Amazonka.LookoutVision+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateDataset+ CreateDataset (CreateDataset'),+ newCreateDataset,+ CreateDatasetResponse (CreateDatasetResponse'),+ newCreateDatasetResponse,++ -- ** CreateModel+ CreateModel (CreateModel'),+ newCreateModel,+ CreateModelResponse (CreateModelResponse'),+ newCreateModelResponse,++ -- ** CreateProject+ CreateProject (CreateProject'),+ newCreateProject,+ CreateProjectResponse (CreateProjectResponse'),+ newCreateProjectResponse,++ -- ** DeleteDataset+ DeleteDataset (DeleteDataset'),+ newDeleteDataset,+ DeleteDatasetResponse (DeleteDatasetResponse'),+ newDeleteDatasetResponse,++ -- ** DeleteModel+ DeleteModel (DeleteModel'),+ newDeleteModel,+ DeleteModelResponse (DeleteModelResponse'),+ newDeleteModelResponse,++ -- ** DeleteProject+ DeleteProject (DeleteProject'),+ newDeleteProject,+ DeleteProjectResponse (DeleteProjectResponse'),+ newDeleteProjectResponse,++ -- ** DescribeDataset+ DescribeDataset (DescribeDataset'),+ newDescribeDataset,+ DescribeDatasetResponse (DescribeDatasetResponse'),+ newDescribeDatasetResponse,++ -- ** DescribeModel+ DescribeModel (DescribeModel'),+ newDescribeModel,+ DescribeModelResponse (DescribeModelResponse'),+ newDescribeModelResponse,++ -- ** DescribeModelPackagingJob+ DescribeModelPackagingJob (DescribeModelPackagingJob'),+ newDescribeModelPackagingJob,+ DescribeModelPackagingJobResponse (DescribeModelPackagingJobResponse'),+ newDescribeModelPackagingJobResponse,++ -- ** DescribeProject+ DescribeProject (DescribeProject'),+ newDescribeProject,+ DescribeProjectResponse (DescribeProjectResponse'),+ newDescribeProjectResponse,++ -- ** DetectAnomalies+ DetectAnomalies (DetectAnomalies'),+ newDetectAnomalies,+ DetectAnomaliesResponse (DetectAnomaliesResponse'),+ newDetectAnomaliesResponse,++ -- ** ListDatasetEntries (Paginated)+ ListDatasetEntries (ListDatasetEntries'),+ newListDatasetEntries,+ ListDatasetEntriesResponse (ListDatasetEntriesResponse'),+ newListDatasetEntriesResponse,++ -- ** ListModelPackagingJobs (Paginated)+ ListModelPackagingJobs (ListModelPackagingJobs'),+ newListModelPackagingJobs,+ ListModelPackagingJobsResponse (ListModelPackagingJobsResponse'),+ newListModelPackagingJobsResponse,++ -- ** ListModels (Paginated)+ ListModels (ListModels'),+ newListModels,+ ListModelsResponse (ListModelsResponse'),+ newListModelsResponse,++ -- ** ListProjects (Paginated)+ ListProjects (ListProjects'),+ newListProjects,+ ListProjectsResponse (ListProjectsResponse'),+ newListProjectsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** StartModel+ StartModel (StartModel'),+ newStartModel,+ StartModelResponse (StartModelResponse'),+ newStartModelResponse,++ -- ** StartModelPackagingJob+ StartModelPackagingJob (StartModelPackagingJob'),+ newStartModelPackagingJob,+ StartModelPackagingJobResponse (StartModelPackagingJobResponse'),+ newStartModelPackagingJobResponse,++ -- ** StopModel+ StopModel (StopModel'),+ newStopModel,+ StopModelResponse (StopModelResponse'),+ newStopModelResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateDatasetEntries+ UpdateDatasetEntries (UpdateDatasetEntries'),+ newUpdateDatasetEntries,+ UpdateDatasetEntriesResponse (UpdateDatasetEntriesResponse'),+ newUpdateDatasetEntriesResponse,++ -- * Types++ -- ** DatasetStatus+ DatasetStatus (..),++ -- ** ModelHostingStatus+ ModelHostingStatus (..),++ -- ** ModelPackagingJobStatus+ ModelPackagingJobStatus (..),++ -- ** ModelStatus+ ModelStatus (..),++ -- ** TargetDevice+ TargetDevice (..),++ -- ** TargetPlatformAccelerator+ TargetPlatformAccelerator (..),++ -- ** TargetPlatformArch+ TargetPlatformArch (..),++ -- ** TargetPlatformOs+ TargetPlatformOs (..),++ -- ** Anomaly+ Anomaly (Anomaly'),+ newAnomaly,++ -- ** DatasetDescription+ DatasetDescription (DatasetDescription'),+ newDatasetDescription,++ -- ** DatasetGroundTruthManifest+ DatasetGroundTruthManifest (DatasetGroundTruthManifest'),+ newDatasetGroundTruthManifest,++ -- ** DatasetImageStats+ DatasetImageStats (DatasetImageStats'),+ newDatasetImageStats,++ -- ** DatasetMetadata+ DatasetMetadata (DatasetMetadata'),+ newDatasetMetadata,++ -- ** DatasetSource+ DatasetSource (DatasetSource'),+ newDatasetSource,++ -- ** DetectAnomalyResult+ DetectAnomalyResult (DetectAnomalyResult'),+ newDetectAnomalyResult,++ -- ** GreengrassConfiguration+ GreengrassConfiguration (GreengrassConfiguration'),+ newGreengrassConfiguration,++ -- ** GreengrassOutputDetails+ GreengrassOutputDetails (GreengrassOutputDetails'),+ newGreengrassOutputDetails,++ -- ** ImageSource+ ImageSource (ImageSource'),+ newImageSource,++ -- ** InputS3Object+ InputS3Object (InputS3Object'),+ newInputS3Object,++ -- ** ModelDescription+ ModelDescription (ModelDescription'),+ newModelDescription,++ -- ** ModelMetadata+ ModelMetadata (ModelMetadata'),+ newModelMetadata,++ -- ** ModelPackagingConfiguration+ ModelPackagingConfiguration (ModelPackagingConfiguration'),+ newModelPackagingConfiguration,++ -- ** ModelPackagingDescription+ ModelPackagingDescription (ModelPackagingDescription'),+ newModelPackagingDescription,++ -- ** ModelPackagingJobMetadata+ ModelPackagingJobMetadata (ModelPackagingJobMetadata'),+ newModelPackagingJobMetadata,++ -- ** ModelPackagingOutputDetails+ ModelPackagingOutputDetails (ModelPackagingOutputDetails'),+ newModelPackagingOutputDetails,++ -- ** ModelPerformance+ ModelPerformance (ModelPerformance'),+ newModelPerformance,++ -- ** OutputConfig+ OutputConfig (OutputConfig'),+ newOutputConfig,++ -- ** OutputS3Object+ OutputS3Object (OutputS3Object'),+ newOutputS3Object,++ -- ** PixelAnomaly+ PixelAnomaly (PixelAnomaly'),+ newPixelAnomaly,++ -- ** ProjectDescription+ ProjectDescription (ProjectDescription'),+ newProjectDescription,++ -- ** ProjectMetadata+ ProjectMetadata (ProjectMetadata'),+ newProjectMetadata,++ -- ** S3Location+ S3Location (S3Location'),+ newS3Location,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TargetPlatform+ TargetPlatform (TargetPlatform'),+ newTargetPlatform,+ )+where++import Amazonka.LookoutVision.CreateDataset+import Amazonka.LookoutVision.CreateModel+import Amazonka.LookoutVision.CreateProject+import Amazonka.LookoutVision.DeleteDataset+import Amazonka.LookoutVision.DeleteModel+import Amazonka.LookoutVision.DeleteProject+import Amazonka.LookoutVision.DescribeDataset+import Amazonka.LookoutVision.DescribeModel+import Amazonka.LookoutVision.DescribeModelPackagingJob+import Amazonka.LookoutVision.DescribeProject+import Amazonka.LookoutVision.DetectAnomalies+import Amazonka.LookoutVision.Lens+import Amazonka.LookoutVision.ListDatasetEntries+import Amazonka.LookoutVision.ListModelPackagingJobs+import Amazonka.LookoutVision.ListModels+import Amazonka.LookoutVision.ListProjects+import Amazonka.LookoutVision.ListTagsForResource+import Amazonka.LookoutVision.StartModel+import Amazonka.LookoutVision.StartModelPackagingJob+import Amazonka.LookoutVision.StopModel+import Amazonka.LookoutVision.TagResource+import Amazonka.LookoutVision.Types+import Amazonka.LookoutVision.UntagResource+import Amazonka.LookoutVision.UpdateDatasetEntries+import Amazonka.LookoutVision.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 'LookoutVision'.++-- $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/LookoutVision/CreateDataset.hs view
@@ -0,0 +1,298 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.CreateDataset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new dataset in an Amazon Lookout for Vision project.+-- @CreateDataset@ can create a training or a test dataset from a valid+-- dataset source (@DatasetSource@).+--+-- If you want a single dataset project, specify @train@ for the value of+-- @DatasetType@.+--+-- To have a project with separate training and test datasets, call+-- @CreateDataset@ twice. On the first call, specify @train@ for the value+-- of @DatasetType@. On the second call, specify @test@ for the value of+-- @DatasetType@.+--+-- This operation requires permissions to perform the+-- @lookoutvision:CreateDataset@ operation.+module Amazonka.LookoutVision.CreateDataset+ ( -- * Creating a Request+ CreateDataset (..),+ newCreateDataset,++ -- * Request Lenses+ createDataset_clientToken,+ createDataset_datasetSource,+ createDataset_projectName,+ createDataset_datasetType,++ -- * Destructuring the Response+ CreateDatasetResponse (..),+ newCreateDatasetResponse,++ -- * Response Lenses+ createDatasetResponse_datasetMetadata,+ createDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDataset' smart constructor.+data CreateDataset = CreateDataset'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @CreateDataset@ completes only once. You choose the value to pass. For+ -- example, An issue might prevent you from getting a response from+ -- @CreateDataset@. In this case, safely retry your call to @CreateDataset@+ -- by using the same @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple dataset creation requests. You\'ll need to+ -- provide your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @CreateDataset@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The location of the manifest file that Amazon Lookout for Vision uses to+ -- create the dataset.+ --+ -- If you don\'t specify @DatasetSource@, an empty dataset is created and+ -- the operation synchronously returns. Later, you can add JSON Lines by+ -- calling UpdateDatasetEntries.+ --+ -- If you specify a value for @DataSource@, the manifest at the S3 location+ -- is validated and used to create the dataset. The call to @CreateDataset@+ -- is asynchronous and might take a while to complete. To find out the+ -- current status, Check the value of @Status@ returned in a call to+ -- DescribeDataset.+ datasetSource :: Prelude.Maybe DatasetSource,+ -- | The name of the project in which you want to create a dataset.+ projectName :: Prelude.Text,+ -- | The type of the dataset. Specify @train@ for a training dataset. Specify+ -- @test@ for a test dataset.+ datasetType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createDataset_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @CreateDataset@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @CreateDataset@. In this case, safely retry your call to @CreateDataset@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple dataset creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateDataset@. An idempotency token is active for 8 hours.+--+-- 'datasetSource', 'createDataset_datasetSource' - The location of the manifest file that Amazon Lookout for Vision uses to+-- create the dataset.+--+-- If you don\'t specify @DatasetSource@, an empty dataset is created and+-- the operation synchronously returns. Later, you can add JSON Lines by+-- calling UpdateDatasetEntries.+--+-- If you specify a value for @DataSource@, the manifest at the S3 location+-- is validated and used to create the dataset. The call to @CreateDataset@+-- is asynchronous and might take a while to complete. To find out the+-- current status, Check the value of @Status@ returned in a call to+-- DescribeDataset.+--+-- 'projectName', 'createDataset_projectName' - The name of the project in which you want to create a dataset.+--+-- 'datasetType', 'createDataset_datasetType' - The type of the dataset. Specify @train@ for a training dataset. Specify+-- @test@ for a test dataset.+newCreateDataset ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'datasetType'+ Prelude.Text ->+ CreateDataset+newCreateDataset pProjectName_ pDatasetType_ =+ CreateDataset'+ { clientToken = Prelude.Nothing,+ datasetSource = Prelude.Nothing,+ projectName = pProjectName_,+ datasetType = pDatasetType_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @CreateDataset@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @CreateDataset@. In this case, safely retry your call to @CreateDataset@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple dataset creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateDataset@. An idempotency token is active for 8 hours.+createDataset_clientToken :: Lens.Lens' CreateDataset (Prelude.Maybe Prelude.Text)+createDataset_clientToken = Lens.lens (\CreateDataset' {clientToken} -> clientToken) (\s@CreateDataset' {} a -> s {clientToken = a} :: CreateDataset)++-- | The location of the manifest file that Amazon Lookout for Vision uses to+-- create the dataset.+--+-- If you don\'t specify @DatasetSource@, an empty dataset is created and+-- the operation synchronously returns. Later, you can add JSON Lines by+-- calling UpdateDatasetEntries.+--+-- If you specify a value for @DataSource@, the manifest at the S3 location+-- is validated and used to create the dataset. The call to @CreateDataset@+-- is asynchronous and might take a while to complete. To find out the+-- current status, Check the value of @Status@ returned in a call to+-- DescribeDataset.+createDataset_datasetSource :: Lens.Lens' CreateDataset (Prelude.Maybe DatasetSource)+createDataset_datasetSource = Lens.lens (\CreateDataset' {datasetSource} -> datasetSource) (\s@CreateDataset' {} a -> s {datasetSource = a} :: CreateDataset)++-- | The name of the project in which you want to create a dataset.+createDataset_projectName :: Lens.Lens' CreateDataset Prelude.Text+createDataset_projectName = Lens.lens (\CreateDataset' {projectName} -> projectName) (\s@CreateDataset' {} a -> s {projectName = a} :: CreateDataset)++-- | The type of the dataset. Specify @train@ for a training dataset. Specify+-- @test@ for a test dataset.+createDataset_datasetType :: Lens.Lens' CreateDataset Prelude.Text+createDataset_datasetType = Lens.lens (\CreateDataset' {datasetType} -> datasetType) (\s@CreateDataset' {} a -> s {datasetType = a} :: CreateDataset)++instance Core.AWSRequest CreateDataset where+ type+ AWSResponse CreateDataset =+ CreateDatasetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDatasetResponse'+ Prelude.<$> (x Data..?> "DatasetMetadata")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDataset where+ hashWithSalt _salt CreateDataset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` datasetSource+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` datasetType++instance Prelude.NFData CreateDataset where+ rnf CreateDataset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf datasetSource+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf datasetType++instance Data.ToHeaders CreateDataset where+ toHeaders CreateDataset' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateDataset where+ toJSON CreateDataset' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DatasetSource" Data..=) Prelude.<$> datasetSource,+ Prelude.Just ("DatasetType" Data..= datasetType)+ ]+ )++instance Data.ToPath CreateDataset where+ toPath CreateDataset' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/datasets"+ ]++instance Data.ToQuery CreateDataset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatasetResponse' smart constructor.+data CreateDatasetResponse = CreateDatasetResponse'+ { -- | Information about the dataset.+ datasetMetadata :: Prelude.Maybe DatasetMetadata,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetMetadata', 'createDatasetResponse_datasetMetadata' - Information about the dataset.+--+-- 'httpStatus', 'createDatasetResponse_httpStatus' - The response's http status code.+newCreateDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatasetResponse+newCreateDatasetResponse pHttpStatus_ =+ CreateDatasetResponse'+ { datasetMetadata =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the dataset.+createDatasetResponse_datasetMetadata :: Lens.Lens' CreateDatasetResponse (Prelude.Maybe DatasetMetadata)+createDatasetResponse_datasetMetadata = Lens.lens (\CreateDatasetResponse' {datasetMetadata} -> datasetMetadata) (\s@CreateDatasetResponse' {} a -> s {datasetMetadata = a} :: CreateDatasetResponse)++-- | The response's http status code.+createDatasetResponse_httpStatus :: Lens.Lens' CreateDatasetResponse Prelude.Int+createDatasetResponse_httpStatus = Lens.lens (\CreateDatasetResponse' {httpStatus} -> httpStatus) (\s@CreateDatasetResponse' {} a -> s {httpStatus = a} :: CreateDatasetResponse)++instance Prelude.NFData CreateDatasetResponse where+ rnf CreateDatasetResponse' {..} =+ Prelude.rnf datasetMetadata+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/CreateModel.hs view
@@ -0,0 +1,301 @@+{-# 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.LookoutVision.CreateModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new version of a model within an an Amazon Lookout for Vision+-- project. @CreateModel@ is an asynchronous operation in which Amazon+-- Lookout for Vision trains, tests, and evaluates a new version of a+-- model.+--+-- To get the current status, check the @Status@ field returned in the+-- response from DescribeModel.+--+-- If the project has a single dataset, Amazon Lookout for Vision+-- internally splits the dataset to create a training and a test dataset.+-- If the project has a training and a test dataset, Lookout for Vision+-- uses the respective datasets to train and test the model.+--+-- After training completes, the evaluation metrics are stored at the+-- location specified in @OutputConfig@.+--+-- This operation requires permissions to perform the+-- @lookoutvision:CreateModel@ operation. If you want to tag your model,+-- you also require permission to the @lookoutvision:TagResource@+-- operation.+module Amazonka.LookoutVision.CreateModel+ ( -- * Creating a Request+ CreateModel (..),+ newCreateModel,++ -- * Request Lenses+ createModel_clientToken,+ createModel_description,+ createModel_kmsKeyId,+ createModel_tags,+ createModel_projectName,+ createModel_outputConfig,++ -- * Destructuring the Response+ CreateModelResponse (..),+ newCreateModelResponse,++ -- * Response Lenses+ createModelResponse_modelMetadata,+ createModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateModel' smart constructor.+data CreateModel = CreateModel'+ { -- | ClientToken is an idempotency token that ensures a call to @CreateModel@+ -- completes only once. You choose the value to pass. For example, An issue+ -- might prevent you from getting a response from @CreateModel@. In this+ -- case, safely retry your call to @CreateModel@ by using the same+ -- @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from starting multiple training jobs. You\'ll need to provide your+ -- own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @CreateModel@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description for the version of the model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The identifier for your AWS KMS key. The key is used to encrypt training+ -- and test images copied into the service for model training. Your source+ -- images are unaffected. If this parameter is not specified, the copied+ -- images are encrypted by a key that AWS owns and manages.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | A set of tags (key-value pairs) that you want to attach to the model.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the project in which you want to create a model version.+ projectName :: Prelude.Text,+ -- | The location where Amazon Lookout for Vision saves the training results.+ outputConfig :: OutputConfig+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createModel_clientToken' - ClientToken is an idempotency token that ensures a call to @CreateModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @CreateModel@. In this+-- case, safely retry your call to @CreateModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from starting multiple training jobs. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateModel@. An idempotency token is active for 8 hours.+--+-- 'description', 'createModel_description' - A description for the version of the model.+--+-- 'kmsKeyId', 'createModel_kmsKeyId' - The identifier for your AWS KMS key. The key is used to encrypt training+-- and test images copied into the service for model training. Your source+-- images are unaffected. If this parameter is not specified, the copied+-- images are encrypted by a key that AWS owns and manages.+--+-- 'tags', 'createModel_tags' - A set of tags (key-value pairs) that you want to attach to the model.+--+-- 'projectName', 'createModel_projectName' - The name of the project in which you want to create a model version.+--+-- 'outputConfig', 'createModel_outputConfig' - The location where Amazon Lookout for Vision saves the training results.+newCreateModel ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'outputConfig'+ OutputConfig ->+ CreateModel+newCreateModel pProjectName_ pOutputConfig_ =+ CreateModel'+ { clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ tags = Prelude.Nothing,+ projectName = pProjectName_,+ outputConfig = pOutputConfig_+ }++-- | ClientToken is an idempotency token that ensures a call to @CreateModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @CreateModel@. In this+-- case, safely retry your call to @CreateModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from starting multiple training jobs. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateModel@. An idempotency token is active for 8 hours.+createModel_clientToken :: Lens.Lens' CreateModel (Prelude.Maybe Prelude.Text)+createModel_clientToken = Lens.lens (\CreateModel' {clientToken} -> clientToken) (\s@CreateModel' {} a -> s {clientToken = a} :: CreateModel)++-- | A description for the version of the model.+createModel_description :: Lens.Lens' CreateModel (Prelude.Maybe Prelude.Text)+createModel_description = Lens.lens (\CreateModel' {description} -> description) (\s@CreateModel' {} a -> s {description = a} :: CreateModel)++-- | The identifier for your AWS KMS key. The key is used to encrypt training+-- and test images copied into the service for model training. Your source+-- images are unaffected. If this parameter is not specified, the copied+-- images are encrypted by a key that AWS owns and manages.+createModel_kmsKeyId :: Lens.Lens' CreateModel (Prelude.Maybe Prelude.Text)+createModel_kmsKeyId = Lens.lens (\CreateModel' {kmsKeyId} -> kmsKeyId) (\s@CreateModel' {} a -> s {kmsKeyId = a} :: CreateModel)++-- | A set of tags (key-value pairs) that you want to attach to the model.+createModel_tags :: Lens.Lens' CreateModel (Prelude.Maybe [Tag])+createModel_tags = Lens.lens (\CreateModel' {tags} -> tags) (\s@CreateModel' {} a -> s {tags = a} :: CreateModel) Prelude.. Lens.mapping Lens.coerced++-- | The name of the project in which you want to create a model version.+createModel_projectName :: Lens.Lens' CreateModel Prelude.Text+createModel_projectName = Lens.lens (\CreateModel' {projectName} -> projectName) (\s@CreateModel' {} a -> s {projectName = a} :: CreateModel)++-- | The location where Amazon Lookout for Vision saves the training results.+createModel_outputConfig :: Lens.Lens' CreateModel OutputConfig+createModel_outputConfig = Lens.lens (\CreateModel' {outputConfig} -> outputConfig) (\s@CreateModel' {} a -> s {outputConfig = a} :: CreateModel)++instance Core.AWSRequest CreateModel where+ type AWSResponse CreateModel = CreateModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateModelResponse'+ Prelude.<$> (x Data..?> "ModelMetadata")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateModel where+ hashWithSalt _salt CreateModel' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` outputConfig++instance Prelude.NFData CreateModel where+ rnf CreateModel' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf outputConfig++instance Data.ToHeaders CreateModel where+ toHeaders CreateModel' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateModel where+ toJSON CreateModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("OutputConfig" Data..= outputConfig)+ ]+ )++instance Data.ToPath CreateModel where+ toPath CreateModel' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models"+ ]++instance Data.ToQuery CreateModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateModelResponse' smart constructor.+data CreateModelResponse = CreateModelResponse'+ { -- | The response from a call to @CreateModel@.+ modelMetadata :: Prelude.Maybe ModelMetadata,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelMetadata', 'createModelResponse_modelMetadata' - The response from a call to @CreateModel@.+--+-- 'httpStatus', 'createModelResponse_httpStatus' - The response's http status code.+newCreateModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateModelResponse+newCreateModelResponse pHttpStatus_ =+ CreateModelResponse'+ { modelMetadata =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response from a call to @CreateModel@.+createModelResponse_modelMetadata :: Lens.Lens' CreateModelResponse (Prelude.Maybe ModelMetadata)+createModelResponse_modelMetadata = Lens.lens (\CreateModelResponse' {modelMetadata} -> modelMetadata) (\s@CreateModelResponse' {} a -> s {modelMetadata = a} :: CreateModelResponse)++-- | The response's http status code.+createModelResponse_httpStatus :: Lens.Lens' CreateModelResponse Prelude.Int+createModelResponse_httpStatus = Lens.lens (\CreateModelResponse' {httpStatus} -> httpStatus) (\s@CreateModelResponse' {} a -> s {httpStatus = a} :: CreateModelResponse)++instance Prelude.NFData CreateModelResponse where+ rnf CreateModelResponse' {..} =+ Prelude.rnf modelMetadata+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/CreateProject.hs view
@@ -0,0 +1,220 @@+{-# 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.LookoutVision.CreateProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an empty Amazon Lookout for Vision project. After you create the+-- project, add a dataset by calling CreateDataset.+--+-- This operation requires permissions to perform the+-- @lookoutvision:CreateProject@ operation.+module Amazonka.LookoutVision.CreateProject+ ( -- * Creating a Request+ CreateProject (..),+ newCreateProject,++ -- * Request Lenses+ createProject_clientToken,+ createProject_projectName,++ -- * Destructuring the Response+ CreateProjectResponse (..),+ newCreateProjectResponse,++ -- * Response Lenses+ createProjectResponse_projectMetadata,+ createProjectResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateProject' smart constructor.+data CreateProject = CreateProject'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @CreateProject@ completes only once. You choose the value to pass. For+ -- example, An issue might prevent you from getting a response from+ -- @CreateProject@. In this case, safely retry your call to @CreateProject@+ -- by using the same @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple project creation requests. You\'ll need to+ -- provide your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @CreateProject@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name for the project.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createProject_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @CreateProject@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @CreateProject@. In this case, safely retry your call to @CreateProject@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple project creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateProject@. An idempotency token is active for 8 hours.+--+-- 'projectName', 'createProject_projectName' - The name for the project.+newCreateProject ::+ -- | 'projectName'+ Prelude.Text ->+ CreateProject+newCreateProject pProjectName_ =+ CreateProject'+ { clientToken = Prelude.Nothing,+ projectName = pProjectName_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @CreateProject@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @CreateProject@. In this case, safely retry your call to @CreateProject@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple project creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @CreateProject@. An idempotency token is active for 8 hours.+createProject_clientToken :: Lens.Lens' CreateProject (Prelude.Maybe Prelude.Text)+createProject_clientToken = Lens.lens (\CreateProject' {clientToken} -> clientToken) (\s@CreateProject' {} a -> s {clientToken = a} :: CreateProject)++-- | The name for the project.+createProject_projectName :: Lens.Lens' CreateProject Prelude.Text+createProject_projectName = Lens.lens (\CreateProject' {projectName} -> projectName) (\s@CreateProject' {} a -> s {projectName = a} :: CreateProject)++instance Core.AWSRequest CreateProject where+ type+ AWSResponse CreateProject =+ CreateProjectResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateProjectResponse'+ Prelude.<$> (x Data..?> "ProjectMetadata")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateProject where+ hashWithSalt _salt CreateProject' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData CreateProject where+ rnf CreateProject' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders CreateProject where+ toHeaders CreateProject' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON CreateProject where+ toJSON CreateProject' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ProjectName" Data..= projectName)]+ )++instance Data.ToPath CreateProject where+ toPath = Prelude.const "/2020-11-20/projects"++instance Data.ToQuery CreateProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateProjectResponse' smart constructor.+data CreateProjectResponse = CreateProjectResponse'+ { -- | Information about the project.+ projectMetadata :: Prelude.Maybe ProjectMetadata,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectMetadata', 'createProjectResponse_projectMetadata' - Information about the project.+--+-- 'httpStatus', 'createProjectResponse_httpStatus' - The response's http status code.+newCreateProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateProjectResponse+newCreateProjectResponse pHttpStatus_ =+ CreateProjectResponse'+ { projectMetadata =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Information about the project.+createProjectResponse_projectMetadata :: Lens.Lens' CreateProjectResponse (Prelude.Maybe ProjectMetadata)+createProjectResponse_projectMetadata = Lens.lens (\CreateProjectResponse' {projectMetadata} -> projectMetadata) (\s@CreateProjectResponse' {} a -> s {projectMetadata = a} :: CreateProjectResponse)++-- | The response's http status code.+createProjectResponse_httpStatus :: Lens.Lens' CreateProjectResponse Prelude.Int+createProjectResponse_httpStatus = Lens.lens (\CreateProjectResponse' {httpStatus} -> httpStatus) (\s@CreateProjectResponse' {} a -> s {httpStatus = a} :: CreateProjectResponse)++instance Prelude.NFData CreateProjectResponse where+ rnf CreateProjectResponse' {..} =+ Prelude.rnf projectMetadata+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DeleteDataset.hs view
@@ -0,0 +1,240 @@+{-# 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.LookoutVision.DeleteDataset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an existing Amazon Lookout for Vision @dataset@.+--+-- If your the project has a single dataset, you must create a new dataset+-- before you can create a model.+--+-- If you project has a training dataset and a test dataset consider the+-- following.+--+-- - If you delete the test dataset, your project reverts to a single+-- dataset project. If you then train the model, Amazon Lookout for+-- Vision internally splits the remaining dataset into a training and+-- test dataset.+--+-- - If you delete the training dataset, you must create a training+-- dataset before you can create a model.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DeleteDataset@ operation.+module Amazonka.LookoutVision.DeleteDataset+ ( -- * Creating a Request+ DeleteDataset (..),+ newDeleteDataset,++ -- * Request Lenses+ deleteDataset_clientToken,+ deleteDataset_projectName,+ deleteDataset_datasetType,++ -- * Destructuring the Response+ DeleteDatasetResponse (..),+ newDeleteDatasetResponse,++ -- * Response Lenses+ deleteDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDataset' smart constructor.+data DeleteDataset = DeleteDataset'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @DeleteDataset@ completes only once. You choose the value to pass. For+ -- example, An issue might prevent you from getting a response from+ -- @DeleteDataset@. In this case, safely retry your call to @DeleteDataset@+ -- by using the same @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple deletetion requests. You\'ll need to provide+ -- your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @DeleteDataset@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the dataset that you want to+ -- delete.+ projectName :: Prelude.Text,+ -- | The type of the dataset to delete. Specify @train@ to delete the+ -- training dataset. Specify @test@ to delete the test dataset. To delete+ -- the dataset in a single dataset project, specify @train@.+ datasetType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'deleteDataset_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @DeleteDataset@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @DeleteDataset@. In this case, safely retry your call to @DeleteDataset@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple deletetion requests. You\'ll need to provide+-- your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteDataset@. An idempotency token is active for 8 hours.+--+-- 'projectName', 'deleteDataset_projectName' - The name of the project that contains the dataset that you want to+-- delete.+--+-- 'datasetType', 'deleteDataset_datasetType' - The type of the dataset to delete. Specify @train@ to delete the+-- training dataset. Specify @test@ to delete the test dataset. To delete+-- the dataset in a single dataset project, specify @train@.+newDeleteDataset ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'datasetType'+ Prelude.Text ->+ DeleteDataset+newDeleteDataset pProjectName_ pDatasetType_ =+ DeleteDataset'+ { clientToken = Prelude.Nothing,+ projectName = pProjectName_,+ datasetType = pDatasetType_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @DeleteDataset@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @DeleteDataset@. In this case, safely retry your call to @DeleteDataset@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple deletetion requests. You\'ll need to provide+-- your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteDataset@. An idempotency token is active for 8 hours.+deleteDataset_clientToken :: Lens.Lens' DeleteDataset (Prelude.Maybe Prelude.Text)+deleteDataset_clientToken = Lens.lens (\DeleteDataset' {clientToken} -> clientToken) (\s@DeleteDataset' {} a -> s {clientToken = a} :: DeleteDataset)++-- | The name of the project that contains the dataset that you want to+-- delete.+deleteDataset_projectName :: Lens.Lens' DeleteDataset Prelude.Text+deleteDataset_projectName = Lens.lens (\DeleteDataset' {projectName} -> projectName) (\s@DeleteDataset' {} a -> s {projectName = a} :: DeleteDataset)++-- | The type of the dataset to delete. Specify @train@ to delete the+-- training dataset. Specify @test@ to delete the test dataset. To delete+-- the dataset in a single dataset project, specify @train@.+deleteDataset_datasetType :: Lens.Lens' DeleteDataset Prelude.Text+deleteDataset_datasetType = Lens.lens (\DeleteDataset' {datasetType} -> datasetType) (\s@DeleteDataset' {} a -> s {datasetType = a} :: DeleteDataset)++instance Core.AWSRequest DeleteDataset where+ type+ AWSResponse DeleteDataset =+ DeleteDatasetResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDatasetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDataset where+ hashWithSalt _salt DeleteDataset' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` datasetType++instance Prelude.NFData DeleteDataset where+ rnf DeleteDataset' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf datasetType++instance Data.ToHeaders DeleteDataset where+ toHeaders DeleteDataset' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteDataset where+ toPath DeleteDataset' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/datasets/",+ Data.toBS datasetType+ ]++instance Data.ToQuery DeleteDataset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatasetResponse' smart constructor.+data DeleteDatasetResponse = DeleteDatasetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDatasetResponse_httpStatus' - The response's http status code.+newDeleteDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDatasetResponse+newDeleteDatasetResponse pHttpStatus_ =+ DeleteDatasetResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteDatasetResponse_httpStatus :: Lens.Lens' DeleteDatasetResponse Prelude.Int+deleteDatasetResponse_httpStatus = Lens.lens (\DeleteDatasetResponse' {httpStatus} -> httpStatus) (\s@DeleteDatasetResponse' {} a -> s {httpStatus = a} :: DeleteDatasetResponse)++instance Prelude.NFData DeleteDatasetResponse where+ rnf DeleteDatasetResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DeleteModel.hs view
@@ -0,0 +1,234 @@+{-# 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.LookoutVision.DeleteModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an Amazon Lookout for Vision model. You can\'t delete a running+-- model. To stop a running model, use the StopModel operation.+--+-- It might take a few seconds to delete a model. To determine if a model+-- has been deleted, call ListModels and check if the version of the model+-- (@ModelVersion@) is in the @Models@ array.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DeleteModel@ operation.+module Amazonka.LookoutVision.DeleteModel+ ( -- * Creating a Request+ DeleteModel (..),+ newDeleteModel,++ -- * Request Lenses+ deleteModel_clientToken,+ deleteModel_projectName,+ deleteModel_modelVersion,++ -- * Destructuring the Response+ DeleteModelResponse (..),+ newDeleteModelResponse,++ -- * Response Lenses+ deleteModelResponse_modelArn,+ deleteModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteModel' smart constructor.+data DeleteModel = DeleteModel'+ { -- | ClientToken is an idempotency token that ensures a call to @DeleteModel@+ -- completes only once. You choose the value to pass. For example, an issue+ -- might prevent you from getting a response from @DeleteModel@. In this+ -- case, safely retry your call to @DeleteModel@ by using the same+ -- @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for ClientToken, the AWS SDK you are using+ -- inserts a value for you. This prevents retries after a network error+ -- from making multiple model deletion requests. You\'ll need to provide+ -- your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @DeleteModel@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the model that you want to delete.+ projectName :: Prelude.Text,+ -- | The version of the model that you want to delete.+ modelVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteModel_clientToken' - ClientToken is an idempotency token that ensures a call to @DeleteModel@+-- completes only once. You choose the value to pass. For example, an issue+-- might prevent you from getting a response from @DeleteModel@. In this+-- case, safely retry your call to @DeleteModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for ClientToken, the AWS SDK you are using+-- inserts a value for you. This prevents retries after a network error+-- from making multiple model deletion requests. You\'ll need to provide+-- your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteModel@. An idempotency token is active for 8 hours.+--+-- 'projectName', 'deleteModel_projectName' - The name of the project that contains the model that you want to delete.+--+-- 'modelVersion', 'deleteModel_modelVersion' - The version of the model that you want to delete.+newDeleteModel ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ DeleteModel+newDeleteModel pProjectName_ pModelVersion_ =+ DeleteModel'+ { clientToken = Prelude.Nothing,+ projectName = pProjectName_,+ modelVersion = pModelVersion_+ }++-- | ClientToken is an idempotency token that ensures a call to @DeleteModel@+-- completes only once. You choose the value to pass. For example, an issue+-- might prevent you from getting a response from @DeleteModel@. In this+-- case, safely retry your call to @DeleteModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for ClientToken, the AWS SDK you are using+-- inserts a value for you. This prevents retries after a network error+-- from making multiple model deletion requests. You\'ll need to provide+-- your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteModel@. An idempotency token is active for 8 hours.+deleteModel_clientToken :: Lens.Lens' DeleteModel (Prelude.Maybe Prelude.Text)+deleteModel_clientToken = Lens.lens (\DeleteModel' {clientToken} -> clientToken) (\s@DeleteModel' {} a -> s {clientToken = a} :: DeleteModel)++-- | The name of the project that contains the model that you want to delete.+deleteModel_projectName :: Lens.Lens' DeleteModel Prelude.Text+deleteModel_projectName = Lens.lens (\DeleteModel' {projectName} -> projectName) (\s@DeleteModel' {} a -> s {projectName = a} :: DeleteModel)++-- | The version of the model that you want to delete.+deleteModel_modelVersion :: Lens.Lens' DeleteModel Prelude.Text+deleteModel_modelVersion = Lens.lens (\DeleteModel' {modelVersion} -> modelVersion) (\s@DeleteModel' {} a -> s {modelVersion = a} :: DeleteModel)++instance Core.AWSRequest DeleteModel where+ type AWSResponse DeleteModel = DeleteModelResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteModelResponse'+ Prelude.<$> (x Data..?> "ModelArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteModel where+ hashWithSalt _salt DeleteModel' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` modelVersion++instance Prelude.NFData DeleteModel where+ rnf DeleteModel' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf modelVersion++instance Data.ToHeaders DeleteModel where+ toHeaders DeleteModel' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteModel where+ toPath DeleteModel' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models/",+ Data.toBS modelVersion+ ]++instance Data.ToQuery DeleteModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteModelResponse' smart constructor.+data DeleteModelResponse = DeleteModelResponse'+ { -- | The Amazon Resource Name (ARN) of the model that was deleted.+ modelArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelArn', 'deleteModelResponse_modelArn' - The Amazon Resource Name (ARN) of the model that was deleted.+--+-- 'httpStatus', 'deleteModelResponse_httpStatus' - The response's http status code.+newDeleteModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteModelResponse+newDeleteModelResponse pHttpStatus_ =+ DeleteModelResponse'+ { modelArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the model that was deleted.+deleteModelResponse_modelArn :: Lens.Lens' DeleteModelResponse (Prelude.Maybe Prelude.Text)+deleteModelResponse_modelArn = Lens.lens (\DeleteModelResponse' {modelArn} -> modelArn) (\s@DeleteModelResponse' {} a -> s {modelArn = a} :: DeleteModelResponse)++-- | The response's http status code.+deleteModelResponse_httpStatus :: Lens.Lens' DeleteModelResponse Prelude.Int+deleteModelResponse_httpStatus = Lens.lens (\DeleteModelResponse' {httpStatus} -> httpStatus) (\s@DeleteModelResponse' {} a -> s {httpStatus = a} :: DeleteModelResponse)++instance Prelude.NFData DeleteModelResponse where+ rnf DeleteModelResponse' {..} =+ Prelude.rnf modelArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DeleteProject.hs view
@@ -0,0 +1,222 @@+{-# 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.LookoutVision.DeleteProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an Amazon Lookout for Vision project.+--+-- To delete a project, you must first delete each version of the model+-- associated with the project. To delete a model use the DeleteModel+-- operation.+--+-- You also have to delete the dataset(s) associated with the model. For+-- more information, see DeleteDataset. The images referenced by the+-- training and test datasets aren\'t deleted.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DeleteProject@ operation.+module Amazonka.LookoutVision.DeleteProject+ ( -- * Creating a Request+ DeleteProject (..),+ newDeleteProject,++ -- * Request Lenses+ deleteProject_clientToken,+ deleteProject_projectName,++ -- * Destructuring the Response+ DeleteProjectResponse (..),+ newDeleteProjectResponse,++ -- * Response Lenses+ deleteProjectResponse_projectArn,+ deleteProjectResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteProject' smart constructor.+data DeleteProject = DeleteProject'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @DeleteProject@ completes only once. You choose the value to pass. For+ -- example, An issue might prevent you from getting a response from+ -- @DeleteProject@. In this case, safely retry your call to @DeleteProject@+ -- by using the same @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple project deletion requests. You\'ll need to+ -- provide your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @DeleteProject@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project to delete.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteProject_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @DeleteProject@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @DeleteProject@. In this case, safely retry your call to @DeleteProject@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple project deletion requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteProject@. An idempotency token is active for 8 hours.+--+-- 'projectName', 'deleteProject_projectName' - The name of the project to delete.+newDeleteProject ::+ -- | 'projectName'+ Prelude.Text ->+ DeleteProject+newDeleteProject pProjectName_ =+ DeleteProject'+ { clientToken = Prelude.Nothing,+ projectName = pProjectName_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @DeleteProject@ completes only once. You choose the value to pass. For+-- example, An issue might prevent you from getting a response from+-- @DeleteProject@. In this case, safely retry your call to @DeleteProject@+-- by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple project deletion requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @DeleteProject@. An idempotency token is active for 8 hours.+deleteProject_clientToken :: Lens.Lens' DeleteProject (Prelude.Maybe Prelude.Text)+deleteProject_clientToken = Lens.lens (\DeleteProject' {clientToken} -> clientToken) (\s@DeleteProject' {} a -> s {clientToken = a} :: DeleteProject)++-- | The name of the project to delete.+deleteProject_projectName :: Lens.Lens' DeleteProject Prelude.Text+deleteProject_projectName = Lens.lens (\DeleteProject' {projectName} -> projectName) (\s@DeleteProject' {} a -> s {projectName = a} :: DeleteProject)++instance Core.AWSRequest DeleteProject where+ type+ AWSResponse DeleteProject =+ DeleteProjectResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteProjectResponse'+ Prelude.<$> (x Data..?> "ProjectArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteProject where+ hashWithSalt _salt DeleteProject' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData DeleteProject where+ rnf DeleteProject' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders DeleteProject where+ toHeaders DeleteProject' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToPath DeleteProject where+ toPath DeleteProject' {..} =+ Prelude.mconcat+ ["/2020-11-20/projects/", Data.toBS projectName]++instance Data.ToQuery DeleteProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteProjectResponse' smart constructor.+data DeleteProjectResponse = DeleteProjectResponse'+ { -- | The Amazon Resource Name (ARN) of the project that was deleted.+ projectArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectArn', 'deleteProjectResponse_projectArn' - The Amazon Resource Name (ARN) of the project that was deleted.+--+-- 'httpStatus', 'deleteProjectResponse_httpStatus' - The response's http status code.+newDeleteProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteProjectResponse+newDeleteProjectResponse pHttpStatus_ =+ DeleteProjectResponse'+ { projectArn =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the project that was deleted.+deleteProjectResponse_projectArn :: Lens.Lens' DeleteProjectResponse (Prelude.Maybe Prelude.Text)+deleteProjectResponse_projectArn = Lens.lens (\DeleteProjectResponse' {projectArn} -> projectArn) (\s@DeleteProjectResponse' {} a -> s {projectArn = a} :: DeleteProjectResponse)++-- | The response's http status code.+deleteProjectResponse_httpStatus :: Lens.Lens' DeleteProjectResponse Prelude.Int+deleteProjectResponse_httpStatus = Lens.lens (\DeleteProjectResponse' {httpStatus} -> httpStatus) (\s@DeleteProjectResponse' {} a -> s {httpStatus = a} :: DeleteProjectResponse)++instance Prelude.NFData DeleteProjectResponse where+ rnf DeleteProjectResponse' {..} =+ Prelude.rnf projectArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DescribeDataset.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.DescribeDataset+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describe an Amazon Lookout for Vision dataset.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DescribeDataset@ operation.+module Amazonka.LookoutVision.DescribeDataset+ ( -- * Creating a Request+ DescribeDataset (..),+ newDescribeDataset,++ -- * Request Lenses+ describeDataset_projectName,+ describeDataset_datasetType,++ -- * Destructuring the Response+ DescribeDatasetResponse (..),+ newDescribeDatasetResponse,++ -- * Response Lenses+ describeDatasetResponse_datasetDescription,+ describeDatasetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDataset' smart constructor.+data DescribeDataset = DescribeDataset'+ { -- | The name of the project that contains the dataset that you want to+ -- describe.+ projectName :: Prelude.Text,+ -- | The type of the dataset to describe. Specify @train@ to describe the+ -- training dataset. Specify @test@ to describe the test dataset. If you+ -- have a single dataset project, specify @train@+ datasetType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDataset' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectName', 'describeDataset_projectName' - The name of the project that contains the dataset that you want to+-- describe.+--+-- 'datasetType', 'describeDataset_datasetType' - The type of the dataset to describe. Specify @train@ to describe the+-- training dataset. Specify @test@ to describe the test dataset. If you+-- have a single dataset project, specify @train@+newDescribeDataset ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'datasetType'+ Prelude.Text ->+ DescribeDataset+newDescribeDataset pProjectName_ pDatasetType_ =+ DescribeDataset'+ { projectName = pProjectName_,+ datasetType = pDatasetType_+ }++-- | The name of the project that contains the dataset that you want to+-- describe.+describeDataset_projectName :: Lens.Lens' DescribeDataset Prelude.Text+describeDataset_projectName = Lens.lens (\DescribeDataset' {projectName} -> projectName) (\s@DescribeDataset' {} a -> s {projectName = a} :: DescribeDataset)++-- | The type of the dataset to describe. Specify @train@ to describe the+-- training dataset. Specify @test@ to describe the test dataset. If you+-- have a single dataset project, specify @train@+describeDataset_datasetType :: Lens.Lens' DescribeDataset Prelude.Text+describeDataset_datasetType = Lens.lens (\DescribeDataset' {datasetType} -> datasetType) (\s@DescribeDataset' {} a -> s {datasetType = a} :: DescribeDataset)++instance Core.AWSRequest DescribeDataset where+ type+ AWSResponse DescribeDataset =+ DescribeDatasetResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeDatasetResponse'+ Prelude.<$> (x Data..?> "DatasetDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeDataset where+ hashWithSalt _salt DescribeDataset' {..} =+ _salt+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` datasetType++instance Prelude.NFData DescribeDataset where+ rnf DescribeDataset' {..} =+ Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf datasetType++instance Data.ToHeaders DescribeDataset where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeDataset where+ toPath DescribeDataset' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/datasets/",+ Data.toBS datasetType+ ]++instance Data.ToQuery DescribeDataset where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDatasetResponse' smart constructor.+data DescribeDatasetResponse = DescribeDatasetResponse'+ { -- | The description of the requested dataset.+ datasetDescription :: Prelude.Maybe DatasetDescription,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDatasetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetDescription', 'describeDatasetResponse_datasetDescription' - The description of the requested dataset.+--+-- 'httpStatus', 'describeDatasetResponse_httpStatus' - The response's http status code.+newDescribeDatasetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeDatasetResponse+newDescribeDatasetResponse pHttpStatus_ =+ DescribeDatasetResponse'+ { datasetDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The description of the requested dataset.+describeDatasetResponse_datasetDescription :: Lens.Lens' DescribeDatasetResponse (Prelude.Maybe DatasetDescription)+describeDatasetResponse_datasetDescription = Lens.lens (\DescribeDatasetResponse' {datasetDescription} -> datasetDescription) (\s@DescribeDatasetResponse' {} a -> s {datasetDescription = a} :: DescribeDatasetResponse)++-- | The response's http status code.+describeDatasetResponse_httpStatus :: Lens.Lens' DescribeDatasetResponse Prelude.Int+describeDatasetResponse_httpStatus = Lens.lens (\DescribeDatasetResponse' {httpStatus} -> httpStatus) (\s@DescribeDatasetResponse' {} a -> s {httpStatus = a} :: DescribeDatasetResponse)++instance Prelude.NFData DescribeDatasetResponse where+ rnf DescribeDatasetResponse' {..} =+ Prelude.rnf datasetDescription+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DescribeModel.hs view
@@ -0,0 +1,187 @@+{-# 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.LookoutVision.DescribeModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a version of an Amazon Lookout for Vision model.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DescribeModel@ operation.+module Amazonka.LookoutVision.DescribeModel+ ( -- * Creating a Request+ DescribeModel (..),+ newDescribeModel,++ -- * Request Lenses+ describeModel_projectName,+ describeModel_modelVersion,++ -- * Destructuring the Response+ DescribeModelResponse (..),+ newDescribeModelResponse,++ -- * Response Lenses+ describeModelResponse_modelDescription,+ describeModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeModel' smart constructor.+data DescribeModel = DescribeModel'+ { -- | The project that contains the version of a model that you want to+ -- describe.+ projectName :: Prelude.Text,+ -- | The version of the model that you want to describe.+ modelVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectName', 'describeModel_projectName' - The project that contains the version of a model that you want to+-- describe.+--+-- 'modelVersion', 'describeModel_modelVersion' - The version of the model that you want to describe.+newDescribeModel ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ DescribeModel+newDescribeModel pProjectName_ pModelVersion_ =+ DescribeModel'+ { projectName = pProjectName_,+ modelVersion = pModelVersion_+ }++-- | The project that contains the version of a model that you want to+-- describe.+describeModel_projectName :: Lens.Lens' DescribeModel Prelude.Text+describeModel_projectName = Lens.lens (\DescribeModel' {projectName} -> projectName) (\s@DescribeModel' {} a -> s {projectName = a} :: DescribeModel)++-- | The version of the model that you want to describe.+describeModel_modelVersion :: Lens.Lens' DescribeModel Prelude.Text+describeModel_modelVersion = Lens.lens (\DescribeModel' {modelVersion} -> modelVersion) (\s@DescribeModel' {} a -> s {modelVersion = a} :: DescribeModel)++instance Core.AWSRequest DescribeModel where+ type+ AWSResponse DescribeModel =+ DescribeModelResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeModelResponse'+ Prelude.<$> (x Data..?> "ModelDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeModel where+ hashWithSalt _salt DescribeModel' {..} =+ _salt+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` modelVersion++instance Prelude.NFData DescribeModel where+ rnf DescribeModel' {..} =+ Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf modelVersion++instance Data.ToHeaders DescribeModel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeModel where+ toPath DescribeModel' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models/",+ Data.toBS modelVersion+ ]++instance Data.ToQuery DescribeModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeModelResponse' smart constructor.+data DescribeModelResponse = DescribeModelResponse'+ { -- | Contains the description of the model.+ modelDescription :: Prelude.Maybe ModelDescription,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelDescription', 'describeModelResponse_modelDescription' - Contains the description of the model.+--+-- 'httpStatus', 'describeModelResponse_httpStatus' - The response's http status code.+newDescribeModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeModelResponse+newDescribeModelResponse pHttpStatus_ =+ DescribeModelResponse'+ { modelDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains the description of the model.+describeModelResponse_modelDescription :: Lens.Lens' DescribeModelResponse (Prelude.Maybe ModelDescription)+describeModelResponse_modelDescription = Lens.lens (\DescribeModelResponse' {modelDescription} -> modelDescription) (\s@DescribeModelResponse' {} a -> s {modelDescription = a} :: DescribeModelResponse)++-- | The response's http status code.+describeModelResponse_httpStatus :: Lens.Lens' DescribeModelResponse Prelude.Int+describeModelResponse_httpStatus = Lens.lens (\DescribeModelResponse' {httpStatus} -> httpStatus) (\s@DescribeModelResponse' {} a -> s {httpStatus = a} :: DescribeModelResponse)++instance Prelude.NFData DescribeModelResponse where+ rnf DescribeModelResponse' {..} =+ Prelude.rnf modelDescription+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DescribeModelPackagingJob.hs view
@@ -0,0 +1,194 @@+{-# 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.LookoutVision.DescribeModelPackagingJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an Amazon Lookout for Vision model packaging job.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DescribeModelPackagingJob@ operation.+--+-- For more information, see /Using your Amazon Lookout for Vision model on+-- an edge device/ in the Amazon Lookout for Vision Developer Guide.+module Amazonka.LookoutVision.DescribeModelPackagingJob+ ( -- * Creating a Request+ DescribeModelPackagingJob (..),+ newDescribeModelPackagingJob,++ -- * Request Lenses+ describeModelPackagingJob_projectName,+ describeModelPackagingJob_jobName,++ -- * Destructuring the Response+ DescribeModelPackagingJobResponse (..),+ newDescribeModelPackagingJobResponse,++ -- * Response Lenses+ describeModelPackagingJobResponse_modelPackagingDescription,+ describeModelPackagingJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeModelPackagingJob' smart constructor.+data DescribeModelPackagingJob = DescribeModelPackagingJob'+ { -- | The name of the project that contains the model packaging job that you+ -- want to describe.+ projectName :: Prelude.Text,+ -- | The job name for the model packaging job.+ jobName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeModelPackagingJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectName', 'describeModelPackagingJob_projectName' - The name of the project that contains the model packaging job that you+-- want to describe.+--+-- 'jobName', 'describeModelPackagingJob_jobName' - The job name for the model packaging job.+newDescribeModelPackagingJob ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'jobName'+ Prelude.Text ->+ DescribeModelPackagingJob+newDescribeModelPackagingJob pProjectName_ pJobName_ =+ DescribeModelPackagingJob'+ { projectName =+ pProjectName_,+ jobName = pJobName_+ }++-- | The name of the project that contains the model packaging job that you+-- want to describe.+describeModelPackagingJob_projectName :: Lens.Lens' DescribeModelPackagingJob Prelude.Text+describeModelPackagingJob_projectName = Lens.lens (\DescribeModelPackagingJob' {projectName} -> projectName) (\s@DescribeModelPackagingJob' {} a -> s {projectName = a} :: DescribeModelPackagingJob)++-- | The job name for the model packaging job.+describeModelPackagingJob_jobName :: Lens.Lens' DescribeModelPackagingJob Prelude.Text+describeModelPackagingJob_jobName = Lens.lens (\DescribeModelPackagingJob' {jobName} -> jobName) (\s@DescribeModelPackagingJob' {} a -> s {jobName = a} :: DescribeModelPackagingJob)++instance Core.AWSRequest DescribeModelPackagingJob where+ type+ AWSResponse DescribeModelPackagingJob =+ DescribeModelPackagingJobResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeModelPackagingJobResponse'+ Prelude.<$> (x Data..?> "ModelPackagingDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeModelPackagingJob where+ hashWithSalt _salt DescribeModelPackagingJob' {..} =+ _salt+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` jobName++instance Prelude.NFData DescribeModelPackagingJob where+ rnf DescribeModelPackagingJob' {..} =+ Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf jobName++instance Data.ToHeaders DescribeModelPackagingJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeModelPackagingJob where+ toPath DescribeModelPackagingJob' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/modelpackagingjobs/",+ Data.toBS jobName+ ]++instance Data.ToQuery DescribeModelPackagingJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeModelPackagingJobResponse' smart constructor.+data DescribeModelPackagingJobResponse = DescribeModelPackagingJobResponse'+ { -- | The description of the model packaging job.+ modelPackagingDescription :: Prelude.Maybe ModelPackagingDescription,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeModelPackagingJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelPackagingDescription', 'describeModelPackagingJobResponse_modelPackagingDescription' - The description of the model packaging job.+--+-- 'httpStatus', 'describeModelPackagingJobResponse_httpStatus' - The response's http status code.+newDescribeModelPackagingJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeModelPackagingJobResponse+newDescribeModelPackagingJobResponse pHttpStatus_ =+ DescribeModelPackagingJobResponse'+ { modelPackagingDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The description of the model packaging job.+describeModelPackagingJobResponse_modelPackagingDescription :: Lens.Lens' DescribeModelPackagingJobResponse (Prelude.Maybe ModelPackagingDescription)+describeModelPackagingJobResponse_modelPackagingDescription = Lens.lens (\DescribeModelPackagingJobResponse' {modelPackagingDescription} -> modelPackagingDescription) (\s@DescribeModelPackagingJobResponse' {} a -> s {modelPackagingDescription = a} :: DescribeModelPackagingJobResponse)++-- | The response's http status code.+describeModelPackagingJobResponse_httpStatus :: Lens.Lens' DescribeModelPackagingJobResponse Prelude.Int+describeModelPackagingJobResponse_httpStatus = Lens.lens (\DescribeModelPackagingJobResponse' {httpStatus} -> httpStatus) (\s@DescribeModelPackagingJobResponse' {} a -> s {httpStatus = a} :: DescribeModelPackagingJobResponse)++instance+ Prelude.NFData+ DescribeModelPackagingJobResponse+ where+ rnf DescribeModelPackagingJobResponse' {..} =+ Prelude.rnf modelPackagingDescription+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DescribeProject.hs view
@@ -0,0 +1,162 @@+{-# 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.LookoutVision.DescribeProject+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes an Amazon Lookout for Vision project.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DescribeProject@ operation.+module Amazonka.LookoutVision.DescribeProject+ ( -- * Creating a Request+ DescribeProject (..),+ newDescribeProject,++ -- * Request Lenses+ describeProject_projectName,++ -- * Destructuring the Response+ DescribeProjectResponse (..),+ newDescribeProjectResponse,++ -- * Response Lenses+ describeProjectResponse_projectDescription,+ describeProjectResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeProject' smart constructor.+data DescribeProject = DescribeProject'+ { -- | The name of the project that you want to describe.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectName', 'describeProject_projectName' - The name of the project that you want to describe.+newDescribeProject ::+ -- | 'projectName'+ Prelude.Text ->+ DescribeProject+newDescribeProject pProjectName_ =+ DescribeProject' {projectName = pProjectName_}++-- | The name of the project that you want to describe.+describeProject_projectName :: Lens.Lens' DescribeProject Prelude.Text+describeProject_projectName = Lens.lens (\DescribeProject' {projectName} -> projectName) (\s@DescribeProject' {} a -> s {projectName = a} :: DescribeProject)++instance Core.AWSRequest DescribeProject where+ type+ AWSResponse DescribeProject =+ DescribeProjectResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeProjectResponse'+ Prelude.<$> (x Data..?> "ProjectDescription")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeProject where+ hashWithSalt _salt DescribeProject' {..} =+ _salt `Prelude.hashWithSalt` projectName++instance Prelude.NFData DescribeProject where+ rnf DescribeProject' {..} = Prelude.rnf projectName++instance Data.ToHeaders DescribeProject where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeProject where+ toPath DescribeProject' {..} =+ Prelude.mconcat+ ["/2020-11-20/projects/", Data.toBS projectName]++instance Data.ToQuery DescribeProject where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeProjectResponse' smart constructor.+data DescribeProjectResponse = DescribeProjectResponse'+ { -- | The description of the project.+ projectDescription :: Prelude.Maybe ProjectDescription,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectDescription', 'describeProjectResponse_projectDescription' - The description of the project.+--+-- 'httpStatus', 'describeProjectResponse_httpStatus' - The response's http status code.+newDescribeProjectResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeProjectResponse+newDescribeProjectResponse pHttpStatus_ =+ DescribeProjectResponse'+ { projectDescription =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The description of the project.+describeProjectResponse_projectDescription :: Lens.Lens' DescribeProjectResponse (Prelude.Maybe ProjectDescription)+describeProjectResponse_projectDescription = Lens.lens (\DescribeProjectResponse' {projectDescription} -> projectDescription) (\s@DescribeProjectResponse' {} a -> s {projectDescription = a} :: DescribeProjectResponse)++-- | The response's http status code.+describeProjectResponse_httpStatus :: Lens.Lens' DescribeProjectResponse Prelude.Int+describeProjectResponse_httpStatus = Lens.lens (\DescribeProjectResponse' {httpStatus} -> httpStatus) (\s@DescribeProjectResponse' {} a -> s {httpStatus = a} :: DescribeProjectResponse)++instance Prelude.NFData DescribeProjectResponse where+ rnf DescribeProjectResponse' {..} =+ Prelude.rnf projectDescription+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/DetectAnomalies.hs view
@@ -0,0 +1,220 @@+{-# 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.LookoutVision.DetectAnomalies+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Detects anomalies in an image that you supply.+--+-- The response from @DetectAnomalies@ includes a boolean prediction that+-- the image contains one or more anomalies and a confidence value for the+-- prediction. If the model is an image segmentation model, the response+-- also includes segmentation information for each type of anomaly found in+-- the image.+--+-- Before calling @DetectAnomalies@, you must first start your model with+-- the StartModel operation. You are charged for the amount of time, in+-- minutes, that a model runs and for the number of anomaly detection units+-- that your model uses. If you are not using a model, use the StopModel+-- operation to stop your model.+--+-- For more information, see /Detecting anomalies in an image/ in the+-- Amazon Lookout for Vision developer guide.+--+-- This operation requires permissions to perform the+-- @lookoutvision:DetectAnomalies@ operation.+module Amazonka.LookoutVision.DetectAnomalies+ ( -- * Creating a Request+ DetectAnomalies (..),+ newDetectAnomalies,++ -- * Request Lenses+ detectAnomalies_projectName,+ detectAnomalies_modelVersion,+ detectAnomalies_contentType,+ detectAnomalies_body,++ -- * Destructuring the Response+ DetectAnomaliesResponse (..),+ newDetectAnomaliesResponse,++ -- * Response Lenses+ detectAnomaliesResponse_detectAnomalyResult,+ detectAnomaliesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDetectAnomalies' smart constructor.+data DetectAnomalies = DetectAnomalies'+ { -- | The name of the project that contains the model version that you want to+ -- use.+ projectName :: Prelude.Text,+ -- | The version of the model that you want to use.+ modelVersion :: Prelude.Text,+ -- | The type of the image passed in @Body@. Valid values are @image\/png@+ -- (PNG format images) and @image\/jpeg@ (JPG format images).+ contentType :: Prelude.Text,+ -- | The unencrypted image bytes that you want to analyze.+ body :: Data.HashedBody+ }+ deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectAnomalies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'projectName', 'detectAnomalies_projectName' - The name of the project that contains the model version that you want to+-- use.+--+-- 'modelVersion', 'detectAnomalies_modelVersion' - The version of the model that you want to use.+--+-- 'contentType', 'detectAnomalies_contentType' - The type of the image passed in @Body@. Valid values are @image\/png@+-- (PNG format images) and @image\/jpeg@ (JPG format images).+--+-- 'body', 'detectAnomalies_body' - The unencrypted image bytes that you want to analyze.+newDetectAnomalies ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ -- | 'contentType'+ Prelude.Text ->+ -- | 'body'+ Data.HashedBody ->+ DetectAnomalies+newDetectAnomalies+ pProjectName_+ pModelVersion_+ pContentType_+ pBody_ =+ DetectAnomalies'+ { projectName = pProjectName_,+ modelVersion = pModelVersion_,+ contentType = pContentType_,+ body = pBody_+ }++-- | The name of the project that contains the model version that you want to+-- use.+detectAnomalies_projectName :: Lens.Lens' DetectAnomalies Prelude.Text+detectAnomalies_projectName = Lens.lens (\DetectAnomalies' {projectName} -> projectName) (\s@DetectAnomalies' {} a -> s {projectName = a} :: DetectAnomalies)++-- | The version of the model that you want to use.+detectAnomalies_modelVersion :: Lens.Lens' DetectAnomalies Prelude.Text+detectAnomalies_modelVersion = Lens.lens (\DetectAnomalies' {modelVersion} -> modelVersion) (\s@DetectAnomalies' {} a -> s {modelVersion = a} :: DetectAnomalies)++-- | The type of the image passed in @Body@. Valid values are @image\/png@+-- (PNG format images) and @image\/jpeg@ (JPG format images).+detectAnomalies_contentType :: Lens.Lens' DetectAnomalies Prelude.Text+detectAnomalies_contentType = Lens.lens (\DetectAnomalies' {contentType} -> contentType) (\s@DetectAnomalies' {} a -> s {contentType = a} :: DetectAnomalies)++-- | The unencrypted image bytes that you want to analyze.+detectAnomalies_body :: Lens.Lens' DetectAnomalies Data.HashedBody+detectAnomalies_body = Lens.lens (\DetectAnomalies' {body} -> body) (\s@DetectAnomalies' {} a -> s {body = a} :: DetectAnomalies)++instance Core.AWSRequest DetectAnomalies where+ type+ AWSResponse DetectAnomalies =+ DetectAnomaliesResponse+ request overrides =+ Request.postBody (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DetectAnomaliesResponse'+ Prelude.<$> (x Data..?> "DetectAnomalyResult")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Data.ToBody DetectAnomalies where+ toBody DetectAnomalies' {..} = Data.toBody body++instance Data.ToHeaders DetectAnomalies where+ toHeaders DetectAnomalies' {..} =+ Prelude.mconcat+ ["Content-Type" Data.=# contentType]++instance Data.ToPath DetectAnomalies where+ toPath DetectAnomalies' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models/",+ Data.toBS modelVersion,+ "/detect"+ ]++instance Data.ToQuery DetectAnomalies where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDetectAnomaliesResponse' smart constructor.+data DetectAnomaliesResponse = DetectAnomaliesResponse'+ { -- | The results of the @DetectAnomalies@ operation.+ detectAnomalyResult :: Prelude.Maybe DetectAnomalyResult,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectAnomaliesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'detectAnomalyResult', 'detectAnomaliesResponse_detectAnomalyResult' - The results of the @DetectAnomalies@ operation.+--+-- 'httpStatus', 'detectAnomaliesResponse_httpStatus' - The response's http status code.+newDetectAnomaliesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DetectAnomaliesResponse+newDetectAnomaliesResponse pHttpStatus_ =+ DetectAnomaliesResponse'+ { detectAnomalyResult =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The results of the @DetectAnomalies@ operation.+detectAnomaliesResponse_detectAnomalyResult :: Lens.Lens' DetectAnomaliesResponse (Prelude.Maybe DetectAnomalyResult)+detectAnomaliesResponse_detectAnomalyResult = Lens.lens (\DetectAnomaliesResponse' {detectAnomalyResult} -> detectAnomalyResult) (\s@DetectAnomaliesResponse' {} a -> s {detectAnomalyResult = a} :: DetectAnomaliesResponse)++-- | The response's http status code.+detectAnomaliesResponse_httpStatus :: Lens.Lens' DetectAnomaliesResponse Prelude.Int+detectAnomaliesResponse_httpStatus = Lens.lens (\DetectAnomaliesResponse' {httpStatus} -> httpStatus) (\s@DetectAnomaliesResponse' {} a -> s {httpStatus = a} :: DetectAnomaliesResponse)++instance Prelude.NFData DetectAnomaliesResponse where+ rnf DetectAnomaliesResponse' {..} =+ Prelude.rnf detectAnomalyResult+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/Lens.hs view
@@ -0,0 +1,384 @@+{-# 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.LookoutVision.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.LookoutVision.Lens+ ( -- * Operations++ -- ** CreateDataset+ createDataset_clientToken,+ createDataset_datasetSource,+ createDataset_projectName,+ createDataset_datasetType,+ createDatasetResponse_datasetMetadata,+ createDatasetResponse_httpStatus,++ -- ** CreateModel+ createModel_clientToken,+ createModel_description,+ createModel_kmsKeyId,+ createModel_tags,+ createModel_projectName,+ createModel_outputConfig,+ createModelResponse_modelMetadata,+ createModelResponse_httpStatus,++ -- ** CreateProject+ createProject_clientToken,+ createProject_projectName,+ createProjectResponse_projectMetadata,+ createProjectResponse_httpStatus,++ -- ** DeleteDataset+ deleteDataset_clientToken,+ deleteDataset_projectName,+ deleteDataset_datasetType,+ deleteDatasetResponse_httpStatus,++ -- ** DeleteModel+ deleteModel_clientToken,+ deleteModel_projectName,+ deleteModel_modelVersion,+ deleteModelResponse_modelArn,+ deleteModelResponse_httpStatus,++ -- ** DeleteProject+ deleteProject_clientToken,+ deleteProject_projectName,+ deleteProjectResponse_projectArn,+ deleteProjectResponse_httpStatus,++ -- ** DescribeDataset+ describeDataset_projectName,+ describeDataset_datasetType,+ describeDatasetResponse_datasetDescription,+ describeDatasetResponse_httpStatus,++ -- ** DescribeModel+ describeModel_projectName,+ describeModel_modelVersion,+ describeModelResponse_modelDescription,+ describeModelResponse_httpStatus,++ -- ** DescribeModelPackagingJob+ describeModelPackagingJob_projectName,+ describeModelPackagingJob_jobName,+ describeModelPackagingJobResponse_modelPackagingDescription,+ describeModelPackagingJobResponse_httpStatus,++ -- ** DescribeProject+ describeProject_projectName,+ describeProjectResponse_projectDescription,+ describeProjectResponse_httpStatus,++ -- ** DetectAnomalies+ detectAnomalies_projectName,+ detectAnomalies_modelVersion,+ detectAnomalies_contentType,+ detectAnomalies_body,+ detectAnomaliesResponse_detectAnomalyResult,+ detectAnomaliesResponse_httpStatus,++ -- ** ListDatasetEntries+ listDatasetEntries_afterCreationDate,+ listDatasetEntries_anomalyClass,+ listDatasetEntries_beforeCreationDate,+ listDatasetEntries_labeled,+ listDatasetEntries_maxResults,+ listDatasetEntries_nextToken,+ listDatasetEntries_sourceRefContains,+ listDatasetEntries_projectName,+ listDatasetEntries_datasetType,+ listDatasetEntriesResponse_datasetEntries,+ listDatasetEntriesResponse_nextToken,+ listDatasetEntriesResponse_httpStatus,++ -- ** ListModelPackagingJobs+ listModelPackagingJobs_maxResults,+ listModelPackagingJobs_nextToken,+ listModelPackagingJobs_projectName,+ listModelPackagingJobsResponse_modelPackagingJobs,+ listModelPackagingJobsResponse_nextToken,+ listModelPackagingJobsResponse_httpStatus,++ -- ** ListModels+ listModels_maxResults,+ listModels_nextToken,+ listModels_projectName,+ listModelsResponse_models,+ listModelsResponse_nextToken,+ listModelsResponse_httpStatus,++ -- ** ListProjects+ listProjects_maxResults,+ listProjects_nextToken,+ listProjectsResponse_nextToken,+ listProjectsResponse_projects,+ listProjectsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** StartModel+ startModel_clientToken,+ startModel_maxInferenceUnits,+ startModel_projectName,+ startModel_modelVersion,+ startModel_minInferenceUnits,+ startModelResponse_status,+ startModelResponse_httpStatus,++ -- ** StartModelPackagingJob+ startModelPackagingJob_clientToken,+ startModelPackagingJob_description,+ startModelPackagingJob_jobName,+ startModelPackagingJob_projectName,+ startModelPackagingJob_modelVersion,+ startModelPackagingJob_configuration,+ startModelPackagingJobResponse_jobName,+ startModelPackagingJobResponse_httpStatus,++ -- ** StopModel+ stopModel_clientToken,+ stopModel_projectName,+ stopModel_modelVersion,+ stopModelResponse_status,+ stopModelResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateDatasetEntries+ updateDatasetEntries_clientToken,+ updateDatasetEntries_projectName,+ updateDatasetEntries_datasetType,+ updateDatasetEntries_changes,+ updateDatasetEntriesResponse_status,+ updateDatasetEntriesResponse_httpStatus,++ -- * Types++ -- ** Anomaly+ anomaly_name,+ anomaly_pixelAnomaly,++ -- ** DatasetDescription+ datasetDescription_creationTimestamp,+ datasetDescription_datasetType,+ datasetDescription_imageStats,+ datasetDescription_lastUpdatedTimestamp,+ datasetDescription_projectName,+ datasetDescription_status,+ datasetDescription_statusMessage,++ -- ** DatasetGroundTruthManifest+ datasetGroundTruthManifest_s3Object,++ -- ** DatasetImageStats+ datasetImageStats_anomaly,+ datasetImageStats_labeled,+ datasetImageStats_normal,+ datasetImageStats_total,++ -- ** DatasetMetadata+ datasetMetadata_creationTimestamp,+ datasetMetadata_datasetType,+ datasetMetadata_status,+ datasetMetadata_statusMessage,++ -- ** DatasetSource+ datasetSource_groundTruthManifest,++ -- ** DetectAnomalyResult+ detectAnomalyResult_anomalies,+ detectAnomalyResult_anomalyMask,+ detectAnomalyResult_confidence,+ detectAnomalyResult_isAnomalous,+ detectAnomalyResult_source,++ -- ** GreengrassConfiguration+ greengrassConfiguration_compilerOptions,+ greengrassConfiguration_componentDescription,+ greengrassConfiguration_componentVersion,+ greengrassConfiguration_tags,+ greengrassConfiguration_targetDevice,+ greengrassConfiguration_targetPlatform,+ greengrassConfiguration_s3OutputLocation,+ greengrassConfiguration_componentName,++ -- ** GreengrassOutputDetails+ greengrassOutputDetails_componentName,+ greengrassOutputDetails_componentVersion,+ greengrassOutputDetails_componentVersionArn,++ -- ** ImageSource+ imageSource_type,++ -- ** InputS3Object+ inputS3Object_versionId,+ inputS3Object_bucket,+ inputS3Object_key,++ -- ** ModelDescription+ modelDescription_creationTimestamp,+ modelDescription_description,+ modelDescription_evaluationEndTimestamp,+ modelDescription_evaluationManifest,+ modelDescription_evaluationResult,+ modelDescription_kmsKeyId,+ modelDescription_maxInferenceUnits,+ modelDescription_minInferenceUnits,+ modelDescription_modelArn,+ modelDescription_modelVersion,+ modelDescription_outputConfig,+ modelDescription_performance,+ modelDescription_status,+ modelDescription_statusMessage,++ -- ** ModelMetadata+ modelMetadata_creationTimestamp,+ modelMetadata_description,+ modelMetadata_modelArn,+ modelMetadata_modelVersion,+ modelMetadata_performance,+ modelMetadata_status,+ modelMetadata_statusMessage,++ -- ** ModelPackagingConfiguration+ modelPackagingConfiguration_greengrass,++ -- ** ModelPackagingDescription+ modelPackagingDescription_creationTimestamp,+ modelPackagingDescription_jobName,+ modelPackagingDescription_lastUpdatedTimestamp,+ modelPackagingDescription_modelPackagingConfiguration,+ modelPackagingDescription_modelPackagingJobDescription,+ modelPackagingDescription_modelPackagingMethod,+ modelPackagingDescription_modelPackagingOutputDetails,+ modelPackagingDescription_modelVersion,+ modelPackagingDescription_projectName,+ modelPackagingDescription_status,+ modelPackagingDescription_statusMessage,++ -- ** ModelPackagingJobMetadata+ modelPackagingJobMetadata_creationTimestamp,+ modelPackagingJobMetadata_jobName,+ modelPackagingJobMetadata_lastUpdatedTimestamp,+ modelPackagingJobMetadata_modelPackagingJobDescription,+ modelPackagingJobMetadata_modelPackagingMethod,+ modelPackagingJobMetadata_modelVersion,+ modelPackagingJobMetadata_projectName,+ modelPackagingJobMetadata_status,+ modelPackagingJobMetadata_statusMessage,++ -- ** ModelPackagingOutputDetails+ modelPackagingOutputDetails_greengrass,++ -- ** ModelPerformance+ modelPerformance_f1Score,+ modelPerformance_precision,+ modelPerformance_recall,++ -- ** OutputConfig+ outputConfig_s3Location,++ -- ** OutputS3Object+ outputS3Object_bucket,+ outputS3Object_key,++ -- ** PixelAnomaly+ pixelAnomaly_color,+ pixelAnomaly_totalPercentageArea,++ -- ** ProjectDescription+ projectDescription_creationTimestamp,+ projectDescription_datasets,+ projectDescription_projectArn,+ projectDescription_projectName,++ -- ** ProjectMetadata+ projectMetadata_creationTimestamp,+ projectMetadata_projectArn,+ projectMetadata_projectName,++ -- ** S3Location+ s3Location_prefix,+ s3Location_bucket,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TargetPlatform+ targetPlatform_accelerator,+ targetPlatform_os,+ targetPlatform_arch,+ )+where++import Amazonka.LookoutVision.CreateDataset+import Amazonka.LookoutVision.CreateModel+import Amazonka.LookoutVision.CreateProject+import Amazonka.LookoutVision.DeleteDataset+import Amazonka.LookoutVision.DeleteModel+import Amazonka.LookoutVision.DeleteProject+import Amazonka.LookoutVision.DescribeDataset+import Amazonka.LookoutVision.DescribeModel+import Amazonka.LookoutVision.DescribeModelPackagingJob+import Amazonka.LookoutVision.DescribeProject+import Amazonka.LookoutVision.DetectAnomalies+import Amazonka.LookoutVision.ListDatasetEntries+import Amazonka.LookoutVision.ListModelPackagingJobs+import Amazonka.LookoutVision.ListModels+import Amazonka.LookoutVision.ListProjects+import Amazonka.LookoutVision.ListTagsForResource+import Amazonka.LookoutVision.StartModel+import Amazonka.LookoutVision.StartModelPackagingJob+import Amazonka.LookoutVision.StopModel+import Amazonka.LookoutVision.TagResource+import Amazonka.LookoutVision.Types.Anomaly+import Amazonka.LookoutVision.Types.DatasetDescription+import Amazonka.LookoutVision.Types.DatasetGroundTruthManifest+import Amazonka.LookoutVision.Types.DatasetImageStats+import Amazonka.LookoutVision.Types.DatasetMetadata+import Amazonka.LookoutVision.Types.DatasetSource+import Amazonka.LookoutVision.Types.DetectAnomalyResult+import Amazonka.LookoutVision.Types.GreengrassConfiguration+import Amazonka.LookoutVision.Types.GreengrassOutputDetails+import Amazonka.LookoutVision.Types.ImageSource+import Amazonka.LookoutVision.Types.InputS3Object+import Amazonka.LookoutVision.Types.ModelDescription+import Amazonka.LookoutVision.Types.ModelMetadata+import Amazonka.LookoutVision.Types.ModelPackagingConfiguration+import Amazonka.LookoutVision.Types.ModelPackagingDescription+import Amazonka.LookoutVision.Types.ModelPackagingJobMetadata+import Amazonka.LookoutVision.Types.ModelPackagingOutputDetails+import Amazonka.LookoutVision.Types.ModelPerformance+import Amazonka.LookoutVision.Types.OutputConfig+import Amazonka.LookoutVision.Types.OutputS3Object+import Amazonka.LookoutVision.Types.PixelAnomaly+import Amazonka.LookoutVision.Types.ProjectDescription+import Amazonka.LookoutVision.Types.ProjectMetadata+import Amazonka.LookoutVision.Types.S3Location+import Amazonka.LookoutVision.Types.Tag+import Amazonka.LookoutVision.Types.TargetPlatform+import Amazonka.LookoutVision.UntagResource+import Amazonka.LookoutVision.UpdateDatasetEntries
+ gen/Amazonka/LookoutVision/ListDatasetEntries.hs view
@@ -0,0 +1,365 @@+{-# 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.LookoutVision.ListDatasetEntries+-- 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 JSON Lines within a dataset. An Amazon Lookout for Vision JSON+-- Line contains the anomaly information for a single image, including the+-- image location and the assigned label.+--+-- This operation requires permissions to perform the+-- @lookoutvision:ListDatasetEntries@ operation.+--+-- This operation returns paginated results.+module Amazonka.LookoutVision.ListDatasetEntries+ ( -- * Creating a Request+ ListDatasetEntries (..),+ newListDatasetEntries,++ -- * Request Lenses+ listDatasetEntries_afterCreationDate,+ listDatasetEntries_anomalyClass,+ listDatasetEntries_beforeCreationDate,+ listDatasetEntries_labeled,+ listDatasetEntries_maxResults,+ listDatasetEntries_nextToken,+ listDatasetEntries_sourceRefContains,+ listDatasetEntries_projectName,+ listDatasetEntries_datasetType,++ -- * Destructuring the Response+ ListDatasetEntriesResponse (..),+ newListDatasetEntriesResponse,++ -- * Response Lenses+ listDatasetEntriesResponse_datasetEntries,+ listDatasetEntriesResponse_nextToken,+ listDatasetEntriesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDatasetEntries' smart constructor.+data ListDatasetEntries = ListDatasetEntries'+ { -- | Only includes entries after the specified date in the response. For+ -- example, @2020-06-23T00:00:00@.+ afterCreationDate :: Prelude.Maybe Data.POSIX,+ -- | Specify @normal@ to include only normal images. Specify @anomaly@ to+ -- only include anomalous entries. If you don\'t specify a value, Amazon+ -- Lookout for Vision returns normal and anomalous images.+ anomalyClass :: Prelude.Maybe Prelude.Text,+ -- | Only includes entries before the specified date in the response. For+ -- example, @2020-06-23T00:00:00@.+ beforeCreationDate :: Prelude.Maybe Data.POSIX,+ -- | Specify @true@ to include labeled entries, otherwise specify @false@. If+ -- you don\'t specify a value, Lookout for Vision returns all entries.+ labeled :: Prelude.Maybe Prelude.Bool,+ -- | The maximum number of results to return per paginated call. The largest+ -- value you can specify is 100. If you specify a value greater than 100, a+ -- ValidationException error occurs. The default value is 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the previous response was incomplete (because there is more data to+ -- retrieve), Amazon Lookout for Vision returns a pagination token in the+ -- response. You can use this pagination token to retrieve the next set of+ -- dataset entries.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Perform a \"contains\" search on the values of the @source-ref@ key+ -- within the dataset. For example a value of \"IMG_17\" returns all JSON+ -- Lines where the @source-ref@ key value matches /*IMG_17*/.+ sourceRefContains :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the dataset that you want to list.+ projectName :: Prelude.Text,+ -- | The type of the dataset that you want to list. Specify @train@ to list+ -- the training dataset. Specify @test@ to list the test dataset. If you+ -- have a single dataset project, specify @train@.+ datasetType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatasetEntries' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'afterCreationDate', 'listDatasetEntries_afterCreationDate' - Only includes entries after the specified date in the response. For+-- example, @2020-06-23T00:00:00@.+--+-- 'anomalyClass', 'listDatasetEntries_anomalyClass' - Specify @normal@ to include only normal images. Specify @anomaly@ to+-- only include anomalous entries. If you don\'t specify a value, Amazon+-- Lookout for Vision returns normal and anomalous images.+--+-- 'beforeCreationDate', 'listDatasetEntries_beforeCreationDate' - Only includes entries before the specified date in the response. For+-- example, @2020-06-23T00:00:00@.+--+-- 'labeled', 'listDatasetEntries_labeled' - Specify @true@ to include labeled entries, otherwise specify @false@. If+-- you don\'t specify a value, Lookout for Vision returns all entries.+--+-- 'maxResults', 'listDatasetEntries_maxResults' - The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+--+-- 'nextToken', 'listDatasetEntries_nextToken' - If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- dataset entries.+--+-- 'sourceRefContains', 'listDatasetEntries_sourceRefContains' - Perform a \"contains\" search on the values of the @source-ref@ key+-- within the dataset. For example a value of \"IMG_17\" returns all JSON+-- Lines where the @source-ref@ key value matches /*IMG_17*/.+--+-- 'projectName', 'listDatasetEntries_projectName' - The name of the project that contains the dataset that you want to list.+--+-- 'datasetType', 'listDatasetEntries_datasetType' - The type of the dataset that you want to list. Specify @train@ to list+-- the training dataset. Specify @test@ to list the test dataset. If you+-- have a single dataset project, specify @train@.+newListDatasetEntries ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'datasetType'+ Prelude.Text ->+ ListDatasetEntries+newListDatasetEntries pProjectName_ pDatasetType_ =+ ListDatasetEntries'+ { afterCreationDate =+ Prelude.Nothing,+ anomalyClass = Prelude.Nothing,+ beforeCreationDate = Prelude.Nothing,+ labeled = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sourceRefContains = Prelude.Nothing,+ projectName = pProjectName_,+ datasetType = pDatasetType_+ }++-- | Only includes entries after the specified date in the response. For+-- example, @2020-06-23T00:00:00@.+listDatasetEntries_afterCreationDate :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.UTCTime)+listDatasetEntries_afterCreationDate = Lens.lens (\ListDatasetEntries' {afterCreationDate} -> afterCreationDate) (\s@ListDatasetEntries' {} a -> s {afterCreationDate = a} :: ListDatasetEntries) Prelude.. Lens.mapping Data._Time++-- | Specify @normal@ to include only normal images. Specify @anomaly@ to+-- only include anomalous entries. If you don\'t specify a value, Amazon+-- Lookout for Vision returns normal and anomalous images.+listDatasetEntries_anomalyClass :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.Text)+listDatasetEntries_anomalyClass = Lens.lens (\ListDatasetEntries' {anomalyClass} -> anomalyClass) (\s@ListDatasetEntries' {} a -> s {anomalyClass = a} :: ListDatasetEntries)++-- | Only includes entries before the specified date in the response. For+-- example, @2020-06-23T00:00:00@.+listDatasetEntries_beforeCreationDate :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.UTCTime)+listDatasetEntries_beforeCreationDate = Lens.lens (\ListDatasetEntries' {beforeCreationDate} -> beforeCreationDate) (\s@ListDatasetEntries' {} a -> s {beforeCreationDate = a} :: ListDatasetEntries) Prelude.. Lens.mapping Data._Time++-- | Specify @true@ to include labeled entries, otherwise specify @false@. If+-- you don\'t specify a value, Lookout for Vision returns all entries.+listDatasetEntries_labeled :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.Bool)+listDatasetEntries_labeled = Lens.lens (\ListDatasetEntries' {labeled} -> labeled) (\s@ListDatasetEntries' {} a -> s {labeled = a} :: ListDatasetEntries)++-- | The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+listDatasetEntries_maxResults :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.Natural)+listDatasetEntries_maxResults = Lens.lens (\ListDatasetEntries' {maxResults} -> maxResults) (\s@ListDatasetEntries' {} a -> s {maxResults = a} :: ListDatasetEntries)++-- | If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- dataset entries.+listDatasetEntries_nextToken :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.Text)+listDatasetEntries_nextToken = Lens.lens (\ListDatasetEntries' {nextToken} -> nextToken) (\s@ListDatasetEntries' {} a -> s {nextToken = a} :: ListDatasetEntries)++-- | Perform a \"contains\" search on the values of the @source-ref@ key+-- within the dataset. For example a value of \"IMG_17\" returns all JSON+-- Lines where the @source-ref@ key value matches /*IMG_17*/.+listDatasetEntries_sourceRefContains :: Lens.Lens' ListDatasetEntries (Prelude.Maybe Prelude.Text)+listDatasetEntries_sourceRefContains = Lens.lens (\ListDatasetEntries' {sourceRefContains} -> sourceRefContains) (\s@ListDatasetEntries' {} a -> s {sourceRefContains = a} :: ListDatasetEntries)++-- | The name of the project that contains the dataset that you want to list.+listDatasetEntries_projectName :: Lens.Lens' ListDatasetEntries Prelude.Text+listDatasetEntries_projectName = Lens.lens (\ListDatasetEntries' {projectName} -> projectName) (\s@ListDatasetEntries' {} a -> s {projectName = a} :: ListDatasetEntries)++-- | The type of the dataset that you want to list. Specify @train@ to list+-- the training dataset. Specify @test@ to list the test dataset. If you+-- have a single dataset project, specify @train@.+listDatasetEntries_datasetType :: Lens.Lens' ListDatasetEntries Prelude.Text+listDatasetEntries_datasetType = Lens.lens (\ListDatasetEntries' {datasetType} -> datasetType) (\s@ListDatasetEntries' {} a -> s {datasetType = a} :: ListDatasetEntries)++instance Core.AWSPager ListDatasetEntries where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDatasetEntriesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDatasetEntriesResponse_datasetEntries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDatasetEntries_nextToken+ Lens..~ rs+ Lens.^? listDatasetEntriesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDatasetEntries where+ type+ AWSResponse ListDatasetEntries =+ ListDatasetEntriesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDatasetEntriesResponse'+ Prelude.<$> (x Data..?> "DatasetEntries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDatasetEntries where+ hashWithSalt _salt ListDatasetEntries' {..} =+ _salt+ `Prelude.hashWithSalt` afterCreationDate+ `Prelude.hashWithSalt` anomalyClass+ `Prelude.hashWithSalt` beforeCreationDate+ `Prelude.hashWithSalt` labeled+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sourceRefContains+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` datasetType++instance Prelude.NFData ListDatasetEntries where+ rnf ListDatasetEntries' {..} =+ Prelude.rnf afterCreationDate+ `Prelude.seq` Prelude.rnf anomalyClass+ `Prelude.seq` Prelude.rnf beforeCreationDate+ `Prelude.seq` Prelude.rnf labeled+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sourceRefContains+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf datasetType++instance Data.ToHeaders ListDatasetEntries where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListDatasetEntries where+ toPath ListDatasetEntries' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/datasets/",+ Data.toBS datasetType,+ "/entries"+ ]++instance Data.ToQuery ListDatasetEntries where+ toQuery ListDatasetEntries' {..} =+ Prelude.mconcat+ [ "createdAfter" Data.=: afterCreationDate,+ "anomalyClass" Data.=: anomalyClass,+ "createdBefore" Data.=: beforeCreationDate,+ "labeled" Data.=: labeled,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "sourceRefContains" Data.=: sourceRefContains+ ]++-- | /See:/ 'newListDatasetEntriesResponse' smart constructor.+data ListDatasetEntriesResponse = ListDatasetEntriesResponse'+ { -- | A list of the entries (JSON Lines) within the dataset.+ datasetEntries :: Prelude.Maybe [Prelude.Text],+ -- | If the response is truncated, Amazon Lookout for Vision returns this+ -- token that you can use in the subsequent request to retrieve the next+ -- set ofdataset entries.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatasetEntriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'datasetEntries', 'listDatasetEntriesResponse_datasetEntries' - A list of the entries (JSON Lines) within the dataset.+--+-- 'nextToken', 'listDatasetEntriesResponse_nextToken' - If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set ofdataset entries.+--+-- 'httpStatus', 'listDatasetEntriesResponse_httpStatus' - The response's http status code.+newListDatasetEntriesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDatasetEntriesResponse+newListDatasetEntriesResponse pHttpStatus_ =+ ListDatasetEntriesResponse'+ { datasetEntries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the entries (JSON Lines) within the dataset.+listDatasetEntriesResponse_datasetEntries :: Lens.Lens' ListDatasetEntriesResponse (Prelude.Maybe [Prelude.Text])+listDatasetEntriesResponse_datasetEntries = Lens.lens (\ListDatasetEntriesResponse' {datasetEntries} -> datasetEntries) (\s@ListDatasetEntriesResponse' {} a -> s {datasetEntries = a} :: ListDatasetEntriesResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set ofdataset entries.+listDatasetEntriesResponse_nextToken :: Lens.Lens' ListDatasetEntriesResponse (Prelude.Maybe Prelude.Text)+listDatasetEntriesResponse_nextToken = Lens.lens (\ListDatasetEntriesResponse' {nextToken} -> nextToken) (\s@ListDatasetEntriesResponse' {} a -> s {nextToken = a} :: ListDatasetEntriesResponse)++-- | The response's http status code.+listDatasetEntriesResponse_httpStatus :: Lens.Lens' ListDatasetEntriesResponse Prelude.Int+listDatasetEntriesResponse_httpStatus = Lens.lens (\ListDatasetEntriesResponse' {httpStatus} -> httpStatus) (\s@ListDatasetEntriesResponse' {} a -> s {httpStatus = a} :: ListDatasetEntriesResponse)++instance Prelude.NFData ListDatasetEntriesResponse where+ rnf ListDatasetEntriesResponse' {..} =+ Prelude.rnf datasetEntries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/ListModelPackagingJobs.hs view
@@ -0,0 +1,274 @@+{-# 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.LookoutVision.ListModelPackagingJobs+-- 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 model packaging jobs created for an Amazon Lookout for Vision+-- project.+--+-- This operation requires permissions to perform the+-- @lookoutvision:ListModelPackagingJobs@ operation.+--+-- For more information, see /Using your Amazon Lookout for Vision model on+-- an edge device/ in the Amazon Lookout for Vision Developer Guide.+--+-- This operation returns paginated results.+module Amazonka.LookoutVision.ListModelPackagingJobs+ ( -- * Creating a Request+ ListModelPackagingJobs (..),+ newListModelPackagingJobs,++ -- * Request Lenses+ listModelPackagingJobs_maxResults,+ listModelPackagingJobs_nextToken,+ listModelPackagingJobs_projectName,++ -- * Destructuring the Response+ ListModelPackagingJobsResponse (..),+ newListModelPackagingJobsResponse,++ -- * Response Lenses+ listModelPackagingJobsResponse_modelPackagingJobs,+ listModelPackagingJobsResponse_nextToken,+ listModelPackagingJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListModelPackagingJobs' smart constructor.+data ListModelPackagingJobs = ListModelPackagingJobs'+ { -- | The maximum number of results to return per paginated call. The largest+ -- value you can specify is 100. If you specify a value greater than 100, a+ -- ValidationException error occurs. The default value is 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the previous response was incomplete (because there is more results+ -- to retrieve), Amazon Lookout for Vision returns a pagination token in+ -- the response. You can use this pagination token to retrieve the next set+ -- of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project for which you want to list the model packaging+ -- jobs.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelPackagingJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModelPackagingJobs_maxResults' - The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+--+-- 'nextToken', 'listModelPackagingJobs_nextToken' - If the previous response was incomplete (because there is more results+-- to retrieve), Amazon Lookout for Vision returns a pagination token in+-- the response. You can use this pagination token to retrieve the next set+-- of results.+--+-- 'projectName', 'listModelPackagingJobs_projectName' - The name of the project for which you want to list the model packaging+-- jobs.+newListModelPackagingJobs ::+ -- | 'projectName'+ Prelude.Text ->+ ListModelPackagingJobs+newListModelPackagingJobs pProjectName_ =+ ListModelPackagingJobs'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ projectName = pProjectName_+ }++-- | The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+listModelPackagingJobs_maxResults :: Lens.Lens' ListModelPackagingJobs (Prelude.Maybe Prelude.Natural)+listModelPackagingJobs_maxResults = Lens.lens (\ListModelPackagingJobs' {maxResults} -> maxResults) (\s@ListModelPackagingJobs' {} a -> s {maxResults = a} :: ListModelPackagingJobs)++-- | If the previous response was incomplete (because there is more results+-- to retrieve), Amazon Lookout for Vision returns a pagination token in+-- the response. You can use this pagination token to retrieve the next set+-- of results.+listModelPackagingJobs_nextToken :: Lens.Lens' ListModelPackagingJobs (Prelude.Maybe Prelude.Text)+listModelPackagingJobs_nextToken = Lens.lens (\ListModelPackagingJobs' {nextToken} -> nextToken) (\s@ListModelPackagingJobs' {} a -> s {nextToken = a} :: ListModelPackagingJobs)++-- | The name of the project for which you want to list the model packaging+-- jobs.+listModelPackagingJobs_projectName :: Lens.Lens' ListModelPackagingJobs Prelude.Text+listModelPackagingJobs_projectName = Lens.lens (\ListModelPackagingJobs' {projectName} -> projectName) (\s@ListModelPackagingJobs' {} a -> s {projectName = a} :: ListModelPackagingJobs)++instance Core.AWSPager ListModelPackagingJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listModelPackagingJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listModelPackagingJobsResponse_modelPackagingJobs+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listModelPackagingJobs_nextToken+ Lens..~ rs+ Lens.^? listModelPackagingJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListModelPackagingJobs where+ type+ AWSResponse ListModelPackagingJobs =+ ListModelPackagingJobsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListModelPackagingJobsResponse'+ Prelude.<$> ( x+ Data..?> "ModelPackagingJobs"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListModelPackagingJobs where+ hashWithSalt _salt ListModelPackagingJobs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData ListModelPackagingJobs where+ rnf ListModelPackagingJobs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders ListModelPackagingJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListModelPackagingJobs where+ toPath ListModelPackagingJobs' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/modelpackagingjobs"+ ]++instance Data.ToQuery ListModelPackagingJobs where+ toQuery ListModelPackagingJobs' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListModelPackagingJobsResponse' smart constructor.+data ListModelPackagingJobsResponse = ListModelPackagingJobsResponse'+ { -- | A list of the model packaging jobs created for the specified Amazon+ -- Lookout for Vision project.+ modelPackagingJobs :: Prelude.Maybe [ModelPackagingJobMetadata],+ -- | If the previous response was incomplete (because there is more results+ -- to retrieve), Amazon Lookout for Vision returns a pagination token in+ -- the response. You can use this pagination token to retrieve the next set+ -- of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelPackagingJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'modelPackagingJobs', 'listModelPackagingJobsResponse_modelPackagingJobs' - A list of the model packaging jobs created for the specified Amazon+-- Lookout for Vision project.+--+-- 'nextToken', 'listModelPackagingJobsResponse_nextToken' - If the previous response was incomplete (because there is more results+-- to retrieve), Amazon Lookout for Vision returns a pagination token in+-- the response. You can use this pagination token to retrieve the next set+-- of results.+--+-- 'httpStatus', 'listModelPackagingJobsResponse_httpStatus' - The response's http status code.+newListModelPackagingJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListModelPackagingJobsResponse+newListModelPackagingJobsResponse pHttpStatus_ =+ ListModelPackagingJobsResponse'+ { modelPackagingJobs =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of the model packaging jobs created for the specified Amazon+-- Lookout for Vision project.+listModelPackagingJobsResponse_modelPackagingJobs :: Lens.Lens' ListModelPackagingJobsResponse (Prelude.Maybe [ModelPackagingJobMetadata])+listModelPackagingJobsResponse_modelPackagingJobs = Lens.lens (\ListModelPackagingJobsResponse' {modelPackagingJobs} -> modelPackagingJobs) (\s@ListModelPackagingJobsResponse' {} a -> s {modelPackagingJobs = a} :: ListModelPackagingJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the previous response was incomplete (because there is more results+-- to retrieve), Amazon Lookout for Vision returns a pagination token in+-- the response. You can use this pagination token to retrieve the next set+-- of results.+listModelPackagingJobsResponse_nextToken :: Lens.Lens' ListModelPackagingJobsResponse (Prelude.Maybe Prelude.Text)+listModelPackagingJobsResponse_nextToken = Lens.lens (\ListModelPackagingJobsResponse' {nextToken} -> nextToken) (\s@ListModelPackagingJobsResponse' {} a -> s {nextToken = a} :: ListModelPackagingJobsResponse)++-- | The response's http status code.+listModelPackagingJobsResponse_httpStatus :: Lens.Lens' ListModelPackagingJobsResponse Prelude.Int+listModelPackagingJobsResponse_httpStatus = Lens.lens (\ListModelPackagingJobsResponse' {httpStatus} -> httpStatus) (\s@ListModelPackagingJobsResponse' {} a -> s {httpStatus = a} :: ListModelPackagingJobsResponse)++instance+ Prelude.NFData+ ListModelPackagingJobsResponse+ where+ rnf ListModelPackagingJobsResponse' {..} =+ Prelude.rnf modelPackagingJobs+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/ListModels.hs view
@@ -0,0 +1,258 @@+{-# 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.LookoutVision.ListModels+-- 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 versions of a model in an Amazon Lookout for Vision project.+--+-- The @ListModels@ operation is eventually consistent. Recent calls to+-- @CreateModel@ might take a while to appear in the response from+-- @ListProjects@.+--+-- This operation requires permissions to perform the+-- @lookoutvision:ListModels@ operation.+--+-- This operation returns paginated results.+module Amazonka.LookoutVision.ListModels+ ( -- * Creating a Request+ ListModels (..),+ newListModels,++ -- * Request Lenses+ listModels_maxResults,+ listModels_nextToken,+ listModels_projectName,++ -- * Destructuring the Response+ ListModelsResponse (..),+ newListModelsResponse,++ -- * Response Lenses+ listModelsResponse_models,+ listModelsResponse_nextToken,+ listModelsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListModels' smart constructor.+data ListModels = ListModels'+ { -- | The maximum number of results to return per paginated call. The largest+ -- value you can specify is 100. If you specify a value greater than 100, a+ -- ValidationException error occurs. The default value is 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the previous response was incomplete (because there is more data to+ -- retrieve), Amazon Lookout for Vision returns a pagination token in the+ -- response. You can use this pagination token to retrieve the next set of+ -- models.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the model versions that you want+ -- to list.+ projectName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModels_maxResults' - The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+--+-- 'nextToken', 'listModels_nextToken' - If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- models.+--+-- 'projectName', 'listModels_projectName' - The name of the project that contains the model versions that you want+-- to list.+newListModels ::+ -- | 'projectName'+ Prelude.Text ->+ ListModels+newListModels pProjectName_ =+ ListModels'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ projectName = pProjectName_+ }++-- | The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+listModels_maxResults :: Lens.Lens' ListModels (Prelude.Maybe Prelude.Natural)+listModels_maxResults = Lens.lens (\ListModels' {maxResults} -> maxResults) (\s@ListModels' {} a -> s {maxResults = a} :: ListModels)++-- | If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- models.+listModels_nextToken :: Lens.Lens' ListModels (Prelude.Maybe Prelude.Text)+listModels_nextToken = Lens.lens (\ListModels' {nextToken} -> nextToken) (\s@ListModels' {} a -> s {nextToken = a} :: ListModels)++-- | The name of the project that contains the model versions that you want+-- to list.+listModels_projectName :: Lens.Lens' ListModels Prelude.Text+listModels_projectName = Lens.lens (\ListModels' {projectName} -> projectName) (\s@ListModels' {} a -> s {projectName = a} :: ListModels)++instance Core.AWSPager ListModels where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listModelsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listModelsResponse_models+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listModels_nextToken+ Lens..~ rs+ Lens.^? listModelsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListModels where+ type AWSResponse ListModels = ListModelsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListModelsResponse'+ Prelude.<$> (x Data..?> "Models" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListModels where+ hashWithSalt _salt ListModels' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData ListModels where+ rnf ListModels' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf projectName++instance Data.ToHeaders ListModels where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListModels where+ toPath ListModels' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models"+ ]++instance Data.ToQuery ListModels where+ toQuery ListModels' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListModelsResponse' smart constructor.+data ListModelsResponse = ListModelsResponse'+ { -- | A list of model versions in the specified project.+ models :: Prelude.Maybe [ModelMetadata],+ -- | If the response is truncated, Amazon Lookout for Vision returns this+ -- token that you can use in the subsequent request to retrieve the next+ -- set of models.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'models', 'listModelsResponse_models' - A list of model versions in the specified project.+--+-- 'nextToken', 'listModelsResponse_nextToken' - If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set of models.+--+-- 'httpStatus', 'listModelsResponse_httpStatus' - The response's http status code.+newListModelsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListModelsResponse+newListModelsResponse pHttpStatus_ =+ ListModelsResponse'+ { models = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of model versions in the specified project.+listModelsResponse_models :: Lens.Lens' ListModelsResponse (Prelude.Maybe [ModelMetadata])+listModelsResponse_models = Lens.lens (\ListModelsResponse' {models} -> models) (\s@ListModelsResponse' {} a -> s {models = a} :: ListModelsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set of models.+listModelsResponse_nextToken :: Lens.Lens' ListModelsResponse (Prelude.Maybe Prelude.Text)+listModelsResponse_nextToken = Lens.lens (\ListModelsResponse' {nextToken} -> nextToken) (\s@ListModelsResponse' {} a -> s {nextToken = a} :: ListModelsResponse)++-- | The response's http status code.+listModelsResponse_httpStatus :: Lens.Lens' ListModelsResponse Prelude.Int+listModelsResponse_httpStatus = Lens.lens (\ListModelsResponse' {httpStatus} -> httpStatus) (\s@ListModelsResponse' {} a -> s {httpStatus = a} :: ListModelsResponse)++instance Prelude.NFData ListModelsResponse where+ rnf ListModelsResponse' {..} =+ Prelude.rnf models+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/ListProjects.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.ListProjects+-- 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 Amazon Lookout for Vision projects in your AWS account that+-- are in the AWS Region in which you call @ListProjects@.+--+-- The @ListProjects@ operation is eventually consistent. Recent calls to+-- @CreateProject@ and @DeleteProject@ might take a while to appear in the+-- response from @ListProjects@.+--+-- This operation requires permissions to perform the+-- @lookoutvision:ListProjects@ operation.+--+-- This operation returns paginated results.+module Amazonka.LookoutVision.ListProjects+ ( -- * Creating a Request+ ListProjects (..),+ newListProjects,++ -- * Request Lenses+ listProjects_maxResults,+ listProjects_nextToken,++ -- * Destructuring the Response+ ListProjectsResponse (..),+ newListProjectsResponse,++ -- * Response Lenses+ listProjectsResponse_nextToken,+ listProjectsResponse_projects,+ listProjectsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListProjects' smart constructor.+data ListProjects = ListProjects'+ { -- | The maximum number of results to return per paginated call. The largest+ -- value you can specify is 100. If you specify a value greater than 100, a+ -- ValidationException error occurs. The default value is 100.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | If the previous response was incomplete (because there is more data to+ -- retrieve), Amazon Lookout for Vision returns a pagination token in the+ -- response. You can use this pagination token to retrieve the next set of+ -- projects.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjects' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listProjects_maxResults' - The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+--+-- 'nextToken', 'listProjects_nextToken' - If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- projects.+newListProjects ::+ ListProjects+newListProjects =+ ListProjects'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return per paginated call. The largest+-- value you can specify is 100. If you specify a value greater than 100, a+-- ValidationException error occurs. The default value is 100.+listProjects_maxResults :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Natural)+listProjects_maxResults = Lens.lens (\ListProjects' {maxResults} -> maxResults) (\s@ListProjects' {} a -> s {maxResults = a} :: ListProjects)++-- | If the previous response was incomplete (because there is more data to+-- retrieve), Amazon Lookout for Vision returns a pagination token in the+-- response. You can use this pagination token to retrieve the next set of+-- projects.+listProjects_nextToken :: Lens.Lens' ListProjects (Prelude.Maybe Prelude.Text)+listProjects_nextToken = Lens.lens (\ListProjects' {nextToken} -> nextToken) (\s@ListProjects' {} a -> s {nextToken = a} :: ListProjects)++instance Core.AWSPager ListProjects where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listProjectsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listProjectsResponse_projects+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listProjects_nextToken+ Lens..~ rs+ Lens.^? listProjectsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListProjects where+ type AWSResponse ListProjects = ListProjectsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListProjectsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (x Data..?> "Projects" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListProjects where+ hashWithSalt _salt ListProjects' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListProjects where+ rnf ListProjects' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListProjects where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListProjects where+ toPath = Prelude.const "/2020-11-20/projects"++instance Data.ToQuery ListProjects where+ toQuery ListProjects' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListProjectsResponse' smart constructor.+data ListProjectsResponse = ListProjectsResponse'+ { -- | If the response is truncated, Amazon Lookout for Vision returns this+ -- token that you can use in the subsequent request to retrieve the next+ -- set of projects.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of projects in your AWS account.+ projects :: Prelude.Maybe [ProjectMetadata],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListProjectsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listProjectsResponse_nextToken' - If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set of projects.+--+-- 'projects', 'listProjectsResponse_projects' - A list of projects in your AWS account.+--+-- 'httpStatus', 'listProjectsResponse_httpStatus' - The response's http status code.+newListProjectsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListProjectsResponse+newListProjectsResponse pHttpStatus_ =+ ListProjectsResponse'+ { nextToken = Prelude.Nothing,+ projects = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If the response is truncated, Amazon Lookout for Vision returns this+-- token that you can use in the subsequent request to retrieve the next+-- set of projects.+listProjectsResponse_nextToken :: Lens.Lens' ListProjectsResponse (Prelude.Maybe Prelude.Text)+listProjectsResponse_nextToken = Lens.lens (\ListProjectsResponse' {nextToken} -> nextToken) (\s@ListProjectsResponse' {} a -> s {nextToken = a} :: ListProjectsResponse)++-- | A list of projects in your AWS account.+listProjectsResponse_projects :: Lens.Lens' ListProjectsResponse (Prelude.Maybe [ProjectMetadata])+listProjectsResponse_projects = Lens.lens (\ListProjectsResponse' {projects} -> projects) (\s@ListProjectsResponse' {} a -> s {projects = a} :: ListProjectsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listProjectsResponse_httpStatus :: Lens.Lens' ListProjectsResponse Prelude.Int+listProjectsResponse_httpStatus = Lens.lens (\ListProjectsResponse' {httpStatus} -> httpStatus) (\s@ListProjectsResponse' {} a -> s {httpStatus = a} :: ListProjectsResponse)++instance Prelude.NFData ListProjectsResponse where+ rnf ListProjectsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf projects+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/ListTagsForResource.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.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)+--+-- Returns a list of tags attached to the specified Amazon Lookout for+-- Vision model.+--+-- This operation requires permissions to perform the+-- @lookoutvision:ListTagsForResource@ operation.+module Amazonka.LookoutVision.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the model for which you want to list+ -- tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the model for which you want to list+-- tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the model for which you want to list+-- tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.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+ ["/2020-11-20/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | A map of tag keys and values attached to the specified model.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A map of tag keys and values attached to the specified model.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A map of tag keys and values attached to the specified model.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/StartModel.hs view
@@ -0,0 +1,295 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.StartModel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts the running of the version of an Amazon Lookout for Vision model.+-- Starting a model takes a while to complete. To check the current state+-- of the model, use DescribeModel.+--+-- A model is ready to use when its status is @HOSTED@.+--+-- Once the model is running, you can detect custom labels in new images by+-- calling DetectAnomalies.+--+-- You are charged for the amount of time that the model is running. To+-- stop a running model, call StopModel.+--+-- This operation requires permissions to perform the+-- @lookoutvision:StartModel@ operation.+module Amazonka.LookoutVision.StartModel+ ( -- * Creating a Request+ StartModel (..),+ newStartModel,++ -- * Request Lenses+ startModel_clientToken,+ startModel_maxInferenceUnits,+ startModel_projectName,+ startModel_modelVersion,+ startModel_minInferenceUnits,++ -- * Destructuring the Response+ StartModelResponse (..),+ newStartModelResponse,++ -- * Response Lenses+ startModelResponse_status,+ startModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartModel' smart constructor.+data StartModel = StartModel'+ { -- | ClientToken is an idempotency token that ensures a call to @StartModel@+ -- completes only once. You choose the value to pass. For example, An issue+ -- might prevent you from getting a response from @StartModel@. In this+ -- case, safely retry your call to @StartModel@ by using the same+ -- @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple start requests. You\'ll need to provide your+ -- own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @StartModel@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of inference units to use for auto-scaling the model.+ -- If you don\'t specify a value, Amazon Lookout for Vision doesn\'t+ -- auto-scale the model.+ maxInferenceUnits :: Prelude.Maybe Prelude.Natural,+ -- | The name of the project that contains the model that you want to start.+ projectName :: Prelude.Text,+ -- | The version of the model that you want to start.+ modelVersion :: Prelude.Text,+ -- | The minimum number of inference units to use. A single inference unit+ -- represents 1 hour of processing. Use a higher number to increase the TPS+ -- throughput of your model. You are charged for the number of inference+ -- units that you use.+ minInferenceUnits :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startModel_clientToken' - ClientToken is an idempotency token that ensures a call to @StartModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @StartModel@. In this+-- case, safely retry your call to @StartModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple start requests. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StartModel@. An idempotency token is active for 8 hours.+--+-- 'maxInferenceUnits', 'startModel_maxInferenceUnits' - The maximum number of inference units to use for auto-scaling the model.+-- If you don\'t specify a value, Amazon Lookout for Vision doesn\'t+-- auto-scale the model.+--+-- 'projectName', 'startModel_projectName' - The name of the project that contains the model that you want to start.+--+-- 'modelVersion', 'startModel_modelVersion' - The version of the model that you want to start.+--+-- 'minInferenceUnits', 'startModel_minInferenceUnits' - The minimum number of inference units to use. A single inference unit+-- represents 1 hour of processing. Use a higher number to increase the TPS+-- throughput of your model. You are charged for the number of inference+-- units that you use.+newStartModel ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ -- | 'minInferenceUnits'+ Prelude.Natural ->+ StartModel+newStartModel+ pProjectName_+ pModelVersion_+ pMinInferenceUnits_ =+ StartModel'+ { clientToken = Prelude.Nothing,+ maxInferenceUnits = Prelude.Nothing,+ projectName = pProjectName_,+ modelVersion = pModelVersion_,+ minInferenceUnits = pMinInferenceUnits_+ }++-- | ClientToken is an idempotency token that ensures a call to @StartModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @StartModel@. In this+-- case, safely retry your call to @StartModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple start requests. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StartModel@. An idempotency token is active for 8 hours.+startModel_clientToken :: Lens.Lens' StartModel (Prelude.Maybe Prelude.Text)+startModel_clientToken = Lens.lens (\StartModel' {clientToken} -> clientToken) (\s@StartModel' {} a -> s {clientToken = a} :: StartModel)++-- | The maximum number of inference units to use for auto-scaling the model.+-- If you don\'t specify a value, Amazon Lookout for Vision doesn\'t+-- auto-scale the model.+startModel_maxInferenceUnits :: Lens.Lens' StartModel (Prelude.Maybe Prelude.Natural)+startModel_maxInferenceUnits = Lens.lens (\StartModel' {maxInferenceUnits} -> maxInferenceUnits) (\s@StartModel' {} a -> s {maxInferenceUnits = a} :: StartModel)++-- | The name of the project that contains the model that you want to start.+startModel_projectName :: Lens.Lens' StartModel Prelude.Text+startModel_projectName = Lens.lens (\StartModel' {projectName} -> projectName) (\s@StartModel' {} a -> s {projectName = a} :: StartModel)++-- | The version of the model that you want to start.+startModel_modelVersion :: Lens.Lens' StartModel Prelude.Text+startModel_modelVersion = Lens.lens (\StartModel' {modelVersion} -> modelVersion) (\s@StartModel' {} a -> s {modelVersion = a} :: StartModel)++-- | The minimum number of inference units to use. A single inference unit+-- represents 1 hour of processing. Use a higher number to increase the TPS+-- throughput of your model. You are charged for the number of inference+-- units that you use.+startModel_minInferenceUnits :: Lens.Lens' StartModel Prelude.Natural+startModel_minInferenceUnits = Lens.lens (\StartModel' {minInferenceUnits} -> minInferenceUnits) (\s@StartModel' {} a -> s {minInferenceUnits = a} :: StartModel)++instance Core.AWSRequest StartModel where+ type AWSResponse StartModel = StartModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartModelResponse'+ Prelude.<$> (x Data..?> "Status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartModel where+ hashWithSalt _salt StartModel' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` maxInferenceUnits+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` minInferenceUnits++instance Prelude.NFData StartModel where+ rnf StartModel' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf maxInferenceUnits+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf minInferenceUnits++instance Data.ToHeaders StartModel where+ toHeaders StartModel' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON StartModel where+ toJSON StartModel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxInferenceUnits" Data..=)+ Prelude.<$> maxInferenceUnits,+ Prelude.Just+ ("MinInferenceUnits" Data..= minInferenceUnits)+ ]+ )++instance Data.ToPath StartModel where+ toPath StartModel' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models/",+ Data.toBS modelVersion,+ "/start"+ ]++instance Data.ToQuery StartModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartModelResponse' smart constructor.+data StartModelResponse = StartModelResponse'+ { -- | The current running status of the model.+ status :: Prelude.Maybe ModelHostingStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'startModelResponse_status' - The current running status of the model.+--+-- 'httpStatus', 'startModelResponse_httpStatus' - The response's http status code.+newStartModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartModelResponse+newStartModelResponse pHttpStatus_ =+ StartModelResponse'+ { status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The current running status of the model.+startModelResponse_status :: Lens.Lens' StartModelResponse (Prelude.Maybe ModelHostingStatus)+startModelResponse_status = Lens.lens (\StartModelResponse' {status} -> status) (\s@StartModelResponse' {} a -> s {status = a} :: StartModelResponse)++-- | The response's http status code.+startModelResponse_httpStatus :: Lens.Lens' StartModelResponse Prelude.Int+startModelResponse_httpStatus = Lens.lens (\StartModelResponse' {httpStatus} -> httpStatus) (\s@StartModelResponse' {} a -> s {httpStatus = a} :: StartModelResponse)++instance Prelude.NFData StartModelResponse where+ rnf StartModelResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/StartModelPackagingJob.hs view
@@ -0,0 +1,335 @@+{-# 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.LookoutVision.StartModelPackagingJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an Amazon Lookout for Vision model packaging job. A model+-- packaging job creates an AWS IoT Greengrass component for a Lookout for+-- Vision model. You can use the component to deploy your model to an edge+-- device managed by Greengrass.+--+-- Use the DescribeModelPackagingJob API to determine the current status of+-- the job. The model packaging job is complete if the value of @Status@ is+-- @SUCCEEDED@.+--+-- To deploy the component to the target device, use the component name and+-- component version with the AWS IoT Greengrass+-- <https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateDeployment.html CreateDeployment>+-- API.+--+-- This operation requires the following permissions:+--+-- - @lookoutvision:StartModelPackagingJob@+--+-- - @s3:PutObject@+--+-- - @s3:GetBucketLocation@+--+-- - @kms:GenerateDataKey@+--+-- - @greengrass:CreateComponentVersion@+--+-- - @greengrass:DescribeComponent@+--+-- - (Optional) @greengrass:TagResource@. Only required if you want to+-- tag the component.+--+-- For more information, see /Using your Amazon Lookout for Vision model on+-- an edge device/ in the Amazon Lookout for Vision Developer Guide.+module Amazonka.LookoutVision.StartModelPackagingJob+ ( -- * Creating a Request+ StartModelPackagingJob (..),+ newStartModelPackagingJob,++ -- * Request Lenses+ startModelPackagingJob_clientToken,+ startModelPackagingJob_description,+ startModelPackagingJob_jobName,+ startModelPackagingJob_projectName,+ startModelPackagingJob_modelVersion,+ startModelPackagingJob_configuration,++ -- * Destructuring the Response+ StartModelPackagingJobResponse (..),+ newStartModelPackagingJobResponse,++ -- * Response Lenses+ startModelPackagingJobResponse_jobName,+ startModelPackagingJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartModelPackagingJob' smart constructor.+data StartModelPackagingJob = StartModelPackagingJob'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @StartModelPackagingJob@ completes only once. You choose the value to+ -- pass. For example, An issue might prevent you from getting a response+ -- from @StartModelPackagingJob@. In this case, safely retry your call to+ -- @StartModelPackagingJob@ by using the same @ClientToken@ parameter+ -- value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple dataset creation requests. You\'ll need to+ -- provide your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @StartModelPackagingJob@. An idempotency token is active for+ -- 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A description for the model packaging job.+ description :: Prelude.Maybe Prelude.Text,+ -- | A name for the model packaging job. If you don\'t supply a value, the+ -- service creates a job name for you.+ jobName :: Prelude.Maybe Prelude.Text,+ -- | The name of the project which contains the version of the model that you+ -- want to package.+ projectName :: Prelude.Text,+ -- | The version of the model within the project that you want to package.+ modelVersion :: Prelude.Text,+ -- | The configuration for the model packaging job.+ configuration :: ModelPackagingConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartModelPackagingJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startModelPackagingJob_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @StartModelPackagingJob@ completes only once. You choose the value to+-- pass. For example, An issue might prevent you from getting a response+-- from @StartModelPackagingJob@. In this case, safely retry your call to+-- @StartModelPackagingJob@ by using the same @ClientToken@ parameter+-- value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple dataset creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StartModelPackagingJob@. An idempotency token is active for+-- 8 hours.+--+-- 'description', 'startModelPackagingJob_description' - A description for the model packaging job.+--+-- 'jobName', 'startModelPackagingJob_jobName' - A name for the model packaging job. If you don\'t supply a value, the+-- service creates a job name for you.+--+-- 'projectName', 'startModelPackagingJob_projectName' - The name of the project which contains the version of the model that you+-- want to package.+--+-- 'modelVersion', 'startModelPackagingJob_modelVersion' - The version of the model within the project that you want to package.+--+-- 'configuration', 'startModelPackagingJob_configuration' - The configuration for the model packaging job.+newStartModelPackagingJob ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ -- | 'configuration'+ ModelPackagingConfiguration ->+ StartModelPackagingJob+newStartModelPackagingJob+ pProjectName_+ pModelVersion_+ pConfiguration_ =+ StartModelPackagingJob'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ jobName = Prelude.Nothing,+ projectName = pProjectName_,+ modelVersion = pModelVersion_,+ configuration = pConfiguration_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @StartModelPackagingJob@ completes only once. You choose the value to+-- pass. For example, An issue might prevent you from getting a response+-- from @StartModelPackagingJob@. In this case, safely retry your call to+-- @StartModelPackagingJob@ by using the same @ClientToken@ parameter+-- value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple dataset creation requests. You\'ll need to+-- provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StartModelPackagingJob@. An idempotency token is active for+-- 8 hours.+startModelPackagingJob_clientToken :: Lens.Lens' StartModelPackagingJob (Prelude.Maybe Prelude.Text)+startModelPackagingJob_clientToken = Lens.lens (\StartModelPackagingJob' {clientToken} -> clientToken) (\s@StartModelPackagingJob' {} a -> s {clientToken = a} :: StartModelPackagingJob)++-- | A description for the model packaging job.+startModelPackagingJob_description :: Lens.Lens' StartModelPackagingJob (Prelude.Maybe Prelude.Text)+startModelPackagingJob_description = Lens.lens (\StartModelPackagingJob' {description} -> description) (\s@StartModelPackagingJob' {} a -> s {description = a} :: StartModelPackagingJob)++-- | A name for the model packaging job. If you don\'t supply a value, the+-- service creates a job name for you.+startModelPackagingJob_jobName :: Lens.Lens' StartModelPackagingJob (Prelude.Maybe Prelude.Text)+startModelPackagingJob_jobName = Lens.lens (\StartModelPackagingJob' {jobName} -> jobName) (\s@StartModelPackagingJob' {} a -> s {jobName = a} :: StartModelPackagingJob)++-- | The name of the project which contains the version of the model that you+-- want to package.+startModelPackagingJob_projectName :: Lens.Lens' StartModelPackagingJob Prelude.Text+startModelPackagingJob_projectName = Lens.lens (\StartModelPackagingJob' {projectName} -> projectName) (\s@StartModelPackagingJob' {} a -> s {projectName = a} :: StartModelPackagingJob)++-- | The version of the model within the project that you want to package.+startModelPackagingJob_modelVersion :: Lens.Lens' StartModelPackagingJob Prelude.Text+startModelPackagingJob_modelVersion = Lens.lens (\StartModelPackagingJob' {modelVersion} -> modelVersion) (\s@StartModelPackagingJob' {} a -> s {modelVersion = a} :: StartModelPackagingJob)++-- | The configuration for the model packaging job.+startModelPackagingJob_configuration :: Lens.Lens' StartModelPackagingJob ModelPackagingConfiguration+startModelPackagingJob_configuration = Lens.lens (\StartModelPackagingJob' {configuration} -> configuration) (\s@StartModelPackagingJob' {} a -> s {configuration = a} :: StartModelPackagingJob)++instance Core.AWSRequest StartModelPackagingJob where+ type+ AWSResponse StartModelPackagingJob =+ StartModelPackagingJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartModelPackagingJobResponse'+ Prelude.<$> (x Data..?> "JobName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartModelPackagingJob where+ hashWithSalt _salt StartModelPackagingJob' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` configuration++instance Prelude.NFData StartModelPackagingJob where+ rnf StartModelPackagingJob' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf configuration++instance Data.ToHeaders StartModelPackagingJob where+ toHeaders StartModelPackagingJob' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON StartModelPackagingJob where+ toJSON StartModelPackagingJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("JobName" Data..=) Prelude.<$> jobName,+ Prelude.Just ("ModelVersion" Data..= modelVersion),+ Prelude.Just+ ("Configuration" Data..= configuration)+ ]+ )++instance Data.ToPath StartModelPackagingJob where+ toPath StartModelPackagingJob' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/modelpackagingjobs"+ ]++instance Data.ToQuery StartModelPackagingJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartModelPackagingJobResponse' smart constructor.+data StartModelPackagingJobResponse = StartModelPackagingJobResponse'+ { -- | The job name for the model packaging job. If you don\'t supply a job+ -- name in the @JobName@ input parameter, the service creates a job name+ -- for you.+ jobName :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartModelPackagingJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobName', 'startModelPackagingJobResponse_jobName' - The job name for the model packaging job. If you don\'t supply a job+-- name in the @JobName@ input parameter, the service creates a job name+-- for you.+--+-- 'httpStatus', 'startModelPackagingJobResponse_httpStatus' - The response's http status code.+newStartModelPackagingJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartModelPackagingJobResponse+newStartModelPackagingJobResponse pHttpStatus_ =+ StartModelPackagingJobResponse'+ { jobName =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The job name for the model packaging job. If you don\'t supply a job+-- name in the @JobName@ input parameter, the service creates a job name+-- for you.+startModelPackagingJobResponse_jobName :: Lens.Lens' StartModelPackagingJobResponse (Prelude.Maybe Prelude.Text)+startModelPackagingJobResponse_jobName = Lens.lens (\StartModelPackagingJobResponse' {jobName} -> jobName) (\s@StartModelPackagingJobResponse' {} a -> s {jobName = a} :: StartModelPackagingJobResponse)++-- | The response's http status code.+startModelPackagingJobResponse_httpStatus :: Lens.Lens' StartModelPackagingJobResponse Prelude.Int+startModelPackagingJobResponse_httpStatus = Lens.lens (\StartModelPackagingJobResponse' {httpStatus} -> httpStatus) (\s@StartModelPackagingJobResponse' {} a -> s {httpStatus = a} :: StartModelPackagingJobResponse)++instance+ Prelude.NFData+ StartModelPackagingJobResponse+ where+ rnf StartModelPackagingJobResponse' {..} =+ Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/StopModel.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.StopModel+-- 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 hosting of a running model. The operation might take a while+-- to complete. To check the current status, call DescribeModel.+--+-- After the model hosting stops, the @Status@ of the model is @TRAINED@.+--+-- This operation requires permissions to perform the+-- @lookoutvision:StopModel@ operation.+module Amazonka.LookoutVision.StopModel+ ( -- * Creating a Request+ StopModel (..),+ newStopModel,++ -- * Request Lenses+ stopModel_clientToken,+ stopModel_projectName,+ stopModel_modelVersion,++ -- * Destructuring the Response+ StopModelResponse (..),+ newStopModelResponse,++ -- * Response Lenses+ stopModelResponse_status,+ stopModelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopModel' smart constructor.+data StopModel = StopModel'+ { -- | ClientToken is an idempotency token that ensures a call to @StopModel@+ -- completes only once. You choose the value to pass. For example, An issue+ -- might prevent you from getting a response from @StopModel@. In this+ -- case, safely retry your call to @StopModel@ by using the same+ -- @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple stop requests. You\'ll need to provide your+ -- own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @StopModel@. An idempotency token is active for 8 hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the model that you want to stop.+ projectName :: Prelude.Text,+ -- | The version of the model that you want to stop.+ modelVersion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopModel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopModel_clientToken' - ClientToken is an idempotency token that ensures a call to @StopModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @StopModel@. In this+-- case, safely retry your call to @StopModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple stop requests. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StopModel@. An idempotency token is active for 8 hours.+--+-- 'projectName', 'stopModel_projectName' - The name of the project that contains the model that you want to stop.+--+-- 'modelVersion', 'stopModel_modelVersion' - The version of the model that you want to stop.+newStopModel ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'modelVersion'+ Prelude.Text ->+ StopModel+newStopModel pProjectName_ pModelVersion_ =+ StopModel'+ { clientToken = Prelude.Nothing,+ projectName = pProjectName_,+ modelVersion = pModelVersion_+ }++-- | ClientToken is an idempotency token that ensures a call to @StopModel@+-- completes only once. You choose the value to pass. For example, An issue+-- might prevent you from getting a response from @StopModel@. In this+-- case, safely retry your call to @StopModel@ by using the same+-- @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple stop requests. You\'ll need to provide your+-- own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @StopModel@. An idempotency token is active for 8 hours.+stopModel_clientToken :: Lens.Lens' StopModel (Prelude.Maybe Prelude.Text)+stopModel_clientToken = Lens.lens (\StopModel' {clientToken} -> clientToken) (\s@StopModel' {} a -> s {clientToken = a} :: StopModel)++-- | The name of the project that contains the model that you want to stop.+stopModel_projectName :: Lens.Lens' StopModel Prelude.Text+stopModel_projectName = Lens.lens (\StopModel' {projectName} -> projectName) (\s@StopModel' {} a -> s {projectName = a} :: StopModel)++-- | The version of the model that you want to stop.+stopModel_modelVersion :: Lens.Lens' StopModel Prelude.Text+stopModel_modelVersion = Lens.lens (\StopModel' {modelVersion} -> modelVersion) (\s@StopModel' {} a -> s {modelVersion = a} :: StopModel)++instance Core.AWSRequest StopModel where+ type AWSResponse StopModel = StopModelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StopModelResponse'+ Prelude.<$> (x Data..?> "Status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopModel where+ hashWithSalt _salt StopModel' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` modelVersion++instance Prelude.NFData StopModel where+ rnf StopModel' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf modelVersion++instance Data.ToHeaders StopModel where+ toHeaders StopModel' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON StopModel where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopModel where+ toPath StopModel' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/models/",+ Data.toBS modelVersion,+ "/stop"+ ]++instance Data.ToQuery StopModel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopModelResponse' smart constructor.+data StopModelResponse = StopModelResponse'+ { -- | The status of the model.+ status :: Prelude.Maybe ModelHostingStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopModelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'stopModelResponse_status' - The status of the model.+--+-- 'httpStatus', 'stopModelResponse_httpStatus' - The response's http status code.+newStopModelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopModelResponse+newStopModelResponse pHttpStatus_ =+ StopModelResponse'+ { status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the model.+stopModelResponse_status :: Lens.Lens' StopModelResponse (Prelude.Maybe ModelHostingStatus)+stopModelResponse_status = Lens.lens (\StopModelResponse' {status} -> status) (\s@StopModelResponse' {} a -> s {status = a} :: StopModelResponse)++-- | The response's http status code.+stopModelResponse_httpStatus :: Lens.Lens' StopModelResponse Prelude.Int+stopModelResponse_httpStatus = Lens.lens (\StopModelResponse' {httpStatus} -> httpStatus) (\s@StopModelResponse' {} a -> s {httpStatus = a} :: StopModelResponse)++instance Prelude.NFData StopModelResponse where+ rnf StopModelResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/TagResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds one or more key-value tags to an Amazon Lookout for Vision model.+-- For more information, see /Tagging a model/ in the /Amazon Lookout for+-- Vision Developer Guide/.+--+-- This operation requires permissions to perform the+-- @lookoutvision:TagResource@ operation.+module Amazonka.LookoutVision.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the model to assign the tags.+ resourceArn :: Prelude.Text,+ -- | The key-value tags to assign to the model.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the model to assign the tags.+--+-- 'tags', 'tagResource_tags' - The key-value tags to assign to the model.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the model to assign the tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The key-value tags to assign to the model.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "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+ ["/2020-11-20/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/LookoutVision/Types.hs view
@@ -0,0 +1,431 @@+{-# 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.LookoutVision.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.LookoutVision.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * DatasetStatus+ DatasetStatus (..),++ -- * ModelHostingStatus+ ModelHostingStatus (..),++ -- * ModelPackagingJobStatus+ ModelPackagingJobStatus (..),++ -- * ModelStatus+ ModelStatus (..),++ -- * TargetDevice+ TargetDevice (..),++ -- * TargetPlatformAccelerator+ TargetPlatformAccelerator (..),++ -- * TargetPlatformArch+ TargetPlatformArch (..),++ -- * TargetPlatformOs+ TargetPlatformOs (..),++ -- * Anomaly+ Anomaly (..),+ newAnomaly,+ anomaly_name,+ anomaly_pixelAnomaly,++ -- * DatasetDescription+ DatasetDescription (..),+ newDatasetDescription,+ datasetDescription_creationTimestamp,+ datasetDescription_datasetType,+ datasetDescription_imageStats,+ datasetDescription_lastUpdatedTimestamp,+ datasetDescription_projectName,+ datasetDescription_status,+ datasetDescription_statusMessage,++ -- * DatasetGroundTruthManifest+ DatasetGroundTruthManifest (..),+ newDatasetGroundTruthManifest,+ datasetGroundTruthManifest_s3Object,++ -- * DatasetImageStats+ DatasetImageStats (..),+ newDatasetImageStats,+ datasetImageStats_anomaly,+ datasetImageStats_labeled,+ datasetImageStats_normal,+ datasetImageStats_total,++ -- * DatasetMetadata+ DatasetMetadata (..),+ newDatasetMetadata,+ datasetMetadata_creationTimestamp,+ datasetMetadata_datasetType,+ datasetMetadata_status,+ datasetMetadata_statusMessage,++ -- * DatasetSource+ DatasetSource (..),+ newDatasetSource,+ datasetSource_groundTruthManifest,++ -- * DetectAnomalyResult+ DetectAnomalyResult (..),+ newDetectAnomalyResult,+ detectAnomalyResult_anomalies,+ detectAnomalyResult_anomalyMask,+ detectAnomalyResult_confidence,+ detectAnomalyResult_isAnomalous,+ detectAnomalyResult_source,++ -- * GreengrassConfiguration+ GreengrassConfiguration (..),+ newGreengrassConfiguration,+ greengrassConfiguration_compilerOptions,+ greengrassConfiguration_componentDescription,+ greengrassConfiguration_componentVersion,+ greengrassConfiguration_tags,+ greengrassConfiguration_targetDevice,+ greengrassConfiguration_targetPlatform,+ greengrassConfiguration_s3OutputLocation,+ greengrassConfiguration_componentName,++ -- * GreengrassOutputDetails+ GreengrassOutputDetails (..),+ newGreengrassOutputDetails,+ greengrassOutputDetails_componentName,+ greengrassOutputDetails_componentVersion,+ greengrassOutputDetails_componentVersionArn,++ -- * ImageSource+ ImageSource (..),+ newImageSource,+ imageSource_type,++ -- * InputS3Object+ InputS3Object (..),+ newInputS3Object,+ inputS3Object_versionId,+ inputS3Object_bucket,+ inputS3Object_key,++ -- * ModelDescription+ ModelDescription (..),+ newModelDescription,+ modelDescription_creationTimestamp,+ modelDescription_description,+ modelDescription_evaluationEndTimestamp,+ modelDescription_evaluationManifest,+ modelDescription_evaluationResult,+ modelDescription_kmsKeyId,+ modelDescription_maxInferenceUnits,+ modelDescription_minInferenceUnits,+ modelDescription_modelArn,+ modelDescription_modelVersion,+ modelDescription_outputConfig,+ modelDescription_performance,+ modelDescription_status,+ modelDescription_statusMessage,++ -- * ModelMetadata+ ModelMetadata (..),+ newModelMetadata,+ modelMetadata_creationTimestamp,+ modelMetadata_description,+ modelMetadata_modelArn,+ modelMetadata_modelVersion,+ modelMetadata_performance,+ modelMetadata_status,+ modelMetadata_statusMessage,++ -- * ModelPackagingConfiguration+ ModelPackagingConfiguration (..),+ newModelPackagingConfiguration,+ modelPackagingConfiguration_greengrass,++ -- * ModelPackagingDescription+ ModelPackagingDescription (..),+ newModelPackagingDescription,+ modelPackagingDescription_creationTimestamp,+ modelPackagingDescription_jobName,+ modelPackagingDescription_lastUpdatedTimestamp,+ modelPackagingDescription_modelPackagingConfiguration,+ modelPackagingDescription_modelPackagingJobDescription,+ modelPackagingDescription_modelPackagingMethod,+ modelPackagingDescription_modelPackagingOutputDetails,+ modelPackagingDescription_modelVersion,+ modelPackagingDescription_projectName,+ modelPackagingDescription_status,+ modelPackagingDescription_statusMessage,++ -- * ModelPackagingJobMetadata+ ModelPackagingJobMetadata (..),+ newModelPackagingJobMetadata,+ modelPackagingJobMetadata_creationTimestamp,+ modelPackagingJobMetadata_jobName,+ modelPackagingJobMetadata_lastUpdatedTimestamp,+ modelPackagingJobMetadata_modelPackagingJobDescription,+ modelPackagingJobMetadata_modelPackagingMethod,+ modelPackagingJobMetadata_modelVersion,+ modelPackagingJobMetadata_projectName,+ modelPackagingJobMetadata_status,+ modelPackagingJobMetadata_statusMessage,++ -- * ModelPackagingOutputDetails+ ModelPackagingOutputDetails (..),+ newModelPackagingOutputDetails,+ modelPackagingOutputDetails_greengrass,++ -- * ModelPerformance+ ModelPerformance (..),+ newModelPerformance,+ modelPerformance_f1Score,+ modelPerformance_precision,+ modelPerformance_recall,++ -- * OutputConfig+ OutputConfig (..),+ newOutputConfig,+ outputConfig_s3Location,++ -- * OutputS3Object+ OutputS3Object (..),+ newOutputS3Object,+ outputS3Object_bucket,+ outputS3Object_key,++ -- * PixelAnomaly+ PixelAnomaly (..),+ newPixelAnomaly,+ pixelAnomaly_color,+ pixelAnomaly_totalPercentageArea,++ -- * ProjectDescription+ ProjectDescription (..),+ newProjectDescription,+ projectDescription_creationTimestamp,+ projectDescription_datasets,+ projectDescription_projectArn,+ projectDescription_projectName,++ -- * ProjectMetadata+ ProjectMetadata (..),+ newProjectMetadata,+ projectMetadata_creationTimestamp,+ projectMetadata_projectArn,+ projectMetadata_projectName,++ -- * S3Location+ S3Location (..),+ newS3Location,+ s3Location_prefix,+ s3Location_bucket,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TargetPlatform+ TargetPlatform (..),+ newTargetPlatform,+ targetPlatform_accelerator,+ targetPlatform_os,+ targetPlatform_arch,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.LookoutVision.Types.Anomaly+import Amazonka.LookoutVision.Types.DatasetDescription+import Amazonka.LookoutVision.Types.DatasetGroundTruthManifest+import Amazonka.LookoutVision.Types.DatasetImageStats+import Amazonka.LookoutVision.Types.DatasetMetadata+import Amazonka.LookoutVision.Types.DatasetSource+import Amazonka.LookoutVision.Types.DatasetStatus+import Amazonka.LookoutVision.Types.DetectAnomalyResult+import Amazonka.LookoutVision.Types.GreengrassConfiguration+import Amazonka.LookoutVision.Types.GreengrassOutputDetails+import Amazonka.LookoutVision.Types.ImageSource+import Amazonka.LookoutVision.Types.InputS3Object+import Amazonka.LookoutVision.Types.ModelDescription+import Amazonka.LookoutVision.Types.ModelHostingStatus+import Amazonka.LookoutVision.Types.ModelMetadata+import Amazonka.LookoutVision.Types.ModelPackagingConfiguration+import Amazonka.LookoutVision.Types.ModelPackagingDescription+import Amazonka.LookoutVision.Types.ModelPackagingJobMetadata+import Amazonka.LookoutVision.Types.ModelPackagingJobStatus+import Amazonka.LookoutVision.Types.ModelPackagingOutputDetails+import Amazonka.LookoutVision.Types.ModelPerformance+import Amazonka.LookoutVision.Types.ModelStatus+import Amazonka.LookoutVision.Types.OutputConfig+import Amazonka.LookoutVision.Types.OutputS3Object+import Amazonka.LookoutVision.Types.PixelAnomaly+import Amazonka.LookoutVision.Types.ProjectDescription+import Amazonka.LookoutVision.Types.ProjectMetadata+import Amazonka.LookoutVision.Types.S3Location+import Amazonka.LookoutVision.Types.Tag+import Amazonka.LookoutVision.Types.TargetDevice+import Amazonka.LookoutVision.Types.TargetPlatform+import Amazonka.LookoutVision.Types.TargetPlatformAccelerator+import Amazonka.LookoutVision.Types.TargetPlatformArch+import Amazonka.LookoutVision.Types.TargetPlatformOs+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-11-20@ of the Amazon Lookout for Vision SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "LookoutVision",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "lookoutvision",+ Core.signingName = "lookoutvision",+ Core.version = "2020-11-20",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "LookoutVision",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You are not authorized to perform the action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | The update or deletion of a resource caused an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | Amazon Lookout for Vision experienced a service issue. Try your call+-- again.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | A service quota was exceeded the allowed limit. For more information,+-- see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision+-- Developer Guide.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | Amazon Lookout for Vision is temporarily unable to process the request.+-- Try your call again.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | An input validation error occured. For example, invalid characters in a+-- project name, or if a pagination token is invalid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/LookoutVision/Types/Anomaly.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.LookoutVision.Types.Anomaly+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.Anomaly where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.PixelAnomaly+import qualified Amazonka.Prelude as Prelude++-- | Information about an anomaly type found on an image by an image+-- segmentation model. For more information, see DetectAnomalies.+--+-- /See:/ 'newAnomaly' smart constructor.+data Anomaly = Anomaly'+ { -- | The name of an anomaly type found in an image. @Name@ maps to an anomaly+ -- type in the training dataset, apart from the anomaly type @background@.+ -- The service automatically inserts the @background@ anomaly type into the+ -- response from @DetectAnomalies@.+ name :: Prelude.Maybe Prelude.Text,+ -- | Information about the pixel mask that covers an anomaly type.+ pixelAnomaly :: Prelude.Maybe PixelAnomaly+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Anomaly' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'anomaly_name' - The name of an anomaly type found in an image. @Name@ maps to an anomaly+-- type in the training dataset, apart from the anomaly type @background@.+-- The service automatically inserts the @background@ anomaly type into the+-- response from @DetectAnomalies@.+--+-- 'pixelAnomaly', 'anomaly_pixelAnomaly' - Information about the pixel mask that covers an anomaly type.+newAnomaly ::+ Anomaly+newAnomaly =+ Anomaly'+ { name = Prelude.Nothing,+ pixelAnomaly = Prelude.Nothing+ }++-- | The name of an anomaly type found in an image. @Name@ maps to an anomaly+-- type in the training dataset, apart from the anomaly type @background@.+-- The service automatically inserts the @background@ anomaly type into the+-- response from @DetectAnomalies@.+anomaly_name :: Lens.Lens' Anomaly (Prelude.Maybe Prelude.Text)+anomaly_name = Lens.lens (\Anomaly' {name} -> name) (\s@Anomaly' {} a -> s {name = a} :: Anomaly)++-- | Information about the pixel mask that covers an anomaly type.+anomaly_pixelAnomaly :: Lens.Lens' Anomaly (Prelude.Maybe PixelAnomaly)+anomaly_pixelAnomaly = Lens.lens (\Anomaly' {pixelAnomaly} -> pixelAnomaly) (\s@Anomaly' {} a -> s {pixelAnomaly = a} :: Anomaly)++instance Data.FromJSON Anomaly where+ parseJSON =+ Data.withObject+ "Anomaly"+ ( \x ->+ Anomaly'+ Prelude.<$> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "PixelAnomaly")+ )++instance Prelude.Hashable Anomaly where+ hashWithSalt _salt Anomaly' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` pixelAnomaly++instance Prelude.NFData Anomaly where+ rnf Anomaly' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf pixelAnomaly
+ gen/Amazonka/LookoutVision/Types/DatasetDescription.hs view
@@ -0,0 +1,154 @@+{-# 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.LookoutVision.Types.DatasetDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.DatasetImageStats+import Amazonka.LookoutVision.Types.DatasetStatus+import qualified Amazonka.Prelude as Prelude++-- | The description for a dataset. For more information, see+-- DescribeDataset.+--+-- /See:/ 'newDatasetDescription' smart constructor.+data DatasetDescription = DatasetDescription'+ { -- | The Unix timestamp for the time and date that the dataset was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The type of the dataset. The value @train@ represents a training dataset+ -- or single dataset project. The value @test@ represents a test dataset.+ datasetType :: Prelude.Maybe Prelude.Text,+ -- | Statistics about the images in a dataset.+ imageStats :: Prelude.Maybe DatasetImageStats,+ -- | The Unix timestamp for the date and time that the dataset was last+ -- updated.+ lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The name of the project that contains the dataset.+ projectName :: Prelude.Maybe Prelude.Text,+ -- | The status of the dataset.+ status :: Prelude.Maybe DatasetStatus,+ -- | The status message for the dataset.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'datasetDescription_creationTimestamp' - The Unix timestamp for the time and date that the dataset was created.+--+-- 'datasetType', 'datasetDescription_datasetType' - The type of the dataset. The value @train@ represents a training dataset+-- or single dataset project. The value @test@ represents a test dataset.+--+-- 'imageStats', 'datasetDescription_imageStats' - Statistics about the images in a dataset.+--+-- 'lastUpdatedTimestamp', 'datasetDescription_lastUpdatedTimestamp' - The Unix timestamp for the date and time that the dataset was last+-- updated.+--+-- 'projectName', 'datasetDescription_projectName' - The name of the project that contains the dataset.+--+-- 'status', 'datasetDescription_status' - The status of the dataset.+--+-- 'statusMessage', 'datasetDescription_statusMessage' - The status message for the dataset.+newDatasetDescription ::+ DatasetDescription+newDatasetDescription =+ DatasetDescription'+ { creationTimestamp =+ Prelude.Nothing,+ datasetType = Prelude.Nothing,+ imageStats = Prelude.Nothing,+ lastUpdatedTimestamp = Prelude.Nothing,+ projectName = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The Unix timestamp for the time and date that the dataset was created.+datasetDescription_creationTimestamp :: Lens.Lens' DatasetDescription (Prelude.Maybe Prelude.UTCTime)+datasetDescription_creationTimestamp = Lens.lens (\DatasetDescription' {creationTimestamp} -> creationTimestamp) (\s@DatasetDescription' {} a -> s {creationTimestamp = a} :: DatasetDescription) Prelude.. Lens.mapping Data._Time++-- | The type of the dataset. The value @train@ represents a training dataset+-- or single dataset project. The value @test@ represents a test dataset.+datasetDescription_datasetType :: Lens.Lens' DatasetDescription (Prelude.Maybe Prelude.Text)+datasetDescription_datasetType = Lens.lens (\DatasetDescription' {datasetType} -> datasetType) (\s@DatasetDescription' {} a -> s {datasetType = a} :: DatasetDescription)++-- | Statistics about the images in a dataset.+datasetDescription_imageStats :: Lens.Lens' DatasetDescription (Prelude.Maybe DatasetImageStats)+datasetDescription_imageStats = Lens.lens (\DatasetDescription' {imageStats} -> imageStats) (\s@DatasetDescription' {} a -> s {imageStats = a} :: DatasetDescription)++-- | The Unix timestamp for the date and time that the dataset was last+-- updated.+datasetDescription_lastUpdatedTimestamp :: Lens.Lens' DatasetDescription (Prelude.Maybe Prelude.UTCTime)+datasetDescription_lastUpdatedTimestamp = Lens.lens (\DatasetDescription' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@DatasetDescription' {} a -> s {lastUpdatedTimestamp = a} :: DatasetDescription) Prelude.. Lens.mapping Data._Time++-- | The name of the project that contains the dataset.+datasetDescription_projectName :: Lens.Lens' DatasetDescription (Prelude.Maybe Prelude.Text)+datasetDescription_projectName = Lens.lens (\DatasetDescription' {projectName} -> projectName) (\s@DatasetDescription' {} a -> s {projectName = a} :: DatasetDescription)++-- | The status of the dataset.+datasetDescription_status :: Lens.Lens' DatasetDescription (Prelude.Maybe DatasetStatus)+datasetDescription_status = Lens.lens (\DatasetDescription' {status} -> status) (\s@DatasetDescription' {} a -> s {status = a} :: DatasetDescription)++-- | The status message for the dataset.+datasetDescription_statusMessage :: Lens.Lens' DatasetDescription (Prelude.Maybe Prelude.Text)+datasetDescription_statusMessage = Lens.lens (\DatasetDescription' {statusMessage} -> statusMessage) (\s@DatasetDescription' {} a -> s {statusMessage = a} :: DatasetDescription)++instance Data.FromJSON DatasetDescription where+ parseJSON =+ Data.withObject+ "DatasetDescription"+ ( \x ->+ DatasetDescription'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "DatasetType")+ Prelude.<*> (x Data..:? "ImageStats")+ Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+ Prelude.<*> (x Data..:? "ProjectName")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable DatasetDescription where+ hashWithSalt _salt DatasetDescription' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` datasetType+ `Prelude.hashWithSalt` imageStats+ `Prelude.hashWithSalt` lastUpdatedTimestamp+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData DatasetDescription where+ rnf DatasetDescription' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf datasetType+ `Prelude.seq` Prelude.rnf imageStats+ `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/DatasetGroundTruthManifest.hs view
@@ -0,0 +1,72 @@+{-# 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.LookoutVision.Types.DatasetGroundTruthManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetGroundTruthManifest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.InputS3Object+import qualified Amazonka.Prelude as Prelude++-- | Location information about a manifest file. You can use a manifest file+-- to create a dataset.+--+-- /See:/ 'newDatasetGroundTruthManifest' smart constructor.+data DatasetGroundTruthManifest = DatasetGroundTruthManifest'+ { -- | The S3 bucket location for the manifest file.+ s3Object :: Prelude.Maybe InputS3Object+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetGroundTruthManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Object', 'datasetGroundTruthManifest_s3Object' - The S3 bucket location for the manifest file.+newDatasetGroundTruthManifest ::+ DatasetGroundTruthManifest+newDatasetGroundTruthManifest =+ DatasetGroundTruthManifest'+ { s3Object =+ Prelude.Nothing+ }++-- | The S3 bucket location for the manifest file.+datasetGroundTruthManifest_s3Object :: Lens.Lens' DatasetGroundTruthManifest (Prelude.Maybe InputS3Object)+datasetGroundTruthManifest_s3Object = Lens.lens (\DatasetGroundTruthManifest' {s3Object} -> s3Object) (\s@DatasetGroundTruthManifest' {} a -> s {s3Object = a} :: DatasetGroundTruthManifest)++instance Prelude.Hashable DatasetGroundTruthManifest where+ hashWithSalt _salt DatasetGroundTruthManifest' {..} =+ _salt `Prelude.hashWithSalt` s3Object++instance Prelude.NFData DatasetGroundTruthManifest where+ rnf DatasetGroundTruthManifest' {..} =+ Prelude.rnf s3Object++instance Data.ToJSON DatasetGroundTruthManifest where+ toJSON DatasetGroundTruthManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [("S3Object" Data..=) Prelude.<$> s3Object]+ )
+ gen/Amazonka/LookoutVision/Types/DatasetImageStats.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.LookoutVision.Types.DatasetImageStats+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetImageStats 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++-- | Statistics about the images in a dataset.+--+-- /See:/ 'newDatasetImageStats' smart constructor.+data DatasetImageStats = DatasetImageStats'+ { -- | the total number of images labeled as an anomaly.+ anomaly :: Prelude.Maybe Prelude.Int,+ -- | The total number of labeled images.+ labeled :: Prelude.Maybe Prelude.Int,+ -- | The total number of images labeled as normal.+ normal :: Prelude.Maybe Prelude.Int,+ -- | The total number of images in the dataset.+ total :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetImageStats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'anomaly', 'datasetImageStats_anomaly' - the total number of images labeled as an anomaly.+--+-- 'labeled', 'datasetImageStats_labeled' - The total number of labeled images.+--+-- 'normal', 'datasetImageStats_normal' - The total number of images labeled as normal.+--+-- 'total', 'datasetImageStats_total' - The total number of images in the dataset.+newDatasetImageStats ::+ DatasetImageStats+newDatasetImageStats =+ DatasetImageStats'+ { anomaly = Prelude.Nothing,+ labeled = Prelude.Nothing,+ normal = Prelude.Nothing,+ total = Prelude.Nothing+ }++-- | the total number of images labeled as an anomaly.+datasetImageStats_anomaly :: Lens.Lens' DatasetImageStats (Prelude.Maybe Prelude.Int)+datasetImageStats_anomaly = Lens.lens (\DatasetImageStats' {anomaly} -> anomaly) (\s@DatasetImageStats' {} a -> s {anomaly = a} :: DatasetImageStats)++-- | The total number of labeled images.+datasetImageStats_labeled :: Lens.Lens' DatasetImageStats (Prelude.Maybe Prelude.Int)+datasetImageStats_labeled = Lens.lens (\DatasetImageStats' {labeled} -> labeled) (\s@DatasetImageStats' {} a -> s {labeled = a} :: DatasetImageStats)++-- | The total number of images labeled as normal.+datasetImageStats_normal :: Lens.Lens' DatasetImageStats (Prelude.Maybe Prelude.Int)+datasetImageStats_normal = Lens.lens (\DatasetImageStats' {normal} -> normal) (\s@DatasetImageStats' {} a -> s {normal = a} :: DatasetImageStats)++-- | The total number of images in the dataset.+datasetImageStats_total :: Lens.Lens' DatasetImageStats (Prelude.Maybe Prelude.Int)+datasetImageStats_total = Lens.lens (\DatasetImageStats' {total} -> total) (\s@DatasetImageStats' {} a -> s {total = a} :: DatasetImageStats)++instance Data.FromJSON DatasetImageStats where+ parseJSON =+ Data.withObject+ "DatasetImageStats"+ ( \x ->+ DatasetImageStats'+ Prelude.<$> (x Data..:? "Anomaly")+ Prelude.<*> (x Data..:? "Labeled")+ Prelude.<*> (x Data..:? "Normal")+ Prelude.<*> (x Data..:? "Total")+ )++instance Prelude.Hashable DatasetImageStats where+ hashWithSalt _salt DatasetImageStats' {..} =+ _salt+ `Prelude.hashWithSalt` anomaly+ `Prelude.hashWithSalt` labeled+ `Prelude.hashWithSalt` normal+ `Prelude.hashWithSalt` total++instance Prelude.NFData DatasetImageStats where+ rnf DatasetImageStats' {..} =+ Prelude.rnf anomaly+ `Prelude.seq` Prelude.rnf labeled+ `Prelude.seq` Prelude.rnf normal+ `Prelude.seq` Prelude.rnf total
+ gen/Amazonka/LookoutVision/Types/DatasetMetadata.hs view
@@ -0,0 +1,111 @@+{-# 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.LookoutVision.Types.DatasetMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.DatasetStatus+import qualified Amazonka.Prelude as Prelude++-- | Summary information for an Amazon Lookout for Vision dataset. For more+-- information, see DescribeDataset and ProjectDescription.+--+-- /See:/ 'newDatasetMetadata' smart constructor.+data DatasetMetadata = DatasetMetadata'+ { -- | The Unix timestamp for the date and time that the dataset was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The type of the dataset.+ datasetType :: Prelude.Maybe Prelude.Text,+ -- | The status for the dataset.+ status :: Prelude.Maybe DatasetStatus,+ -- | The status message for the dataset.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'datasetMetadata_creationTimestamp' - The Unix timestamp for the date and time that the dataset was created.+--+-- 'datasetType', 'datasetMetadata_datasetType' - The type of the dataset.+--+-- 'status', 'datasetMetadata_status' - The status for the dataset.+--+-- 'statusMessage', 'datasetMetadata_statusMessage' - The status message for the dataset.+newDatasetMetadata ::+ DatasetMetadata+newDatasetMetadata =+ DatasetMetadata'+ { creationTimestamp =+ Prelude.Nothing,+ datasetType = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The Unix timestamp for the date and time that the dataset was created.+datasetMetadata_creationTimestamp :: Lens.Lens' DatasetMetadata (Prelude.Maybe Prelude.UTCTime)+datasetMetadata_creationTimestamp = Lens.lens (\DatasetMetadata' {creationTimestamp} -> creationTimestamp) (\s@DatasetMetadata' {} a -> s {creationTimestamp = a} :: DatasetMetadata) Prelude.. Lens.mapping Data._Time++-- | The type of the dataset.+datasetMetadata_datasetType :: Lens.Lens' DatasetMetadata (Prelude.Maybe Prelude.Text)+datasetMetadata_datasetType = Lens.lens (\DatasetMetadata' {datasetType} -> datasetType) (\s@DatasetMetadata' {} a -> s {datasetType = a} :: DatasetMetadata)++-- | The status for the dataset.+datasetMetadata_status :: Lens.Lens' DatasetMetadata (Prelude.Maybe DatasetStatus)+datasetMetadata_status = Lens.lens (\DatasetMetadata' {status} -> status) (\s@DatasetMetadata' {} a -> s {status = a} :: DatasetMetadata)++-- | The status message for the dataset.+datasetMetadata_statusMessage :: Lens.Lens' DatasetMetadata (Prelude.Maybe Prelude.Text)+datasetMetadata_statusMessage = Lens.lens (\DatasetMetadata' {statusMessage} -> statusMessage) (\s@DatasetMetadata' {} a -> s {statusMessage = a} :: DatasetMetadata)++instance Data.FromJSON DatasetMetadata where+ parseJSON =+ Data.withObject+ "DatasetMetadata"+ ( \x ->+ DatasetMetadata'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "DatasetType")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable DatasetMetadata where+ hashWithSalt _salt DatasetMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` datasetType+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData DatasetMetadata where+ rnf DatasetMetadata' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf datasetType+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/DatasetSource.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.LookoutVision.Types.DatasetSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.DatasetGroundTruthManifest+import qualified Amazonka.Prelude as Prelude++-- | Information about the location of a manifest file that Amazon Lookout+-- for Vision uses to to create a dataset.+--+-- /See:/ 'newDatasetSource' smart constructor.+data DatasetSource = DatasetSource'+ { -- | Location information for the manifest file.+ groundTruthManifest :: Prelude.Maybe DatasetGroundTruthManifest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DatasetSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'groundTruthManifest', 'datasetSource_groundTruthManifest' - Location information for the manifest file.+newDatasetSource ::+ DatasetSource+newDatasetSource =+ DatasetSource'+ { groundTruthManifest =+ Prelude.Nothing+ }++-- | Location information for the manifest file.+datasetSource_groundTruthManifest :: Lens.Lens' DatasetSource (Prelude.Maybe DatasetGroundTruthManifest)+datasetSource_groundTruthManifest = Lens.lens (\DatasetSource' {groundTruthManifest} -> groundTruthManifest) (\s@DatasetSource' {} a -> s {groundTruthManifest = a} :: DatasetSource)++instance Prelude.Hashable DatasetSource where+ hashWithSalt _salt DatasetSource' {..} =+ _salt `Prelude.hashWithSalt` groundTruthManifest++instance Prelude.NFData DatasetSource where+ rnf DatasetSource' {..} =+ Prelude.rnf groundTruthManifest++instance Data.ToJSON DatasetSource where+ toJSON DatasetSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("GroundTruthManifest" Data..=)+ Prelude.<$> groundTruthManifest+ ]+ )
+ gen/Amazonka/LookoutVision/Types/DatasetStatus.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.DatasetStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DatasetStatus+ ( DatasetStatus+ ( ..,+ DatasetStatus_CREATE_COMPLETE,+ DatasetStatus_CREATE_FAILED,+ DatasetStatus_CREATE_IN_PROGRESS,+ DatasetStatus_DELETE_COMPLETE,+ DatasetStatus_DELETE_FAILED,+ DatasetStatus_DELETE_IN_PROGRESS,+ DatasetStatus_UPDATE_COMPLETE,+ DatasetStatus_UPDATE_FAILED_ROLLBACK_COMPLETE,+ DatasetStatus_UPDATE_FAILED_ROLLBACK_IN_PROGRESS,+ DatasetStatus_UPDATE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DatasetStatus = DatasetStatus'+ { fromDatasetStatus ::+ 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 DatasetStatus_CREATE_COMPLETE :: DatasetStatus+pattern DatasetStatus_CREATE_COMPLETE = DatasetStatus' "CREATE_COMPLETE"++pattern DatasetStatus_CREATE_FAILED :: DatasetStatus+pattern DatasetStatus_CREATE_FAILED = DatasetStatus' "CREATE_FAILED"++pattern DatasetStatus_CREATE_IN_PROGRESS :: DatasetStatus+pattern DatasetStatus_CREATE_IN_PROGRESS = DatasetStatus' "CREATE_IN_PROGRESS"++pattern DatasetStatus_DELETE_COMPLETE :: DatasetStatus+pattern DatasetStatus_DELETE_COMPLETE = DatasetStatus' "DELETE_COMPLETE"++pattern DatasetStatus_DELETE_FAILED :: DatasetStatus+pattern DatasetStatus_DELETE_FAILED = DatasetStatus' "DELETE_FAILED"++pattern DatasetStatus_DELETE_IN_PROGRESS :: DatasetStatus+pattern DatasetStatus_DELETE_IN_PROGRESS = DatasetStatus' "DELETE_IN_PROGRESS"++pattern DatasetStatus_UPDATE_COMPLETE :: DatasetStatus+pattern DatasetStatus_UPDATE_COMPLETE = DatasetStatus' "UPDATE_COMPLETE"++pattern DatasetStatus_UPDATE_FAILED_ROLLBACK_COMPLETE :: DatasetStatus+pattern DatasetStatus_UPDATE_FAILED_ROLLBACK_COMPLETE = DatasetStatus' "UPDATE_FAILED_ROLLBACK_COMPLETE"++pattern DatasetStatus_UPDATE_FAILED_ROLLBACK_IN_PROGRESS :: DatasetStatus+pattern DatasetStatus_UPDATE_FAILED_ROLLBACK_IN_PROGRESS = DatasetStatus' "UPDATE_FAILED_ROLLBACK_IN_PROGRESS"++pattern DatasetStatus_UPDATE_IN_PROGRESS :: DatasetStatus+pattern DatasetStatus_UPDATE_IN_PROGRESS = DatasetStatus' "UPDATE_IN_PROGRESS"++{-# COMPLETE+ DatasetStatus_CREATE_COMPLETE,+ DatasetStatus_CREATE_FAILED,+ DatasetStatus_CREATE_IN_PROGRESS,+ DatasetStatus_DELETE_COMPLETE,+ DatasetStatus_DELETE_FAILED,+ DatasetStatus_DELETE_IN_PROGRESS,+ DatasetStatus_UPDATE_COMPLETE,+ DatasetStatus_UPDATE_FAILED_ROLLBACK_COMPLETE,+ DatasetStatus_UPDATE_FAILED_ROLLBACK_IN_PROGRESS,+ DatasetStatus_UPDATE_IN_PROGRESS,+ DatasetStatus'+ #-}
+ gen/Amazonka/LookoutVision/Types/DetectAnomalyResult.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.DetectAnomalyResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.DetectAnomalyResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.Anomaly+import Amazonka.LookoutVision.Types.ImageSource+import qualified Amazonka.Prelude as Prelude++-- | The prediction results from a call to DetectAnomalies.+-- @DetectAnomalyResult@ includes classification information for the+-- prediction (@IsAnomalous@ and @Confidence@). If the model you use is an+-- image segementation model, @DetectAnomalyResult@ also includes+-- segmentation information (@Anomalies@ and @AnomalyMask@). Classification+-- information is calculated separately from segmentation information and+-- you shouldn\'t assume a relationship between them.+--+-- /See:/ 'newDetectAnomalyResult' smart constructor.+data DetectAnomalyResult = DetectAnomalyResult'+ { -- | If the model is an image segmentation model, @Anomalies@ contains a list+ -- of anomaly types found in the image. There is one entry for each type of+ -- anomaly found (even if multiple instances of an anomaly type exist on+ -- the image). The first element in the list is always an anomaly type+ -- representing the image background (\'background\') and shouldn\'t be+ -- considered an anomaly. Amazon Lookout for Vision automatically add the+ -- background anomaly type to the response, and you don\'t need to declare+ -- a background anomaly type in your dataset.+ --+ -- If the list has one entry (\'background\'), no anomalies were found on+ -- the image.+ --+ -- An image classification model doesn\'t return an @Anomalies@ list.+ anomalies :: Prelude.Maybe [Anomaly],+ -- | If the model is an image segmentation model, @AnomalyMask@ contains+ -- pixel masks that covers all anomaly types found on the image. Each+ -- anomaly type has a different mask color. To map a color to an anomaly+ -- type, see the @color@ field of the PixelAnomaly object.+ --+ -- An image classification model doesn\'t return an @Anomalies@ list.+ anomalyMask :: Prelude.Maybe Data.Base64,+ -- | The confidence that Lookout for Vision has in the accuracy of the+ -- classification in @IsAnomalous@.+ confidence :: Prelude.Maybe Prelude.Double,+ -- | True if Amazon Lookout for Vision classifies the image as containing an+ -- anomaly, otherwise false.+ isAnomalous :: Prelude.Maybe Prelude.Bool,+ -- | The source of the image that was analyzed. @direct@ means that the+ -- images was supplied from the local computer. No other values are+ -- supported.+ source :: Prelude.Maybe ImageSource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectAnomalyResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'anomalies', 'detectAnomalyResult_anomalies' - If the model is an image segmentation model, @Anomalies@ contains a list+-- of anomaly types found in the image. There is one entry for each type of+-- anomaly found (even if multiple instances of an anomaly type exist on+-- the image). The first element in the list is always an anomaly type+-- representing the image background (\'background\') and shouldn\'t be+-- considered an anomaly. Amazon Lookout for Vision automatically add the+-- background anomaly type to the response, and you don\'t need to declare+-- a background anomaly type in your dataset.+--+-- If the list has one entry (\'background\'), no anomalies were found on+-- the image.+--+-- An image classification model doesn\'t return an @Anomalies@ list.+--+-- 'anomalyMask', 'detectAnomalyResult_anomalyMask' - If the model is an image segmentation model, @AnomalyMask@ contains+-- pixel masks that covers all anomaly types found on the image. Each+-- anomaly type has a different mask color. To map a color to an anomaly+-- type, see the @color@ field of the PixelAnomaly object.+--+-- An image classification model doesn\'t return an @Anomalies@ list.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'confidence', 'detectAnomalyResult_confidence' - The confidence that Lookout for Vision has in the accuracy of the+-- classification in @IsAnomalous@.+--+-- 'isAnomalous', 'detectAnomalyResult_isAnomalous' - True if Amazon Lookout for Vision classifies the image as containing an+-- anomaly, otherwise false.+--+-- 'source', 'detectAnomalyResult_source' - The source of the image that was analyzed. @direct@ means that the+-- images was supplied from the local computer. No other values are+-- supported.+newDetectAnomalyResult ::+ DetectAnomalyResult+newDetectAnomalyResult =+ DetectAnomalyResult'+ { anomalies = Prelude.Nothing,+ anomalyMask = Prelude.Nothing,+ confidence = Prelude.Nothing,+ isAnomalous = Prelude.Nothing,+ source = Prelude.Nothing+ }++-- | If the model is an image segmentation model, @Anomalies@ contains a list+-- of anomaly types found in the image. There is one entry for each type of+-- anomaly found (even if multiple instances of an anomaly type exist on+-- the image). The first element in the list is always an anomaly type+-- representing the image background (\'background\') and shouldn\'t be+-- considered an anomaly. Amazon Lookout for Vision automatically add the+-- background anomaly type to the response, and you don\'t need to declare+-- a background anomaly type in your dataset.+--+-- If the list has one entry (\'background\'), no anomalies were found on+-- the image.+--+-- An image classification model doesn\'t return an @Anomalies@ list.+detectAnomalyResult_anomalies :: Lens.Lens' DetectAnomalyResult (Prelude.Maybe [Anomaly])+detectAnomalyResult_anomalies = Lens.lens (\DetectAnomalyResult' {anomalies} -> anomalies) (\s@DetectAnomalyResult' {} a -> s {anomalies = a} :: DetectAnomalyResult) Prelude.. Lens.mapping Lens.coerced++-- | If the model is an image segmentation model, @AnomalyMask@ contains+-- pixel masks that covers all anomaly types found on the image. Each+-- anomaly type has a different mask color. To map a color to an anomaly+-- type, see the @color@ field of the PixelAnomaly object.+--+-- An image classification model doesn\'t return an @Anomalies@ list.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+detectAnomalyResult_anomalyMask :: Lens.Lens' DetectAnomalyResult (Prelude.Maybe Prelude.ByteString)+detectAnomalyResult_anomalyMask = Lens.lens (\DetectAnomalyResult' {anomalyMask} -> anomalyMask) (\s@DetectAnomalyResult' {} a -> s {anomalyMask = a} :: DetectAnomalyResult) Prelude.. Lens.mapping Data._Base64++-- | The confidence that Lookout for Vision has in the accuracy of the+-- classification in @IsAnomalous@.+detectAnomalyResult_confidence :: Lens.Lens' DetectAnomalyResult (Prelude.Maybe Prelude.Double)+detectAnomalyResult_confidence = Lens.lens (\DetectAnomalyResult' {confidence} -> confidence) (\s@DetectAnomalyResult' {} a -> s {confidence = a} :: DetectAnomalyResult)++-- | True if Amazon Lookout for Vision classifies the image as containing an+-- anomaly, otherwise false.+detectAnomalyResult_isAnomalous :: Lens.Lens' DetectAnomalyResult (Prelude.Maybe Prelude.Bool)+detectAnomalyResult_isAnomalous = Lens.lens (\DetectAnomalyResult' {isAnomalous} -> isAnomalous) (\s@DetectAnomalyResult' {} a -> s {isAnomalous = a} :: DetectAnomalyResult)++-- | The source of the image that was analyzed. @direct@ means that the+-- images was supplied from the local computer. No other values are+-- supported.+detectAnomalyResult_source :: Lens.Lens' DetectAnomalyResult (Prelude.Maybe ImageSource)+detectAnomalyResult_source = Lens.lens (\DetectAnomalyResult' {source} -> source) (\s@DetectAnomalyResult' {} a -> s {source = a} :: DetectAnomalyResult)++instance Data.FromJSON DetectAnomalyResult where+ parseJSON =+ Data.withObject+ "DetectAnomalyResult"+ ( \x ->+ DetectAnomalyResult'+ Prelude.<$> (x Data..:? "Anomalies" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "AnomalyMask")+ Prelude.<*> (x Data..:? "Confidence")+ Prelude.<*> (x Data..:? "IsAnomalous")+ Prelude.<*> (x Data..:? "Source")+ )++instance Prelude.Hashable DetectAnomalyResult where+ hashWithSalt _salt DetectAnomalyResult' {..} =+ _salt+ `Prelude.hashWithSalt` anomalies+ `Prelude.hashWithSalt` anomalyMask+ `Prelude.hashWithSalt` confidence+ `Prelude.hashWithSalt` isAnomalous+ `Prelude.hashWithSalt` source++instance Prelude.NFData DetectAnomalyResult where+ rnf DetectAnomalyResult' {..} =+ Prelude.rnf anomalies+ `Prelude.seq` Prelude.rnf anomalyMask+ `Prelude.seq` Prelude.rnf confidence+ `Prelude.seq` Prelude.rnf isAnomalous+ `Prelude.seq` Prelude.rnf source
+ gen/Amazonka/LookoutVision/Types/GreengrassConfiguration.hs view
@@ -0,0 +1,230 @@+{-# 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.LookoutVision.Types.GreengrassConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.GreengrassConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.S3Location+import Amazonka.LookoutVision.Types.Tag+import Amazonka.LookoutVision.Types.TargetDevice+import Amazonka.LookoutVision.Types.TargetPlatform+import qualified Amazonka.Prelude as Prelude++-- | Configuration information for the AWS IoT Greengrass component created+-- in a model packaging job. For more information, see+-- StartModelPackagingJob.+--+-- You can\'t specify a component with the same @ComponentName@ and+-- @Componentversion@ as an existing component with the same component name+-- and component version.+--+-- /See:/ 'newGreengrassConfiguration' smart constructor.+data GreengrassConfiguration = GreengrassConfiguration'+ { -- | Additional compiler options for the Greengrass component. Currently,+ -- only NVIDIA Graphics Processing Units (GPU) and CPU accelerators are+ -- supported. If you specify @TargetDevice@, don\'t specify+ -- @CompilerOptions@.+ --+ -- For more information, see /Compiler options/ in the Amazon Lookout for+ -- Vision Developer Guide.+ compilerOptions :: Prelude.Maybe Prelude.Text,+ -- | A description for the AWS IoT Greengrass component.+ componentDescription :: Prelude.Maybe Prelude.Text,+ -- | A Version for the AWS IoT Greengrass component. If you don\'t provide a+ -- value, a default value of @ @/@Model Version@/@.0.0@ is used.+ componentVersion :: Prelude.Maybe Prelude.Text,+ -- | A set of tags (key-value pairs) that you want to attach to the AWS IoT+ -- Greengrass component.+ tags :: Prelude.Maybe [Tag],+ -- | The target device for the model. Currently the only supported value is+ -- @jetson_xavier@. If you specify @TargetDevice@, you can\'t specify+ -- @TargetPlatform@.+ targetDevice :: Prelude.Maybe TargetDevice,+ -- | The target platform for the model. If you specify @TargetPlatform@, you+ -- can\'t specify @TargetDevice@.+ targetPlatform :: Prelude.Maybe TargetPlatform,+ -- | An S3 location in which Lookout for Vision stores the component+ -- artifacts.+ s3OutputLocation :: S3Location,+ -- | A name for the AWS IoT Greengrass component.+ componentName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GreengrassConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'compilerOptions', 'greengrassConfiguration_compilerOptions' - Additional compiler options for the Greengrass component. Currently,+-- only NVIDIA Graphics Processing Units (GPU) and CPU accelerators are+-- supported. If you specify @TargetDevice@, don\'t specify+-- @CompilerOptions@.+--+-- For more information, see /Compiler options/ in the Amazon Lookout for+-- Vision Developer Guide.+--+-- 'componentDescription', 'greengrassConfiguration_componentDescription' - A description for the AWS IoT Greengrass component.+--+-- 'componentVersion', 'greengrassConfiguration_componentVersion' - A Version for the AWS IoT Greengrass component. If you don\'t provide a+-- value, a default value of @ @/@Model Version@/@.0.0@ is used.+--+-- 'tags', 'greengrassConfiguration_tags' - A set of tags (key-value pairs) that you want to attach to the AWS IoT+-- Greengrass component.+--+-- 'targetDevice', 'greengrassConfiguration_targetDevice' - The target device for the model. Currently the only supported value is+-- @jetson_xavier@. If you specify @TargetDevice@, you can\'t specify+-- @TargetPlatform@.+--+-- 'targetPlatform', 'greengrassConfiguration_targetPlatform' - The target platform for the model. If you specify @TargetPlatform@, you+-- can\'t specify @TargetDevice@.+--+-- 's3OutputLocation', 'greengrassConfiguration_s3OutputLocation' - An S3 location in which Lookout for Vision stores the component+-- artifacts.+--+-- 'componentName', 'greengrassConfiguration_componentName' - A name for the AWS IoT Greengrass component.+newGreengrassConfiguration ::+ -- | 's3OutputLocation'+ S3Location ->+ -- | 'componentName'+ Prelude.Text ->+ GreengrassConfiguration+newGreengrassConfiguration+ pS3OutputLocation_+ pComponentName_ =+ GreengrassConfiguration'+ { compilerOptions =+ Prelude.Nothing,+ componentDescription = Prelude.Nothing,+ componentVersion = Prelude.Nothing,+ tags = Prelude.Nothing,+ targetDevice = Prelude.Nothing,+ targetPlatform = Prelude.Nothing,+ s3OutputLocation = pS3OutputLocation_,+ componentName = pComponentName_+ }++-- | Additional compiler options for the Greengrass component. Currently,+-- only NVIDIA Graphics Processing Units (GPU) and CPU accelerators are+-- supported. If you specify @TargetDevice@, don\'t specify+-- @CompilerOptions@.+--+-- For more information, see /Compiler options/ in the Amazon Lookout for+-- Vision Developer Guide.+greengrassConfiguration_compilerOptions :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe Prelude.Text)+greengrassConfiguration_compilerOptions = Lens.lens (\GreengrassConfiguration' {compilerOptions} -> compilerOptions) (\s@GreengrassConfiguration' {} a -> s {compilerOptions = a} :: GreengrassConfiguration)++-- | A description for the AWS IoT Greengrass component.+greengrassConfiguration_componentDescription :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe Prelude.Text)+greengrassConfiguration_componentDescription = Lens.lens (\GreengrassConfiguration' {componentDescription} -> componentDescription) (\s@GreengrassConfiguration' {} a -> s {componentDescription = a} :: GreengrassConfiguration)++-- | A Version for the AWS IoT Greengrass component. If you don\'t provide a+-- value, a default value of @ @/@Model Version@/@.0.0@ is used.+greengrassConfiguration_componentVersion :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe Prelude.Text)+greengrassConfiguration_componentVersion = Lens.lens (\GreengrassConfiguration' {componentVersion} -> componentVersion) (\s@GreengrassConfiguration' {} a -> s {componentVersion = a} :: GreengrassConfiguration)++-- | A set of tags (key-value pairs) that you want to attach to the AWS IoT+-- Greengrass component.+greengrassConfiguration_tags :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe [Tag])+greengrassConfiguration_tags = Lens.lens (\GreengrassConfiguration' {tags} -> tags) (\s@GreengrassConfiguration' {} a -> s {tags = a} :: GreengrassConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The target device for the model. Currently the only supported value is+-- @jetson_xavier@. If you specify @TargetDevice@, you can\'t specify+-- @TargetPlatform@.+greengrassConfiguration_targetDevice :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe TargetDevice)+greengrassConfiguration_targetDevice = Lens.lens (\GreengrassConfiguration' {targetDevice} -> targetDevice) (\s@GreengrassConfiguration' {} a -> s {targetDevice = a} :: GreengrassConfiguration)++-- | The target platform for the model. If you specify @TargetPlatform@, you+-- can\'t specify @TargetDevice@.+greengrassConfiguration_targetPlatform :: Lens.Lens' GreengrassConfiguration (Prelude.Maybe TargetPlatform)+greengrassConfiguration_targetPlatform = Lens.lens (\GreengrassConfiguration' {targetPlatform} -> targetPlatform) (\s@GreengrassConfiguration' {} a -> s {targetPlatform = a} :: GreengrassConfiguration)++-- | An S3 location in which Lookout for Vision stores the component+-- artifacts.+greengrassConfiguration_s3OutputLocation :: Lens.Lens' GreengrassConfiguration S3Location+greengrassConfiguration_s3OutputLocation = Lens.lens (\GreengrassConfiguration' {s3OutputLocation} -> s3OutputLocation) (\s@GreengrassConfiguration' {} a -> s {s3OutputLocation = a} :: GreengrassConfiguration)++-- | A name for the AWS IoT Greengrass component.+greengrassConfiguration_componentName :: Lens.Lens' GreengrassConfiguration Prelude.Text+greengrassConfiguration_componentName = Lens.lens (\GreengrassConfiguration' {componentName} -> componentName) (\s@GreengrassConfiguration' {} a -> s {componentName = a} :: GreengrassConfiguration)++instance Data.FromJSON GreengrassConfiguration where+ parseJSON =+ Data.withObject+ "GreengrassConfiguration"+ ( \x ->+ GreengrassConfiguration'+ Prelude.<$> (x Data..:? "CompilerOptions")+ Prelude.<*> (x Data..:? "ComponentDescription")+ Prelude.<*> (x Data..:? "ComponentVersion")+ Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "TargetDevice")+ Prelude.<*> (x Data..:? "TargetPlatform")+ Prelude.<*> (x Data..: "S3OutputLocation")+ Prelude.<*> (x Data..: "ComponentName")+ )++instance Prelude.Hashable GreengrassConfiguration where+ hashWithSalt _salt GreengrassConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` compilerOptions+ `Prelude.hashWithSalt` componentDescription+ `Prelude.hashWithSalt` componentVersion+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` targetDevice+ `Prelude.hashWithSalt` targetPlatform+ `Prelude.hashWithSalt` s3OutputLocation+ `Prelude.hashWithSalt` componentName++instance Prelude.NFData GreengrassConfiguration where+ rnf GreengrassConfiguration' {..} =+ Prelude.rnf compilerOptions+ `Prelude.seq` Prelude.rnf componentDescription+ `Prelude.seq` Prelude.rnf componentVersion+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf targetDevice+ `Prelude.seq` Prelude.rnf targetPlatform+ `Prelude.seq` Prelude.rnf s3OutputLocation+ `Prelude.seq` Prelude.rnf componentName++instance Data.ToJSON GreengrassConfiguration where+ toJSON GreengrassConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CompilerOptions" Data..=)+ Prelude.<$> compilerOptions,+ ("ComponentDescription" Data..=)+ Prelude.<$> componentDescription,+ ("ComponentVersion" Data..=)+ Prelude.<$> componentVersion,+ ("Tags" Data..=) Prelude.<$> tags,+ ("TargetDevice" Data..=) Prelude.<$> targetDevice,+ ("TargetPlatform" Data..=)+ Prelude.<$> targetPlatform,+ Prelude.Just+ ("S3OutputLocation" Data..= s3OutputLocation),+ Prelude.Just+ ("ComponentName" Data..= componentName)+ ]+ )
+ gen/Amazonka/LookoutVision/Types/GreengrassOutputDetails.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.LookoutVision.Types.GreengrassOutputDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.GreengrassOutputDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the AWS IoT Greengrass component created by a model+-- packaging job.+--+-- /See:/ 'newGreengrassOutputDetails' smart constructor.+data GreengrassOutputDetails = GreengrassOutputDetails'+ { -- | The name of the component.+ componentName :: Prelude.Maybe Prelude.Text,+ -- | The version of the component.+ componentVersion :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the component.+ componentVersionArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GreengrassOutputDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'componentName', 'greengrassOutputDetails_componentName' - The name of the component.+--+-- 'componentVersion', 'greengrassOutputDetails_componentVersion' - The version of the component.+--+-- 'componentVersionArn', 'greengrassOutputDetails_componentVersionArn' - The Amazon Resource Name (ARN) of the component.+newGreengrassOutputDetails ::+ GreengrassOutputDetails+newGreengrassOutputDetails =+ GreengrassOutputDetails'+ { componentName =+ Prelude.Nothing,+ componentVersion = Prelude.Nothing,+ componentVersionArn = Prelude.Nothing+ }++-- | The name of the component.+greengrassOutputDetails_componentName :: Lens.Lens' GreengrassOutputDetails (Prelude.Maybe Prelude.Text)+greengrassOutputDetails_componentName = Lens.lens (\GreengrassOutputDetails' {componentName} -> componentName) (\s@GreengrassOutputDetails' {} a -> s {componentName = a} :: GreengrassOutputDetails)++-- | The version of the component.+greengrassOutputDetails_componentVersion :: Lens.Lens' GreengrassOutputDetails (Prelude.Maybe Prelude.Text)+greengrassOutputDetails_componentVersion = Lens.lens (\GreengrassOutputDetails' {componentVersion} -> componentVersion) (\s@GreengrassOutputDetails' {} a -> s {componentVersion = a} :: GreengrassOutputDetails)++-- | The Amazon Resource Name (ARN) of the component.+greengrassOutputDetails_componentVersionArn :: Lens.Lens' GreengrassOutputDetails (Prelude.Maybe Prelude.Text)+greengrassOutputDetails_componentVersionArn = Lens.lens (\GreengrassOutputDetails' {componentVersionArn} -> componentVersionArn) (\s@GreengrassOutputDetails' {} a -> s {componentVersionArn = a} :: GreengrassOutputDetails)++instance Data.FromJSON GreengrassOutputDetails where+ parseJSON =+ Data.withObject+ "GreengrassOutputDetails"+ ( \x ->+ GreengrassOutputDetails'+ Prelude.<$> (x Data..:? "ComponentName")+ Prelude.<*> (x Data..:? "ComponentVersion")+ Prelude.<*> (x Data..:? "ComponentVersionArn")+ )++instance Prelude.Hashable GreengrassOutputDetails where+ hashWithSalt _salt GreengrassOutputDetails' {..} =+ _salt+ `Prelude.hashWithSalt` componentName+ `Prelude.hashWithSalt` componentVersion+ `Prelude.hashWithSalt` componentVersionArn++instance Prelude.NFData GreengrassOutputDetails where+ rnf GreengrassOutputDetails' {..} =+ Prelude.rnf componentName+ `Prelude.seq` Prelude.rnf componentVersion+ `Prelude.seq` Prelude.rnf componentVersionArn
+ gen/Amazonka/LookoutVision/Types/ImageSource.hs view
@@ -0,0 +1,65 @@+{-# 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.LookoutVision.Types.ImageSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ImageSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The source for an image.+--+-- /See:/ 'newImageSource' smart constructor.+data ImageSource = ImageSource'+ { -- | The type of the image.+ type' :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImageSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'imageSource_type' - The type of the image.+newImageSource ::+ ImageSource+newImageSource =+ ImageSource' {type' = Prelude.Nothing}++-- | The type of the image.+imageSource_type :: Lens.Lens' ImageSource (Prelude.Maybe Prelude.Text)+imageSource_type = Lens.lens (\ImageSource' {type'} -> type') (\s@ImageSource' {} a -> s {type' = a} :: ImageSource)++instance Data.FromJSON ImageSource where+ parseJSON =+ Data.withObject+ "ImageSource"+ (\x -> ImageSource' Prelude.<$> (x Data..:? "Type"))++instance Prelude.Hashable ImageSource where+ hashWithSalt _salt ImageSource' {..} =+ _salt `Prelude.hashWithSalt` type'++instance Prelude.NFData ImageSource where+ rnf ImageSource' {..} = Prelude.rnf type'
+ gen/Amazonka/LookoutVision/Types/InputS3Object.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.LookoutVision.Types.InputS3Object+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.InputS3Object 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++-- | Amazon S3 Location information for an input manifest file.+--+-- /See:/ 'newInputS3Object' smart constructor.+data InputS3Object = InputS3Object'+ { -- | The version ID of the bucket.+ versionId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon S3 bucket that contains the manifest.+ bucket :: Prelude.Text,+ -- | The name and location of the manifest file withiin the bucket.+ key :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputS3Object' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'inputS3Object_versionId' - The version ID of the bucket.+--+-- 'bucket', 'inputS3Object_bucket' - The Amazon S3 bucket that contains the manifest.+--+-- 'key', 'inputS3Object_key' - The name and location of the manifest file withiin the bucket.+newInputS3Object ::+ -- | 'bucket'+ Prelude.Text ->+ -- | 'key'+ Prelude.Text ->+ InputS3Object+newInputS3Object pBucket_ pKey_ =+ InputS3Object'+ { versionId = Prelude.Nothing,+ bucket = pBucket_,+ key = pKey_+ }++-- | The version ID of the bucket.+inputS3Object_versionId :: Lens.Lens' InputS3Object (Prelude.Maybe Prelude.Text)+inputS3Object_versionId = Lens.lens (\InputS3Object' {versionId} -> versionId) (\s@InputS3Object' {} a -> s {versionId = a} :: InputS3Object)++-- | The Amazon S3 bucket that contains the manifest.+inputS3Object_bucket :: Lens.Lens' InputS3Object Prelude.Text+inputS3Object_bucket = Lens.lens (\InputS3Object' {bucket} -> bucket) (\s@InputS3Object' {} a -> s {bucket = a} :: InputS3Object)++-- | The name and location of the manifest file withiin the bucket.+inputS3Object_key :: Lens.Lens' InputS3Object Prelude.Text+inputS3Object_key = Lens.lens (\InputS3Object' {key} -> key) (\s@InputS3Object' {} a -> s {key = a} :: InputS3Object)++instance Prelude.Hashable InputS3Object where+ hashWithSalt _salt InputS3Object' {..} =+ _salt+ `Prelude.hashWithSalt` versionId+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` key++instance Prelude.NFData InputS3Object where+ rnf InputS3Object' {..} =+ Prelude.rnf versionId+ `Prelude.seq` Prelude.rnf bucket+ `Prelude.seq` Prelude.rnf key++instance Data.ToJSON InputS3Object where+ toJSON InputS3Object' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("VersionId" Data..=) Prelude.<$> versionId,+ Prelude.Just ("Bucket" Data..= bucket),+ Prelude.Just ("Key" Data..= key)+ ]+ )
+ gen/Amazonka/LookoutVision/Types/ModelDescription.hs view
@@ -0,0 +1,254 @@+{-# 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.LookoutVision.Types.ModelDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.ModelPerformance+import Amazonka.LookoutVision.Types.ModelStatus+import Amazonka.LookoutVision.Types.OutputConfig+import Amazonka.LookoutVision.Types.OutputS3Object+import qualified Amazonka.Prelude as Prelude++-- | Describes an Amazon Lookout for Vision model.+--+-- /See:/ 'newModelDescription' smart constructor.+data ModelDescription = ModelDescription'+ { -- | The unix timestamp for the date and time that the model was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The description for the model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unix timestamp for the date and time that the evaluation ended.+ evaluationEndTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The S3 location where Amazon Lookout for Vision saves the manifest file+ -- that was used to test the trained model and generate the performance+ -- scores.+ evaluationManifest :: Prelude.Maybe OutputS3Object,+ -- | The S3 location where Amazon Lookout for Vision saves the performance+ -- metrics.+ evaluationResult :: Prelude.Maybe OutputS3Object,+ -- | The identifer for the AWS Key Management Service (AWS KMS) key that was+ -- used to encrypt the model during training.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of inference units Amazon Lookout for Vision uses to+ -- auto-scale the model. For more information, see StartModel.+ maxInferenceUnits :: Prelude.Maybe Prelude.Natural,+ -- | The minimum number of inference units used by the model. For more+ -- information, see StartModel+ minInferenceUnits :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of the model.+ modelArn :: Prelude.Maybe Prelude.Text,+ -- | The version of the model+ modelVersion :: Prelude.Maybe Prelude.Text,+ -- | The S3 location where Amazon Lookout for Vision saves model training+ -- files.+ outputConfig :: Prelude.Maybe OutputConfig,+ -- | Performance metrics for the model. Created during training.+ performance :: Prelude.Maybe ModelPerformance,+ -- | The status of the model.+ status :: Prelude.Maybe ModelStatus,+ -- | The status message for the model.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'modelDescription_creationTimestamp' - The unix timestamp for the date and time that the model was created.+--+-- 'description', 'modelDescription_description' - The description for the model.+--+-- 'evaluationEndTimestamp', 'modelDescription_evaluationEndTimestamp' - The unix timestamp for the date and time that the evaluation ended.+--+-- 'evaluationManifest', 'modelDescription_evaluationManifest' - The S3 location where Amazon Lookout for Vision saves the manifest file+-- that was used to test the trained model and generate the performance+-- scores.+--+-- 'evaluationResult', 'modelDescription_evaluationResult' - The S3 location where Amazon Lookout for Vision saves the performance+-- metrics.+--+-- 'kmsKeyId', 'modelDescription_kmsKeyId' - The identifer for the AWS Key Management Service (AWS KMS) key that was+-- used to encrypt the model during training.+--+-- 'maxInferenceUnits', 'modelDescription_maxInferenceUnits' - The maximum number of inference units Amazon Lookout for Vision uses to+-- auto-scale the model. For more information, see StartModel.+--+-- 'minInferenceUnits', 'modelDescription_minInferenceUnits' - The minimum number of inference units used by the model. For more+-- information, see StartModel+--+-- 'modelArn', 'modelDescription_modelArn' - The Amazon Resource Name (ARN) of the model.+--+-- 'modelVersion', 'modelDescription_modelVersion' - The version of the model+--+-- 'outputConfig', 'modelDescription_outputConfig' - The S3 location where Amazon Lookout for Vision saves model training+-- files.+--+-- 'performance', 'modelDescription_performance' - Performance metrics for the model. Created during training.+--+-- 'status', 'modelDescription_status' - The status of the model.+--+-- 'statusMessage', 'modelDescription_statusMessage' - The status message for the model.+newModelDescription ::+ ModelDescription+newModelDescription =+ ModelDescription'+ { creationTimestamp =+ Prelude.Nothing,+ description = Prelude.Nothing,+ evaluationEndTimestamp = Prelude.Nothing,+ evaluationManifest = Prelude.Nothing,+ evaluationResult = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ maxInferenceUnits = Prelude.Nothing,+ minInferenceUnits = Prelude.Nothing,+ modelArn = Prelude.Nothing,+ modelVersion = Prelude.Nothing,+ outputConfig = Prelude.Nothing,+ performance = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The unix timestamp for the date and time that the model was created.+modelDescription_creationTimestamp :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.UTCTime)+modelDescription_creationTimestamp = Lens.lens (\ModelDescription' {creationTimestamp} -> creationTimestamp) (\s@ModelDescription' {} a -> s {creationTimestamp = a} :: ModelDescription) Prelude.. Lens.mapping Data._Time++-- | The description for the model.+modelDescription_description :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Text)+modelDescription_description = Lens.lens (\ModelDescription' {description} -> description) (\s@ModelDescription' {} a -> s {description = a} :: ModelDescription)++-- | The unix timestamp for the date and time that the evaluation ended.+modelDescription_evaluationEndTimestamp :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.UTCTime)+modelDescription_evaluationEndTimestamp = Lens.lens (\ModelDescription' {evaluationEndTimestamp} -> evaluationEndTimestamp) (\s@ModelDescription' {} a -> s {evaluationEndTimestamp = a} :: ModelDescription) Prelude.. Lens.mapping Data._Time++-- | The S3 location where Amazon Lookout for Vision saves the manifest file+-- that was used to test the trained model and generate the performance+-- scores.+modelDescription_evaluationManifest :: Lens.Lens' ModelDescription (Prelude.Maybe OutputS3Object)+modelDescription_evaluationManifest = Lens.lens (\ModelDescription' {evaluationManifest} -> evaluationManifest) (\s@ModelDescription' {} a -> s {evaluationManifest = a} :: ModelDescription)++-- | The S3 location where Amazon Lookout for Vision saves the performance+-- metrics.+modelDescription_evaluationResult :: Lens.Lens' ModelDescription (Prelude.Maybe OutputS3Object)+modelDescription_evaluationResult = Lens.lens (\ModelDescription' {evaluationResult} -> evaluationResult) (\s@ModelDescription' {} a -> s {evaluationResult = a} :: ModelDescription)++-- | The identifer for the AWS Key Management Service (AWS KMS) key that was+-- used to encrypt the model during training.+modelDescription_kmsKeyId :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Text)+modelDescription_kmsKeyId = Lens.lens (\ModelDescription' {kmsKeyId} -> kmsKeyId) (\s@ModelDescription' {} a -> s {kmsKeyId = a} :: ModelDescription)++-- | The maximum number of inference units Amazon Lookout for Vision uses to+-- auto-scale the model. For more information, see StartModel.+modelDescription_maxInferenceUnits :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Natural)+modelDescription_maxInferenceUnits = Lens.lens (\ModelDescription' {maxInferenceUnits} -> maxInferenceUnits) (\s@ModelDescription' {} a -> s {maxInferenceUnits = a} :: ModelDescription)++-- | The minimum number of inference units used by the model. For more+-- information, see StartModel+modelDescription_minInferenceUnits :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Natural)+modelDescription_minInferenceUnits = Lens.lens (\ModelDescription' {minInferenceUnits} -> minInferenceUnits) (\s@ModelDescription' {} a -> s {minInferenceUnits = a} :: ModelDescription)++-- | The Amazon Resource Name (ARN) of the model.+modelDescription_modelArn :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Text)+modelDescription_modelArn = Lens.lens (\ModelDescription' {modelArn} -> modelArn) (\s@ModelDescription' {} a -> s {modelArn = a} :: ModelDescription)++-- | The version of the model+modelDescription_modelVersion :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Text)+modelDescription_modelVersion = Lens.lens (\ModelDescription' {modelVersion} -> modelVersion) (\s@ModelDescription' {} a -> s {modelVersion = a} :: ModelDescription)++-- | The S3 location where Amazon Lookout for Vision saves model training+-- files.+modelDescription_outputConfig :: Lens.Lens' ModelDescription (Prelude.Maybe OutputConfig)+modelDescription_outputConfig = Lens.lens (\ModelDescription' {outputConfig} -> outputConfig) (\s@ModelDescription' {} a -> s {outputConfig = a} :: ModelDescription)++-- | Performance metrics for the model. Created during training.+modelDescription_performance :: Lens.Lens' ModelDescription (Prelude.Maybe ModelPerformance)+modelDescription_performance = Lens.lens (\ModelDescription' {performance} -> performance) (\s@ModelDescription' {} a -> s {performance = a} :: ModelDescription)++-- | The status of the model.+modelDescription_status :: Lens.Lens' ModelDescription (Prelude.Maybe ModelStatus)+modelDescription_status = Lens.lens (\ModelDescription' {status} -> status) (\s@ModelDescription' {} a -> s {status = a} :: ModelDescription)++-- | The status message for the model.+modelDescription_statusMessage :: Lens.Lens' ModelDescription (Prelude.Maybe Prelude.Text)+modelDescription_statusMessage = Lens.lens (\ModelDescription' {statusMessage} -> statusMessage) (\s@ModelDescription' {} a -> s {statusMessage = a} :: ModelDescription)++instance Data.FromJSON ModelDescription where+ parseJSON =+ Data.withObject+ "ModelDescription"+ ( \x ->+ ModelDescription'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "EvaluationEndTimestamp")+ Prelude.<*> (x Data..:? "EvaluationManifest")+ Prelude.<*> (x Data..:? "EvaluationResult")+ Prelude.<*> (x Data..:? "KmsKeyId")+ Prelude.<*> (x Data..:? "MaxInferenceUnits")+ Prelude.<*> (x Data..:? "MinInferenceUnits")+ Prelude.<*> (x Data..:? "ModelArn")+ Prelude.<*> (x Data..:? "ModelVersion")+ Prelude.<*> (x Data..:? "OutputConfig")+ Prelude.<*> (x Data..:? "Performance")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable ModelDescription where+ hashWithSalt _salt ModelDescription' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` evaluationEndTimestamp+ `Prelude.hashWithSalt` evaluationManifest+ `Prelude.hashWithSalt` evaluationResult+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` maxInferenceUnits+ `Prelude.hashWithSalt` minInferenceUnits+ `Prelude.hashWithSalt` modelArn+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` outputConfig+ `Prelude.hashWithSalt` performance+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData ModelDescription where+ rnf ModelDescription' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf evaluationEndTimestamp+ `Prelude.seq` Prelude.rnf evaluationManifest+ `Prelude.seq` Prelude.rnf evaluationResult+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf maxInferenceUnits+ `Prelude.seq` Prelude.rnf minInferenceUnits+ `Prelude.seq` Prelude.rnf modelArn+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf outputConfig+ `Prelude.seq` Prelude.rnf performance+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/ModelHostingStatus.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.LookoutVision.Types.ModelHostingStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelHostingStatus+ ( ModelHostingStatus+ ( ..,+ ModelHostingStatus_HOSTED,+ ModelHostingStatus_HOSTING_FAILED,+ ModelHostingStatus_STARTING_HOSTING,+ ModelHostingStatus_STOPPING_HOSTING,+ ModelHostingStatus_SYSTEM_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ModelHostingStatus = ModelHostingStatus'+ { fromModelHostingStatus ::+ 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 ModelHostingStatus_HOSTED :: ModelHostingStatus+pattern ModelHostingStatus_HOSTED = ModelHostingStatus' "HOSTED"++pattern ModelHostingStatus_HOSTING_FAILED :: ModelHostingStatus+pattern ModelHostingStatus_HOSTING_FAILED = ModelHostingStatus' "HOSTING_FAILED"++pattern ModelHostingStatus_STARTING_HOSTING :: ModelHostingStatus+pattern ModelHostingStatus_STARTING_HOSTING = ModelHostingStatus' "STARTING_HOSTING"++pattern ModelHostingStatus_STOPPING_HOSTING :: ModelHostingStatus+pattern ModelHostingStatus_STOPPING_HOSTING = ModelHostingStatus' "STOPPING_HOSTING"++pattern ModelHostingStatus_SYSTEM_UPDATING :: ModelHostingStatus+pattern ModelHostingStatus_SYSTEM_UPDATING = ModelHostingStatus' "SYSTEM_UPDATING"++{-# COMPLETE+ ModelHostingStatus_HOSTED,+ ModelHostingStatus_HOSTING_FAILED,+ ModelHostingStatus_STARTING_HOSTING,+ ModelHostingStatus_STOPPING_HOSTING,+ ModelHostingStatus_SYSTEM_UPDATING,+ ModelHostingStatus'+ #-}
+ gen/Amazonka/LookoutVision/Types/ModelMetadata.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.ModelMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.ModelPerformance+import Amazonka.LookoutVision.Types.ModelStatus+import qualified Amazonka.Prelude as Prelude++-- | Describes an Amazon Lookout for Vision model.+--+-- /See:/ 'newModelMetadata' smart constructor.+data ModelMetadata = ModelMetadata'+ { -- | The unix timestamp for the date and time that the model was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The description for the model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the model.+ modelArn :: Prelude.Maybe Prelude.Text,+ -- | The version of the model.+ modelVersion :: Prelude.Maybe Prelude.Text,+ -- | Performance metrics for the model. Not available until training has+ -- successfully completed.+ performance :: Prelude.Maybe ModelPerformance,+ -- | The status of the model.+ status :: Prelude.Maybe ModelStatus,+ -- | The status message for the model.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'modelMetadata_creationTimestamp' - The unix timestamp for the date and time that the model was created.+--+-- 'description', 'modelMetadata_description' - The description for the model.+--+-- 'modelArn', 'modelMetadata_modelArn' - The Amazon Resource Name (ARN) of the model.+--+-- 'modelVersion', 'modelMetadata_modelVersion' - The version of the model.+--+-- 'performance', 'modelMetadata_performance' - Performance metrics for the model. Not available until training has+-- successfully completed.+--+-- 'status', 'modelMetadata_status' - The status of the model.+--+-- 'statusMessage', 'modelMetadata_statusMessage' - The status message for the model.+newModelMetadata ::+ ModelMetadata+newModelMetadata =+ ModelMetadata'+ { creationTimestamp = Prelude.Nothing,+ description = Prelude.Nothing,+ modelArn = Prelude.Nothing,+ modelVersion = Prelude.Nothing,+ performance = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The unix timestamp for the date and time that the model was created.+modelMetadata_creationTimestamp :: Lens.Lens' ModelMetadata (Prelude.Maybe Prelude.UTCTime)+modelMetadata_creationTimestamp = Lens.lens (\ModelMetadata' {creationTimestamp} -> creationTimestamp) (\s@ModelMetadata' {} a -> s {creationTimestamp = a} :: ModelMetadata) Prelude.. Lens.mapping Data._Time++-- | The description for the model.+modelMetadata_description :: Lens.Lens' ModelMetadata (Prelude.Maybe Prelude.Text)+modelMetadata_description = Lens.lens (\ModelMetadata' {description} -> description) (\s@ModelMetadata' {} a -> s {description = a} :: ModelMetadata)++-- | The Amazon Resource Name (ARN) of the model.+modelMetadata_modelArn :: Lens.Lens' ModelMetadata (Prelude.Maybe Prelude.Text)+modelMetadata_modelArn = Lens.lens (\ModelMetadata' {modelArn} -> modelArn) (\s@ModelMetadata' {} a -> s {modelArn = a} :: ModelMetadata)++-- | The version of the model.+modelMetadata_modelVersion :: Lens.Lens' ModelMetadata (Prelude.Maybe Prelude.Text)+modelMetadata_modelVersion = Lens.lens (\ModelMetadata' {modelVersion} -> modelVersion) (\s@ModelMetadata' {} a -> s {modelVersion = a} :: ModelMetadata)++-- | Performance metrics for the model. Not available until training has+-- successfully completed.+modelMetadata_performance :: Lens.Lens' ModelMetadata (Prelude.Maybe ModelPerformance)+modelMetadata_performance = Lens.lens (\ModelMetadata' {performance} -> performance) (\s@ModelMetadata' {} a -> s {performance = a} :: ModelMetadata)++-- | The status of the model.+modelMetadata_status :: Lens.Lens' ModelMetadata (Prelude.Maybe ModelStatus)+modelMetadata_status = Lens.lens (\ModelMetadata' {status} -> status) (\s@ModelMetadata' {} a -> s {status = a} :: ModelMetadata)++-- | The status message for the model.+modelMetadata_statusMessage :: Lens.Lens' ModelMetadata (Prelude.Maybe Prelude.Text)+modelMetadata_statusMessage = Lens.lens (\ModelMetadata' {statusMessage} -> statusMessage) (\s@ModelMetadata' {} a -> s {statusMessage = a} :: ModelMetadata)++instance Data.FromJSON ModelMetadata where+ parseJSON =+ Data.withObject+ "ModelMetadata"+ ( \x ->+ ModelMetadata'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "Description")+ Prelude.<*> (x Data..:? "ModelArn")+ Prelude.<*> (x Data..:? "ModelVersion")+ Prelude.<*> (x Data..:? "Performance")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable ModelMetadata where+ hashWithSalt _salt ModelMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` modelArn+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` performance+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData ModelMetadata where+ rnf ModelMetadata' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf modelArn+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf performance+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/ModelPackagingConfiguration.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.ModelPackagingConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPackagingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.GreengrassConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Configuration information for a Amazon Lookout for Vision model+-- packaging job. For more information, see StartModelPackagingJob.+--+-- /See:/ 'newModelPackagingConfiguration' smart constructor.+data ModelPackagingConfiguration = ModelPackagingConfiguration'+ { -- | Configuration information for the AWS IoT Greengrass component in a+ -- model packaging job.+ greengrass :: GreengrassConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelPackagingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'greengrass', 'modelPackagingConfiguration_greengrass' - Configuration information for the AWS IoT Greengrass component in a+-- model packaging job.+newModelPackagingConfiguration ::+ -- | 'greengrass'+ GreengrassConfiguration ->+ ModelPackagingConfiguration+newModelPackagingConfiguration pGreengrass_ =+ ModelPackagingConfiguration'+ { greengrass =+ pGreengrass_+ }++-- | Configuration information for the AWS IoT Greengrass component in a+-- model packaging job.+modelPackagingConfiguration_greengrass :: Lens.Lens' ModelPackagingConfiguration GreengrassConfiguration+modelPackagingConfiguration_greengrass = Lens.lens (\ModelPackagingConfiguration' {greengrass} -> greengrass) (\s@ModelPackagingConfiguration' {} a -> s {greengrass = a} :: ModelPackagingConfiguration)++instance Data.FromJSON ModelPackagingConfiguration where+ parseJSON =+ Data.withObject+ "ModelPackagingConfiguration"+ ( \x ->+ ModelPackagingConfiguration'+ Prelude.<$> (x Data..: "Greengrass")+ )++instance Prelude.Hashable ModelPackagingConfiguration where+ hashWithSalt _salt ModelPackagingConfiguration' {..} =+ _salt `Prelude.hashWithSalt` greengrass++instance Prelude.NFData ModelPackagingConfiguration where+ rnf ModelPackagingConfiguration' {..} =+ Prelude.rnf greengrass++instance Data.ToJSON ModelPackagingConfiguration where+ toJSON ModelPackagingConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Greengrass" Data..= greengrass)]+ )
+ gen/Amazonka/LookoutVision/Types/ModelPackagingDescription.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.ModelPackagingDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPackagingDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.ModelPackagingConfiguration+import Amazonka.LookoutVision.Types.ModelPackagingJobStatus+import Amazonka.LookoutVision.Types.ModelPackagingOutputDetails+import qualified Amazonka.Prelude as Prelude++-- | Information about a model packaging job. For more information, see+-- DescribeModelPackagingJob.+--+-- /See:/ 'newModelPackagingDescription' smart constructor.+data ModelPackagingDescription = ModelPackagingDescription'+ { -- | The Unix timestamp for the time and date that the model packaging job+ -- was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The name of the model packaging job.+ jobName :: Prelude.Maybe Prelude.Text,+ -- | The Unix timestamp for the time and date that the model packaging job+ -- was last updated.+ lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The configuration information used in the model packaging job.+ modelPackagingConfiguration :: Prelude.Maybe ModelPackagingConfiguration,+ -- | The description for the model packaging job.+ modelPackagingJobDescription :: Prelude.Maybe Prelude.Text,+ -- | The AWS service used to package the job. Currently Lookout for Vision+ -- can package jobs with AWS IoT Greengrass.+ modelPackagingMethod :: Prelude.Maybe Prelude.Text,+ -- | Information about the output of the model packaging job. For more+ -- information, see DescribeModelPackagingJob.+ modelPackagingOutputDetails :: Prelude.Maybe ModelPackagingOutputDetails,+ -- | The version of the model used in the model packaging job.+ modelVersion :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that\'s associated with a model that\'s in the+ -- model package.+ projectName :: Prelude.Maybe Prelude.Text,+ -- | The status of the model packaging job.+ status :: Prelude.Maybe ModelPackagingJobStatus,+ -- | The status message for the model packaging job.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelPackagingDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'modelPackagingDescription_creationTimestamp' - The Unix timestamp for the time and date that the model packaging job+-- was created.+--+-- 'jobName', 'modelPackagingDescription_jobName' - The name of the model packaging job.+--+-- 'lastUpdatedTimestamp', 'modelPackagingDescription_lastUpdatedTimestamp' - The Unix timestamp for the time and date that the model packaging job+-- was last updated.+--+-- 'modelPackagingConfiguration', 'modelPackagingDescription_modelPackagingConfiguration' - The configuration information used in the model packaging job.+--+-- 'modelPackagingJobDescription', 'modelPackagingDescription_modelPackagingJobDescription' - The description for the model packaging job.+--+-- 'modelPackagingMethod', 'modelPackagingDescription_modelPackagingMethod' - The AWS service used to package the job. Currently Lookout for Vision+-- can package jobs with AWS IoT Greengrass.+--+-- 'modelPackagingOutputDetails', 'modelPackagingDescription_modelPackagingOutputDetails' - Information about the output of the model packaging job. For more+-- information, see DescribeModelPackagingJob.+--+-- 'modelVersion', 'modelPackagingDescription_modelVersion' - The version of the model used in the model packaging job.+--+-- 'projectName', 'modelPackagingDescription_projectName' - The name of the project that\'s associated with a model that\'s in the+-- model package.+--+-- 'status', 'modelPackagingDescription_status' - The status of the model packaging job.+--+-- 'statusMessage', 'modelPackagingDescription_statusMessage' - The status message for the model packaging job.+newModelPackagingDescription ::+ ModelPackagingDescription+newModelPackagingDescription =+ ModelPackagingDescription'+ { creationTimestamp =+ Prelude.Nothing,+ jobName = Prelude.Nothing,+ lastUpdatedTimestamp = Prelude.Nothing,+ modelPackagingConfiguration = Prelude.Nothing,+ modelPackagingJobDescription = Prelude.Nothing,+ modelPackagingMethod = Prelude.Nothing,+ modelPackagingOutputDetails = Prelude.Nothing,+ modelVersion = Prelude.Nothing,+ projectName = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The Unix timestamp for the time and date that the model packaging job+-- was created.+modelPackagingDescription_creationTimestamp :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.UTCTime)+modelPackagingDescription_creationTimestamp = Lens.lens (\ModelPackagingDescription' {creationTimestamp} -> creationTimestamp) (\s@ModelPackagingDescription' {} a -> s {creationTimestamp = a} :: ModelPackagingDescription) Prelude.. Lens.mapping Data._Time++-- | The name of the model packaging job.+modelPackagingDescription_jobName :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_jobName = Lens.lens (\ModelPackagingDescription' {jobName} -> jobName) (\s@ModelPackagingDescription' {} a -> s {jobName = a} :: ModelPackagingDescription)++-- | The Unix timestamp for the time and date that the model packaging job+-- was last updated.+modelPackagingDescription_lastUpdatedTimestamp :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.UTCTime)+modelPackagingDescription_lastUpdatedTimestamp = Lens.lens (\ModelPackagingDescription' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@ModelPackagingDescription' {} a -> s {lastUpdatedTimestamp = a} :: ModelPackagingDescription) Prelude.. Lens.mapping Data._Time++-- | The configuration information used in the model packaging job.+modelPackagingDescription_modelPackagingConfiguration :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe ModelPackagingConfiguration)+modelPackagingDescription_modelPackagingConfiguration = Lens.lens (\ModelPackagingDescription' {modelPackagingConfiguration} -> modelPackagingConfiguration) (\s@ModelPackagingDescription' {} a -> s {modelPackagingConfiguration = a} :: ModelPackagingDescription)++-- | The description for the model packaging job.+modelPackagingDescription_modelPackagingJobDescription :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_modelPackagingJobDescription = Lens.lens (\ModelPackagingDescription' {modelPackagingJobDescription} -> modelPackagingJobDescription) (\s@ModelPackagingDescription' {} a -> s {modelPackagingJobDescription = a} :: ModelPackagingDescription)++-- | The AWS service used to package the job. Currently Lookout for Vision+-- can package jobs with AWS IoT Greengrass.+modelPackagingDescription_modelPackagingMethod :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_modelPackagingMethod = Lens.lens (\ModelPackagingDescription' {modelPackagingMethod} -> modelPackagingMethod) (\s@ModelPackagingDescription' {} a -> s {modelPackagingMethod = a} :: ModelPackagingDescription)++-- | Information about the output of the model packaging job. For more+-- information, see DescribeModelPackagingJob.+modelPackagingDescription_modelPackagingOutputDetails :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe ModelPackagingOutputDetails)+modelPackagingDescription_modelPackagingOutputDetails = Lens.lens (\ModelPackagingDescription' {modelPackagingOutputDetails} -> modelPackagingOutputDetails) (\s@ModelPackagingDescription' {} a -> s {modelPackagingOutputDetails = a} :: ModelPackagingDescription)++-- | The version of the model used in the model packaging job.+modelPackagingDescription_modelVersion :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_modelVersion = Lens.lens (\ModelPackagingDescription' {modelVersion} -> modelVersion) (\s@ModelPackagingDescription' {} a -> s {modelVersion = a} :: ModelPackagingDescription)++-- | The name of the project that\'s associated with a model that\'s in the+-- model package.+modelPackagingDescription_projectName :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_projectName = Lens.lens (\ModelPackagingDescription' {projectName} -> projectName) (\s@ModelPackagingDescription' {} a -> s {projectName = a} :: ModelPackagingDescription)++-- | The status of the model packaging job.+modelPackagingDescription_status :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe ModelPackagingJobStatus)+modelPackagingDescription_status = Lens.lens (\ModelPackagingDescription' {status} -> status) (\s@ModelPackagingDescription' {} a -> s {status = a} :: ModelPackagingDescription)++-- | The status message for the model packaging job.+modelPackagingDescription_statusMessage :: Lens.Lens' ModelPackagingDescription (Prelude.Maybe Prelude.Text)+modelPackagingDescription_statusMessage = Lens.lens (\ModelPackagingDescription' {statusMessage} -> statusMessage) (\s@ModelPackagingDescription' {} a -> s {statusMessage = a} :: ModelPackagingDescription)++instance Data.FromJSON ModelPackagingDescription where+ parseJSON =+ Data.withObject+ "ModelPackagingDescription"+ ( \x ->+ ModelPackagingDescription'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+ Prelude.<*> (x Data..:? "ModelPackagingConfiguration")+ Prelude.<*> (x Data..:? "ModelPackagingJobDescription")+ Prelude.<*> (x Data..:? "ModelPackagingMethod")+ Prelude.<*> (x Data..:? "ModelPackagingOutputDetails")+ Prelude.<*> (x Data..:? "ModelVersion")+ Prelude.<*> (x Data..:? "ProjectName")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable ModelPackagingDescription where+ hashWithSalt _salt ModelPackagingDescription' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` lastUpdatedTimestamp+ `Prelude.hashWithSalt` modelPackagingConfiguration+ `Prelude.hashWithSalt` modelPackagingJobDescription+ `Prelude.hashWithSalt` modelPackagingMethod+ `Prelude.hashWithSalt` modelPackagingOutputDetails+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData ModelPackagingDescription where+ rnf ModelPackagingDescription' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+ `Prelude.seq` Prelude.rnf modelPackagingConfiguration+ `Prelude.seq` Prelude.rnf modelPackagingJobDescription+ `Prelude.seq` Prelude.rnf modelPackagingMethod+ `Prelude.seq` Prelude.rnf modelPackagingOutputDetails+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/ModelPackagingJobMetadata.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.ModelPackagingJobMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPackagingJobMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.ModelPackagingJobStatus+import qualified Amazonka.Prelude as Prelude++-- | Metadata for a model packaging job. For more information, see+-- ListModelPackagingJobs.+--+-- /See:/ 'newModelPackagingJobMetadata' smart constructor.+data ModelPackagingJobMetadata = ModelPackagingJobMetadata'+ { -- | The Unix timestamp for the time and date that the model packaging job+ -- was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The name of the model packaging job.+ jobName :: Prelude.Maybe Prelude.Text,+ -- | The Unix timestamp for the time and date that the model packaging job+ -- was last updated.+ lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The description for the model packaging job.+ modelPackagingJobDescription :: Prelude.Maybe Prelude.Text,+ -- | The AWS service used to package the job. Currently Lookout for Vision+ -- can package jobs with AWS IoT Greengrass.+ modelPackagingMethod :: Prelude.Maybe Prelude.Text,+ -- | The version of the model that is in the model package.+ modelVersion :: Prelude.Maybe Prelude.Text,+ -- | The project that contains the model that is in the model package.+ projectName :: Prelude.Maybe Prelude.Text,+ -- | The status of the model packaging job.+ status :: Prelude.Maybe ModelPackagingJobStatus,+ -- | The status message for the model packaging job.+ statusMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelPackagingJobMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'modelPackagingJobMetadata_creationTimestamp' - The Unix timestamp for the time and date that the model packaging job+-- was created.+--+-- 'jobName', 'modelPackagingJobMetadata_jobName' - The name of the model packaging job.+--+-- 'lastUpdatedTimestamp', 'modelPackagingJobMetadata_lastUpdatedTimestamp' - The Unix timestamp for the time and date that the model packaging job+-- was last updated.+--+-- 'modelPackagingJobDescription', 'modelPackagingJobMetadata_modelPackagingJobDescription' - The description for the model packaging job.+--+-- 'modelPackagingMethod', 'modelPackagingJobMetadata_modelPackagingMethod' - The AWS service used to package the job. Currently Lookout for Vision+-- can package jobs with AWS IoT Greengrass.+--+-- 'modelVersion', 'modelPackagingJobMetadata_modelVersion' - The version of the model that is in the model package.+--+-- 'projectName', 'modelPackagingJobMetadata_projectName' - The project that contains the model that is in the model package.+--+-- 'status', 'modelPackagingJobMetadata_status' - The status of the model packaging job.+--+-- 'statusMessage', 'modelPackagingJobMetadata_statusMessage' - The status message for the model packaging job.+newModelPackagingJobMetadata ::+ ModelPackagingJobMetadata+newModelPackagingJobMetadata =+ ModelPackagingJobMetadata'+ { creationTimestamp =+ Prelude.Nothing,+ jobName = Prelude.Nothing,+ lastUpdatedTimestamp = Prelude.Nothing,+ modelPackagingJobDescription = Prelude.Nothing,+ modelPackagingMethod = Prelude.Nothing,+ modelVersion = Prelude.Nothing,+ projectName = Prelude.Nothing,+ status = Prelude.Nothing,+ statusMessage = Prelude.Nothing+ }++-- | The Unix timestamp for the time and date that the model packaging job+-- was created.+modelPackagingJobMetadata_creationTimestamp :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.UTCTime)+modelPackagingJobMetadata_creationTimestamp = Lens.lens (\ModelPackagingJobMetadata' {creationTimestamp} -> creationTimestamp) (\s@ModelPackagingJobMetadata' {} a -> s {creationTimestamp = a} :: ModelPackagingJobMetadata) Prelude.. Lens.mapping Data._Time++-- | The name of the model packaging job.+modelPackagingJobMetadata_jobName :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_jobName = Lens.lens (\ModelPackagingJobMetadata' {jobName} -> jobName) (\s@ModelPackagingJobMetadata' {} a -> s {jobName = a} :: ModelPackagingJobMetadata)++-- | The Unix timestamp for the time and date that the model packaging job+-- was last updated.+modelPackagingJobMetadata_lastUpdatedTimestamp :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.UTCTime)+modelPackagingJobMetadata_lastUpdatedTimestamp = Lens.lens (\ModelPackagingJobMetadata' {lastUpdatedTimestamp} -> lastUpdatedTimestamp) (\s@ModelPackagingJobMetadata' {} a -> s {lastUpdatedTimestamp = a} :: ModelPackagingJobMetadata) Prelude.. Lens.mapping Data._Time++-- | The description for the model packaging job.+modelPackagingJobMetadata_modelPackagingJobDescription :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_modelPackagingJobDescription = Lens.lens (\ModelPackagingJobMetadata' {modelPackagingJobDescription} -> modelPackagingJobDescription) (\s@ModelPackagingJobMetadata' {} a -> s {modelPackagingJobDescription = a} :: ModelPackagingJobMetadata)++-- | The AWS service used to package the job. Currently Lookout for Vision+-- can package jobs with AWS IoT Greengrass.+modelPackagingJobMetadata_modelPackagingMethod :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_modelPackagingMethod = Lens.lens (\ModelPackagingJobMetadata' {modelPackagingMethod} -> modelPackagingMethod) (\s@ModelPackagingJobMetadata' {} a -> s {modelPackagingMethod = a} :: ModelPackagingJobMetadata)++-- | The version of the model that is in the model package.+modelPackagingJobMetadata_modelVersion :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_modelVersion = Lens.lens (\ModelPackagingJobMetadata' {modelVersion} -> modelVersion) (\s@ModelPackagingJobMetadata' {} a -> s {modelVersion = a} :: ModelPackagingJobMetadata)++-- | The project that contains the model that is in the model package.+modelPackagingJobMetadata_projectName :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_projectName = Lens.lens (\ModelPackagingJobMetadata' {projectName} -> projectName) (\s@ModelPackagingJobMetadata' {} a -> s {projectName = a} :: ModelPackagingJobMetadata)++-- | The status of the model packaging job.+modelPackagingJobMetadata_status :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe ModelPackagingJobStatus)+modelPackagingJobMetadata_status = Lens.lens (\ModelPackagingJobMetadata' {status} -> status) (\s@ModelPackagingJobMetadata' {} a -> s {status = a} :: ModelPackagingJobMetadata)++-- | The status message for the model packaging job.+modelPackagingJobMetadata_statusMessage :: Lens.Lens' ModelPackagingJobMetadata (Prelude.Maybe Prelude.Text)+modelPackagingJobMetadata_statusMessage = Lens.lens (\ModelPackagingJobMetadata' {statusMessage} -> statusMessage) (\s@ModelPackagingJobMetadata' {} a -> s {statusMessage = a} :: ModelPackagingJobMetadata)++instance Data.FromJSON ModelPackagingJobMetadata where+ parseJSON =+ Data.withObject+ "ModelPackagingJobMetadata"+ ( \x ->+ ModelPackagingJobMetadata'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "JobName")+ Prelude.<*> (x Data..:? "LastUpdatedTimestamp")+ Prelude.<*> (x Data..:? "ModelPackagingJobDescription")+ Prelude.<*> (x Data..:? "ModelPackagingMethod")+ Prelude.<*> (x Data..:? "ModelVersion")+ Prelude.<*> (x Data..:? "ProjectName")+ Prelude.<*> (x Data..:? "Status")+ Prelude.<*> (x Data..:? "StatusMessage")+ )++instance Prelude.Hashable ModelPackagingJobMetadata where+ hashWithSalt _salt ModelPackagingJobMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` jobName+ `Prelude.hashWithSalt` lastUpdatedTimestamp+ `Prelude.hashWithSalt` modelPackagingJobDescription+ `Prelude.hashWithSalt` modelPackagingMethod+ `Prelude.hashWithSalt` modelVersion+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData ModelPackagingJobMetadata where+ rnf ModelPackagingJobMetadata' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf jobName+ `Prelude.seq` Prelude.rnf lastUpdatedTimestamp+ `Prelude.seq` Prelude.rnf modelPackagingJobDescription+ `Prelude.seq` Prelude.rnf modelPackagingMethod+ `Prelude.seq` Prelude.rnf modelVersion+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/LookoutVision/Types/ModelPackagingJobStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.ModelPackagingJobStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPackagingJobStatus+ ( ModelPackagingJobStatus+ ( ..,+ ModelPackagingJobStatus_CREATED,+ ModelPackagingJobStatus_FAILED,+ ModelPackagingJobStatus_RUNNING,+ ModelPackagingJobStatus_SUCCEEDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ModelPackagingJobStatus = ModelPackagingJobStatus'+ { fromModelPackagingJobStatus ::+ 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 ModelPackagingJobStatus_CREATED :: ModelPackagingJobStatus+pattern ModelPackagingJobStatus_CREATED = ModelPackagingJobStatus' "CREATED"++pattern ModelPackagingJobStatus_FAILED :: ModelPackagingJobStatus+pattern ModelPackagingJobStatus_FAILED = ModelPackagingJobStatus' "FAILED"++pattern ModelPackagingJobStatus_RUNNING :: ModelPackagingJobStatus+pattern ModelPackagingJobStatus_RUNNING = ModelPackagingJobStatus' "RUNNING"++pattern ModelPackagingJobStatus_SUCCEEDED :: ModelPackagingJobStatus+pattern ModelPackagingJobStatus_SUCCEEDED = ModelPackagingJobStatus' "SUCCEEDED"++{-# COMPLETE+ ModelPackagingJobStatus_CREATED,+ ModelPackagingJobStatus_FAILED,+ ModelPackagingJobStatus_RUNNING,+ ModelPackagingJobStatus_SUCCEEDED,+ ModelPackagingJobStatus'+ #-}
+ gen/Amazonka/LookoutVision/Types/ModelPackagingOutputDetails.hs view
@@ -0,0 +1,76 @@+{-# 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.LookoutVision.Types.ModelPackagingOutputDetails+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPackagingOutputDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.GreengrassOutputDetails+import qualified Amazonka.Prelude as Prelude++-- | Information about the output from a model packaging job.+--+-- /See:/ 'newModelPackagingOutputDetails' smart constructor.+data ModelPackagingOutputDetails = ModelPackagingOutputDetails'+ { -- | Information about the AWS IoT Greengrass component in a model packaging+ -- job.+ greengrass :: Prelude.Maybe GreengrassOutputDetails+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelPackagingOutputDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'greengrass', 'modelPackagingOutputDetails_greengrass' - Information about the AWS IoT Greengrass component in a model packaging+-- job.+newModelPackagingOutputDetails ::+ ModelPackagingOutputDetails+newModelPackagingOutputDetails =+ ModelPackagingOutputDetails'+ { greengrass =+ Prelude.Nothing+ }++-- | Information about the AWS IoT Greengrass component in a model packaging+-- job.+modelPackagingOutputDetails_greengrass :: Lens.Lens' ModelPackagingOutputDetails (Prelude.Maybe GreengrassOutputDetails)+modelPackagingOutputDetails_greengrass = Lens.lens (\ModelPackagingOutputDetails' {greengrass} -> greengrass) (\s@ModelPackagingOutputDetails' {} a -> s {greengrass = a} :: ModelPackagingOutputDetails)++instance Data.FromJSON ModelPackagingOutputDetails where+ parseJSON =+ Data.withObject+ "ModelPackagingOutputDetails"+ ( \x ->+ ModelPackagingOutputDetails'+ Prelude.<$> (x Data..:? "Greengrass")+ )++instance Prelude.Hashable ModelPackagingOutputDetails where+ hashWithSalt _salt ModelPackagingOutputDetails' {..} =+ _salt `Prelude.hashWithSalt` greengrass++instance Prelude.NFData ModelPackagingOutputDetails where+ rnf ModelPackagingOutputDetails' {..} =+ Prelude.rnf greengrass
+ gen/Amazonka/LookoutVision/Types/ModelPerformance.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.LookoutVision.Types.ModelPerformance+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelPerformance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the evaluation performance of a trained model.+--+-- /See:/ 'newModelPerformance' smart constructor.+data ModelPerformance = ModelPerformance'+ { -- | The overall F1 score metric for the trained model.+ f1Score :: Prelude.Maybe Prelude.Double,+ -- | The overall precision metric value for the trained model.+ precision :: Prelude.Maybe Prelude.Double,+ -- | The overall recall metric value for the trained model.+ recall :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelPerformance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'f1Score', 'modelPerformance_f1Score' - The overall F1 score metric for the trained model.+--+-- 'precision', 'modelPerformance_precision' - The overall precision metric value for the trained model.+--+-- 'recall', 'modelPerformance_recall' - The overall recall metric value for the trained model.+newModelPerformance ::+ ModelPerformance+newModelPerformance =+ ModelPerformance'+ { f1Score = Prelude.Nothing,+ precision = Prelude.Nothing,+ recall = Prelude.Nothing+ }++-- | The overall F1 score metric for the trained model.+modelPerformance_f1Score :: Lens.Lens' ModelPerformance (Prelude.Maybe Prelude.Double)+modelPerformance_f1Score = Lens.lens (\ModelPerformance' {f1Score} -> f1Score) (\s@ModelPerformance' {} a -> s {f1Score = a} :: ModelPerformance)++-- | The overall precision metric value for the trained model.+modelPerformance_precision :: Lens.Lens' ModelPerformance (Prelude.Maybe Prelude.Double)+modelPerformance_precision = Lens.lens (\ModelPerformance' {precision} -> precision) (\s@ModelPerformance' {} a -> s {precision = a} :: ModelPerformance)++-- | The overall recall metric value for the trained model.+modelPerformance_recall :: Lens.Lens' ModelPerformance (Prelude.Maybe Prelude.Double)+modelPerformance_recall = Lens.lens (\ModelPerformance' {recall} -> recall) (\s@ModelPerformance' {} a -> s {recall = a} :: ModelPerformance)++instance Data.FromJSON ModelPerformance where+ parseJSON =+ Data.withObject+ "ModelPerformance"+ ( \x ->+ ModelPerformance'+ Prelude.<$> (x Data..:? "F1Score")+ Prelude.<*> (x Data..:? "Precision")+ Prelude.<*> (x Data..:? "Recall")+ )++instance Prelude.Hashable ModelPerformance where+ hashWithSalt _salt ModelPerformance' {..} =+ _salt+ `Prelude.hashWithSalt` f1Score+ `Prelude.hashWithSalt` precision+ `Prelude.hashWithSalt` recall++instance Prelude.NFData ModelPerformance where+ rnf ModelPerformance' {..} =+ Prelude.rnf f1Score+ `Prelude.seq` Prelude.rnf precision+ `Prelude.seq` Prelude.rnf recall
+ gen/Amazonka/LookoutVision/Types/ModelStatus.hs view
@@ -0,0 +1,106 @@+{-# 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.LookoutVision.Types.ModelStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ModelStatus+ ( ModelStatus+ ( ..,+ ModelStatus_DELETING,+ ModelStatus_HOSTED,+ ModelStatus_HOSTING_FAILED,+ ModelStatus_STARTING_HOSTING,+ ModelStatus_STOPPING_HOSTING,+ ModelStatus_SYSTEM_UPDATING,+ ModelStatus_TRAINED,+ ModelStatus_TRAINING,+ ModelStatus_TRAINING_FAILED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ModelStatus = ModelStatus'+ { fromModelStatus ::+ 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 ModelStatus_DELETING :: ModelStatus+pattern ModelStatus_DELETING = ModelStatus' "DELETING"++pattern ModelStatus_HOSTED :: ModelStatus+pattern ModelStatus_HOSTED = ModelStatus' "HOSTED"++pattern ModelStatus_HOSTING_FAILED :: ModelStatus+pattern ModelStatus_HOSTING_FAILED = ModelStatus' "HOSTING_FAILED"++pattern ModelStatus_STARTING_HOSTING :: ModelStatus+pattern ModelStatus_STARTING_HOSTING = ModelStatus' "STARTING_HOSTING"++pattern ModelStatus_STOPPING_HOSTING :: ModelStatus+pattern ModelStatus_STOPPING_HOSTING = ModelStatus' "STOPPING_HOSTING"++pattern ModelStatus_SYSTEM_UPDATING :: ModelStatus+pattern ModelStatus_SYSTEM_UPDATING = ModelStatus' "SYSTEM_UPDATING"++pattern ModelStatus_TRAINED :: ModelStatus+pattern ModelStatus_TRAINED = ModelStatus' "TRAINED"++pattern ModelStatus_TRAINING :: ModelStatus+pattern ModelStatus_TRAINING = ModelStatus' "TRAINING"++pattern ModelStatus_TRAINING_FAILED :: ModelStatus+pattern ModelStatus_TRAINING_FAILED = ModelStatus' "TRAINING_FAILED"++{-# COMPLETE+ ModelStatus_DELETING,+ ModelStatus_HOSTED,+ ModelStatus_HOSTING_FAILED,+ ModelStatus_STARTING_HOSTING,+ ModelStatus_STOPPING_HOSTING,+ ModelStatus_SYSTEM_UPDATING,+ ModelStatus_TRAINED,+ ModelStatus_TRAINING,+ ModelStatus_TRAINING_FAILED,+ ModelStatus'+ #-}
+ gen/Amazonka/LookoutVision/Types/OutputConfig.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.LookoutVision.Types.OutputConfig+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.OutputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.S3Location+import qualified Amazonka.Prelude as Prelude++-- | The S3 location where Amazon Lookout for Vision saves model training+-- files.+--+-- /See:/ 'newOutputConfig' smart constructor.+data OutputConfig = OutputConfig'+ { -- | The S3 location for the output.+ s3Location :: S3Location+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Location', 'outputConfig_s3Location' - The S3 location for the output.+newOutputConfig ::+ -- | 's3Location'+ S3Location ->+ OutputConfig+newOutputConfig pS3Location_ =+ OutputConfig' {s3Location = pS3Location_}++-- | The S3 location for the output.+outputConfig_s3Location :: Lens.Lens' OutputConfig S3Location+outputConfig_s3Location = Lens.lens (\OutputConfig' {s3Location} -> s3Location) (\s@OutputConfig' {} a -> s {s3Location = a} :: OutputConfig)++instance Data.FromJSON OutputConfig where+ parseJSON =+ Data.withObject+ "OutputConfig"+ ( \x ->+ OutputConfig' Prelude.<$> (x Data..: "S3Location")+ )++instance Prelude.Hashable OutputConfig where+ hashWithSalt _salt OutputConfig' {..} =+ _salt `Prelude.hashWithSalt` s3Location++instance Prelude.NFData OutputConfig where+ rnf OutputConfig' {..} = Prelude.rnf s3Location++instance Data.ToJSON OutputConfig where+ toJSON OutputConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("S3Location" Data..= s3Location)]+ )
+ gen/Amazonka/LookoutVision/Types/OutputS3Object.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.OutputS3Object+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.OutputS3Object 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 S3 location where Amazon Lookout for Vision saves training output.+--+-- /See:/ 'newOutputS3Object' smart constructor.+data OutputS3Object = OutputS3Object'+ { -- | The bucket that contains the training output.+ bucket :: Prelude.Text,+ -- | The location of the training output in the bucket.+ key :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputS3Object' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'outputS3Object_bucket' - The bucket that contains the training output.+--+-- 'key', 'outputS3Object_key' - The location of the training output in the bucket.+newOutputS3Object ::+ -- | 'bucket'+ Prelude.Text ->+ -- | 'key'+ Prelude.Text ->+ OutputS3Object+newOutputS3Object pBucket_ pKey_ =+ OutputS3Object' {bucket = pBucket_, key = pKey_}++-- | The bucket that contains the training output.+outputS3Object_bucket :: Lens.Lens' OutputS3Object Prelude.Text+outputS3Object_bucket = Lens.lens (\OutputS3Object' {bucket} -> bucket) (\s@OutputS3Object' {} a -> s {bucket = a} :: OutputS3Object)++-- | The location of the training output in the bucket.+outputS3Object_key :: Lens.Lens' OutputS3Object Prelude.Text+outputS3Object_key = Lens.lens (\OutputS3Object' {key} -> key) (\s@OutputS3Object' {} a -> s {key = a} :: OutputS3Object)++instance Data.FromJSON OutputS3Object where+ parseJSON =+ Data.withObject+ "OutputS3Object"+ ( \x ->+ OutputS3Object'+ Prelude.<$> (x Data..: "Bucket")+ Prelude.<*> (x Data..: "Key")+ )++instance Prelude.Hashable OutputS3Object where+ hashWithSalt _salt OutputS3Object' {..} =+ _salt+ `Prelude.hashWithSalt` bucket+ `Prelude.hashWithSalt` key++instance Prelude.NFData OutputS3Object where+ rnf OutputS3Object' {..} =+ Prelude.rnf bucket `Prelude.seq` Prelude.rnf key
+ gen/Amazonka/LookoutVision/Types/PixelAnomaly.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.LookoutVision.Types.PixelAnomaly+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.PixelAnomaly where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the pixels in an anomaly mask. For more information,+-- see Anomaly. @PixelAnomaly@ is only returned by image segmentation+-- models.+--+-- /See:/ 'newPixelAnomaly' smart constructor.+data PixelAnomaly = PixelAnomaly'+ { -- | A hex color value for the mask that covers an anomaly type. Each anomaly+ -- type has a different mask color. The color maps to the color of the+ -- anomaly type used in the training dataset.+ color :: Prelude.Maybe Prelude.Text,+ -- | The percentage area of the image that the anomaly type covers.+ totalPercentageArea :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PixelAnomaly' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'color', 'pixelAnomaly_color' - A hex color value for the mask that covers an anomaly type. Each anomaly+-- type has a different mask color. The color maps to the color of the+-- anomaly type used in the training dataset.+--+-- 'totalPercentageArea', 'pixelAnomaly_totalPercentageArea' - The percentage area of the image that the anomaly type covers.+newPixelAnomaly ::+ PixelAnomaly+newPixelAnomaly =+ PixelAnomaly'+ { color = Prelude.Nothing,+ totalPercentageArea = Prelude.Nothing+ }++-- | A hex color value for the mask that covers an anomaly type. Each anomaly+-- type has a different mask color. The color maps to the color of the+-- anomaly type used in the training dataset.+pixelAnomaly_color :: Lens.Lens' PixelAnomaly (Prelude.Maybe Prelude.Text)+pixelAnomaly_color = Lens.lens (\PixelAnomaly' {color} -> color) (\s@PixelAnomaly' {} a -> s {color = a} :: PixelAnomaly)++-- | The percentage area of the image that the anomaly type covers.+pixelAnomaly_totalPercentageArea :: Lens.Lens' PixelAnomaly (Prelude.Maybe Prelude.Double)+pixelAnomaly_totalPercentageArea = Lens.lens (\PixelAnomaly' {totalPercentageArea} -> totalPercentageArea) (\s@PixelAnomaly' {} a -> s {totalPercentageArea = a} :: PixelAnomaly)++instance Data.FromJSON PixelAnomaly where+ parseJSON =+ Data.withObject+ "PixelAnomaly"+ ( \x ->+ PixelAnomaly'+ Prelude.<$> (x Data..:? "Color")+ Prelude.<*> (x Data..:? "TotalPercentageArea")+ )++instance Prelude.Hashable PixelAnomaly where+ hashWithSalt _salt PixelAnomaly' {..} =+ _salt+ `Prelude.hashWithSalt` color+ `Prelude.hashWithSalt` totalPercentageArea++instance Prelude.NFData PixelAnomaly where+ rnf PixelAnomaly' {..} =+ Prelude.rnf color+ `Prelude.seq` Prelude.rnf totalPercentageArea
+ gen/Amazonka/LookoutVision/Types/ProjectDescription.hs view
@@ -0,0 +1,111 @@+{-# 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.LookoutVision.Types.ProjectDescription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ProjectDescription where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.DatasetMetadata+import qualified Amazonka.Prelude as Prelude++-- | Describe an Amazon Lookout for Vision project. For more information, see+-- DescribeProject.+--+-- /See:/ 'newProjectDescription' smart constructor.+data ProjectDescription = ProjectDescription'+ { -- | The unix timestamp for the date and time that the project was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | A list of datasets in the project.+ datasets :: Prelude.Maybe [DatasetMetadata],+ -- | The Amazon Resource Name (ARN) of the project.+ projectArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the project.+ projectName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProjectDescription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'projectDescription_creationTimestamp' - The unix timestamp for the date and time that the project was created.+--+-- 'datasets', 'projectDescription_datasets' - A list of datasets in the project.+--+-- 'projectArn', 'projectDescription_projectArn' - The Amazon Resource Name (ARN) of the project.+--+-- 'projectName', 'projectDescription_projectName' - The name of the project.+newProjectDescription ::+ ProjectDescription+newProjectDescription =+ ProjectDescription'+ { creationTimestamp =+ Prelude.Nothing,+ datasets = Prelude.Nothing,+ projectArn = Prelude.Nothing,+ projectName = Prelude.Nothing+ }++-- | The unix timestamp for the date and time that the project was created.+projectDescription_creationTimestamp :: Lens.Lens' ProjectDescription (Prelude.Maybe Prelude.UTCTime)+projectDescription_creationTimestamp = Lens.lens (\ProjectDescription' {creationTimestamp} -> creationTimestamp) (\s@ProjectDescription' {} a -> s {creationTimestamp = a} :: ProjectDescription) Prelude.. Lens.mapping Data._Time++-- | A list of datasets in the project.+projectDescription_datasets :: Lens.Lens' ProjectDescription (Prelude.Maybe [DatasetMetadata])+projectDescription_datasets = Lens.lens (\ProjectDescription' {datasets} -> datasets) (\s@ProjectDescription' {} a -> s {datasets = a} :: ProjectDescription) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the project.+projectDescription_projectArn :: Lens.Lens' ProjectDescription (Prelude.Maybe Prelude.Text)+projectDescription_projectArn = Lens.lens (\ProjectDescription' {projectArn} -> projectArn) (\s@ProjectDescription' {} a -> s {projectArn = a} :: ProjectDescription)++-- | The name of the project.+projectDescription_projectName :: Lens.Lens' ProjectDescription (Prelude.Maybe Prelude.Text)+projectDescription_projectName = Lens.lens (\ProjectDescription' {projectName} -> projectName) (\s@ProjectDescription' {} a -> s {projectName = a} :: ProjectDescription)++instance Data.FromJSON ProjectDescription where+ parseJSON =+ Data.withObject+ "ProjectDescription"+ ( \x ->+ ProjectDescription'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "Datasets" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "ProjectArn")+ Prelude.<*> (x Data..:? "ProjectName")+ )++instance Prelude.Hashable ProjectDescription where+ hashWithSalt _salt ProjectDescription' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` datasets+ `Prelude.hashWithSalt` projectArn+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData ProjectDescription where+ rnf ProjectDescription' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf datasets+ `Prelude.seq` Prelude.rnf projectArn+ `Prelude.seq` Prelude.rnf projectName
+ gen/Amazonka/LookoutVision/Types/ProjectMetadata.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.LookoutVision.Types.ProjectMetadata+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.ProjectMetadata 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++-- | Metadata about an Amazon Lookout for Vision project.+--+-- /See:/ 'newProjectMetadata' smart constructor.+data ProjectMetadata = ProjectMetadata'+ { -- | The unix timestamp for the date and time that the project was created.+ creationTimestamp :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the project.+ projectArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the project.+ projectName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProjectMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTimestamp', 'projectMetadata_creationTimestamp' - The unix timestamp for the date and time that the project was created.+--+-- 'projectArn', 'projectMetadata_projectArn' - The Amazon Resource Name (ARN) of the project.+--+-- 'projectName', 'projectMetadata_projectName' - The name of the project.+newProjectMetadata ::+ ProjectMetadata+newProjectMetadata =+ ProjectMetadata'+ { creationTimestamp =+ Prelude.Nothing,+ projectArn = Prelude.Nothing,+ projectName = Prelude.Nothing+ }++-- | The unix timestamp for the date and time that the project was created.+projectMetadata_creationTimestamp :: Lens.Lens' ProjectMetadata (Prelude.Maybe Prelude.UTCTime)+projectMetadata_creationTimestamp = Lens.lens (\ProjectMetadata' {creationTimestamp} -> creationTimestamp) (\s@ProjectMetadata' {} a -> s {creationTimestamp = a} :: ProjectMetadata) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the project.+projectMetadata_projectArn :: Lens.Lens' ProjectMetadata (Prelude.Maybe Prelude.Text)+projectMetadata_projectArn = Lens.lens (\ProjectMetadata' {projectArn} -> projectArn) (\s@ProjectMetadata' {} a -> s {projectArn = a} :: ProjectMetadata)++-- | The name of the project.+projectMetadata_projectName :: Lens.Lens' ProjectMetadata (Prelude.Maybe Prelude.Text)+projectMetadata_projectName = Lens.lens (\ProjectMetadata' {projectName} -> projectName) (\s@ProjectMetadata' {} a -> s {projectName = a} :: ProjectMetadata)++instance Data.FromJSON ProjectMetadata where+ parseJSON =+ Data.withObject+ "ProjectMetadata"+ ( \x ->+ ProjectMetadata'+ Prelude.<$> (x Data..:? "CreationTimestamp")+ Prelude.<*> (x Data..:? "ProjectArn")+ Prelude.<*> (x Data..:? "ProjectName")+ )++instance Prelude.Hashable ProjectMetadata where+ hashWithSalt _salt ProjectMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` creationTimestamp+ `Prelude.hashWithSalt` projectArn+ `Prelude.hashWithSalt` projectName++instance Prelude.NFData ProjectMetadata where+ rnf ProjectMetadata' {..} =+ Prelude.rnf creationTimestamp+ `Prelude.seq` Prelude.rnf projectArn+ `Prelude.seq` Prelude.rnf projectName
+ gen/Amazonka/LookoutVision/Types/S3Location.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.Types.S3Location+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.S3Location where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the location of training output or the output of a+-- model packaging job.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+ { -- | The path of the folder, within the S3 bucket, that contains the output.+ prefix :: Prelude.Maybe Prelude.Text,+ -- | The S3 bucket that contains the training or model packaging job output.+ -- If you are training a model, the bucket must in your AWS account. If you+ -- use an S3 bucket for a model packaging job, the S3 bucket must be in the+ -- same AWS Region and AWS account in which you use AWS IoT Greengrass.+ bucket :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 's3Location_prefix' - The path of the folder, within the S3 bucket, that contains the output.+--+-- 'bucket', 's3Location_bucket' - The S3 bucket that contains the training or model packaging job output.+-- If you are training a model, the bucket must in your AWS account. If you+-- use an S3 bucket for a model packaging job, the S3 bucket must be in the+-- same AWS Region and AWS account in which you use AWS IoT Greengrass.+newS3Location ::+ -- | 'bucket'+ Prelude.Text ->+ S3Location+newS3Location pBucket_ =+ S3Location'+ { prefix = Prelude.Nothing,+ bucket = pBucket_+ }++-- | The path of the folder, within the S3 bucket, that contains the output.+s3Location_prefix :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_prefix = Lens.lens (\S3Location' {prefix} -> prefix) (\s@S3Location' {} a -> s {prefix = a} :: S3Location)++-- | The S3 bucket that contains the training or model packaging job output.+-- If you are training a model, the bucket must in your AWS account. If you+-- use an S3 bucket for a model packaging job, the S3 bucket must be in the+-- same AWS Region and AWS account in which you use AWS IoT Greengrass.+s3Location_bucket :: Lens.Lens' S3Location Prelude.Text+s3Location_bucket = Lens.lens (\S3Location' {bucket} -> bucket) (\s@S3Location' {} a -> s {bucket = a} :: S3Location)++instance Data.FromJSON S3Location where+ parseJSON =+ Data.withObject+ "S3Location"+ ( \x ->+ S3Location'+ Prelude.<$> (x Data..:? "Prefix")+ Prelude.<*> (x Data..: "Bucket")+ )++instance Prelude.Hashable S3Location where+ hashWithSalt _salt S3Location' {..} =+ _salt+ `Prelude.hashWithSalt` prefix+ `Prelude.hashWithSalt` bucket++instance Prelude.NFData S3Location where+ rnf S3Location' {..} =+ Prelude.rnf prefix `Prelude.seq` Prelude.rnf bucket++instance Data.ToJSON S3Location where+ toJSON S3Location' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Prefix" Data..=) Prelude.<$> prefix,+ Prelude.Just ("Bucket" Data..= bucket)+ ]+ )
+ gen/Amazonka/LookoutVision/Types/Tag.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.LookoutVision.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A key and value pair that is attached to the specified Amazon Lookout+-- for Vision model.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The key of the tag that is attached to the specified model.+ key :: Prelude.Text,+ -- | The value of the tag that is attached to the specified model.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key of the tag that is attached to the specified model.+--+-- 'value', 'tag_value' - The value of the tag that is attached to the specified model.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The key of the tag that is attached to the specified model.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value of the tag that is attached to the specified model.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/LookoutVision/Types/TargetDevice.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.LookoutVision.Types.TargetDevice+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.TargetDevice+ ( TargetDevice+ ( ..,+ TargetDevice_Jetson_xavier+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetDevice = TargetDevice'+ { fromTargetDevice ::+ 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 TargetDevice_Jetson_xavier :: TargetDevice+pattern TargetDevice_Jetson_xavier = TargetDevice' "jetson_xavier"++{-# COMPLETE+ TargetDevice_Jetson_xavier,+ TargetDevice'+ #-}
+ gen/Amazonka/LookoutVision/Types/TargetPlatform.hs view
@@ -0,0 +1,161 @@+{-# 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.LookoutVision.Types.TargetPlatform+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.TargetPlatform where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types.TargetPlatformAccelerator+import Amazonka.LookoutVision.Types.TargetPlatformArch+import Amazonka.LookoutVision.Types.TargetPlatformOs+import qualified Amazonka.Prelude as Prelude++-- | The platform on which a model runs on an AWS IoT Greengrass core device.+--+-- /See:/ 'newTargetPlatform' smart constructor.+data TargetPlatform = TargetPlatform'+ { -- | The target accelerator for the model. Currently, Amazon Lookout for+ -- Vision only supports NVIDIA (Nvidia graphics processing unit) and CPU+ -- accelerators. If you specify NVIDIA as an accelerator, you must also+ -- specify the @gpu-code@, @trt-ver@, and @cuda-ver@ compiler options. If+ -- you don\'t specify an accelerator, Lookout for Vision uses the CPU for+ -- compilation and we highly recommend that you use the+ -- GreengrassConfiguration$CompilerOptions field. For example, you can use+ -- the following compiler options for CPU:+ --+ -- - @mcpu@: CPU micro-architecture. For example,+ -- @{\'mcpu\': \'skylake-avx512\'}@+ --+ -- - @mattr@: CPU flags. For example,+ -- @{\'mattr\': [\'+neon\', \'+vfpv4\']}@+ accelerator :: Prelude.Maybe TargetPlatformAccelerator,+ -- | The target operating system for the model. Linux is the only operating+ -- system that is currently supported.+ os :: TargetPlatformOs,+ -- | The target architecture for the model. The currently supported+ -- architectures are X86_64 (64-bit version of the x86 instruction set) and+ -- ARM_64 (ARMv8 64-bit CPU).+ arch :: TargetPlatformArch+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TargetPlatform' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accelerator', 'targetPlatform_accelerator' - The target accelerator for the model. Currently, Amazon Lookout for+-- Vision only supports NVIDIA (Nvidia graphics processing unit) and CPU+-- accelerators. If you specify NVIDIA as an accelerator, you must also+-- specify the @gpu-code@, @trt-ver@, and @cuda-ver@ compiler options. If+-- you don\'t specify an accelerator, Lookout for Vision uses the CPU for+-- compilation and we highly recommend that you use the+-- GreengrassConfiguration$CompilerOptions field. For example, you can use+-- the following compiler options for CPU:+--+-- - @mcpu@: CPU micro-architecture. For example,+-- @{\'mcpu\': \'skylake-avx512\'}@+--+-- - @mattr@: CPU flags. For example,+-- @{\'mattr\': [\'+neon\', \'+vfpv4\']}@+--+-- 'os', 'targetPlatform_os' - The target operating system for the model. Linux is the only operating+-- system that is currently supported.+--+-- 'arch', 'targetPlatform_arch' - The target architecture for the model. The currently supported+-- architectures are X86_64 (64-bit version of the x86 instruction set) and+-- ARM_64 (ARMv8 64-bit CPU).+newTargetPlatform ::+ -- | 'os'+ TargetPlatformOs ->+ -- | 'arch'+ TargetPlatformArch ->+ TargetPlatform+newTargetPlatform pOs_ pArch_ =+ TargetPlatform'+ { accelerator = Prelude.Nothing,+ os = pOs_,+ arch = pArch_+ }++-- | The target accelerator for the model. Currently, Amazon Lookout for+-- Vision only supports NVIDIA (Nvidia graphics processing unit) and CPU+-- accelerators. If you specify NVIDIA as an accelerator, you must also+-- specify the @gpu-code@, @trt-ver@, and @cuda-ver@ compiler options. If+-- you don\'t specify an accelerator, Lookout for Vision uses the CPU for+-- compilation and we highly recommend that you use the+-- GreengrassConfiguration$CompilerOptions field. For example, you can use+-- the following compiler options for CPU:+--+-- - @mcpu@: CPU micro-architecture. For example,+-- @{\'mcpu\': \'skylake-avx512\'}@+--+-- - @mattr@: CPU flags. For example,+-- @{\'mattr\': [\'+neon\', \'+vfpv4\']}@+targetPlatform_accelerator :: Lens.Lens' TargetPlatform (Prelude.Maybe TargetPlatformAccelerator)+targetPlatform_accelerator = Lens.lens (\TargetPlatform' {accelerator} -> accelerator) (\s@TargetPlatform' {} a -> s {accelerator = a} :: TargetPlatform)++-- | The target operating system for the model. Linux is the only operating+-- system that is currently supported.+targetPlatform_os :: Lens.Lens' TargetPlatform TargetPlatformOs+targetPlatform_os = Lens.lens (\TargetPlatform' {os} -> os) (\s@TargetPlatform' {} a -> s {os = a} :: TargetPlatform)++-- | The target architecture for the model. The currently supported+-- architectures are X86_64 (64-bit version of the x86 instruction set) and+-- ARM_64 (ARMv8 64-bit CPU).+targetPlatform_arch :: Lens.Lens' TargetPlatform TargetPlatformArch+targetPlatform_arch = Lens.lens (\TargetPlatform' {arch} -> arch) (\s@TargetPlatform' {} a -> s {arch = a} :: TargetPlatform)++instance Data.FromJSON TargetPlatform where+ parseJSON =+ Data.withObject+ "TargetPlatform"+ ( \x ->+ TargetPlatform'+ Prelude.<$> (x Data..:? "Accelerator")+ Prelude.<*> (x Data..: "Os")+ Prelude.<*> (x Data..: "Arch")+ )++instance Prelude.Hashable TargetPlatform where+ hashWithSalt _salt TargetPlatform' {..} =+ _salt+ `Prelude.hashWithSalt` accelerator+ `Prelude.hashWithSalt` os+ `Prelude.hashWithSalt` arch++instance Prelude.NFData TargetPlatform where+ rnf TargetPlatform' {..} =+ Prelude.rnf accelerator+ `Prelude.seq` Prelude.rnf os+ `Prelude.seq` Prelude.rnf arch++instance Data.ToJSON TargetPlatform where+ toJSON TargetPlatform' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Accelerator" Data..=) Prelude.<$> accelerator,+ Prelude.Just ("Os" Data..= os),+ Prelude.Just ("Arch" Data..= arch)+ ]+ )
+ gen/Amazonka/LookoutVision/Types/TargetPlatformAccelerator.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.LookoutVision.Types.TargetPlatformAccelerator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.TargetPlatformAccelerator+ ( TargetPlatformAccelerator+ ( ..,+ TargetPlatformAccelerator_NVIDIA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetPlatformAccelerator = TargetPlatformAccelerator'+ { fromTargetPlatformAccelerator ::+ 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 TargetPlatformAccelerator_NVIDIA :: TargetPlatformAccelerator+pattern TargetPlatformAccelerator_NVIDIA = TargetPlatformAccelerator' "NVIDIA"++{-# COMPLETE+ TargetPlatformAccelerator_NVIDIA,+ TargetPlatformAccelerator'+ #-}
+ gen/Amazonka/LookoutVision/Types/TargetPlatformArch.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.LookoutVision.Types.TargetPlatformArch+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.TargetPlatformArch+ ( TargetPlatformArch+ ( ..,+ TargetPlatformArch_ARM64,+ TargetPlatformArch_X86_64+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetPlatformArch = TargetPlatformArch'+ { fromTargetPlatformArch ::+ 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 TargetPlatformArch_ARM64 :: TargetPlatformArch+pattern TargetPlatformArch_ARM64 = TargetPlatformArch' "ARM64"++pattern TargetPlatformArch_X86_64 :: TargetPlatformArch+pattern TargetPlatformArch_X86_64 = TargetPlatformArch' "X86_64"++{-# COMPLETE+ TargetPlatformArch_ARM64,+ TargetPlatformArch_X86_64,+ TargetPlatformArch'+ #-}
+ gen/Amazonka/LookoutVision/Types/TargetPlatformOs.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.LookoutVision.Types.TargetPlatformOs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.LookoutVision.Types.TargetPlatformOs+ ( TargetPlatformOs+ ( ..,+ TargetPlatformOs_LINUX+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetPlatformOs = TargetPlatformOs'+ { fromTargetPlatformOs ::+ 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 TargetPlatformOs_LINUX :: TargetPlatformOs+pattern TargetPlatformOs_LINUX = TargetPlatformOs' "LINUX"++{-# COMPLETE+ TargetPlatformOs_LINUX,+ TargetPlatformOs'+ #-}
+ gen/Amazonka/LookoutVision/UntagResource.hs view
@@ -0,0 +1,170 @@+{-# 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.LookoutVision.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes one or more tags from an Amazon Lookout for Vision model. For+-- more information, see /Tagging a model/ in the /Amazon Lookout for+-- Vision Developer Guide/.+--+-- This operation requires permissions to perform the+-- @lookoutvision:UntagResource@ operation.+module Amazonka.LookoutVision.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the model from which you want to+ -- remove tags.+ resourceArn :: Prelude.Text,+ -- | A list of the keys of the tags that you want to remove.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the model from which you want to+-- remove tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of the keys of the tags that you want to remove.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the model from which you want to+-- remove tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of the keys of the tags that you want to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.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+ ["/2020-11-20/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/LookoutVision/UpdateDatasetEntries.hs view
@@ -0,0 +1,295 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.LookoutVision.UpdateDatasetEntries+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds or updates one or more JSON Line entries in a dataset. A JSON Line+-- includes information about an image used for training or testing an+-- Amazon Lookout for Vision model.+--+-- To update an existing JSON Line, use the @source-ref@ field to identify+-- the JSON Line. The JSON line that you supply replaces the existing JSON+-- line. Any existing annotations that are not in the new JSON line are+-- removed from the dataset.+--+-- For more information, see /Defining JSON lines for anomaly+-- classification/ in the Amazon Lookout for Vision Developer Guide.+--+-- The images you reference in the @source-ref@ field of a JSON line, must+-- be in the same S3 bucket as the existing images in the dataset.+--+-- Updating a dataset might take a while to complete. To check the current+-- status, call DescribeDataset and check the @Status@ field in the+-- response.+--+-- This operation requires permissions to perform the+-- @lookoutvision:UpdateDatasetEntries@ operation.+module Amazonka.LookoutVision.UpdateDatasetEntries+ ( -- * Creating a Request+ UpdateDatasetEntries (..),+ newUpdateDatasetEntries,++ -- * Request Lenses+ updateDatasetEntries_clientToken,+ updateDatasetEntries_projectName,+ updateDatasetEntries_datasetType,+ updateDatasetEntries_changes,++ -- * Destructuring the Response+ UpdateDatasetEntriesResponse (..),+ newUpdateDatasetEntriesResponse,++ -- * Response Lenses+ updateDatasetEntriesResponse_status,+ updateDatasetEntriesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDatasetEntries' smart constructor.+data UpdateDatasetEntries = UpdateDatasetEntries'+ { -- | ClientToken is an idempotency token that ensures a call to+ -- @UpdateDatasetEntries@ completes only once. You choose the value to+ -- pass. For example, An issue might prevent you from getting a response+ -- from @UpdateDatasetEntries@. In this case, safely retry your call to+ -- @UpdateDatasetEntries@ by using the same @ClientToken@ parameter value.+ --+ -- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+ -- using inserts a value for you. This prevents retries after a network+ -- error from making multiple updates with the same dataset entries.+ -- You\'ll need to provide your own value for other use cases.+ --+ -- An error occurs if the other input parameters are not the same as in the+ -- first request. Using a different value for @ClientToken@ is considered a+ -- new call to @UpdateDatasetEntries@. An idempotency token is active for 8+ -- hours.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the project that contains the dataset that you want to+ -- update.+ projectName :: Prelude.Text,+ -- | The type of the dataset that you want to update. Specify @train@ to+ -- update the training dataset. Specify @test@ to update the test dataset.+ -- If you have a single dataset project, specify @train@.+ datasetType :: Prelude.Text,+ -- | The entries to add to the dataset.+ changes :: Data.Base64+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatasetEntries' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDatasetEntries_clientToken' - ClientToken is an idempotency token that ensures a call to+-- @UpdateDatasetEntries@ completes only once. You choose the value to+-- pass. For example, An issue might prevent you from getting a response+-- from @UpdateDatasetEntries@. In this case, safely retry your call to+-- @UpdateDatasetEntries@ by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple updates with the same dataset entries.+-- You\'ll need to provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @UpdateDatasetEntries@. An idempotency token is active for 8+-- hours.+--+-- 'projectName', 'updateDatasetEntries_projectName' - The name of the project that contains the dataset that you want to+-- update.+--+-- 'datasetType', 'updateDatasetEntries_datasetType' - The type of the dataset that you want to update. Specify @train@ to+-- update the training dataset. Specify @test@ to update the test dataset.+-- If you have a single dataset project, specify @train@.+--+-- 'changes', 'updateDatasetEntries_changes' - The entries to add to the dataset.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newUpdateDatasetEntries ::+ -- | 'projectName'+ Prelude.Text ->+ -- | 'datasetType'+ Prelude.Text ->+ -- | 'changes'+ Prelude.ByteString ->+ UpdateDatasetEntries+newUpdateDatasetEntries+ pProjectName_+ pDatasetType_+ pChanges_ =+ UpdateDatasetEntries'+ { clientToken =+ Prelude.Nothing,+ projectName = pProjectName_,+ datasetType = pDatasetType_,+ changes = Data._Base64 Lens.# pChanges_+ }++-- | ClientToken is an idempotency token that ensures a call to+-- @UpdateDatasetEntries@ completes only once. You choose the value to+-- pass. For example, An issue might prevent you from getting a response+-- from @UpdateDatasetEntries@. In this case, safely retry your call to+-- @UpdateDatasetEntries@ by using the same @ClientToken@ parameter value.+--+-- If you don\'t supply a value for @ClientToken@, the AWS SDK you are+-- using inserts a value for you. This prevents retries after a network+-- error from making multiple updates with the same dataset entries.+-- You\'ll need to provide your own value for other use cases.+--+-- An error occurs if the other input parameters are not the same as in the+-- first request. Using a different value for @ClientToken@ is considered a+-- new call to @UpdateDatasetEntries@. An idempotency token is active for 8+-- hours.+updateDatasetEntries_clientToken :: Lens.Lens' UpdateDatasetEntries (Prelude.Maybe Prelude.Text)+updateDatasetEntries_clientToken = Lens.lens (\UpdateDatasetEntries' {clientToken} -> clientToken) (\s@UpdateDatasetEntries' {} a -> s {clientToken = a} :: UpdateDatasetEntries)++-- | The name of the project that contains the dataset that you want to+-- update.+updateDatasetEntries_projectName :: Lens.Lens' UpdateDatasetEntries Prelude.Text+updateDatasetEntries_projectName = Lens.lens (\UpdateDatasetEntries' {projectName} -> projectName) (\s@UpdateDatasetEntries' {} a -> s {projectName = a} :: UpdateDatasetEntries)++-- | The type of the dataset that you want to update. Specify @train@ to+-- update the training dataset. Specify @test@ to update the test dataset.+-- If you have a single dataset project, specify @train@.+updateDatasetEntries_datasetType :: Lens.Lens' UpdateDatasetEntries Prelude.Text+updateDatasetEntries_datasetType = Lens.lens (\UpdateDatasetEntries' {datasetType} -> datasetType) (\s@UpdateDatasetEntries' {} a -> s {datasetType = a} :: UpdateDatasetEntries)++-- | The entries to add to the dataset.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+updateDatasetEntries_changes :: Lens.Lens' UpdateDatasetEntries Prelude.ByteString+updateDatasetEntries_changes = Lens.lens (\UpdateDatasetEntries' {changes} -> changes) (\s@UpdateDatasetEntries' {} a -> s {changes = a} :: UpdateDatasetEntries) Prelude.. Data._Base64++instance Core.AWSRequest UpdateDatasetEntries where+ type+ AWSResponse UpdateDatasetEntries =+ UpdateDatasetEntriesResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDatasetEntriesResponse'+ Prelude.<$> (x Data..?> "Status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDatasetEntries where+ hashWithSalt _salt UpdateDatasetEntries' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` projectName+ `Prelude.hashWithSalt` datasetType+ `Prelude.hashWithSalt` changes++instance Prelude.NFData UpdateDatasetEntries where+ rnf UpdateDatasetEntries' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf projectName+ `Prelude.seq` Prelude.rnf datasetType+ `Prelude.seq` Prelude.rnf changes++instance Data.ToHeaders UpdateDatasetEntries where+ toHeaders UpdateDatasetEntries' {..} =+ Prelude.mconcat+ [ "X-Amzn-Client-Token" Data.=# clientToken,+ "Content-Type"+ Data.=# ("application/x-amz-json-1.1" :: Prelude.ByteString)+ ]++instance Data.ToJSON UpdateDatasetEntries where+ toJSON UpdateDatasetEntries' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Changes" Data..= changes)]+ )++instance Data.ToPath UpdateDatasetEntries where+ toPath UpdateDatasetEntries' {..} =+ Prelude.mconcat+ [ "/2020-11-20/projects/",+ Data.toBS projectName,+ "/datasets/",+ Data.toBS datasetType,+ "/entries"+ ]++instance Data.ToQuery UpdateDatasetEntries where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatasetEntriesResponse' smart constructor.+data UpdateDatasetEntriesResponse = UpdateDatasetEntriesResponse'+ { -- | The status of the dataset update.+ status :: Prelude.Maybe DatasetStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatasetEntriesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'updateDatasetEntriesResponse_status' - The status of the dataset update.+--+-- 'httpStatus', 'updateDatasetEntriesResponse_httpStatus' - The response's http status code.+newUpdateDatasetEntriesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatasetEntriesResponse+newUpdateDatasetEntriesResponse pHttpStatus_ =+ UpdateDatasetEntriesResponse'+ { status =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the dataset update.+updateDatasetEntriesResponse_status :: Lens.Lens' UpdateDatasetEntriesResponse (Prelude.Maybe DatasetStatus)+updateDatasetEntriesResponse_status = Lens.lens (\UpdateDatasetEntriesResponse' {status} -> status) (\s@UpdateDatasetEntriesResponse' {} a -> s {status = a} :: UpdateDatasetEntriesResponse)++-- | The response's http status code.+updateDatasetEntriesResponse_httpStatus :: Lens.Lens' UpdateDatasetEntriesResponse Prelude.Int+updateDatasetEntriesResponse_httpStatus = Lens.lens (\UpdateDatasetEntriesResponse' {httpStatus} -> httpStatus) (\s@UpdateDatasetEntriesResponse' {} a -> s {httpStatus = a} :: UpdateDatasetEntriesResponse)++instance Prelude.NFData UpdateDatasetEntriesResponse where+ rnf UpdateDatasetEntriesResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/LookoutVision/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.LookoutVision.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.LookoutVision.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.LookoutVision.Lens+import Amazonka.LookoutVision.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.LookoutVision+import Test.Amazonka.LookoutVision.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "LookoutVision"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/LookoutVision.hs view
@@ -0,0 +1,472 @@+{-# 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.LookoutVision+-- Copyright : (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.LookoutVision where++import Amazonka.LookoutVision+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.LookoutVision.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestCreateDataset $+-- newCreateDataset+--+-- , requestCreateModel $+-- newCreateModel+--+-- , requestCreateProject $+-- newCreateProject+--+-- , requestDeleteDataset $+-- newDeleteDataset+--+-- , requestDeleteModel $+-- newDeleteModel+--+-- , requestDeleteProject $+-- newDeleteProject+--+-- , requestDescribeDataset $+-- newDescribeDataset+--+-- , requestDescribeModel $+-- newDescribeModel+--+-- , requestDescribeModelPackagingJob $+-- newDescribeModelPackagingJob+--+-- , requestDescribeProject $+-- newDescribeProject+--+-- , requestDetectAnomalies $+-- newDetectAnomalies+--+-- , requestListDatasetEntries $+-- newListDatasetEntries+--+-- , requestListModelPackagingJobs $+-- newListModelPackagingJobs+--+-- , requestListModels $+-- newListModels+--+-- , requestListProjects $+-- newListProjects+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestStartModel $+-- newStartModel+--+-- , requestStartModelPackagingJob $+-- newStartModelPackagingJob+--+-- , requestStopModel $+-- newStopModel+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateDatasetEntries $+-- newUpdateDatasetEntries+--+-- ]++-- , testGroup "response"+-- [ responseCreateDataset $+-- newCreateDatasetResponse+--+-- , responseCreateModel $+-- newCreateModelResponse+--+-- , responseCreateProject $+-- newCreateProjectResponse+--+-- , responseDeleteDataset $+-- newDeleteDatasetResponse+--+-- , responseDeleteModel $+-- newDeleteModelResponse+--+-- , responseDeleteProject $+-- newDeleteProjectResponse+--+-- , responseDescribeDataset $+-- newDescribeDatasetResponse+--+-- , responseDescribeModel $+-- newDescribeModelResponse+--+-- , responseDescribeModelPackagingJob $+-- newDescribeModelPackagingJobResponse+--+-- , responseDescribeProject $+-- newDescribeProjectResponse+--+-- , responseDetectAnomalies $+-- newDetectAnomaliesResponse+--+-- , responseListDatasetEntries $+-- newListDatasetEntriesResponse+--+-- , responseListModelPackagingJobs $+-- newListModelPackagingJobsResponse+--+-- , responseListModels $+-- newListModelsResponse+--+-- , responseListProjects $+-- newListProjectsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseStartModel $+-- newStartModelResponse+--+-- , responseStartModelPackagingJob $+-- newStartModelPackagingJobResponse+--+-- , responseStopModel $+-- newStopModelResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateDatasetEntries $+-- newUpdateDatasetEntriesResponse+--+-- ]+-- ]++-- Requests++requestCreateDataset :: CreateDataset -> TestTree+requestCreateDataset =+ req+ "CreateDataset"+ "fixture/CreateDataset.yaml"++requestCreateModel :: CreateModel -> TestTree+requestCreateModel =+ req+ "CreateModel"+ "fixture/CreateModel.yaml"++requestCreateProject :: CreateProject -> TestTree+requestCreateProject =+ req+ "CreateProject"+ "fixture/CreateProject.yaml"++requestDeleteDataset :: DeleteDataset -> TestTree+requestDeleteDataset =+ req+ "DeleteDataset"+ "fixture/DeleteDataset.yaml"++requestDeleteModel :: DeleteModel -> TestTree+requestDeleteModel =+ req+ "DeleteModel"+ "fixture/DeleteModel.yaml"++requestDeleteProject :: DeleteProject -> TestTree+requestDeleteProject =+ req+ "DeleteProject"+ "fixture/DeleteProject.yaml"++requestDescribeDataset :: DescribeDataset -> TestTree+requestDescribeDataset =+ req+ "DescribeDataset"+ "fixture/DescribeDataset.yaml"++requestDescribeModel :: DescribeModel -> TestTree+requestDescribeModel =+ req+ "DescribeModel"+ "fixture/DescribeModel.yaml"++requestDescribeModelPackagingJob :: DescribeModelPackagingJob -> TestTree+requestDescribeModelPackagingJob =+ req+ "DescribeModelPackagingJob"+ "fixture/DescribeModelPackagingJob.yaml"++requestDescribeProject :: DescribeProject -> TestTree+requestDescribeProject =+ req+ "DescribeProject"+ "fixture/DescribeProject.yaml"++requestListDatasetEntries :: ListDatasetEntries -> TestTree+requestListDatasetEntries =+ req+ "ListDatasetEntries"+ "fixture/ListDatasetEntries.yaml"++requestListModelPackagingJobs :: ListModelPackagingJobs -> TestTree+requestListModelPackagingJobs =+ req+ "ListModelPackagingJobs"+ "fixture/ListModelPackagingJobs.yaml"++requestListModels :: ListModels -> TestTree+requestListModels =+ req+ "ListModels"+ "fixture/ListModels.yaml"++requestListProjects :: ListProjects -> TestTree+requestListProjects =+ req+ "ListProjects"+ "fixture/ListProjects.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestStartModel :: StartModel -> TestTree+requestStartModel =+ req+ "StartModel"+ "fixture/StartModel.yaml"++requestStartModelPackagingJob :: StartModelPackagingJob -> TestTree+requestStartModelPackagingJob =+ req+ "StartModelPackagingJob"+ "fixture/StartModelPackagingJob.yaml"++requestStopModel :: StopModel -> TestTree+requestStopModel =+ req+ "StopModel"+ "fixture/StopModel.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateDatasetEntries :: UpdateDatasetEntries -> TestTree+requestUpdateDatasetEntries =+ req+ "UpdateDatasetEntries"+ "fixture/UpdateDatasetEntries.yaml"++-- Responses++responseCreateDataset :: CreateDatasetResponse -> TestTree+responseCreateDataset =+ res+ "CreateDatasetResponse"+ "fixture/CreateDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDataset)++responseCreateModel :: CreateModelResponse -> TestTree+responseCreateModel =+ res+ "CreateModelResponse"+ "fixture/CreateModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateModel)++responseCreateProject :: CreateProjectResponse -> TestTree+responseCreateProject =+ res+ "CreateProjectResponse"+ "fixture/CreateProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateProject)++responseDeleteDataset :: DeleteDatasetResponse -> TestTree+responseDeleteDataset =+ res+ "DeleteDatasetResponse"+ "fixture/DeleteDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDataset)++responseDeleteModel :: DeleteModelResponse -> TestTree+responseDeleteModel =+ res+ "DeleteModelResponse"+ "fixture/DeleteModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteModel)++responseDeleteProject :: DeleteProjectResponse -> TestTree+responseDeleteProject =+ res+ "DeleteProjectResponse"+ "fixture/DeleteProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteProject)++responseDescribeDataset :: DescribeDatasetResponse -> TestTree+responseDescribeDataset =+ res+ "DescribeDatasetResponse"+ "fixture/DescribeDatasetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeDataset)++responseDescribeModel :: DescribeModelResponse -> TestTree+responseDescribeModel =+ res+ "DescribeModelResponse"+ "fixture/DescribeModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeModel)++responseDescribeModelPackagingJob :: DescribeModelPackagingJobResponse -> TestTree+responseDescribeModelPackagingJob =+ res+ "DescribeModelPackagingJobResponse"+ "fixture/DescribeModelPackagingJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeModelPackagingJob)++responseDescribeProject :: DescribeProjectResponse -> TestTree+responseDescribeProject =+ res+ "DescribeProjectResponse"+ "fixture/DescribeProjectResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeProject)++responseDetectAnomalies :: DetectAnomaliesResponse -> TestTree+responseDetectAnomalies =+ res+ "DetectAnomaliesResponse"+ "fixture/DetectAnomaliesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DetectAnomalies)++responseListDatasetEntries :: ListDatasetEntriesResponse -> TestTree+responseListDatasetEntries =+ res+ "ListDatasetEntriesResponse"+ "fixture/ListDatasetEntriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDatasetEntries)++responseListModelPackagingJobs :: ListModelPackagingJobsResponse -> TestTree+responseListModelPackagingJobs =+ res+ "ListModelPackagingJobsResponse"+ "fixture/ListModelPackagingJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListModelPackagingJobs)++responseListModels :: ListModelsResponse -> TestTree+responseListModels =+ res+ "ListModelsResponse"+ "fixture/ListModelsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListModels)++responseListProjects :: ListProjectsResponse -> TestTree+responseListProjects =+ res+ "ListProjectsResponse"+ "fixture/ListProjectsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListProjects)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartModel :: StartModelResponse -> TestTree+responseStartModel =+ res+ "StartModelResponse"+ "fixture/StartModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartModel)++responseStartModelPackagingJob :: StartModelPackagingJobResponse -> TestTree+responseStartModelPackagingJob =+ res+ "StartModelPackagingJobResponse"+ "fixture/StartModelPackagingJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartModelPackagingJob)++responseStopModel :: StopModelResponse -> TestTree+responseStopModel =+ res+ "StopModelResponse"+ "fixture/StopModelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopModel)++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)++responseUpdateDatasetEntries :: UpdateDatasetEntriesResponse -> TestTree+responseUpdateDatasetEntries =+ res+ "UpdateDatasetEntriesResponse"+ "fixture/UpdateDatasetEntriesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDatasetEntries)
+ test/Test/Amazonka/LookoutVision.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.LookoutVision+-- Copyright : (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.LookoutVision+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/LookoutVision/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.LookoutVision.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.LookoutVision.Internal where