amazonka-location (empty) → 2.0
raw patch · 223 files changed
+26494/−0 lines, 223 filesdep +amazonka-coredep +amazonka-locationdep +amazonka-test
Dependencies added: amazonka-core, amazonka-location, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-location.cabal +188/−0
- fixture/AssociateTrackerConsumer.yaml +10/−0
- fixture/AssociateTrackerConsumerResponse.proto +0/−0
- fixture/BatchDeleteDevicePositionHistory.yaml +10/−0
- fixture/BatchDeleteDevicePositionHistoryResponse.proto +0/−0
- fixture/BatchDeleteGeofence.yaml +10/−0
- fixture/BatchDeleteGeofenceResponse.proto +0/−0
- fixture/BatchEvaluateGeofences.yaml +10/−0
- fixture/BatchEvaluateGeofencesResponse.proto +0/−0
- fixture/BatchGetDevicePosition.yaml +10/−0
- fixture/BatchGetDevicePositionResponse.proto +0/−0
- fixture/BatchPutGeofence.yaml +10/−0
- fixture/BatchPutGeofenceResponse.proto +0/−0
- fixture/BatchUpdateDevicePosition.yaml +10/−0
- fixture/BatchUpdateDevicePositionResponse.proto +0/−0
- fixture/CalculateRoute.yaml +10/−0
- fixture/CalculateRouteMatrix.yaml +10/−0
- fixture/CalculateRouteMatrixResponse.proto +0/−0
- fixture/CalculateRouteResponse.proto +0/−0
- fixture/CreateGeofenceCollection.yaml +10/−0
- fixture/CreateGeofenceCollectionResponse.proto +0/−0
- fixture/CreateMap.yaml +10/−0
- fixture/CreateMapResponse.proto +0/−0
- fixture/CreatePlaceIndex.yaml +10/−0
- fixture/CreatePlaceIndexResponse.proto +0/−0
- fixture/CreateRouteCalculator.yaml +10/−0
- fixture/CreateRouteCalculatorResponse.proto +0/−0
- fixture/CreateTracker.yaml +10/−0
- fixture/CreateTrackerResponse.proto +0/−0
- fixture/DeleteGeofenceCollection.yaml +10/−0
- fixture/DeleteGeofenceCollectionResponse.proto +0/−0
- fixture/DeleteMap.yaml +10/−0
- fixture/DeleteMapResponse.proto +0/−0
- fixture/DeletePlaceIndex.yaml +10/−0
- fixture/DeletePlaceIndexResponse.proto +0/−0
- fixture/DeleteRouteCalculator.yaml +10/−0
- fixture/DeleteRouteCalculatorResponse.proto +0/−0
- fixture/DeleteTracker.yaml +10/−0
- fixture/DeleteTrackerResponse.proto +0/−0
- fixture/DescribeGeofenceCollection.yaml +10/−0
- fixture/DescribeGeofenceCollectionResponse.proto +0/−0
- fixture/DescribeMap.yaml +10/−0
- fixture/DescribeMapResponse.proto +0/−0
- fixture/DescribePlaceIndex.yaml +10/−0
- fixture/DescribePlaceIndexResponse.proto +0/−0
- fixture/DescribeRouteCalculator.yaml +10/−0
- fixture/DescribeRouteCalculatorResponse.proto +0/−0
- fixture/DescribeTracker.yaml +10/−0
- fixture/DescribeTrackerResponse.proto +0/−0
- fixture/DisassociateTrackerConsumer.yaml +10/−0
- fixture/DisassociateTrackerConsumerResponse.proto +0/−0
- fixture/GetDevicePosition.yaml +10/−0
- fixture/GetDevicePositionHistory.yaml +10/−0
- fixture/GetDevicePositionHistoryResponse.proto +0/−0
- fixture/GetDevicePositionResponse.proto +0/−0
- fixture/GetGeofence.yaml +10/−0
- fixture/GetGeofenceResponse.proto +0/−0
- fixture/GetMapGlyphs.yaml +10/−0
- fixture/GetMapGlyphsResponse.proto +0/−0
- fixture/GetMapSprites.yaml +10/−0
- fixture/GetMapSpritesResponse.proto +0/−0
- fixture/GetMapStyleDescriptor.yaml +10/−0
- fixture/GetMapStyleDescriptorResponse.proto +0/−0
- fixture/GetMapTile.yaml +10/−0
- fixture/GetMapTileResponse.proto +0/−0
- fixture/GetPlace.yaml +10/−0
- fixture/GetPlaceResponse.proto +0/−0
- fixture/ListDevicePositions.yaml +10/−0
- fixture/ListDevicePositionsResponse.proto +0/−0
- fixture/ListGeofenceCollections.yaml +10/−0
- fixture/ListGeofenceCollectionsResponse.proto +0/−0
- fixture/ListGeofences.yaml +10/−0
- fixture/ListGeofencesResponse.proto +0/−0
- fixture/ListMaps.yaml +10/−0
- fixture/ListMapsResponse.proto +0/−0
- fixture/ListPlaceIndexes.yaml +10/−0
- fixture/ListPlaceIndexesResponse.proto +0/−0
- fixture/ListRouteCalculators.yaml +10/−0
- fixture/ListRouteCalculatorsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListTrackerConsumers.yaml +10/−0
- fixture/ListTrackerConsumersResponse.proto +0/−0
- fixture/ListTrackers.yaml +10/−0
- fixture/ListTrackersResponse.proto +0/−0
- fixture/PutGeofence.yaml +10/−0
- fixture/PutGeofenceResponse.proto +0/−0
- fixture/SearchPlaceIndexForPosition.yaml +10/−0
- fixture/SearchPlaceIndexForPositionResponse.proto +0/−0
- fixture/SearchPlaceIndexForSuggestions.yaml +10/−0
- fixture/SearchPlaceIndexForSuggestionsResponse.proto +0/−0
- fixture/SearchPlaceIndexForText.yaml +10/−0
- fixture/SearchPlaceIndexForTextResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateGeofenceCollection.yaml +10/−0
- fixture/UpdateGeofenceCollectionResponse.proto +0/−0
- fixture/UpdateMap.yaml +10/−0
- fixture/UpdateMapResponse.proto +0/−0
- fixture/UpdatePlaceIndex.yaml +10/−0
- fixture/UpdatePlaceIndexResponse.proto +0/−0
- fixture/UpdateRouteCalculator.yaml +10/−0
- fixture/UpdateRouteCalculatorResponse.proto +0/−0
- fixture/UpdateTracker.yaml +10/−0
- fixture/UpdateTrackerResponse.proto +0/−0
- gen/Amazonka/Location.hs +653/−0
- gen/Amazonka/Location/AssociateTrackerConsumer.hs +208/−0
- gen/Amazonka/Location/BatchDeleteDevicePositionHistory.hs +221/−0
- gen/Amazonka/Location/BatchDeleteGeofence.hs +190/−0
- gen/Amazonka/Location/BatchEvaluateGeofences.hs +228/−0
- gen/Amazonka/Location/BatchGetDevicePosition.hs +221/−0
- gen/Amazonka/Location/BatchPutGeofence.hs +208/−0
- gen/Amazonka/Location/BatchUpdateDevicePosition.hs +218/−0
- gen/Amazonka/Location/CalculateRoute.hs +675/−0
- gen/Amazonka/Location/CalculateRouteMatrix.hs +603/−0
- gen/Amazonka/Location/CreateGeofenceCollection.hs +386/−0
- gen/Amazonka/Location/CreateMap.hs +369/−0
- gen/Amazonka/Location/CreatePlaceIndex.hs +468/−0
- gen/Amazonka/Location/CreateRouteCalculator.hs +463/−0
- gen/Amazonka/Location/CreateTracker.hs +478/−0
- gen/Amazonka/Location/DeleteGeofenceCollection.hs +160/−0
- gen/Amazonka/Location/DeleteMap.hs +144/−0
- gen/Amazonka/Location/DeletePlaceIndex.hs +149/−0
- gen/Amazonka/Location/DeleteRouteCalculator.hs +153/−0
- gen/Amazonka/Location/DeleteTracker.hs +148/−0
- gen/Amazonka/Location/DescribeGeofenceCollection.hs +312/−0
- gen/Amazonka/Location/DescribeMap.hs +295/−0
- gen/Amazonka/Location/DescribePlaceIndex.hs +326/−0
- gen/Amazonka/Location/DescribeRouteCalculator.hs +331/−0
- gen/Amazonka/Location/DescribeTracker.hs +313/−0
- gen/Amazonka/Location/DisassociateTrackerConsumer.hs +195/−0
- gen/Amazonka/Location/GetDevicePosition.hs +272/−0
- gen/Amazonka/Location/GetDevicePositionHistory.hs +363/−0
- gen/Amazonka/Location/GetGeofence.hs +287/−0
- gen/Amazonka/Location/GetMapGlyphs.hs +356/−0
- gen/Amazonka/Location/GetMapSprites.hs +236/−0
- gen/Amazonka/Location/GetMapStyleDescriptor.hs +179/−0
- gen/Amazonka/Location/GetMapTile.hs +232/−0
- gen/Amazonka/Location/GetPlace.hs +257/−0
- gen/Amazonka/Location/Lens.hs +822/−0
- gen/Amazonka/Location/ListDevicePositions.hs +262/−0
- gen/Amazonka/Location/ListGeofenceCollections.hs +239/−0
- gen/Amazonka/Location/ListGeofences.hs +252/−0
- gen/Amazonka/Location/ListMaps.hs +230/−0
- gen/Amazonka/Location/ListPlaceIndexes.hs +237/−0
- gen/Amazonka/Location/ListRouteCalculators.hs +234/−0
- gen/Amazonka/Location/ListTagsForResource.hs +181/−0
- gen/Amazonka/Location/ListTrackerConsumers.hs +262/−0
- gen/Amazonka/Location/ListTrackers.hs +236/−0
- gen/Amazonka/Location/PutGeofence.hs +268/−0
- gen/Amazonka/Location/SearchPlaceIndexForPosition.hs +329/−0
- gen/Amazonka/Location/SearchPlaceIndexForSuggestions.hs +466/−0
- gen/Amazonka/Location/SearchPlaceIndexForText.hs +470/−0
- gen/Amazonka/Location/TagResource.hs +235/−0
- gen/Amazonka/Location/Types.hs +577/−0
- gen/Amazonka/Location/Types/BatchDeleteDevicePositionHistoryError.hs +102/−0
- gen/Amazonka/Location/Types/BatchDeleteGeofenceError.hs +90/−0
- gen/Amazonka/Location/Types/BatchEvaluateGeofencesError.hs +113/−0
- gen/Amazonka/Location/Types/BatchGetDevicePositionError.hs +89/−0
- gen/Amazonka/Location/Types/BatchItemError.hs +84/−0
- gen/Amazonka/Location/Types/BatchItemErrorCode.hs +91/−0
- gen/Amazonka/Location/Types/BatchPutGeofenceError.hs +90/−0
- gen/Amazonka/Location/Types/BatchPutGeofenceRequestEntry.hs +112/−0
- gen/Amazonka/Location/Types/BatchPutGeofenceSuccess.hs +119/−0
- gen/Amazonka/Location/Types/BatchUpdateDevicePositionError.hs +125/−0
- gen/Amazonka/Location/Types/CalculateRouteCarModeOptions.hs +112/−0
- gen/Amazonka/Location/Types/CalculateRouteMatrixSummary.hs +152/−0
- gen/Amazonka/Location/Types/CalculateRouteSummary.hs +235/−0
- gen/Amazonka/Location/Types/CalculateRouteTruckModeOptions.hs +155/−0
- gen/Amazonka/Location/Types/Circle.hs +108/−0
- gen/Amazonka/Location/Types/DataSourceConfiguration.hs +122/−0
- gen/Amazonka/Location/Types/DevicePosition.hs +160/−0
- gen/Amazonka/Location/Types/DevicePositionUpdate.hs +157/−0
- gen/Amazonka/Location/Types/DimensionUnit.hs +71/−0
- gen/Amazonka/Location/Types/DistanceUnit.hs +71/−0
- gen/Amazonka/Location/Types/GeofenceGeometry.hs +159/−0
- gen/Amazonka/Location/Types/IntendedUse.hs +71/−0
- gen/Amazonka/Location/Types/Leg.hs +222/−0
- gen/Amazonka/Location/Types/LegGeometry.hs +86/−0
- gen/Amazonka/Location/Types/ListDevicePositionsResponseEntry.hs +155/−0
- gen/Amazonka/Location/Types/ListGeofenceCollectionsResponseEntry.hs +172/−0
- gen/Amazonka/Location/Types/ListGeofenceResponseEntry.hs +182/−0
- gen/Amazonka/Location/Types/ListMapsResponseEntry.hs +161/−0
- gen/Amazonka/Location/Types/ListPlaceIndexesResponseEntry.hs +188/−0
- gen/Amazonka/Location/Types/ListRouteCalculatorsResponseEntry.hs +210/−0
- gen/Amazonka/Location/Types/ListTrackersResponseEntry.hs +158/−0
- gen/Amazonka/Location/Types/MapConfiguration.hs +313/−0
- gen/Amazonka/Location/Types/Place.hs +304/−0
- gen/Amazonka/Location/Types/PlaceGeometry.hs +85/−0
- gen/Amazonka/Location/Types/PositionFiltering.hs +76/−0
- gen/Amazonka/Location/Types/PositionalAccuracy.hs +80/−0
- gen/Amazonka/Location/Types/PricingPlan.hs +76/−0
- gen/Amazonka/Location/Types/RouteMatrixEntry.hs +101/−0
- gen/Amazonka/Location/Types/RouteMatrixEntryError.hs +107/−0
- gen/Amazonka/Location/Types/RouteMatrixErrorCode.hs +91/−0
- gen/Amazonka/Location/Types/SearchForPositionResult.hs +126/−0
- gen/Amazonka/Location/Types/SearchForSuggestionsResult.hs +102/−0
- gen/Amazonka/Location/Types/SearchForTextResult.hs +154/−0
- gen/Amazonka/Location/Types/SearchPlaceIndexForPositionSummary.hs +171/−0
- gen/Amazonka/Location/Types/SearchPlaceIndexForSuggestionsSummary.hs +222/−0
- gen/Amazonka/Location/Types/SearchPlaceIndexForTextSummary.hs +238/−0
- gen/Amazonka/Location/Types/Step.hs +169/−0
- gen/Amazonka/Location/Types/TimeZone.hs +89/−0
- gen/Amazonka/Location/Types/TravelMode.hs +76/−0
- gen/Amazonka/Location/Types/TruckDimensions.hs +162/−0
- gen/Amazonka/Location/Types/TruckWeight.hs +97/−0
- gen/Amazonka/Location/Types/VehicleWeightUnit.hs +71/−0
- gen/Amazonka/Location/UntagResource.hs +175/−0
- gen/Amazonka/Location/UpdateGeofenceCollection.hs +272/−0
- gen/Amazonka/Location/UpdateMap.hs +245/−0
- gen/Amazonka/Location/UpdatePlaceIndex.hs +266/−0
- gen/Amazonka/Location/UpdateRouteCalculator.hs +252/−0
- gen/Amazonka/Location/UpdateTracker.hs +353/−0
- gen/Amazonka/Location/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/Location.hs +1098/−0
- test/Test/Amazonka/Location.hs +20/−0
- test/Test/Amazonka/Location/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 Location Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-11-19@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-location)+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.Location](http://hackage.haskell.org/package/amazonka-location/docs/Amazonka-Location.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-location` 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-location.cabal view
@@ -0,0 +1,188 @@+cabal-version: 2.2+name: amazonka-location+version: 2.0+synopsis: Amazon Location Service SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2020-11-19@ 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.Location.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.Location" 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-location++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.Location+ Amazonka.Location.AssociateTrackerConsumer+ Amazonka.Location.BatchDeleteDevicePositionHistory+ Amazonka.Location.BatchDeleteGeofence+ Amazonka.Location.BatchEvaluateGeofences+ Amazonka.Location.BatchGetDevicePosition+ Amazonka.Location.BatchPutGeofence+ Amazonka.Location.BatchUpdateDevicePosition+ Amazonka.Location.CalculateRoute+ Amazonka.Location.CalculateRouteMatrix+ Amazonka.Location.CreateGeofenceCollection+ Amazonka.Location.CreateMap+ Amazonka.Location.CreatePlaceIndex+ Amazonka.Location.CreateRouteCalculator+ Amazonka.Location.CreateTracker+ Amazonka.Location.DeleteGeofenceCollection+ Amazonka.Location.DeleteMap+ Amazonka.Location.DeletePlaceIndex+ Amazonka.Location.DeleteRouteCalculator+ Amazonka.Location.DeleteTracker+ Amazonka.Location.DescribeGeofenceCollection+ Amazonka.Location.DescribeMap+ Amazonka.Location.DescribePlaceIndex+ Amazonka.Location.DescribeRouteCalculator+ Amazonka.Location.DescribeTracker+ Amazonka.Location.DisassociateTrackerConsumer+ Amazonka.Location.GetDevicePosition+ Amazonka.Location.GetDevicePositionHistory+ Amazonka.Location.GetGeofence+ Amazonka.Location.GetMapGlyphs+ Amazonka.Location.GetMapSprites+ Amazonka.Location.GetMapStyleDescriptor+ Amazonka.Location.GetMapTile+ Amazonka.Location.GetPlace+ Amazonka.Location.Lens+ Amazonka.Location.ListDevicePositions+ Amazonka.Location.ListGeofenceCollections+ Amazonka.Location.ListGeofences+ Amazonka.Location.ListMaps+ Amazonka.Location.ListPlaceIndexes+ Amazonka.Location.ListRouteCalculators+ Amazonka.Location.ListTagsForResource+ Amazonka.Location.ListTrackerConsumers+ Amazonka.Location.ListTrackers+ Amazonka.Location.PutGeofence+ Amazonka.Location.SearchPlaceIndexForPosition+ Amazonka.Location.SearchPlaceIndexForSuggestions+ Amazonka.Location.SearchPlaceIndexForText+ Amazonka.Location.TagResource+ Amazonka.Location.Types+ Amazonka.Location.Types.BatchDeleteDevicePositionHistoryError+ Amazonka.Location.Types.BatchDeleteGeofenceError+ Amazonka.Location.Types.BatchEvaluateGeofencesError+ Amazonka.Location.Types.BatchGetDevicePositionError+ Amazonka.Location.Types.BatchItemError+ Amazonka.Location.Types.BatchItemErrorCode+ Amazonka.Location.Types.BatchPutGeofenceError+ Amazonka.Location.Types.BatchPutGeofenceRequestEntry+ Amazonka.Location.Types.BatchPutGeofenceSuccess+ Amazonka.Location.Types.BatchUpdateDevicePositionError+ Amazonka.Location.Types.CalculateRouteCarModeOptions+ Amazonka.Location.Types.CalculateRouteMatrixSummary+ Amazonka.Location.Types.CalculateRouteSummary+ Amazonka.Location.Types.CalculateRouteTruckModeOptions+ Amazonka.Location.Types.Circle+ Amazonka.Location.Types.DataSourceConfiguration+ Amazonka.Location.Types.DevicePosition+ Amazonka.Location.Types.DevicePositionUpdate+ Amazonka.Location.Types.DimensionUnit+ Amazonka.Location.Types.DistanceUnit+ Amazonka.Location.Types.GeofenceGeometry+ Amazonka.Location.Types.IntendedUse+ Amazonka.Location.Types.Leg+ Amazonka.Location.Types.LegGeometry+ Amazonka.Location.Types.ListDevicePositionsResponseEntry+ Amazonka.Location.Types.ListGeofenceCollectionsResponseEntry+ Amazonka.Location.Types.ListGeofenceResponseEntry+ Amazonka.Location.Types.ListMapsResponseEntry+ Amazonka.Location.Types.ListPlaceIndexesResponseEntry+ Amazonka.Location.Types.ListRouteCalculatorsResponseEntry+ Amazonka.Location.Types.ListTrackersResponseEntry+ Amazonka.Location.Types.MapConfiguration+ Amazonka.Location.Types.Place+ Amazonka.Location.Types.PlaceGeometry+ Amazonka.Location.Types.PositionalAccuracy+ Amazonka.Location.Types.PositionFiltering+ Amazonka.Location.Types.PricingPlan+ Amazonka.Location.Types.RouteMatrixEntry+ Amazonka.Location.Types.RouteMatrixEntryError+ Amazonka.Location.Types.RouteMatrixErrorCode+ Amazonka.Location.Types.SearchForPositionResult+ Amazonka.Location.Types.SearchForSuggestionsResult+ Amazonka.Location.Types.SearchForTextResult+ Amazonka.Location.Types.SearchPlaceIndexForPositionSummary+ Amazonka.Location.Types.SearchPlaceIndexForSuggestionsSummary+ Amazonka.Location.Types.SearchPlaceIndexForTextSummary+ Amazonka.Location.Types.Step+ Amazonka.Location.Types.TimeZone+ Amazonka.Location.Types.TravelMode+ Amazonka.Location.Types.TruckDimensions+ Amazonka.Location.Types.TruckWeight+ Amazonka.Location.Types.VehicleWeightUnit+ Amazonka.Location.UntagResource+ Amazonka.Location.UpdateGeofenceCollection+ Amazonka.Location.UpdateMap+ Amazonka.Location.UpdatePlaceIndex+ Amazonka.Location.UpdateRouteCalculator+ Amazonka.Location.UpdateTracker+ Amazonka.Location.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-location-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.Location+ Test.Amazonka.Location+ Test.Amazonka.Location.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-location+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateTrackerConsumer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/AssociateTrackerConsumerResponse.proto view
+ fixture/BatchDeleteDevicePositionHistory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchDeleteDevicePositionHistoryResponse.proto view
+ fixture/BatchDeleteGeofence.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchDeleteGeofenceResponse.proto view
+ fixture/BatchEvaluateGeofences.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchEvaluateGeofencesResponse.proto view
+ fixture/BatchGetDevicePosition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchGetDevicePositionResponse.proto view
+ fixture/BatchPutGeofence.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchPutGeofenceResponse.proto view
+ fixture/BatchUpdateDevicePosition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/BatchUpdateDevicePositionResponse.proto view
+ fixture/CalculateRoute.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CalculateRouteMatrix.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CalculateRouteMatrixResponse.proto view
+ fixture/CalculateRouteResponse.proto view
+ fixture/CreateGeofenceCollection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CreateGeofenceCollectionResponse.proto view
+ fixture/CreateMap.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CreateMapResponse.proto view
+ fixture/CreatePlaceIndex.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CreatePlaceIndexResponse.proto view
+ fixture/CreateRouteCalculator.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CreateRouteCalculatorResponse.proto view
+ fixture/CreateTracker.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/CreateTrackerResponse.proto view
+ fixture/DeleteGeofenceCollection.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DeleteGeofenceCollectionResponse.proto view
+ fixture/DeleteMap.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DeleteMapResponse.proto view
+ fixture/DeletePlaceIndex.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DeletePlaceIndexResponse.proto view
+ fixture/DeleteRouteCalculator.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DeleteRouteCalculatorResponse.proto view
+ fixture/DeleteTracker.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DeleteTrackerResponse.proto view
+ fixture/DescribeGeofenceCollection.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DescribeGeofenceCollectionResponse.proto view
+ fixture/DescribeMap.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DescribeMapResponse.proto view
+ fixture/DescribePlaceIndex.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DescribePlaceIndexResponse.proto view
+ fixture/DescribeRouteCalculator.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DescribeRouteCalculatorResponse.proto view
+ fixture/DescribeTracker.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DescribeTrackerResponse.proto view
+ fixture/DisassociateTrackerConsumer.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/DisassociateTrackerConsumerResponse.proto view
+ fixture/GetDevicePosition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetDevicePositionHistory.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetDevicePositionHistoryResponse.proto view
+ fixture/GetDevicePositionResponse.proto view
+ fixture/GetGeofence.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetGeofenceResponse.proto view
+ fixture/GetMapGlyphs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetMapGlyphsResponse.proto view
+ fixture/GetMapSprites.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetMapSpritesResponse.proto view
+ fixture/GetMapStyleDescriptor.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetMapStyleDescriptorResponse.proto view
+ fixture/GetMapTile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetMapTileResponse.proto view
+ fixture/GetPlace.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/GetPlaceResponse.proto view
+ fixture/ListDevicePositions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListDevicePositionsResponse.proto view
+ fixture/ListGeofenceCollections.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListGeofenceCollectionsResponse.proto view
+ fixture/ListGeofences.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListGeofencesResponse.proto view
+ fixture/ListMaps.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListMapsResponse.proto view
+ fixture/ListPlaceIndexes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListPlaceIndexesResponse.proto view
+ fixture/ListRouteCalculators.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListRouteCalculatorsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListTrackerConsumers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListTrackerConsumersResponse.proto view
+ fixture/ListTrackers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/ListTrackersResponse.proto view
+ fixture/PutGeofence.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/PutGeofenceResponse.proto view
+ fixture/SearchPlaceIndexForPosition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/SearchPlaceIndexForPositionResponse.proto view
+ fixture/SearchPlaceIndexForSuggestions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/SearchPlaceIndexForSuggestionsResponse.proto view
+ fixture/SearchPlaceIndexForText.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/SearchPlaceIndexForTextResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdateGeofenceCollection.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdateGeofenceCollectionResponse.proto view
+ fixture/UpdateMap.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdateMapResponse.proto view
+ fixture/UpdatePlaceIndex.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdatePlaceIndexResponse.proto view
+ fixture/UpdateRouteCalculator.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdateRouteCalculatorResponse.proto view
+ fixture/UpdateTracker.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/geo/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: geo.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/UpdateTrackerResponse.proto view
+ gen/Amazonka/Location.hs view
@@ -0,0 +1,653 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.Location+-- 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-19@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- \"Suite of geospatial services including Maps, Places, Routes, Tracking,+-- and Geofencing\"+module Amazonka.Location+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateTrackerConsumer+ AssociateTrackerConsumer (AssociateTrackerConsumer'),+ newAssociateTrackerConsumer,+ AssociateTrackerConsumerResponse (AssociateTrackerConsumerResponse'),+ newAssociateTrackerConsumerResponse,++ -- ** BatchDeleteDevicePositionHistory+ BatchDeleteDevicePositionHistory (BatchDeleteDevicePositionHistory'),+ newBatchDeleteDevicePositionHistory,+ BatchDeleteDevicePositionHistoryResponse (BatchDeleteDevicePositionHistoryResponse'),+ newBatchDeleteDevicePositionHistoryResponse,++ -- ** BatchDeleteGeofence+ BatchDeleteGeofence (BatchDeleteGeofence'),+ newBatchDeleteGeofence,+ BatchDeleteGeofenceResponse (BatchDeleteGeofenceResponse'),+ newBatchDeleteGeofenceResponse,++ -- ** BatchEvaluateGeofences+ BatchEvaluateGeofences (BatchEvaluateGeofences'),+ newBatchEvaluateGeofences,+ BatchEvaluateGeofencesResponse (BatchEvaluateGeofencesResponse'),+ newBatchEvaluateGeofencesResponse,++ -- ** BatchGetDevicePosition+ BatchGetDevicePosition (BatchGetDevicePosition'),+ newBatchGetDevicePosition,+ BatchGetDevicePositionResponse (BatchGetDevicePositionResponse'),+ newBatchGetDevicePositionResponse,++ -- ** BatchPutGeofence+ BatchPutGeofence (BatchPutGeofence'),+ newBatchPutGeofence,+ BatchPutGeofenceResponse (BatchPutGeofenceResponse'),+ newBatchPutGeofenceResponse,++ -- ** BatchUpdateDevicePosition+ BatchUpdateDevicePosition (BatchUpdateDevicePosition'),+ newBatchUpdateDevicePosition,+ BatchUpdateDevicePositionResponse (BatchUpdateDevicePositionResponse'),+ newBatchUpdateDevicePositionResponse,++ -- ** CalculateRoute+ CalculateRoute (CalculateRoute'),+ newCalculateRoute,+ CalculateRouteResponse (CalculateRouteResponse'),+ newCalculateRouteResponse,++ -- ** CalculateRouteMatrix+ CalculateRouteMatrix (CalculateRouteMatrix'),+ newCalculateRouteMatrix,+ CalculateRouteMatrixResponse (CalculateRouteMatrixResponse'),+ newCalculateRouteMatrixResponse,++ -- ** CreateGeofenceCollection+ CreateGeofenceCollection (CreateGeofenceCollection'),+ newCreateGeofenceCollection,+ CreateGeofenceCollectionResponse (CreateGeofenceCollectionResponse'),+ newCreateGeofenceCollectionResponse,++ -- ** CreateMap+ CreateMap (CreateMap'),+ newCreateMap,+ CreateMapResponse (CreateMapResponse'),+ newCreateMapResponse,++ -- ** CreatePlaceIndex+ CreatePlaceIndex (CreatePlaceIndex'),+ newCreatePlaceIndex,+ CreatePlaceIndexResponse (CreatePlaceIndexResponse'),+ newCreatePlaceIndexResponse,++ -- ** CreateRouteCalculator+ CreateRouteCalculator (CreateRouteCalculator'),+ newCreateRouteCalculator,+ CreateRouteCalculatorResponse (CreateRouteCalculatorResponse'),+ newCreateRouteCalculatorResponse,++ -- ** CreateTracker+ CreateTracker (CreateTracker'),+ newCreateTracker,+ CreateTrackerResponse (CreateTrackerResponse'),+ newCreateTrackerResponse,++ -- ** DeleteGeofenceCollection+ DeleteGeofenceCollection (DeleteGeofenceCollection'),+ newDeleteGeofenceCollection,+ DeleteGeofenceCollectionResponse (DeleteGeofenceCollectionResponse'),+ newDeleteGeofenceCollectionResponse,++ -- ** DeleteMap+ DeleteMap (DeleteMap'),+ newDeleteMap,+ DeleteMapResponse (DeleteMapResponse'),+ newDeleteMapResponse,++ -- ** DeletePlaceIndex+ DeletePlaceIndex (DeletePlaceIndex'),+ newDeletePlaceIndex,+ DeletePlaceIndexResponse (DeletePlaceIndexResponse'),+ newDeletePlaceIndexResponse,++ -- ** DeleteRouteCalculator+ DeleteRouteCalculator (DeleteRouteCalculator'),+ newDeleteRouteCalculator,+ DeleteRouteCalculatorResponse (DeleteRouteCalculatorResponse'),+ newDeleteRouteCalculatorResponse,++ -- ** DeleteTracker+ DeleteTracker (DeleteTracker'),+ newDeleteTracker,+ DeleteTrackerResponse (DeleteTrackerResponse'),+ newDeleteTrackerResponse,++ -- ** DescribeGeofenceCollection+ DescribeGeofenceCollection (DescribeGeofenceCollection'),+ newDescribeGeofenceCollection,+ DescribeGeofenceCollectionResponse (DescribeGeofenceCollectionResponse'),+ newDescribeGeofenceCollectionResponse,++ -- ** DescribeMap+ DescribeMap (DescribeMap'),+ newDescribeMap,+ DescribeMapResponse (DescribeMapResponse'),+ newDescribeMapResponse,++ -- ** DescribePlaceIndex+ DescribePlaceIndex (DescribePlaceIndex'),+ newDescribePlaceIndex,+ DescribePlaceIndexResponse (DescribePlaceIndexResponse'),+ newDescribePlaceIndexResponse,++ -- ** DescribeRouteCalculator+ DescribeRouteCalculator (DescribeRouteCalculator'),+ newDescribeRouteCalculator,+ DescribeRouteCalculatorResponse (DescribeRouteCalculatorResponse'),+ newDescribeRouteCalculatorResponse,++ -- ** DescribeTracker+ DescribeTracker (DescribeTracker'),+ newDescribeTracker,+ DescribeTrackerResponse (DescribeTrackerResponse'),+ newDescribeTrackerResponse,++ -- ** DisassociateTrackerConsumer+ DisassociateTrackerConsumer (DisassociateTrackerConsumer'),+ newDisassociateTrackerConsumer,+ DisassociateTrackerConsumerResponse (DisassociateTrackerConsumerResponse'),+ newDisassociateTrackerConsumerResponse,++ -- ** GetDevicePosition+ GetDevicePosition (GetDevicePosition'),+ newGetDevicePosition,+ GetDevicePositionResponse (GetDevicePositionResponse'),+ newGetDevicePositionResponse,++ -- ** GetDevicePositionHistory (Paginated)+ GetDevicePositionHistory (GetDevicePositionHistory'),+ newGetDevicePositionHistory,+ GetDevicePositionHistoryResponse (GetDevicePositionHistoryResponse'),+ newGetDevicePositionHistoryResponse,++ -- ** GetGeofence+ GetGeofence (GetGeofence'),+ newGetGeofence,+ GetGeofenceResponse (GetGeofenceResponse'),+ newGetGeofenceResponse,++ -- ** GetMapGlyphs+ GetMapGlyphs (GetMapGlyphs'),+ newGetMapGlyphs,+ GetMapGlyphsResponse (GetMapGlyphsResponse'),+ newGetMapGlyphsResponse,++ -- ** GetMapSprites+ GetMapSprites (GetMapSprites'),+ newGetMapSprites,+ GetMapSpritesResponse (GetMapSpritesResponse'),+ newGetMapSpritesResponse,++ -- ** GetMapStyleDescriptor+ GetMapStyleDescriptor (GetMapStyleDescriptor'),+ newGetMapStyleDescriptor,+ GetMapStyleDescriptorResponse (GetMapStyleDescriptorResponse'),+ newGetMapStyleDescriptorResponse,++ -- ** GetMapTile+ GetMapTile (GetMapTile'),+ newGetMapTile,+ GetMapTileResponse (GetMapTileResponse'),+ newGetMapTileResponse,++ -- ** GetPlace+ GetPlace (GetPlace'),+ newGetPlace,+ GetPlaceResponse (GetPlaceResponse'),+ newGetPlaceResponse,++ -- ** ListDevicePositions (Paginated)+ ListDevicePositions (ListDevicePositions'),+ newListDevicePositions,+ ListDevicePositionsResponse (ListDevicePositionsResponse'),+ newListDevicePositionsResponse,++ -- ** ListGeofenceCollections (Paginated)+ ListGeofenceCollections (ListGeofenceCollections'),+ newListGeofenceCollections,+ ListGeofenceCollectionsResponse (ListGeofenceCollectionsResponse'),+ newListGeofenceCollectionsResponse,++ -- ** ListGeofences (Paginated)+ ListGeofences (ListGeofences'),+ newListGeofences,+ ListGeofencesResponse (ListGeofencesResponse'),+ newListGeofencesResponse,++ -- ** ListMaps (Paginated)+ ListMaps (ListMaps'),+ newListMaps,+ ListMapsResponse (ListMapsResponse'),+ newListMapsResponse,++ -- ** ListPlaceIndexes (Paginated)+ ListPlaceIndexes (ListPlaceIndexes'),+ newListPlaceIndexes,+ ListPlaceIndexesResponse (ListPlaceIndexesResponse'),+ newListPlaceIndexesResponse,++ -- ** ListRouteCalculators (Paginated)+ ListRouteCalculators (ListRouteCalculators'),+ newListRouteCalculators,+ ListRouteCalculatorsResponse (ListRouteCalculatorsResponse'),+ newListRouteCalculatorsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListTrackerConsumers (Paginated)+ ListTrackerConsumers (ListTrackerConsumers'),+ newListTrackerConsumers,+ ListTrackerConsumersResponse (ListTrackerConsumersResponse'),+ newListTrackerConsumersResponse,++ -- ** ListTrackers (Paginated)+ ListTrackers (ListTrackers'),+ newListTrackers,+ ListTrackersResponse (ListTrackersResponse'),+ newListTrackersResponse,++ -- ** PutGeofence+ PutGeofence (PutGeofence'),+ newPutGeofence,+ PutGeofenceResponse (PutGeofenceResponse'),+ newPutGeofenceResponse,++ -- ** SearchPlaceIndexForPosition+ SearchPlaceIndexForPosition (SearchPlaceIndexForPosition'),+ newSearchPlaceIndexForPosition,+ SearchPlaceIndexForPositionResponse (SearchPlaceIndexForPositionResponse'),+ newSearchPlaceIndexForPositionResponse,++ -- ** SearchPlaceIndexForSuggestions+ SearchPlaceIndexForSuggestions (SearchPlaceIndexForSuggestions'),+ newSearchPlaceIndexForSuggestions,+ SearchPlaceIndexForSuggestionsResponse (SearchPlaceIndexForSuggestionsResponse'),+ newSearchPlaceIndexForSuggestionsResponse,++ -- ** SearchPlaceIndexForText+ SearchPlaceIndexForText (SearchPlaceIndexForText'),+ newSearchPlaceIndexForText,+ SearchPlaceIndexForTextResponse (SearchPlaceIndexForTextResponse'),+ newSearchPlaceIndexForTextResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateGeofenceCollection+ UpdateGeofenceCollection (UpdateGeofenceCollection'),+ newUpdateGeofenceCollection,+ UpdateGeofenceCollectionResponse (UpdateGeofenceCollectionResponse'),+ newUpdateGeofenceCollectionResponse,++ -- ** UpdateMap+ UpdateMap (UpdateMap'),+ newUpdateMap,+ UpdateMapResponse (UpdateMapResponse'),+ newUpdateMapResponse,++ -- ** UpdatePlaceIndex+ UpdatePlaceIndex (UpdatePlaceIndex'),+ newUpdatePlaceIndex,+ UpdatePlaceIndexResponse (UpdatePlaceIndexResponse'),+ newUpdatePlaceIndexResponse,++ -- ** UpdateRouteCalculator+ UpdateRouteCalculator (UpdateRouteCalculator'),+ newUpdateRouteCalculator,+ UpdateRouteCalculatorResponse (UpdateRouteCalculatorResponse'),+ newUpdateRouteCalculatorResponse,++ -- ** UpdateTracker+ UpdateTracker (UpdateTracker'),+ newUpdateTracker,+ UpdateTrackerResponse (UpdateTrackerResponse'),+ newUpdateTrackerResponse,++ -- * Types++ -- ** BatchItemErrorCode+ BatchItemErrorCode (..),++ -- ** DimensionUnit+ DimensionUnit (..),++ -- ** DistanceUnit+ DistanceUnit (..),++ -- ** IntendedUse+ IntendedUse (..),++ -- ** PositionFiltering+ PositionFiltering (..),++ -- ** PricingPlan+ PricingPlan (..),++ -- ** RouteMatrixErrorCode+ RouteMatrixErrorCode (..),++ -- ** TravelMode+ TravelMode (..),++ -- ** VehicleWeightUnit+ VehicleWeightUnit (..),++ -- ** BatchDeleteDevicePositionHistoryError+ BatchDeleteDevicePositionHistoryError (BatchDeleteDevicePositionHistoryError'),+ newBatchDeleteDevicePositionHistoryError,++ -- ** BatchDeleteGeofenceError+ BatchDeleteGeofenceError (BatchDeleteGeofenceError'),+ newBatchDeleteGeofenceError,++ -- ** BatchEvaluateGeofencesError+ BatchEvaluateGeofencesError (BatchEvaluateGeofencesError'),+ newBatchEvaluateGeofencesError,++ -- ** BatchGetDevicePositionError+ BatchGetDevicePositionError (BatchGetDevicePositionError'),+ newBatchGetDevicePositionError,++ -- ** BatchItemError+ BatchItemError (BatchItemError'),+ newBatchItemError,++ -- ** BatchPutGeofenceError+ BatchPutGeofenceError (BatchPutGeofenceError'),+ newBatchPutGeofenceError,++ -- ** BatchPutGeofenceRequestEntry+ BatchPutGeofenceRequestEntry (BatchPutGeofenceRequestEntry'),+ newBatchPutGeofenceRequestEntry,++ -- ** BatchPutGeofenceSuccess+ BatchPutGeofenceSuccess (BatchPutGeofenceSuccess'),+ newBatchPutGeofenceSuccess,++ -- ** BatchUpdateDevicePositionError+ BatchUpdateDevicePositionError (BatchUpdateDevicePositionError'),+ newBatchUpdateDevicePositionError,++ -- ** CalculateRouteCarModeOptions+ CalculateRouteCarModeOptions (CalculateRouteCarModeOptions'),+ newCalculateRouteCarModeOptions,++ -- ** CalculateRouteMatrixSummary+ CalculateRouteMatrixSummary (CalculateRouteMatrixSummary'),+ newCalculateRouteMatrixSummary,++ -- ** CalculateRouteSummary+ CalculateRouteSummary (CalculateRouteSummary'),+ newCalculateRouteSummary,++ -- ** CalculateRouteTruckModeOptions+ CalculateRouteTruckModeOptions (CalculateRouteTruckModeOptions'),+ newCalculateRouteTruckModeOptions,++ -- ** Circle+ Circle (Circle'),+ newCircle,++ -- ** DataSourceConfiguration+ DataSourceConfiguration (DataSourceConfiguration'),+ newDataSourceConfiguration,++ -- ** DevicePosition+ DevicePosition (DevicePosition'),+ newDevicePosition,++ -- ** DevicePositionUpdate+ DevicePositionUpdate (DevicePositionUpdate'),+ newDevicePositionUpdate,++ -- ** GeofenceGeometry+ GeofenceGeometry (GeofenceGeometry'),+ newGeofenceGeometry,++ -- ** Leg+ Leg (Leg'),+ newLeg,++ -- ** LegGeometry+ LegGeometry (LegGeometry'),+ newLegGeometry,++ -- ** ListDevicePositionsResponseEntry+ ListDevicePositionsResponseEntry (ListDevicePositionsResponseEntry'),+ newListDevicePositionsResponseEntry,++ -- ** ListGeofenceCollectionsResponseEntry+ ListGeofenceCollectionsResponseEntry (ListGeofenceCollectionsResponseEntry'),+ newListGeofenceCollectionsResponseEntry,++ -- ** ListGeofenceResponseEntry+ ListGeofenceResponseEntry (ListGeofenceResponseEntry'),+ newListGeofenceResponseEntry,++ -- ** ListMapsResponseEntry+ ListMapsResponseEntry (ListMapsResponseEntry'),+ newListMapsResponseEntry,++ -- ** ListPlaceIndexesResponseEntry+ ListPlaceIndexesResponseEntry (ListPlaceIndexesResponseEntry'),+ newListPlaceIndexesResponseEntry,++ -- ** ListRouteCalculatorsResponseEntry+ ListRouteCalculatorsResponseEntry (ListRouteCalculatorsResponseEntry'),+ newListRouteCalculatorsResponseEntry,++ -- ** ListTrackersResponseEntry+ ListTrackersResponseEntry (ListTrackersResponseEntry'),+ newListTrackersResponseEntry,++ -- ** MapConfiguration+ MapConfiguration (MapConfiguration'),+ newMapConfiguration,++ -- ** Place+ Place (Place'),+ newPlace,++ -- ** PlaceGeometry+ PlaceGeometry (PlaceGeometry'),+ newPlaceGeometry,++ -- ** PositionalAccuracy+ PositionalAccuracy (PositionalAccuracy'),+ newPositionalAccuracy,++ -- ** RouteMatrixEntry+ RouteMatrixEntry (RouteMatrixEntry'),+ newRouteMatrixEntry,++ -- ** RouteMatrixEntryError+ RouteMatrixEntryError (RouteMatrixEntryError'),+ newRouteMatrixEntryError,++ -- ** SearchForPositionResult+ SearchForPositionResult (SearchForPositionResult'),+ newSearchForPositionResult,++ -- ** SearchForSuggestionsResult+ SearchForSuggestionsResult (SearchForSuggestionsResult'),+ newSearchForSuggestionsResult,++ -- ** SearchForTextResult+ SearchForTextResult (SearchForTextResult'),+ newSearchForTextResult,++ -- ** SearchPlaceIndexForPositionSummary+ SearchPlaceIndexForPositionSummary (SearchPlaceIndexForPositionSummary'),+ newSearchPlaceIndexForPositionSummary,++ -- ** SearchPlaceIndexForSuggestionsSummary+ SearchPlaceIndexForSuggestionsSummary (SearchPlaceIndexForSuggestionsSummary'),+ newSearchPlaceIndexForSuggestionsSummary,++ -- ** SearchPlaceIndexForTextSummary+ SearchPlaceIndexForTextSummary (SearchPlaceIndexForTextSummary'),+ newSearchPlaceIndexForTextSummary,++ -- ** Step+ Step (Step'),+ newStep,++ -- ** TimeZone+ TimeZone (TimeZone'),+ newTimeZone,++ -- ** TruckDimensions+ TruckDimensions (TruckDimensions'),+ newTruckDimensions,++ -- ** TruckWeight+ TruckWeight (TruckWeight'),+ newTruckWeight,+ )+where++import Amazonka.Location.AssociateTrackerConsumer+import Amazonka.Location.BatchDeleteDevicePositionHistory+import Amazonka.Location.BatchDeleteGeofence+import Amazonka.Location.BatchEvaluateGeofences+import Amazonka.Location.BatchGetDevicePosition+import Amazonka.Location.BatchPutGeofence+import Amazonka.Location.BatchUpdateDevicePosition+import Amazonka.Location.CalculateRoute+import Amazonka.Location.CalculateRouteMatrix+import Amazonka.Location.CreateGeofenceCollection+import Amazonka.Location.CreateMap+import Amazonka.Location.CreatePlaceIndex+import Amazonka.Location.CreateRouteCalculator+import Amazonka.Location.CreateTracker+import Amazonka.Location.DeleteGeofenceCollection+import Amazonka.Location.DeleteMap+import Amazonka.Location.DeletePlaceIndex+import Amazonka.Location.DeleteRouteCalculator+import Amazonka.Location.DeleteTracker+import Amazonka.Location.DescribeGeofenceCollection+import Amazonka.Location.DescribeMap+import Amazonka.Location.DescribePlaceIndex+import Amazonka.Location.DescribeRouteCalculator+import Amazonka.Location.DescribeTracker+import Amazonka.Location.DisassociateTrackerConsumer+import Amazonka.Location.GetDevicePosition+import Amazonka.Location.GetDevicePositionHistory+import Amazonka.Location.GetGeofence+import Amazonka.Location.GetMapGlyphs+import Amazonka.Location.GetMapSprites+import Amazonka.Location.GetMapStyleDescriptor+import Amazonka.Location.GetMapTile+import Amazonka.Location.GetPlace+import Amazonka.Location.Lens+import Amazonka.Location.ListDevicePositions+import Amazonka.Location.ListGeofenceCollections+import Amazonka.Location.ListGeofences+import Amazonka.Location.ListMaps+import Amazonka.Location.ListPlaceIndexes+import Amazonka.Location.ListRouteCalculators+import Amazonka.Location.ListTagsForResource+import Amazonka.Location.ListTrackerConsumers+import Amazonka.Location.ListTrackers+import Amazonka.Location.PutGeofence+import Amazonka.Location.SearchPlaceIndexForPosition+import Amazonka.Location.SearchPlaceIndexForSuggestions+import Amazonka.Location.SearchPlaceIndexForText+import Amazonka.Location.TagResource+import Amazonka.Location.Types+import Amazonka.Location.UntagResource+import Amazonka.Location.UpdateGeofenceCollection+import Amazonka.Location.UpdateMap+import Amazonka.Location.UpdatePlaceIndex+import Amazonka.Location.UpdateRouteCalculator+import Amazonka.Location.UpdateTracker+import Amazonka.Location.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 'Location'.++-- $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/Location/AssociateTrackerConsumer.hs view
@@ -0,0 +1,208 @@+{-# 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.Location.AssociateTrackerConsumer+-- 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 association between a geofence collection and a tracker+-- resource. This allows the tracker resource to communicate location data+-- to the linked geofence collection.+--+-- You can associate up to five geofence collections to each tracker+-- resource.+--+-- Currently not supported — Cross-account configurations, such as creating+-- associations between a tracker resource in one account and a geofence+-- collection in another account.+module Amazonka.Location.AssociateTrackerConsumer+ ( -- * Creating a Request+ AssociateTrackerConsumer (..),+ newAssociateTrackerConsumer,++ -- * Request Lenses+ associateTrackerConsumer_consumerArn,+ associateTrackerConsumer_trackerName,++ -- * Destructuring the Response+ AssociateTrackerConsumerResponse (..),+ newAssociateTrackerConsumerResponse,++ -- * Response Lenses+ associateTrackerConsumerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateTrackerConsumer' smart constructor.+data AssociateTrackerConsumer = AssociateTrackerConsumer'+ { -- | The Amazon Resource Name (ARN) for the geofence collection to be+ -- associated to tracker resource. Used when you need to specify a resource+ -- across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+ consumerArn :: Prelude.Text,+ -- | The name of the tracker resource to be associated with a geofence+ -- collection.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTrackerConsumer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'consumerArn', 'associateTrackerConsumer_consumerArn' - The Amazon Resource Name (ARN) for the geofence collection to be+-- associated to tracker resource. Used when you need to specify a resource+-- across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+--+-- 'trackerName', 'associateTrackerConsumer_trackerName' - The name of the tracker resource to be associated with a geofence+-- collection.+newAssociateTrackerConsumer ::+ -- | 'consumerArn'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ AssociateTrackerConsumer+newAssociateTrackerConsumer+ pConsumerArn_+ pTrackerName_ =+ AssociateTrackerConsumer'+ { consumerArn =+ pConsumerArn_,+ trackerName = pTrackerName_+ }++-- | The Amazon Resource Name (ARN) for the geofence collection to be+-- associated to tracker resource. Used when you need to specify a resource+-- across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+associateTrackerConsumer_consumerArn :: Lens.Lens' AssociateTrackerConsumer Prelude.Text+associateTrackerConsumer_consumerArn = Lens.lens (\AssociateTrackerConsumer' {consumerArn} -> consumerArn) (\s@AssociateTrackerConsumer' {} a -> s {consumerArn = a} :: AssociateTrackerConsumer)++-- | The name of the tracker resource to be associated with a geofence+-- collection.+associateTrackerConsumer_trackerName :: Lens.Lens' AssociateTrackerConsumer Prelude.Text+associateTrackerConsumer_trackerName = Lens.lens (\AssociateTrackerConsumer' {trackerName} -> trackerName) (\s@AssociateTrackerConsumer' {} a -> s {trackerName = a} :: AssociateTrackerConsumer)++instance Core.AWSRequest AssociateTrackerConsumer where+ type+ AWSResponse AssociateTrackerConsumer =+ AssociateTrackerConsumerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AssociateTrackerConsumerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateTrackerConsumer where+ hashWithSalt _salt AssociateTrackerConsumer' {..} =+ _salt+ `Prelude.hashWithSalt` consumerArn+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData AssociateTrackerConsumer where+ rnf AssociateTrackerConsumer' {..} =+ Prelude.rnf consumerArn+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders AssociateTrackerConsumer where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateTrackerConsumer where+ toJSON AssociateTrackerConsumer' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ConsumerArn" Data..= consumerArn)]+ )++instance Data.ToPath AssociateTrackerConsumer where+ toPath AssociateTrackerConsumer' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/consumers"+ ]++instance Data.ToQuery AssociateTrackerConsumer where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateTrackerConsumerResponse' smart constructor.+data AssociateTrackerConsumerResponse = AssociateTrackerConsumerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTrackerConsumerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateTrackerConsumerResponse_httpStatus' - The response's http status code.+newAssociateTrackerConsumerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateTrackerConsumerResponse+newAssociateTrackerConsumerResponse pHttpStatus_ =+ AssociateTrackerConsumerResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+associateTrackerConsumerResponse_httpStatus :: Lens.Lens' AssociateTrackerConsumerResponse Prelude.Int+associateTrackerConsumerResponse_httpStatus = Lens.lens (\AssociateTrackerConsumerResponse' {httpStatus} -> httpStatus) (\s@AssociateTrackerConsumerResponse' {} a -> s {httpStatus = a} :: AssociateTrackerConsumerResponse)++instance+ Prelude.NFData+ AssociateTrackerConsumerResponse+ where+ rnf AssociateTrackerConsumerResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/BatchDeleteDevicePositionHistory.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.BatchDeleteDevicePositionHistory+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the position history of one or more devices from a tracker+-- resource.+module Amazonka.Location.BatchDeleteDevicePositionHistory+ ( -- * Creating a Request+ BatchDeleteDevicePositionHistory (..),+ newBatchDeleteDevicePositionHistory,++ -- * Request Lenses+ batchDeleteDevicePositionHistory_deviceIds,+ batchDeleteDevicePositionHistory_trackerName,++ -- * Destructuring the Response+ BatchDeleteDevicePositionHistoryResponse (..),+ newBatchDeleteDevicePositionHistoryResponse,++ -- * Response Lenses+ batchDeleteDevicePositionHistoryResponse_httpStatus,+ batchDeleteDevicePositionHistoryResponse_errors,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchDeleteDevicePositionHistory' smart constructor.+data BatchDeleteDevicePositionHistory = BatchDeleteDevicePositionHistory'+ { -- | Devices whose position history you want to delete.+ --+ -- - For example, for two devices: @“DeviceIds” : [DeviceId1,DeviceId2]@+ deviceIds :: Prelude.NonEmpty Prelude.Text,+ -- | The name of the tracker resource to delete the device position history+ -- from.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDevicePositionHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIds', 'batchDeleteDevicePositionHistory_deviceIds' - Devices whose position history you want to delete.+--+-- - For example, for two devices: @“DeviceIds” : [DeviceId1,DeviceId2]@+--+-- 'trackerName', 'batchDeleteDevicePositionHistory_trackerName' - The name of the tracker resource to delete the device position history+-- from.+newBatchDeleteDevicePositionHistory ::+ -- | 'deviceIds'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ BatchDeleteDevicePositionHistory+newBatchDeleteDevicePositionHistory+ pDeviceIds_+ pTrackerName_ =+ BatchDeleteDevicePositionHistory'+ { deviceIds =+ Lens.coerced Lens.# pDeviceIds_,+ trackerName = pTrackerName_+ }++-- | Devices whose position history you want to delete.+--+-- - For example, for two devices: @“DeviceIds” : [DeviceId1,DeviceId2]@+batchDeleteDevicePositionHistory_deviceIds :: Lens.Lens' BatchDeleteDevicePositionHistory (Prelude.NonEmpty Prelude.Text)+batchDeleteDevicePositionHistory_deviceIds = Lens.lens (\BatchDeleteDevicePositionHistory' {deviceIds} -> deviceIds) (\s@BatchDeleteDevicePositionHistory' {} a -> s {deviceIds = a} :: BatchDeleteDevicePositionHistory) Prelude.. Lens.coerced++-- | The name of the tracker resource to delete the device position history+-- from.+batchDeleteDevicePositionHistory_trackerName :: Lens.Lens' BatchDeleteDevicePositionHistory Prelude.Text+batchDeleteDevicePositionHistory_trackerName = Lens.lens (\BatchDeleteDevicePositionHistory' {trackerName} -> trackerName) (\s@BatchDeleteDevicePositionHistory' {} a -> s {trackerName = a} :: BatchDeleteDevicePositionHistory)++instance+ Core.AWSRequest+ BatchDeleteDevicePositionHistory+ where+ type+ AWSResponse BatchDeleteDevicePositionHistory =+ BatchDeleteDevicePositionHistoryResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDeleteDevicePositionHistoryResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ )++instance+ Prelude.Hashable+ BatchDeleteDevicePositionHistory+ where+ hashWithSalt+ _salt+ BatchDeleteDevicePositionHistory' {..} =+ _salt+ `Prelude.hashWithSalt` deviceIds+ `Prelude.hashWithSalt` trackerName++instance+ Prelude.NFData+ BatchDeleteDevicePositionHistory+ where+ rnf BatchDeleteDevicePositionHistory' {..} =+ Prelude.rnf deviceIds+ `Prelude.seq` Prelude.rnf trackerName++instance+ Data.ToHeaders+ BatchDeleteDevicePositionHistory+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchDeleteDevicePositionHistory where+ toJSON BatchDeleteDevicePositionHistory' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DeviceIds" Data..= deviceIds)]+ )++instance Data.ToPath BatchDeleteDevicePositionHistory where+ toPath BatchDeleteDevicePositionHistory' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/delete-positions"+ ]++instance+ Data.ToQuery+ BatchDeleteDevicePositionHistory+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDeleteDevicePositionHistoryResponse' smart constructor.+data BatchDeleteDevicePositionHistoryResponse = BatchDeleteDevicePositionHistoryResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains error details for each device history that failed to delete.+ errors :: [BatchDeleteDevicePositionHistoryError]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDevicePositionHistoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchDeleteDevicePositionHistoryResponse_httpStatus' - The response's http status code.+--+-- 'errors', 'batchDeleteDevicePositionHistoryResponse_errors' - Contains error details for each device history that failed to delete.+newBatchDeleteDevicePositionHistoryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDeleteDevicePositionHistoryResponse+newBatchDeleteDevicePositionHistoryResponse+ pHttpStatus_ =+ BatchDeleteDevicePositionHistoryResponse'+ { httpStatus =+ pHttpStatus_,+ errors = Prelude.mempty+ }++-- | The response's http status code.+batchDeleteDevicePositionHistoryResponse_httpStatus :: Lens.Lens' BatchDeleteDevicePositionHistoryResponse Prelude.Int+batchDeleteDevicePositionHistoryResponse_httpStatus = Lens.lens (\BatchDeleteDevicePositionHistoryResponse' {httpStatus} -> httpStatus) (\s@BatchDeleteDevicePositionHistoryResponse' {} a -> s {httpStatus = a} :: BatchDeleteDevicePositionHistoryResponse)++-- | Contains error details for each device history that failed to delete.+batchDeleteDevicePositionHistoryResponse_errors :: Lens.Lens' BatchDeleteDevicePositionHistoryResponse [BatchDeleteDevicePositionHistoryError]+batchDeleteDevicePositionHistoryResponse_errors = Lens.lens (\BatchDeleteDevicePositionHistoryResponse' {errors} -> errors) (\s@BatchDeleteDevicePositionHistoryResponse' {} a -> s {errors = a} :: BatchDeleteDevicePositionHistoryResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchDeleteDevicePositionHistoryResponse+ where+ rnf BatchDeleteDevicePositionHistoryResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/Location/BatchDeleteGeofence.hs view
@@ -0,0 +1,190 @@+{-# 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.Location.BatchDeleteGeofence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a batch of geofences from a geofence collection.+--+-- This operation deletes the resource permanently.+module Amazonka.Location.BatchDeleteGeofence+ ( -- * Creating a Request+ BatchDeleteGeofence (..),+ newBatchDeleteGeofence,++ -- * Request Lenses+ batchDeleteGeofence_collectionName,+ batchDeleteGeofence_geofenceIds,++ -- * Destructuring the Response+ BatchDeleteGeofenceResponse (..),+ newBatchDeleteGeofenceResponse,++ -- * Response Lenses+ batchDeleteGeofenceResponse_httpStatus,+ batchDeleteGeofenceResponse_errors,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchDeleteGeofence' smart constructor.+data BatchDeleteGeofence = BatchDeleteGeofence'+ { -- | The geofence collection storing the geofences to be deleted.+ collectionName :: Prelude.Text,+ -- | The batch of geofences to be deleted.+ geofenceIds :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteGeofence' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'batchDeleteGeofence_collectionName' - The geofence collection storing the geofences to be deleted.+--+-- 'geofenceIds', 'batchDeleteGeofence_geofenceIds' - The batch of geofences to be deleted.+newBatchDeleteGeofence ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'geofenceIds'+ Prelude.NonEmpty Prelude.Text ->+ BatchDeleteGeofence+newBatchDeleteGeofence pCollectionName_ pGeofenceIds_ =+ BatchDeleteGeofence'+ { collectionName =+ pCollectionName_,+ geofenceIds = Lens.coerced Lens.# pGeofenceIds_+ }++-- | The geofence collection storing the geofences to be deleted.+batchDeleteGeofence_collectionName :: Lens.Lens' BatchDeleteGeofence Prelude.Text+batchDeleteGeofence_collectionName = Lens.lens (\BatchDeleteGeofence' {collectionName} -> collectionName) (\s@BatchDeleteGeofence' {} a -> s {collectionName = a} :: BatchDeleteGeofence)++-- | The batch of geofences to be deleted.+batchDeleteGeofence_geofenceIds :: Lens.Lens' BatchDeleteGeofence (Prelude.NonEmpty Prelude.Text)+batchDeleteGeofence_geofenceIds = Lens.lens (\BatchDeleteGeofence' {geofenceIds} -> geofenceIds) (\s@BatchDeleteGeofence' {} a -> s {geofenceIds = a} :: BatchDeleteGeofence) Prelude.. Lens.coerced++instance Core.AWSRequest BatchDeleteGeofence where+ type+ AWSResponse BatchDeleteGeofence =+ BatchDeleteGeofenceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDeleteGeofenceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchDeleteGeofence where+ hashWithSalt _salt BatchDeleteGeofence' {..} =+ _salt+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` geofenceIds++instance Prelude.NFData BatchDeleteGeofence where+ rnf BatchDeleteGeofence' {..} =+ Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf geofenceIds++instance Data.ToHeaders BatchDeleteGeofence where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchDeleteGeofence where+ toJSON BatchDeleteGeofence' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("GeofenceIds" Data..= geofenceIds)]+ )++instance Data.ToPath BatchDeleteGeofence where+ toPath BatchDeleteGeofence' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/delete-geofences"+ ]++instance Data.ToQuery BatchDeleteGeofence where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDeleteGeofenceResponse' smart constructor.+data BatchDeleteGeofenceResponse = BatchDeleteGeofenceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains error details for each geofence that failed to delete.+ errors :: [BatchDeleteGeofenceError]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteGeofenceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchDeleteGeofenceResponse_httpStatus' - The response's http status code.+--+-- 'errors', 'batchDeleteGeofenceResponse_errors' - Contains error details for each geofence that failed to delete.+newBatchDeleteGeofenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDeleteGeofenceResponse+newBatchDeleteGeofenceResponse pHttpStatus_ =+ BatchDeleteGeofenceResponse'+ { httpStatus =+ pHttpStatus_,+ errors = Prelude.mempty+ }++-- | The response's http status code.+batchDeleteGeofenceResponse_httpStatus :: Lens.Lens' BatchDeleteGeofenceResponse Prelude.Int+batchDeleteGeofenceResponse_httpStatus = Lens.lens (\BatchDeleteGeofenceResponse' {httpStatus} -> httpStatus) (\s@BatchDeleteGeofenceResponse' {} a -> s {httpStatus = a} :: BatchDeleteGeofenceResponse)++-- | Contains error details for each geofence that failed to delete.+batchDeleteGeofenceResponse_errors :: Lens.Lens' BatchDeleteGeofenceResponse [BatchDeleteGeofenceError]+batchDeleteGeofenceResponse_errors = Lens.lens (\BatchDeleteGeofenceResponse' {errors} -> errors) (\s@BatchDeleteGeofenceResponse' {} a -> s {errors = a} :: BatchDeleteGeofenceResponse) Prelude.. Lens.coerced++instance Prelude.NFData BatchDeleteGeofenceResponse where+ rnf BatchDeleteGeofenceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/Location/BatchEvaluateGeofences.hs view
@@ -0,0 +1,228 @@+{-# 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.Location.BatchEvaluateGeofences+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Evaluates device positions against the geofence geometries from a given+-- geofence collection.+--+-- This operation always returns an empty response because geofences are+-- asynchronously evaluated. The evaluation determines if the device has+-- entered or exited a geofenced area, and then publishes one of the+-- following events to Amazon EventBridge:+--+-- - @ENTER@ if Amazon Location determines that the tracked device has+-- entered a geofenced area.+--+-- - @EXIT@ if Amazon Location determines that the tracked device has+-- exited a geofenced area.+--+-- The last geofence that a device was observed within is tracked for 30+-- days after the most recent device position update.+--+-- Geofence evaluation uses the given device position. It does not account+-- for the optional @Accuracy@ of a @DevicePositionUpdate@.+--+-- The @DeviceID@ is used as a string to represent the device. You do not+-- need to have a @Tracker@ associated with the @DeviceID@.+module Amazonka.Location.BatchEvaluateGeofences+ ( -- * Creating a Request+ BatchEvaluateGeofences (..),+ newBatchEvaluateGeofences,++ -- * Request Lenses+ batchEvaluateGeofences_collectionName,+ batchEvaluateGeofences_devicePositionUpdates,++ -- * Destructuring the Response+ BatchEvaluateGeofencesResponse (..),+ newBatchEvaluateGeofencesResponse,++ -- * Response Lenses+ batchEvaluateGeofencesResponse_httpStatus,+ batchEvaluateGeofencesResponse_errors,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchEvaluateGeofences' smart constructor.+data BatchEvaluateGeofences = BatchEvaluateGeofences'+ { -- | The geofence collection used in evaluating the position of devices+ -- against its geofences.+ collectionName :: Prelude.Text,+ -- | Contains device details for each device to be evaluated against the+ -- given geofence collection.+ devicePositionUpdates :: Prelude.NonEmpty DevicePositionUpdate+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchEvaluateGeofences' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'batchEvaluateGeofences_collectionName' - The geofence collection used in evaluating the position of devices+-- against its geofences.+--+-- 'devicePositionUpdates', 'batchEvaluateGeofences_devicePositionUpdates' - Contains device details for each device to be evaluated against the+-- given geofence collection.+newBatchEvaluateGeofences ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'devicePositionUpdates'+ Prelude.NonEmpty DevicePositionUpdate ->+ BatchEvaluateGeofences+newBatchEvaluateGeofences+ pCollectionName_+ pDevicePositionUpdates_ =+ BatchEvaluateGeofences'+ { collectionName =+ pCollectionName_,+ devicePositionUpdates =+ Lens.coerced Lens.# pDevicePositionUpdates_+ }++-- | The geofence collection used in evaluating the position of devices+-- against its geofences.+batchEvaluateGeofences_collectionName :: Lens.Lens' BatchEvaluateGeofences Prelude.Text+batchEvaluateGeofences_collectionName = Lens.lens (\BatchEvaluateGeofences' {collectionName} -> collectionName) (\s@BatchEvaluateGeofences' {} a -> s {collectionName = a} :: BatchEvaluateGeofences)++-- | Contains device details for each device to be evaluated against the+-- given geofence collection.+batchEvaluateGeofences_devicePositionUpdates :: Lens.Lens' BatchEvaluateGeofences (Prelude.NonEmpty DevicePositionUpdate)+batchEvaluateGeofences_devicePositionUpdates = Lens.lens (\BatchEvaluateGeofences' {devicePositionUpdates} -> devicePositionUpdates) (\s@BatchEvaluateGeofences' {} a -> s {devicePositionUpdates = a} :: BatchEvaluateGeofences) Prelude.. Lens.coerced++instance Core.AWSRequest BatchEvaluateGeofences where+ type+ AWSResponse BatchEvaluateGeofences =+ BatchEvaluateGeofencesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchEvaluateGeofencesResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchEvaluateGeofences where+ hashWithSalt _salt BatchEvaluateGeofences' {..} =+ _salt+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` devicePositionUpdates++instance Prelude.NFData BatchEvaluateGeofences where+ rnf BatchEvaluateGeofences' {..} =+ Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf devicePositionUpdates++instance Data.ToHeaders BatchEvaluateGeofences where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchEvaluateGeofences where+ toJSON BatchEvaluateGeofences' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "DevicePositionUpdates"+ Data..= devicePositionUpdates+ )+ ]+ )++instance Data.ToPath BatchEvaluateGeofences where+ toPath BatchEvaluateGeofences' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/positions"+ ]++instance Data.ToQuery BatchEvaluateGeofences where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchEvaluateGeofencesResponse' smart constructor.+data BatchEvaluateGeofencesResponse = BatchEvaluateGeofencesResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains error details for each device that failed to evaluate its+ -- position against the given geofence collection.+ errors :: [BatchEvaluateGeofencesError]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchEvaluateGeofencesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchEvaluateGeofencesResponse_httpStatus' - The response's http status code.+--+-- 'errors', 'batchEvaluateGeofencesResponse_errors' - Contains error details for each device that failed to evaluate its+-- position against the given geofence collection.+newBatchEvaluateGeofencesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchEvaluateGeofencesResponse+newBatchEvaluateGeofencesResponse pHttpStatus_ =+ BatchEvaluateGeofencesResponse'+ { httpStatus =+ pHttpStatus_,+ errors = Prelude.mempty+ }++-- | The response's http status code.+batchEvaluateGeofencesResponse_httpStatus :: Lens.Lens' BatchEvaluateGeofencesResponse Prelude.Int+batchEvaluateGeofencesResponse_httpStatus = Lens.lens (\BatchEvaluateGeofencesResponse' {httpStatus} -> httpStatus) (\s@BatchEvaluateGeofencesResponse' {} a -> s {httpStatus = a} :: BatchEvaluateGeofencesResponse)++-- | Contains error details for each device that failed to evaluate its+-- position against the given geofence collection.+batchEvaluateGeofencesResponse_errors :: Lens.Lens' BatchEvaluateGeofencesResponse [BatchEvaluateGeofencesError]+batchEvaluateGeofencesResponse_errors = Lens.lens (\BatchEvaluateGeofencesResponse' {errors} -> errors) (\s@BatchEvaluateGeofencesResponse' {} a -> s {errors = a} :: BatchEvaluateGeofencesResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchEvaluateGeofencesResponse+ where+ rnf BatchEvaluateGeofencesResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/Location/BatchGetDevicePosition.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.BatchGetDevicePosition+-- 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 latest device positions for requested devices.+module Amazonka.Location.BatchGetDevicePosition+ ( -- * Creating a Request+ BatchGetDevicePosition (..),+ newBatchGetDevicePosition,++ -- * Request Lenses+ batchGetDevicePosition_deviceIds,+ batchGetDevicePosition_trackerName,++ -- * Destructuring the Response+ BatchGetDevicePositionResponse (..),+ newBatchGetDevicePositionResponse,++ -- * Response Lenses+ batchGetDevicePositionResponse_httpStatus,+ batchGetDevicePositionResponse_devicePositions,+ batchGetDevicePositionResponse_errors,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetDevicePosition' smart constructor.+data BatchGetDevicePosition = BatchGetDevicePosition'+ { -- | Devices whose position you want to retrieve.+ --+ -- - For example, for two devices:+ -- @device-ids=DeviceId1&device-ids=DeviceId2@+ deviceIds :: Prelude.NonEmpty Prelude.Text,+ -- | The tracker resource retrieving the device position.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetDevicePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIds', 'batchGetDevicePosition_deviceIds' - Devices whose position you want to retrieve.+--+-- - For example, for two devices:+-- @device-ids=DeviceId1&device-ids=DeviceId2@+--+-- 'trackerName', 'batchGetDevicePosition_trackerName' - The tracker resource retrieving the device position.+newBatchGetDevicePosition ::+ -- | 'deviceIds'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ BatchGetDevicePosition+newBatchGetDevicePosition pDeviceIds_ pTrackerName_ =+ BatchGetDevicePosition'+ { deviceIds =+ Lens.coerced Lens.# pDeviceIds_,+ trackerName = pTrackerName_+ }++-- | Devices whose position you want to retrieve.+--+-- - For example, for two devices:+-- @device-ids=DeviceId1&device-ids=DeviceId2@+batchGetDevicePosition_deviceIds :: Lens.Lens' BatchGetDevicePosition (Prelude.NonEmpty Prelude.Text)+batchGetDevicePosition_deviceIds = Lens.lens (\BatchGetDevicePosition' {deviceIds} -> deviceIds) (\s@BatchGetDevicePosition' {} a -> s {deviceIds = a} :: BatchGetDevicePosition) Prelude.. Lens.coerced++-- | The tracker resource retrieving the device position.+batchGetDevicePosition_trackerName :: Lens.Lens' BatchGetDevicePosition Prelude.Text+batchGetDevicePosition_trackerName = Lens.lens (\BatchGetDevicePosition' {trackerName} -> trackerName) (\s@BatchGetDevicePosition' {} a -> s {trackerName = a} :: BatchGetDevicePosition)++instance Core.AWSRequest BatchGetDevicePosition where+ type+ AWSResponse BatchGetDevicePosition =+ BatchGetDevicePositionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetDevicePositionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "DevicePositions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchGetDevicePosition where+ hashWithSalt _salt BatchGetDevicePosition' {..} =+ _salt+ `Prelude.hashWithSalt` deviceIds+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData BatchGetDevicePosition where+ rnf BatchGetDevicePosition' {..} =+ Prelude.rnf deviceIds+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders BatchGetDevicePosition where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetDevicePosition where+ toJSON BatchGetDevicePosition' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("DeviceIds" Data..= deviceIds)]+ )++instance Data.ToPath BatchGetDevicePosition where+ toPath BatchGetDevicePosition' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/get-positions"+ ]++instance Data.ToQuery BatchGetDevicePosition where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetDevicePositionResponse' smart constructor.+data BatchGetDevicePositionResponse = BatchGetDevicePositionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains device position details such as the device ID, position, and+ -- timestamps for when the position was received and sampled.+ devicePositions :: [DevicePosition],+ -- | Contains error details for each device that failed to send its position+ -- to the tracker resource.+ errors :: [BatchGetDevicePositionError]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetDevicePositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchGetDevicePositionResponse_httpStatus' - The response's http status code.+--+-- 'devicePositions', 'batchGetDevicePositionResponse_devicePositions' - Contains device position details such as the device ID, position, and+-- timestamps for when the position was received and sampled.+--+-- 'errors', 'batchGetDevicePositionResponse_errors' - Contains error details for each device that failed to send its position+-- to the tracker resource.+newBatchGetDevicePositionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetDevicePositionResponse+newBatchGetDevicePositionResponse pHttpStatus_ =+ BatchGetDevicePositionResponse'+ { httpStatus =+ pHttpStatus_,+ devicePositions = Prelude.mempty,+ errors = Prelude.mempty+ }++-- | The response's http status code.+batchGetDevicePositionResponse_httpStatus :: Lens.Lens' BatchGetDevicePositionResponse Prelude.Int+batchGetDevicePositionResponse_httpStatus = Lens.lens (\BatchGetDevicePositionResponse' {httpStatus} -> httpStatus) (\s@BatchGetDevicePositionResponse' {} a -> s {httpStatus = a} :: BatchGetDevicePositionResponse)++-- | Contains device position details such as the device ID, position, and+-- timestamps for when the position was received and sampled.+batchGetDevicePositionResponse_devicePositions :: Lens.Lens' BatchGetDevicePositionResponse [DevicePosition]+batchGetDevicePositionResponse_devicePositions = Lens.lens (\BatchGetDevicePositionResponse' {devicePositions} -> devicePositions) (\s@BatchGetDevicePositionResponse' {} a -> s {devicePositions = a} :: BatchGetDevicePositionResponse) Prelude.. Lens.coerced++-- | Contains error details for each device that failed to send its position+-- to the tracker resource.+batchGetDevicePositionResponse_errors :: Lens.Lens' BatchGetDevicePositionResponse [BatchGetDevicePositionError]+batchGetDevicePositionResponse_errors = Lens.lens (\BatchGetDevicePositionResponse' {errors} -> errors) (\s@BatchGetDevicePositionResponse' {} a -> s {errors = a} :: BatchGetDevicePositionResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchGetDevicePositionResponse+ where+ rnf BatchGetDevicePositionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf devicePositions+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/Location/BatchPutGeofence.hs view
@@ -0,0 +1,208 @@+{-# 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.Location.BatchPutGeofence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A batch request for storing geofence geometries into a given geofence+-- collection, or updates the geometry of an existing geofence if a+-- geofence ID is included in the request.+module Amazonka.Location.BatchPutGeofence+ ( -- * Creating a Request+ BatchPutGeofence (..),+ newBatchPutGeofence,++ -- * Request Lenses+ batchPutGeofence_collectionName,+ batchPutGeofence_entries,++ -- * Destructuring the Response+ BatchPutGeofenceResponse (..),+ newBatchPutGeofenceResponse,++ -- * Response Lenses+ batchPutGeofenceResponse_httpStatus,+ batchPutGeofenceResponse_errors,+ batchPutGeofenceResponse_successes,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchPutGeofence' smart constructor.+data BatchPutGeofence = BatchPutGeofence'+ { -- | The geofence collection storing the geofences.+ collectionName :: Prelude.Text,+ -- | The batch of geofences to be stored in a geofence collection.+ entries :: Prelude.NonEmpty BatchPutGeofenceRequestEntry+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutGeofence' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'batchPutGeofence_collectionName' - The geofence collection storing the geofences.+--+-- 'entries', 'batchPutGeofence_entries' - The batch of geofences to be stored in a geofence collection.+newBatchPutGeofence ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'entries'+ Prelude.NonEmpty BatchPutGeofenceRequestEntry ->+ BatchPutGeofence+newBatchPutGeofence pCollectionName_ pEntries_ =+ BatchPutGeofence'+ { collectionName =+ pCollectionName_,+ entries = Lens.coerced Lens.# pEntries_+ }++-- | The geofence collection storing the geofences.+batchPutGeofence_collectionName :: Lens.Lens' BatchPutGeofence Prelude.Text+batchPutGeofence_collectionName = Lens.lens (\BatchPutGeofence' {collectionName} -> collectionName) (\s@BatchPutGeofence' {} a -> s {collectionName = a} :: BatchPutGeofence)++-- | The batch of geofences to be stored in a geofence collection.+batchPutGeofence_entries :: Lens.Lens' BatchPutGeofence (Prelude.NonEmpty BatchPutGeofenceRequestEntry)+batchPutGeofence_entries = Lens.lens (\BatchPutGeofence' {entries} -> entries) (\s@BatchPutGeofence' {} a -> s {entries = a} :: BatchPutGeofence) Prelude.. Lens.coerced++instance Core.AWSRequest BatchPutGeofence where+ type+ AWSResponse BatchPutGeofence =+ BatchPutGeofenceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchPutGeofenceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Successes" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchPutGeofence where+ hashWithSalt _salt BatchPutGeofence' {..} =+ _salt+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` entries++instance Prelude.NFData BatchPutGeofence where+ rnf BatchPutGeofence' {..} =+ Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf entries++instance Data.ToHeaders BatchPutGeofence where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchPutGeofence where+ toJSON BatchPutGeofence' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Entries" Data..= entries)]+ )++instance Data.ToPath BatchPutGeofence where+ toPath BatchPutGeofence' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/put-geofences"+ ]++instance Data.ToQuery BatchPutGeofence where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchPutGeofenceResponse' smart constructor.+data BatchPutGeofenceResponse = BatchPutGeofenceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains additional error details for each geofence that failed to be+ -- stored in a geofence collection.+ errors :: [BatchPutGeofenceError],+ -- | Contains each geofence that was successfully stored in a geofence+ -- collection.+ successes :: [BatchPutGeofenceSuccess]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutGeofenceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchPutGeofenceResponse_httpStatus' - The response's http status code.+--+-- 'errors', 'batchPutGeofenceResponse_errors' - Contains additional error details for each geofence that failed to be+-- stored in a geofence collection.+--+-- 'successes', 'batchPutGeofenceResponse_successes' - Contains each geofence that was successfully stored in a geofence+-- collection.+newBatchPutGeofenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchPutGeofenceResponse+newBatchPutGeofenceResponse pHttpStatus_ =+ BatchPutGeofenceResponse'+ { httpStatus =+ pHttpStatus_,+ errors = Prelude.mempty,+ successes = Prelude.mempty+ }++-- | The response's http status code.+batchPutGeofenceResponse_httpStatus :: Lens.Lens' BatchPutGeofenceResponse Prelude.Int+batchPutGeofenceResponse_httpStatus = Lens.lens (\BatchPutGeofenceResponse' {httpStatus} -> httpStatus) (\s@BatchPutGeofenceResponse' {} a -> s {httpStatus = a} :: BatchPutGeofenceResponse)++-- | Contains additional error details for each geofence that failed to be+-- stored in a geofence collection.+batchPutGeofenceResponse_errors :: Lens.Lens' BatchPutGeofenceResponse [BatchPutGeofenceError]+batchPutGeofenceResponse_errors = Lens.lens (\BatchPutGeofenceResponse' {errors} -> errors) (\s@BatchPutGeofenceResponse' {} a -> s {errors = a} :: BatchPutGeofenceResponse) Prelude.. Lens.coerced++-- | Contains each geofence that was successfully stored in a geofence+-- collection.+batchPutGeofenceResponse_successes :: Lens.Lens' BatchPutGeofenceResponse [BatchPutGeofenceSuccess]+batchPutGeofenceResponse_successes = Lens.lens (\BatchPutGeofenceResponse' {successes} -> successes) (\s@BatchPutGeofenceResponse' {} a -> s {successes = a} :: BatchPutGeofenceResponse) Prelude.. Lens.coerced++instance Prelude.NFData BatchPutGeofenceResponse where+ rnf BatchPutGeofenceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errors+ `Prelude.seq` Prelude.rnf successes
+ gen/Amazonka/Location/BatchUpdateDevicePosition.hs view
@@ -0,0 +1,218 @@+{-# 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.Location.BatchUpdateDevicePosition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uploads position update data for one or more devices to a tracker+-- resource. Amazon Location uses the data when it reports the last known+-- device position and position history. Amazon Location retains location+-- data for 30 days.+--+-- Position updates are handled based on the @PositionFiltering@ property+-- of the tracker. When @PositionFiltering@ is set to @TimeBased@, updates+-- are evaluated against linked geofence collections, and location data is+-- stored at a maximum of one position per 30 second interval. If your+-- update frequency is more often than every 30 seconds, only one update+-- per 30 seconds is stored for each unique device ID.+--+-- When @PositionFiltering@ is set to @DistanceBased@ filtering, location+-- data is stored and evaluated against linked geofence collections only if+-- the device has moved more than 30 m (98.4 ft).+--+-- When @PositionFiltering@ is set to @AccuracyBased@ filtering, location+-- data is stored and evaluated against linked geofence collections only if+-- the device has moved more than the measured accuracy. For example, if+-- two consecutive updates from a device have a horizontal accuracy of 5 m+-- and 10 m, the second update is neither stored or evaluated if the device+-- has moved less than 15 m. If @PositionFiltering@ is set to+-- @AccuracyBased@ filtering, Amazon Location uses the default value+-- @{ \"Horizontal\": 0}@ when accuracy is not provided on a+-- @DevicePositionUpdate@.+module Amazonka.Location.BatchUpdateDevicePosition+ ( -- * Creating a Request+ BatchUpdateDevicePosition (..),+ newBatchUpdateDevicePosition,++ -- * Request Lenses+ batchUpdateDevicePosition_trackerName,+ batchUpdateDevicePosition_updates,++ -- * Destructuring the Response+ BatchUpdateDevicePositionResponse (..),+ newBatchUpdateDevicePositionResponse,++ -- * Response Lenses+ batchUpdateDevicePositionResponse_httpStatus,+ batchUpdateDevicePositionResponse_errors,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchUpdateDevicePosition' smart constructor.+data BatchUpdateDevicePosition = BatchUpdateDevicePosition'+ { -- | The name of the tracker resource to update.+ trackerName :: Prelude.Text,+ -- | Contains the position update details for each device.+ updates :: Prelude.NonEmpty DevicePositionUpdate+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateDevicePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'trackerName', 'batchUpdateDevicePosition_trackerName' - The name of the tracker resource to update.+--+-- 'updates', 'batchUpdateDevicePosition_updates' - Contains the position update details for each device.+newBatchUpdateDevicePosition ::+ -- | 'trackerName'+ Prelude.Text ->+ -- | 'updates'+ Prelude.NonEmpty DevicePositionUpdate ->+ BatchUpdateDevicePosition+newBatchUpdateDevicePosition pTrackerName_ pUpdates_ =+ BatchUpdateDevicePosition'+ { trackerName =+ pTrackerName_,+ updates = Lens.coerced Lens.# pUpdates_+ }++-- | The name of the tracker resource to update.+batchUpdateDevicePosition_trackerName :: Lens.Lens' BatchUpdateDevicePosition Prelude.Text+batchUpdateDevicePosition_trackerName = Lens.lens (\BatchUpdateDevicePosition' {trackerName} -> trackerName) (\s@BatchUpdateDevicePosition' {} a -> s {trackerName = a} :: BatchUpdateDevicePosition)++-- | Contains the position update details for each device.+batchUpdateDevicePosition_updates :: Lens.Lens' BatchUpdateDevicePosition (Prelude.NonEmpty DevicePositionUpdate)+batchUpdateDevicePosition_updates = Lens.lens (\BatchUpdateDevicePosition' {updates} -> updates) (\s@BatchUpdateDevicePosition' {} a -> s {updates = a} :: BatchUpdateDevicePosition) Prelude.. Lens.coerced++instance Core.AWSRequest BatchUpdateDevicePosition where+ type+ AWSResponse BatchUpdateDevicePosition =+ BatchUpdateDevicePositionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchUpdateDevicePositionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Errors" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable BatchUpdateDevicePosition where+ hashWithSalt _salt BatchUpdateDevicePosition' {..} =+ _salt+ `Prelude.hashWithSalt` trackerName+ `Prelude.hashWithSalt` updates++instance Prelude.NFData BatchUpdateDevicePosition where+ rnf BatchUpdateDevicePosition' {..} =+ Prelude.rnf trackerName+ `Prelude.seq` Prelude.rnf updates++instance Data.ToHeaders BatchUpdateDevicePosition where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchUpdateDevicePosition where+ toJSON BatchUpdateDevicePosition' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Updates" Data..= updates)]+ )++instance Data.ToPath BatchUpdateDevicePosition where+ toPath BatchUpdateDevicePosition' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/positions"+ ]++instance Data.ToQuery BatchUpdateDevicePosition where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchUpdateDevicePositionResponse' smart constructor.+data BatchUpdateDevicePositionResponse = BatchUpdateDevicePositionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains error details for each device that failed to update its+ -- position.+ errors :: [BatchUpdateDevicePositionError]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateDevicePositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'batchUpdateDevicePositionResponse_httpStatus' - The response's http status code.+--+-- 'errors', 'batchUpdateDevicePositionResponse_errors' - Contains error details for each device that failed to update its+-- position.+newBatchUpdateDevicePositionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchUpdateDevicePositionResponse+newBatchUpdateDevicePositionResponse pHttpStatus_ =+ BatchUpdateDevicePositionResponse'+ { httpStatus =+ pHttpStatus_,+ errors = Prelude.mempty+ }++-- | The response's http status code.+batchUpdateDevicePositionResponse_httpStatus :: Lens.Lens' BatchUpdateDevicePositionResponse Prelude.Int+batchUpdateDevicePositionResponse_httpStatus = Lens.lens (\BatchUpdateDevicePositionResponse' {httpStatus} -> httpStatus) (\s@BatchUpdateDevicePositionResponse' {} a -> s {httpStatus = a} :: BatchUpdateDevicePositionResponse)++-- | Contains error details for each device that failed to update its+-- position.+batchUpdateDevicePositionResponse_errors :: Lens.Lens' BatchUpdateDevicePositionResponse [BatchUpdateDevicePositionError]+batchUpdateDevicePositionResponse_errors = Lens.lens (\BatchUpdateDevicePositionResponse' {errors} -> errors) (\s@BatchUpdateDevicePositionResponse' {} a -> s {errors = a} :: BatchUpdateDevicePositionResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ BatchUpdateDevicePositionResponse+ where+ rnf BatchUpdateDevicePositionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf errors
+ gen/Amazonka/Location/CalculateRoute.hs view
@@ -0,0 +1,675 @@+{-# 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.Location.CalculateRoute+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html Calculates a route>+-- given the following required parameters: @DeparturePosition@ and+-- @DestinationPosition@. Requires that you first+-- <https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html create a route calculator resource>.+--+-- By default, a request that doesn\'t specify a departure time uses the+-- best time of day to travel with the best traffic conditions when+-- calculating the route.+--+-- Additional options include:+--+-- - <https://docs.aws.amazon.com/location/latest/developerguide/departure-time.html Specifying a departure time>+-- using either @DepartureTime@ or @DepartNow@. This calculates a route+-- based on predictive traffic data at the given time.+--+-- You can\'t specify both @DepartureTime@ and @DepartNow@ in a single+-- request. Specifying both parameters returns a validation error.+--+-- - <https://docs.aws.amazon.com/location/latest/developerguide/travel-mode.html Specifying a travel mode>+-- using TravelMode sets the transportation mode used to calculate the+-- routes. This also lets you specify additional route preferences in+-- @CarModeOptions@ if traveling by @Car@, or @TruckModeOptions@ if+-- traveling by @Truck@.+--+-- If you specify @walking@ for the travel mode and your data provider+-- is Esri, the start and destination must be within 40km.+module Amazonka.Location.CalculateRoute+ ( -- * Creating a Request+ CalculateRoute (..),+ newCalculateRoute,++ -- * Request Lenses+ calculateRoute_carModeOptions,+ calculateRoute_departNow,+ calculateRoute_departureTime,+ calculateRoute_distanceUnit,+ calculateRoute_includeLegGeometry,+ calculateRoute_travelMode,+ calculateRoute_truckModeOptions,+ calculateRoute_waypointPositions,+ calculateRoute_calculatorName,+ calculateRoute_departurePosition,+ calculateRoute_destinationPosition,++ -- * Destructuring the Response+ CalculateRouteResponse (..),+ newCalculateRouteResponse,++ -- * Response Lenses+ calculateRouteResponse_httpStatus,+ calculateRouteResponse_legs,+ calculateRouteResponse_summary,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCalculateRoute' smart constructor.+data CalculateRoute = CalculateRoute'+ { -- | Specifies route preferences when traveling by @Car@, such as avoiding+ -- routes that use ferries or tolls.+ --+ -- Requirements: @TravelMode@ must be specified as @Car@.+ carModeOptions :: Prelude.Maybe CalculateRouteCarModeOptions,+ -- | Sets the time of departure as the current time. Uses the current time to+ -- calculate a route. Otherwise, the best time of day to travel with the+ -- best traffic conditions is used to calculate the route.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ departNow :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the desired time of departure. Uses the given time to+ -- calculate the route. Otherwise, the best time of day to travel with the+ -- best traffic conditions is used to calculate the route.+ --+ -- Setting a departure time in the past returns a @400 ValidationException@+ -- error.+ --+ -- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+ -- @2020–07-2T12:15:20.000Z+01:00@+ departureTime :: Prelude.Maybe Data.ISO8601,+ -- | Set the unit system to specify the distance.+ --+ -- Default Value: @Kilometers@+ distanceUnit :: Prelude.Maybe DistanceUnit,+ -- | Set to include the geometry details in the result for each path between+ -- a pair of positions.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ includeLegGeometry :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the mode of transport when calculating a route. Used in+ -- estimating the speed of travel and road compatibility. You can choose+ -- @Car@, @Truck@, or @Walking@ as options for the @TravelMode@.+ --+ -- The @TravelMode@ you specify also determines how you specify route+ -- preferences:+ --+ -- - If traveling by @Car@ use the @CarModeOptions@ parameter.+ --+ -- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+ --+ -- Default Value: @Car@+ travelMode :: Prelude.Maybe TravelMode,+ -- | Specifies route preferences when traveling by @Truck@, such as avoiding+ -- routes that use ferries or tolls, and truck specifications to consider+ -- when choosing an optimal road.+ --+ -- Requirements: @TravelMode@ must be specified as @Truck@.+ truckModeOptions :: Prelude.Maybe CalculateRouteTruckModeOptions,+ -- | Specifies an ordered list of up to 23 intermediate positions to include+ -- along a route between the departure position and destination position.+ --+ -- - For example, from the @DeparturePosition@ @[-123.115, 49.285]@, the+ -- route follows the order that the waypoint positions are given+ -- @[[-122.757, 49.0021],[-122.349, 47.620]]@+ --+ -- If you specify a waypoint position that\'s not located on a road, Amazon+ -- Location+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+ --+ -- Specifying more than 23 waypoints returns a @400 ValidationException@+ -- error.+ --+ -- If Esri is the provider for your route calculator, specifying a route+ -- that is longer than 400 km returns a @400 RoutesValidationException@+ -- error.+ --+ -- Valid Values: @[-180 to 180,-90 to 90]@+ waypointPositions :: Prelude.Maybe [Data.Sensitive (Prelude.NonEmpty Prelude.Double)],+ -- | The name of the route calculator resource that you want to use to+ -- calculate the route.+ calculatorName :: Prelude.Text,+ -- | The start position for the route. Defined in+ -- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+ -- format: @[longitude, latitude]@.+ --+ -- - For example, @[-123.115, 49.285]@+ --+ -- If you specify a departure that\'s not located on a road, Amazon+ -- Location+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+ -- If Esri is the provider for your route calculator, specifying a route+ -- that is longer than 400 km returns a @400 RoutesValidationException@+ -- error.+ --+ -- Valid Values: @[-180 to 180,-90 to 90]@+ departurePosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The finish position for the route. Defined in+ -- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+ -- format: @[longitude, latitude]@.+ --+ -- - For example, @[-122.339, 47.615]@+ --+ -- If you specify a destination that\'s not located on a road, Amazon+ -- Location+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+ --+ -- Valid Values: @[-180 to 180,-90 to 90]@+ destinationPosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRoute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'carModeOptions', 'calculateRoute_carModeOptions' - Specifies route preferences when traveling by @Car@, such as avoiding+-- routes that use ferries or tolls.+--+-- Requirements: @TravelMode@ must be specified as @Car@.+--+-- 'departNow', 'calculateRoute_departNow' - Sets the time of departure as the current time. Uses the current time to+-- calculate a route. Otherwise, the best time of day to travel with the+-- best traffic conditions is used to calculate the route.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'departureTime', 'calculateRoute_departureTime' - Specifies the desired time of departure. Uses the given time to+-- calculate the route. Otherwise, the best time of day to travel with the+-- best traffic conditions is used to calculate the route.+--+-- Setting a departure time in the past returns a @400 ValidationException@+-- error.+--+-- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+-- @2020–07-2T12:15:20.000Z+01:00@+--+-- 'distanceUnit', 'calculateRoute_distanceUnit' - Set the unit system to specify the distance.+--+-- Default Value: @Kilometers@+--+-- 'includeLegGeometry', 'calculateRoute_includeLegGeometry' - Set to include the geometry details in the result for each path between+-- a pair of positions.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'travelMode', 'calculateRoute_travelMode' - Specifies the mode of transport when calculating a route. Used in+-- estimating the speed of travel and road compatibility. You can choose+-- @Car@, @Truck@, or @Walking@ as options for the @TravelMode@.+--+-- The @TravelMode@ you specify also determines how you specify route+-- preferences:+--+-- - If traveling by @Car@ use the @CarModeOptions@ parameter.+--+-- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+--+-- Default Value: @Car@+--+-- 'truckModeOptions', 'calculateRoute_truckModeOptions' - Specifies route preferences when traveling by @Truck@, such as avoiding+-- routes that use ferries or tolls, and truck specifications to consider+-- when choosing an optimal road.+--+-- Requirements: @TravelMode@ must be specified as @Truck@.+--+-- 'waypointPositions', 'calculateRoute_waypointPositions' - Specifies an ordered list of up to 23 intermediate positions to include+-- along a route between the departure position and destination position.+--+-- - For example, from the @DeparturePosition@ @[-123.115, 49.285]@, the+-- route follows the order that the waypoint positions are given+-- @[[-122.757, 49.0021],[-122.349, 47.620]]@+--+-- If you specify a waypoint position that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+--+-- Specifying more than 23 waypoints returns a @400 ValidationException@+-- error.+--+-- If Esri is the provider for your route calculator, specifying a route+-- that is longer than 400 km returns a @400 RoutesValidationException@+-- error.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+--+-- 'calculatorName', 'calculateRoute_calculatorName' - The name of the route calculator resource that you want to use to+-- calculate the route.+--+-- 'departurePosition', 'calculateRoute_departurePosition' - The start position for the route. Defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+-- format: @[longitude, latitude]@.+--+-- - For example, @[-123.115, 49.285]@+--+-- If you specify a departure that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- If Esri is the provider for your route calculator, specifying a route+-- that is longer than 400 km returns a @400 RoutesValidationException@+-- error.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+--+-- 'destinationPosition', 'calculateRoute_destinationPosition' - The finish position for the route. Defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+-- format: @[longitude, latitude]@.+--+-- - For example, @[-122.339, 47.615]@+--+-- If you specify a destination that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+newCalculateRoute ::+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'departurePosition'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'destinationPosition'+ Prelude.NonEmpty Prelude.Double ->+ CalculateRoute+newCalculateRoute+ pCalculatorName_+ pDeparturePosition_+ pDestinationPosition_ =+ CalculateRoute'+ { carModeOptions = Prelude.Nothing,+ departNow = Prelude.Nothing,+ departureTime = Prelude.Nothing,+ distanceUnit = Prelude.Nothing,+ includeLegGeometry = Prelude.Nothing,+ travelMode = Prelude.Nothing,+ truckModeOptions = Prelude.Nothing,+ waypointPositions = Prelude.Nothing,+ calculatorName = pCalculatorName_,+ departurePosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pDeparturePosition_,+ destinationPosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pDestinationPosition_+ }++-- | Specifies route preferences when traveling by @Car@, such as avoiding+-- routes that use ferries or tolls.+--+-- Requirements: @TravelMode@ must be specified as @Car@.+calculateRoute_carModeOptions :: Lens.Lens' CalculateRoute (Prelude.Maybe CalculateRouteCarModeOptions)+calculateRoute_carModeOptions = Lens.lens (\CalculateRoute' {carModeOptions} -> carModeOptions) (\s@CalculateRoute' {} a -> s {carModeOptions = a} :: CalculateRoute)++-- | Sets the time of departure as the current time. Uses the current time to+-- calculate a route. Otherwise, the best time of day to travel with the+-- best traffic conditions is used to calculate the route.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRoute_departNow :: Lens.Lens' CalculateRoute (Prelude.Maybe Prelude.Bool)+calculateRoute_departNow = Lens.lens (\CalculateRoute' {departNow} -> departNow) (\s@CalculateRoute' {} a -> s {departNow = a} :: CalculateRoute)++-- | Specifies the desired time of departure. Uses the given time to+-- calculate the route. Otherwise, the best time of day to travel with the+-- best traffic conditions is used to calculate the route.+--+-- Setting a departure time in the past returns a @400 ValidationException@+-- error.+--+-- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+-- @2020–07-2T12:15:20.000Z+01:00@+calculateRoute_departureTime :: Lens.Lens' CalculateRoute (Prelude.Maybe Prelude.UTCTime)+calculateRoute_departureTime = Lens.lens (\CalculateRoute' {departureTime} -> departureTime) (\s@CalculateRoute' {} a -> s {departureTime = a} :: CalculateRoute) Prelude.. Lens.mapping Data._Time++-- | Set the unit system to specify the distance.+--+-- Default Value: @Kilometers@+calculateRoute_distanceUnit :: Lens.Lens' CalculateRoute (Prelude.Maybe DistanceUnit)+calculateRoute_distanceUnit = Lens.lens (\CalculateRoute' {distanceUnit} -> distanceUnit) (\s@CalculateRoute' {} a -> s {distanceUnit = a} :: CalculateRoute)++-- | Set to include the geometry details in the result for each path between+-- a pair of positions.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRoute_includeLegGeometry :: Lens.Lens' CalculateRoute (Prelude.Maybe Prelude.Bool)+calculateRoute_includeLegGeometry = Lens.lens (\CalculateRoute' {includeLegGeometry} -> includeLegGeometry) (\s@CalculateRoute' {} a -> s {includeLegGeometry = a} :: CalculateRoute)++-- | Specifies the mode of transport when calculating a route. Used in+-- estimating the speed of travel and road compatibility. You can choose+-- @Car@, @Truck@, or @Walking@ as options for the @TravelMode@.+--+-- The @TravelMode@ you specify also determines how you specify route+-- preferences:+--+-- - If traveling by @Car@ use the @CarModeOptions@ parameter.+--+-- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+--+-- Default Value: @Car@+calculateRoute_travelMode :: Lens.Lens' CalculateRoute (Prelude.Maybe TravelMode)+calculateRoute_travelMode = Lens.lens (\CalculateRoute' {travelMode} -> travelMode) (\s@CalculateRoute' {} a -> s {travelMode = a} :: CalculateRoute)++-- | Specifies route preferences when traveling by @Truck@, such as avoiding+-- routes that use ferries or tolls, and truck specifications to consider+-- when choosing an optimal road.+--+-- Requirements: @TravelMode@ must be specified as @Truck@.+calculateRoute_truckModeOptions :: Lens.Lens' CalculateRoute (Prelude.Maybe CalculateRouteTruckModeOptions)+calculateRoute_truckModeOptions = Lens.lens (\CalculateRoute' {truckModeOptions} -> truckModeOptions) (\s@CalculateRoute' {} a -> s {truckModeOptions = a} :: CalculateRoute)++-- | Specifies an ordered list of up to 23 intermediate positions to include+-- along a route between the departure position and destination position.+--+-- - For example, from the @DeparturePosition@ @[-123.115, 49.285]@, the+-- route follows the order that the waypoint positions are given+-- @[[-122.757, 49.0021],[-122.349, 47.620]]@+--+-- If you specify a waypoint position that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+--+-- Specifying more than 23 waypoints returns a @400 ValidationException@+-- error.+--+-- If Esri is the provider for your route calculator, specifying a route+-- that is longer than 400 km returns a @400 RoutesValidationException@+-- error.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+calculateRoute_waypointPositions :: Lens.Lens' CalculateRoute (Prelude.Maybe [Prelude.NonEmpty Prelude.Double])+calculateRoute_waypointPositions = Lens.lens (\CalculateRoute' {waypointPositions} -> waypointPositions) (\s@CalculateRoute' {} a -> s {waypointPositions = a} :: CalculateRoute) Prelude.. Lens.mapping Lens.coerced++-- | The name of the route calculator resource that you want to use to+-- calculate the route.+calculateRoute_calculatorName :: Lens.Lens' CalculateRoute Prelude.Text+calculateRoute_calculatorName = Lens.lens (\CalculateRoute' {calculatorName} -> calculatorName) (\s@CalculateRoute' {} a -> s {calculatorName = a} :: CalculateRoute)++-- | The start position for the route. Defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+-- format: @[longitude, latitude]@.+--+-- - For example, @[-123.115, 49.285]@+--+-- If you specify a departure that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- If Esri is the provider for your route calculator, specifying a route+-- that is longer than 400 km returns a @400 RoutesValidationException@+-- error.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+calculateRoute_departurePosition :: Lens.Lens' CalculateRoute (Prelude.NonEmpty Prelude.Double)+calculateRoute_departurePosition = Lens.lens (\CalculateRoute' {departurePosition} -> departurePosition) (\s@CalculateRoute' {} a -> s {departurePosition = a} :: CalculateRoute) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The finish position for the route. Defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 World Geodetic System (WGS 84)>+-- format: @[longitude, latitude]@.+--+-- - For example, @[-122.339, 47.615]@+--+-- If you specify a destination that\'s not located on a road, Amazon+-- Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+calculateRoute_destinationPosition :: Lens.Lens' CalculateRoute (Prelude.NonEmpty Prelude.Double)+calculateRoute_destinationPosition = Lens.lens (\CalculateRoute' {destinationPosition} -> destinationPosition) (\s@CalculateRoute' {} a -> s {destinationPosition = a} :: CalculateRoute) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Core.AWSRequest CalculateRoute where+ type+ AWSResponse CalculateRoute =+ CalculateRouteResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CalculateRouteResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Legs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "Summary")+ )++instance Prelude.Hashable CalculateRoute where+ hashWithSalt _salt CalculateRoute' {..} =+ _salt+ `Prelude.hashWithSalt` carModeOptions+ `Prelude.hashWithSalt` departNow+ `Prelude.hashWithSalt` departureTime+ `Prelude.hashWithSalt` distanceUnit+ `Prelude.hashWithSalt` includeLegGeometry+ `Prelude.hashWithSalt` travelMode+ `Prelude.hashWithSalt` truckModeOptions+ `Prelude.hashWithSalt` waypointPositions+ `Prelude.hashWithSalt` calculatorName+ `Prelude.hashWithSalt` departurePosition+ `Prelude.hashWithSalt` destinationPosition++instance Prelude.NFData CalculateRoute where+ rnf CalculateRoute' {..} =+ Prelude.rnf carModeOptions+ `Prelude.seq` Prelude.rnf departNow+ `Prelude.seq` Prelude.rnf departureTime+ `Prelude.seq` Prelude.rnf distanceUnit+ `Prelude.seq` Prelude.rnf includeLegGeometry+ `Prelude.seq` Prelude.rnf travelMode+ `Prelude.seq` Prelude.rnf truckModeOptions+ `Prelude.seq` Prelude.rnf waypointPositions+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf departurePosition+ `Prelude.seq` Prelude.rnf destinationPosition++instance Data.ToHeaders CalculateRoute where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CalculateRoute where+ toJSON CalculateRoute' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CarModeOptions" Data..=)+ Prelude.<$> carModeOptions,+ ("DepartNow" Data..=) Prelude.<$> departNow,+ ("DepartureTime" Data..=) Prelude.<$> departureTime,+ ("DistanceUnit" Data..=) Prelude.<$> distanceUnit,+ ("IncludeLegGeometry" Data..=)+ Prelude.<$> includeLegGeometry,+ ("TravelMode" Data..=) Prelude.<$> travelMode,+ ("TruckModeOptions" Data..=)+ Prelude.<$> truckModeOptions,+ ("WaypointPositions" Data..=)+ Prelude.<$> waypointPositions,+ Prelude.Just+ ("DeparturePosition" Data..= departurePosition),+ Prelude.Just+ ("DestinationPosition" Data..= destinationPosition)+ ]+ )++instance Data.ToPath CalculateRoute where+ toPath CalculateRoute' {..} =+ Prelude.mconcat+ [ "/routes/v0/calculators/",+ Data.toBS calculatorName,+ "/calculate/route"+ ]++instance Data.ToQuery CalculateRoute where+ toQuery = Prelude.const Prelude.mempty++-- | Returns the result of the route calculation. Metadata includes legs and+-- route summary.+--+-- /See:/ 'newCalculateRouteResponse' smart constructor.+data CalculateRouteResponse = CalculateRouteResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains details about each path between a pair of positions included+ -- along a route such as: @StartPosition@, @EndPosition@, @Distance@,+ -- @DurationSeconds@, @Geometry@, and @Steps@. The number of legs returned+ -- corresponds to one fewer than the total number of positions in the+ -- request.+ --+ -- For example, a route with a departure position and destination position+ -- returns one leg with the positions+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>:+ --+ -- - The @StartPosition@ is the departure position.+ --+ -- - The @EndPosition@ is the destination position.+ --+ -- A route with a waypoint between the departure and destination position+ -- returns two legs with the positions snapped to a nearby road:+ --+ -- - Leg 1: The @StartPosition@ is the departure position . The+ -- @EndPosition@ is the waypoint positon.+ --+ -- - Leg 2: The @StartPosition@ is the waypoint position. The+ -- @EndPosition@ is the destination position.+ legs :: [Leg],+ -- | Contains information about the whole route, such as: @RouteBBox@,+ -- @DataSource@, @Distance@, @DistanceUnit@, and @DurationSeconds@.+ summary :: CalculateRouteSummary+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'calculateRouteResponse_httpStatus' - The response's http status code.+--+-- 'legs', 'calculateRouteResponse_legs' - Contains details about each path between a pair of positions included+-- along a route such as: @StartPosition@, @EndPosition@, @Distance@,+-- @DurationSeconds@, @Geometry@, and @Steps@. The number of legs returned+-- corresponds to one fewer than the total number of positions in the+-- request.+--+-- For example, a route with a departure position and destination position+-- returns one leg with the positions+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>:+--+-- - The @StartPosition@ is the departure position.+--+-- - The @EndPosition@ is the destination position.+--+-- A route with a waypoint between the departure and destination position+-- returns two legs with the positions snapped to a nearby road:+--+-- - Leg 1: The @StartPosition@ is the departure position . The+-- @EndPosition@ is the waypoint positon.+--+-- - Leg 2: The @StartPosition@ is the waypoint position. The+-- @EndPosition@ is the destination position.+--+-- 'summary', 'calculateRouteResponse_summary' - Contains information about the whole route, such as: @RouteBBox@,+-- @DataSource@, @Distance@, @DistanceUnit@, and @DurationSeconds@.+newCalculateRouteResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'summary'+ CalculateRouteSummary ->+ CalculateRouteResponse+newCalculateRouteResponse pHttpStatus_ pSummary_ =+ CalculateRouteResponse'+ { httpStatus = pHttpStatus_,+ legs = Prelude.mempty,+ summary = pSummary_+ }++-- | The response's http status code.+calculateRouteResponse_httpStatus :: Lens.Lens' CalculateRouteResponse Prelude.Int+calculateRouteResponse_httpStatus = Lens.lens (\CalculateRouteResponse' {httpStatus} -> httpStatus) (\s@CalculateRouteResponse' {} a -> s {httpStatus = a} :: CalculateRouteResponse)++-- | Contains details about each path between a pair of positions included+-- along a route such as: @StartPosition@, @EndPosition@, @Distance@,+-- @DurationSeconds@, @Geometry@, and @Steps@. The number of legs returned+-- corresponds to one fewer than the total number of positions in the+-- request.+--+-- For example, a route with a departure position and destination position+-- returns one leg with the positions+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>:+--+-- - The @StartPosition@ is the departure position.+--+-- - The @EndPosition@ is the destination position.+--+-- A route with a waypoint between the departure and destination position+-- returns two legs with the positions snapped to a nearby road:+--+-- - Leg 1: The @StartPosition@ is the departure position . The+-- @EndPosition@ is the waypoint positon.+--+-- - Leg 2: The @StartPosition@ is the waypoint position. The+-- @EndPosition@ is the destination position.+calculateRouteResponse_legs :: Lens.Lens' CalculateRouteResponse [Leg]+calculateRouteResponse_legs = Lens.lens (\CalculateRouteResponse' {legs} -> legs) (\s@CalculateRouteResponse' {} a -> s {legs = a} :: CalculateRouteResponse) Prelude.. Lens.coerced++-- | Contains information about the whole route, such as: @RouteBBox@,+-- @DataSource@, @Distance@, @DistanceUnit@, and @DurationSeconds@.+calculateRouteResponse_summary :: Lens.Lens' CalculateRouteResponse CalculateRouteSummary+calculateRouteResponse_summary = Lens.lens (\CalculateRouteResponse' {summary} -> summary) (\s@CalculateRouteResponse' {} a -> s {summary = a} :: CalculateRouteResponse)++instance Prelude.NFData CalculateRouteResponse where+ rnf CalculateRouteResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf legs+ `Prelude.seq` Prelude.rnf summary
+ gen/Amazonka/Location/CalculateRouteMatrix.hs view
@@ -0,0 +1,603 @@+{-# 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.Location.CalculateRouteMatrix+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html Calculates a route matrix>+-- given the following required parameters: @DeparturePositions@ and+-- @DestinationPositions@. @CalculateRouteMatrix@ calculates routes and+-- returns the travel time and travel distance from each departure position+-- to each destination position in the request. For example, given+-- departure positions A and B, and destination positions X and Y,+-- @CalculateRouteMatrix@ will return time and distance for routes from A+-- to X, A to Y, B to X, and B to Y (in that order). The number of results+-- returned (and routes calculated) will be the number of+-- @DeparturePositions@ times the number of @DestinationPositions@.+--+-- Your account is charged for each route calculated, not the number of+-- requests.+--+-- Requires that you first+-- <https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html create a route calculator resource>.+--+-- By default, a request that doesn\'t specify a departure time uses the+-- best time of day to travel with the best traffic conditions when+-- calculating routes.+--+-- Additional options include:+--+-- - <https://docs.aws.amazon.com/location/latest/developerguide/departure-time.html Specifying a departure time>+-- using either @DepartureTime@ or @DepartNow@. This calculates routes+-- based on predictive traffic data at the given time.+--+-- You can\'t specify both @DepartureTime@ and @DepartNow@ in a single+-- request. Specifying both parameters returns a validation error.+--+-- - <https://docs.aws.amazon.com/location/latest/developerguide/travel-mode.html Specifying a travel mode>+-- using TravelMode sets the transportation mode used to calculate the+-- routes. This also lets you specify additional route preferences in+-- @CarModeOptions@ if traveling by @Car@, or @TruckModeOptions@ if+-- traveling by @Truck@.+module Amazonka.Location.CalculateRouteMatrix+ ( -- * Creating a Request+ CalculateRouteMatrix (..),+ newCalculateRouteMatrix,++ -- * Request Lenses+ calculateRouteMatrix_carModeOptions,+ calculateRouteMatrix_departNow,+ calculateRouteMatrix_departureTime,+ calculateRouteMatrix_distanceUnit,+ calculateRouteMatrix_travelMode,+ calculateRouteMatrix_truckModeOptions,+ calculateRouteMatrix_calculatorName,+ calculateRouteMatrix_departurePositions,+ calculateRouteMatrix_destinationPositions,++ -- * Destructuring the Response+ CalculateRouteMatrixResponse (..),+ newCalculateRouteMatrixResponse,++ -- * Response Lenses+ calculateRouteMatrixResponse_snappedDeparturePositions,+ calculateRouteMatrixResponse_snappedDestinationPositions,+ calculateRouteMatrixResponse_httpStatus,+ calculateRouteMatrixResponse_routeMatrix,+ calculateRouteMatrixResponse_summary,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCalculateRouteMatrix' smart constructor.+data CalculateRouteMatrix = CalculateRouteMatrix'+ { -- | Specifies route preferences when traveling by @Car@, such as avoiding+ -- routes that use ferries or tolls.+ --+ -- Requirements: @TravelMode@ must be specified as @Car@.+ carModeOptions :: Prelude.Maybe CalculateRouteCarModeOptions,+ -- | Sets the time of departure as the current time. Uses the current time to+ -- calculate the route matrix. You can\'t set both @DepartureTime@ and+ -- @DepartNow@. If neither is set, the best time of day to travel with the+ -- best traffic conditions is used to calculate the route matrix.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ departNow :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the desired time of departure. Uses the given time to+ -- calculate the route matrix. You can\'t set both @DepartureTime@ and+ -- @DepartNow@. If neither is set, the best time of day to travel with the+ -- best traffic conditions is used to calculate the route matrix.+ --+ -- Setting a departure time in the past returns a @400 ValidationException@+ -- error.+ --+ -- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+ -- @2020–07-2T12:15:20.000Z+01:00@+ departureTime :: Prelude.Maybe Data.ISO8601,+ -- | Set the unit system to specify the distance.+ --+ -- Default Value: @Kilometers@+ distanceUnit :: Prelude.Maybe DistanceUnit,+ -- | Specifies the mode of transport when calculating a route. Used in+ -- estimating the speed of travel and road compatibility.+ --+ -- The @TravelMode@ you specify also determines how you specify route+ -- preferences:+ --+ -- - If traveling by @Car@ use the @CarModeOptions@ parameter.+ --+ -- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+ --+ -- Default Value: @Car@+ travelMode :: Prelude.Maybe TravelMode,+ -- | Specifies route preferences when traveling by @Truck@, such as avoiding+ -- routes that use ferries or tolls, and truck specifications to consider+ -- when choosing an optimal road.+ --+ -- Requirements: @TravelMode@ must be specified as @Truck@.+ truckModeOptions :: Prelude.Maybe CalculateRouteTruckModeOptions,+ -- | The name of the route calculator resource that you want to use to+ -- calculate the route matrix.+ calculatorName :: Prelude.Text,+ -- | The list of departure (origin) positions for the route matrix. An array+ -- of points, each of which is itself a 2-value array defined in+ -- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+ -- @[longitude, latitude]@. For example, @[-123.115, 49.285]@.+ --+ -- Depending on the data provider selected in the route calculator resource+ -- there may be additional restrictions on the inputs you can choose. See+ -- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+ -- in the /Amazon Location Service Developer Guide/.+ --+ -- For route calculators that use Esri as the data provider, if you specify+ -- a departure that\'s not located on a road, Amazon Location+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+ -- The snapped value is available in the result in+ -- @SnappedDeparturePositions@.+ --+ -- Valid Values: @[-180 to 180,-90 to 90]@+ departurePositions :: Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | The list of destination positions for the route matrix. An array of+ -- points, each of which is itself a 2-value array defined in+ -- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+ -- @[longitude, latitude]@. For example, @[-122.339, 47.615]@+ --+ -- Depending on the data provider selected in the route calculator resource+ -- there may be additional restrictions on the inputs you can choose. See+ -- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+ -- in the /Amazon Location Service Developer Guide/.+ --+ -- For route calculators that use Esri as the data provider, if you specify+ -- a destination that\'s not located on a road, Amazon Location+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+ -- The snapped value is available in the result in+ -- @SnappedDestinationPositions@.+ --+ -- Valid Values: @[-180 to 180,-90 to 90]@+ destinationPositions :: Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteMatrix' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'carModeOptions', 'calculateRouteMatrix_carModeOptions' - Specifies route preferences when traveling by @Car@, such as avoiding+-- routes that use ferries or tolls.+--+-- Requirements: @TravelMode@ must be specified as @Car@.+--+-- 'departNow', 'calculateRouteMatrix_departNow' - Sets the time of departure as the current time. Uses the current time to+-- calculate the route matrix. You can\'t set both @DepartureTime@ and+-- @DepartNow@. If neither is set, the best time of day to travel with the+-- best traffic conditions is used to calculate the route matrix.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'departureTime', 'calculateRouteMatrix_departureTime' - Specifies the desired time of departure. Uses the given time to+-- calculate the route matrix. You can\'t set both @DepartureTime@ and+-- @DepartNow@. If neither is set, the best time of day to travel with the+-- best traffic conditions is used to calculate the route matrix.+--+-- Setting a departure time in the past returns a @400 ValidationException@+-- error.+--+-- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+-- @2020–07-2T12:15:20.000Z+01:00@+--+-- 'distanceUnit', 'calculateRouteMatrix_distanceUnit' - Set the unit system to specify the distance.+--+-- Default Value: @Kilometers@+--+-- 'travelMode', 'calculateRouteMatrix_travelMode' - Specifies the mode of transport when calculating a route. Used in+-- estimating the speed of travel and road compatibility.+--+-- The @TravelMode@ you specify also determines how you specify route+-- preferences:+--+-- - If traveling by @Car@ use the @CarModeOptions@ parameter.+--+-- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+--+-- Default Value: @Car@+--+-- 'truckModeOptions', 'calculateRouteMatrix_truckModeOptions' - Specifies route preferences when traveling by @Truck@, such as avoiding+-- routes that use ferries or tolls, and truck specifications to consider+-- when choosing an optimal road.+--+-- Requirements: @TravelMode@ must be specified as @Truck@.+--+-- 'calculatorName', 'calculateRouteMatrix_calculatorName' - The name of the route calculator resource that you want to use to+-- calculate the route matrix.+--+-- 'departurePositions', 'calculateRouteMatrix_departurePositions' - The list of departure (origin) positions for the route matrix. An array+-- of points, each of which is itself a 2-value array defined in+-- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+-- @[longitude, latitude]@. For example, @[-123.115, 49.285]@.+--+-- Depending on the data provider selected in the route calculator resource+-- there may be additional restrictions on the inputs you can choose. See+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+-- in the /Amazon Location Service Developer Guide/.+--+-- For route calculators that use Esri as the data provider, if you specify+-- a departure that\'s not located on a road, Amazon Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- The snapped value is available in the result in+-- @SnappedDeparturePositions@.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+--+-- 'destinationPositions', 'calculateRouteMatrix_destinationPositions' - The list of destination positions for the route matrix. An array of+-- points, each of which is itself a 2-value array defined in+-- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+-- @[longitude, latitude]@. For example, @[-122.339, 47.615]@+--+-- Depending on the data provider selected in the route calculator resource+-- there may be additional restrictions on the inputs you can choose. See+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+-- in the /Amazon Location Service Developer Guide/.+--+-- For route calculators that use Esri as the data provider, if you specify+-- a destination that\'s not located on a road, Amazon Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- The snapped value is available in the result in+-- @SnappedDestinationPositions@.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+newCalculateRouteMatrix ::+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'departurePositions'+ Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double) ->+ -- | 'destinationPositions'+ Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double) ->+ CalculateRouteMatrix+newCalculateRouteMatrix+ pCalculatorName_+ pDeparturePositions_+ pDestinationPositions_ =+ CalculateRouteMatrix'+ { carModeOptions =+ Prelude.Nothing,+ departNow = Prelude.Nothing,+ departureTime = Prelude.Nothing,+ distanceUnit = Prelude.Nothing,+ travelMode = Prelude.Nothing,+ truckModeOptions = Prelude.Nothing,+ calculatorName = pCalculatorName_,+ departurePositions =+ Lens.coerced Lens.# pDeparturePositions_,+ destinationPositions =+ Lens.coerced Lens.# pDestinationPositions_+ }++-- | Specifies route preferences when traveling by @Car@, such as avoiding+-- routes that use ferries or tolls.+--+-- Requirements: @TravelMode@ must be specified as @Car@.+calculateRouteMatrix_carModeOptions :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe CalculateRouteCarModeOptions)+calculateRouteMatrix_carModeOptions = Lens.lens (\CalculateRouteMatrix' {carModeOptions} -> carModeOptions) (\s@CalculateRouteMatrix' {} a -> s {carModeOptions = a} :: CalculateRouteMatrix)++-- | Sets the time of departure as the current time. Uses the current time to+-- calculate the route matrix. You can\'t set both @DepartureTime@ and+-- @DepartNow@. If neither is set, the best time of day to travel with the+-- best traffic conditions is used to calculate the route matrix.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRouteMatrix_departNow :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe Prelude.Bool)+calculateRouteMatrix_departNow = Lens.lens (\CalculateRouteMatrix' {departNow} -> departNow) (\s@CalculateRouteMatrix' {} a -> s {departNow = a} :: CalculateRouteMatrix)++-- | Specifies the desired time of departure. Uses the given time to+-- calculate the route matrix. You can\'t set both @DepartureTime@ and+-- @DepartNow@. If neither is set, the best time of day to travel with the+-- best traffic conditions is used to calculate the route matrix.+--+-- Setting a departure time in the past returns a @400 ValidationException@+-- error.+--+-- - In <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. For example,+-- @2020–07-2T12:15:20.000Z+01:00@+calculateRouteMatrix_departureTime :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe Prelude.UTCTime)+calculateRouteMatrix_departureTime = Lens.lens (\CalculateRouteMatrix' {departureTime} -> departureTime) (\s@CalculateRouteMatrix' {} a -> s {departureTime = a} :: CalculateRouteMatrix) Prelude.. Lens.mapping Data._Time++-- | Set the unit system to specify the distance.+--+-- Default Value: @Kilometers@+calculateRouteMatrix_distanceUnit :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe DistanceUnit)+calculateRouteMatrix_distanceUnit = Lens.lens (\CalculateRouteMatrix' {distanceUnit} -> distanceUnit) (\s@CalculateRouteMatrix' {} a -> s {distanceUnit = a} :: CalculateRouteMatrix)++-- | Specifies the mode of transport when calculating a route. Used in+-- estimating the speed of travel and road compatibility.+--+-- The @TravelMode@ you specify also determines how you specify route+-- preferences:+--+-- - If traveling by @Car@ use the @CarModeOptions@ parameter.+--+-- - If traveling by @Truck@ use the @TruckModeOptions@ parameter.+--+-- Default Value: @Car@+calculateRouteMatrix_travelMode :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe TravelMode)+calculateRouteMatrix_travelMode = Lens.lens (\CalculateRouteMatrix' {travelMode} -> travelMode) (\s@CalculateRouteMatrix' {} a -> s {travelMode = a} :: CalculateRouteMatrix)++-- | Specifies route preferences when traveling by @Truck@, such as avoiding+-- routes that use ferries or tolls, and truck specifications to consider+-- when choosing an optimal road.+--+-- Requirements: @TravelMode@ must be specified as @Truck@.+calculateRouteMatrix_truckModeOptions :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe CalculateRouteTruckModeOptions)+calculateRouteMatrix_truckModeOptions = Lens.lens (\CalculateRouteMatrix' {truckModeOptions} -> truckModeOptions) (\s@CalculateRouteMatrix' {} a -> s {truckModeOptions = a} :: CalculateRouteMatrix)++-- | The name of the route calculator resource that you want to use to+-- calculate the route matrix.+calculateRouteMatrix_calculatorName :: Lens.Lens' CalculateRouteMatrix Prelude.Text+calculateRouteMatrix_calculatorName = Lens.lens (\CalculateRouteMatrix' {calculatorName} -> calculatorName) (\s@CalculateRouteMatrix' {} a -> s {calculatorName = a} :: CalculateRouteMatrix)++-- | The list of departure (origin) positions for the route matrix. An array+-- of points, each of which is itself a 2-value array defined in+-- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+-- @[longitude, latitude]@. For example, @[-123.115, 49.285]@.+--+-- Depending on the data provider selected in the route calculator resource+-- there may be additional restrictions on the inputs you can choose. See+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+-- in the /Amazon Location Service Developer Guide/.+--+-- For route calculators that use Esri as the data provider, if you specify+-- a departure that\'s not located on a road, Amazon Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- The snapped value is available in the result in+-- @SnappedDeparturePositions@.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+calculateRouteMatrix_departurePositions :: Lens.Lens' CalculateRouteMatrix (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))+calculateRouteMatrix_departurePositions = Lens.lens (\CalculateRouteMatrix' {departurePositions} -> departurePositions) (\s@CalculateRouteMatrix' {} a -> s {departurePositions = a} :: CalculateRouteMatrix) Prelude.. Lens.coerced++-- | The list of destination positions for the route matrix. An array of+-- points, each of which is itself a 2-value array defined in+-- <https://earth-info.nga.mil/GandG/wgs84/index.html WGS 84> format:+-- @[longitude, latitude]@. For example, @[-122.339, 47.615]@+--+-- Depending on the data provider selected in the route calculator resource+-- there may be additional restrictions on the inputs you can choose. See+-- <https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix.html#matrix-routing-position-limits Position restrictions>+-- in the /Amazon Location Service Developer Guide/.+--+-- For route calculators that use Esri as the data provider, if you specify+-- a destination that\'s not located on a road, Amazon Location+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html moves the position to the nearest road>.+-- The snapped value is available in the result in+-- @SnappedDestinationPositions@.+--+-- Valid Values: @[-180 to 180,-90 to 90]@+calculateRouteMatrix_destinationPositions :: Lens.Lens' CalculateRouteMatrix (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))+calculateRouteMatrix_destinationPositions = Lens.lens (\CalculateRouteMatrix' {destinationPositions} -> destinationPositions) (\s@CalculateRouteMatrix' {} a -> s {destinationPositions = a} :: CalculateRouteMatrix) Prelude.. Lens.coerced++instance Core.AWSRequest CalculateRouteMatrix where+ type+ AWSResponse CalculateRouteMatrix =+ CalculateRouteMatrixResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CalculateRouteMatrixResponse'+ Prelude.<$> (x Data..?> "SnappedDeparturePositions")+ Prelude.<*> (x Data..?> "SnappedDestinationPositions")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "RouteMatrix" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "Summary")+ )++instance Prelude.Hashable CalculateRouteMatrix where+ hashWithSalt _salt CalculateRouteMatrix' {..} =+ _salt+ `Prelude.hashWithSalt` carModeOptions+ `Prelude.hashWithSalt` departNow+ `Prelude.hashWithSalt` departureTime+ `Prelude.hashWithSalt` distanceUnit+ `Prelude.hashWithSalt` travelMode+ `Prelude.hashWithSalt` truckModeOptions+ `Prelude.hashWithSalt` calculatorName+ `Prelude.hashWithSalt` departurePositions+ `Prelude.hashWithSalt` destinationPositions++instance Prelude.NFData CalculateRouteMatrix where+ rnf CalculateRouteMatrix' {..} =+ Prelude.rnf carModeOptions+ `Prelude.seq` Prelude.rnf departNow+ `Prelude.seq` Prelude.rnf departureTime+ `Prelude.seq` Prelude.rnf distanceUnit+ `Prelude.seq` Prelude.rnf travelMode+ `Prelude.seq` Prelude.rnf truckModeOptions+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf departurePositions+ `Prelude.seq` Prelude.rnf destinationPositions++instance Data.ToHeaders CalculateRouteMatrix where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CalculateRouteMatrix where+ toJSON CalculateRouteMatrix' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("CarModeOptions" Data..=)+ Prelude.<$> carModeOptions,+ ("DepartNow" Data..=) Prelude.<$> departNow,+ ("DepartureTime" Data..=) Prelude.<$> departureTime,+ ("DistanceUnit" Data..=) Prelude.<$> distanceUnit,+ ("TravelMode" Data..=) Prelude.<$> travelMode,+ ("TruckModeOptions" Data..=)+ Prelude.<$> truckModeOptions,+ Prelude.Just+ ("DeparturePositions" Data..= departurePositions),+ Prelude.Just+ ( "DestinationPositions"+ Data..= destinationPositions+ )+ ]+ )++instance Data.ToPath CalculateRouteMatrix where+ toPath CalculateRouteMatrix' {..} =+ Prelude.mconcat+ [ "/routes/v0/calculators/",+ Data.toBS calculatorName,+ "/calculate/route-matrix"+ ]++instance Data.ToQuery CalculateRouteMatrix where+ toQuery = Prelude.const Prelude.mempty++-- | Returns the result of the route matrix calculation.+--+-- /See:/ 'newCalculateRouteMatrixResponse' smart constructor.+data CalculateRouteMatrixResponse = CalculateRouteMatrixResponse'+ { -- | For routes calculated using an Esri route calculator resource, departure+ -- positions are snapped to the closest road. For Esri route calculator+ -- resources, this returns the list of departure\/origin positions used for+ -- calculation of the @RouteMatrix@.+ snappedDeparturePositions :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))),+ -- | The list of destination positions for the route matrix used for+ -- calculation of the @RouteMatrix@.+ snappedDestinationPositions :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The calculated route matrix containing the results for all pairs of+ -- @DeparturePositions@ to @DestinationPositions@. Each row corresponds to+ -- one entry in @DeparturePositions@. Each entry in the row corresponds to+ -- the route from that entry in @DeparturePositions@ to an entry in+ -- @DestinationPositions@.+ routeMatrix :: [[RouteMatrixEntry]],+ -- | Contains information about the route matrix, @DataSource@,+ -- @DistanceUnit@, @RouteCount@ and @ErrorCount@.+ summary :: CalculateRouteMatrixSummary+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteMatrixResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snappedDeparturePositions', 'calculateRouteMatrixResponse_snappedDeparturePositions' - For routes calculated using an Esri route calculator resource, departure+-- positions are snapped to the closest road. For Esri route calculator+-- resources, this returns the list of departure\/origin positions used for+-- calculation of the @RouteMatrix@.+--+-- 'snappedDestinationPositions', 'calculateRouteMatrixResponse_snappedDestinationPositions' - The list of destination positions for the route matrix used for+-- calculation of the @RouteMatrix@.+--+-- 'httpStatus', 'calculateRouteMatrixResponse_httpStatus' - The response's http status code.+--+-- 'routeMatrix', 'calculateRouteMatrixResponse_routeMatrix' - The calculated route matrix containing the results for all pairs of+-- @DeparturePositions@ to @DestinationPositions@. Each row corresponds to+-- one entry in @DeparturePositions@. Each entry in the row corresponds to+-- the route from that entry in @DeparturePositions@ to an entry in+-- @DestinationPositions@.+--+-- 'summary', 'calculateRouteMatrixResponse_summary' - Contains information about the route matrix, @DataSource@,+-- @DistanceUnit@, @RouteCount@ and @ErrorCount@.+newCalculateRouteMatrixResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'summary'+ CalculateRouteMatrixSummary ->+ CalculateRouteMatrixResponse+newCalculateRouteMatrixResponse+ pHttpStatus_+ pSummary_ =+ CalculateRouteMatrixResponse'+ { snappedDeparturePositions =+ Prelude.Nothing,+ snappedDestinationPositions = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ routeMatrix = Prelude.mempty,+ summary = pSummary_+ }++-- | For routes calculated using an Esri route calculator resource, departure+-- positions are snapped to the closest road. For Esri route calculator+-- resources, this returns the list of departure\/origin positions used for+-- calculation of the @RouteMatrix@.+calculateRouteMatrixResponse_snappedDeparturePositions :: Lens.Lens' CalculateRouteMatrixResponse (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))+calculateRouteMatrixResponse_snappedDeparturePositions = Lens.lens (\CalculateRouteMatrixResponse' {snappedDeparturePositions} -> snappedDeparturePositions) (\s@CalculateRouteMatrixResponse' {} a -> s {snappedDeparturePositions = a} :: CalculateRouteMatrixResponse) Prelude.. Lens.mapping Lens.coerced++-- | The list of destination positions for the route matrix used for+-- calculation of the @RouteMatrix@.+calculateRouteMatrixResponse_snappedDestinationPositions :: Lens.Lens' CalculateRouteMatrixResponse (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))+calculateRouteMatrixResponse_snappedDestinationPositions = Lens.lens (\CalculateRouteMatrixResponse' {snappedDestinationPositions} -> snappedDestinationPositions) (\s@CalculateRouteMatrixResponse' {} a -> s {snappedDestinationPositions = a} :: CalculateRouteMatrixResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+calculateRouteMatrixResponse_httpStatus :: Lens.Lens' CalculateRouteMatrixResponse Prelude.Int+calculateRouteMatrixResponse_httpStatus = Lens.lens (\CalculateRouteMatrixResponse' {httpStatus} -> httpStatus) (\s@CalculateRouteMatrixResponse' {} a -> s {httpStatus = a} :: CalculateRouteMatrixResponse)++-- | The calculated route matrix containing the results for all pairs of+-- @DeparturePositions@ to @DestinationPositions@. Each row corresponds to+-- one entry in @DeparturePositions@. Each entry in the row corresponds to+-- the route from that entry in @DeparturePositions@ to an entry in+-- @DestinationPositions@.+calculateRouteMatrixResponse_routeMatrix :: Lens.Lens' CalculateRouteMatrixResponse [[RouteMatrixEntry]]+calculateRouteMatrixResponse_routeMatrix = Lens.lens (\CalculateRouteMatrixResponse' {routeMatrix} -> routeMatrix) (\s@CalculateRouteMatrixResponse' {} a -> s {routeMatrix = a} :: CalculateRouteMatrixResponse) Prelude.. Lens.coerced++-- | Contains information about the route matrix, @DataSource@,+-- @DistanceUnit@, @RouteCount@ and @ErrorCount@.+calculateRouteMatrixResponse_summary :: Lens.Lens' CalculateRouteMatrixResponse CalculateRouteMatrixSummary+calculateRouteMatrixResponse_summary = Lens.lens (\CalculateRouteMatrixResponse' {summary} -> summary) (\s@CalculateRouteMatrixResponse' {} a -> s {summary = a} :: CalculateRouteMatrixResponse)++instance Prelude.NFData CalculateRouteMatrixResponse where+ rnf CalculateRouteMatrixResponse' {..} =+ Prelude.rnf snappedDeparturePositions+ `Prelude.seq` Prelude.rnf snappedDestinationPositions+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf routeMatrix+ `Prelude.seq` Prelude.rnf summary
+ gen/Amazonka/Location/CreateGeofenceCollection.hs view
@@ -0,0 +1,386 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.CreateGeofenceCollection+-- 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 geofence collection, which manages and stores geofences.+module Amazonka.Location.CreateGeofenceCollection+ ( -- * Creating a Request+ CreateGeofenceCollection (..),+ newCreateGeofenceCollection,++ -- * Request Lenses+ createGeofenceCollection_description,+ createGeofenceCollection_kmsKeyId,+ createGeofenceCollection_pricingPlan,+ createGeofenceCollection_pricingPlanDataSource,+ createGeofenceCollection_tags,+ createGeofenceCollection_collectionName,++ -- * Destructuring the Response+ CreateGeofenceCollectionResponse (..),+ newCreateGeofenceCollectionResponse,++ -- * Response Lenses+ createGeofenceCollectionResponse_httpStatus,+ createGeofenceCollectionResponse_collectionArn,+ createGeofenceCollectionResponse_collectionName,+ createGeofenceCollectionResponse_createTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGeofenceCollection' smart constructor.+data CreateGeofenceCollection = CreateGeofenceCollection'+ { -- | An optional description for the geofence collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | A key identifier for an+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+ -- Enter a key ID, key ARN, alias name, or alias ARN.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | This parameter is no longer used.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | Applies one or more tags to the geofence collection. A tag is a+ -- key-value pair helps manage, identify, search, and filter your resources+ -- by labelling them.+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource+ --+ -- - Each resource tag must be unique with a maximum of one value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@.+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A custom name for the geofence collection.+ --+ -- Requirements:+ --+ -- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+ -- periods (.), and underscores (_).+ --+ -- - Must be a unique geofence collection name.+ --+ -- - No spaces allowed. For example, @ExampleGeofenceCollection@.+ collectionName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGeofenceCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createGeofenceCollection_description' - An optional description for the geofence collection.+--+-- 'kmsKeyId', 'createGeofenceCollection_kmsKeyId' - A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+-- Enter a key ID, key ARN, alias name, or alias ARN.+--+-- 'pricingPlan', 'createGeofenceCollection_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'createGeofenceCollection_pricingPlanDataSource' - This parameter is no longer used.+--+-- 'tags', 'createGeofenceCollection_tags' - Applies one or more tags to the geofence collection. A tag is a+-- key-value pair helps manage, identify, search, and filter your resources+-- by labelling them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+--+-- 'collectionName', 'createGeofenceCollection_collectionName' - A custom name for the geofence collection.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique geofence collection name.+--+-- - No spaces allowed. For example, @ExampleGeofenceCollection@.+newCreateGeofenceCollection ::+ -- | 'collectionName'+ Prelude.Text ->+ CreateGeofenceCollection+newCreateGeofenceCollection pCollectionName_ =+ CreateGeofenceCollection'+ { description =+ Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ tags = Prelude.Nothing,+ collectionName = pCollectionName_+ }++-- | An optional description for the geofence collection.+createGeofenceCollection_description :: Lens.Lens' CreateGeofenceCollection (Prelude.Maybe Prelude.Text)+createGeofenceCollection_description = Lens.lens (\CreateGeofenceCollection' {description} -> description) (\s@CreateGeofenceCollection' {} a -> s {description = a} :: CreateGeofenceCollection)++-- | A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+-- Enter a key ID, key ARN, alias name, or alias ARN.+createGeofenceCollection_kmsKeyId :: Lens.Lens' CreateGeofenceCollection (Prelude.Maybe Prelude.Text)+createGeofenceCollection_kmsKeyId = Lens.lens (\CreateGeofenceCollection' {kmsKeyId} -> kmsKeyId) (\s@CreateGeofenceCollection' {} a -> s {kmsKeyId = a} :: CreateGeofenceCollection)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+createGeofenceCollection_pricingPlan :: Lens.Lens' CreateGeofenceCollection (Prelude.Maybe PricingPlan)+createGeofenceCollection_pricingPlan = Lens.lens (\CreateGeofenceCollection' {pricingPlan} -> pricingPlan) (\s@CreateGeofenceCollection' {} a -> s {pricingPlan = a} :: CreateGeofenceCollection)++-- | This parameter is no longer used.+createGeofenceCollection_pricingPlanDataSource :: Lens.Lens' CreateGeofenceCollection (Prelude.Maybe Prelude.Text)+createGeofenceCollection_pricingPlanDataSource = Lens.lens (\CreateGeofenceCollection' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@CreateGeofenceCollection' {} a -> s {pricingPlanDataSource = a} :: CreateGeofenceCollection)++-- | Applies one or more tags to the geofence collection. A tag is a+-- key-value pair helps manage, identify, search, and filter your resources+-- by labelling them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+createGeofenceCollection_tags :: Lens.Lens' CreateGeofenceCollection (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createGeofenceCollection_tags = Lens.lens (\CreateGeofenceCollection' {tags} -> tags) (\s@CreateGeofenceCollection' {} a -> s {tags = a} :: CreateGeofenceCollection) Prelude.. Lens.mapping Lens.coerced++-- | A custom name for the geofence collection.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique geofence collection name.+--+-- - No spaces allowed. For example, @ExampleGeofenceCollection@.+createGeofenceCollection_collectionName :: Lens.Lens' CreateGeofenceCollection Prelude.Text+createGeofenceCollection_collectionName = Lens.lens (\CreateGeofenceCollection' {collectionName} -> collectionName) (\s@CreateGeofenceCollection' {} a -> s {collectionName = a} :: CreateGeofenceCollection)++instance Core.AWSRequest CreateGeofenceCollection where+ type+ AWSResponse CreateGeofenceCollection =+ CreateGeofenceCollectionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateGeofenceCollectionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CollectionArn")+ Prelude.<*> (x Data..:> "CollectionName")+ Prelude.<*> (x Data..:> "CreateTime")+ )++instance Prelude.Hashable CreateGeofenceCollection where+ hashWithSalt _salt CreateGeofenceCollection' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` collectionName++instance Prelude.NFData CreateGeofenceCollection where+ rnf CreateGeofenceCollection' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf collectionName++instance Data.ToHeaders CreateGeofenceCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateGeofenceCollection where+ toJSON CreateGeofenceCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("PricingPlanDataSource" Data..=)+ Prelude.<$> pricingPlanDataSource,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CollectionName" Data..= collectionName)+ ]+ )++instance Data.ToPath CreateGeofenceCollection where+ toPath = Prelude.const "/geofencing/v0/collections"++instance Data.ToQuery CreateGeofenceCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGeofenceCollectionResponse' smart constructor.+data CreateGeofenceCollectionResponse = CreateGeofenceCollectionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) for the geofence collection resource.+ -- Used when you need to specify a resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+ collectionArn :: Prelude.Text,+ -- | The name for the geofence collection.+ collectionName :: Prelude.Text,+ -- | The timestamp for when the geofence collection was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGeofenceCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createGeofenceCollectionResponse_httpStatus' - The response's http status code.+--+-- 'collectionArn', 'createGeofenceCollectionResponse_collectionArn' - The Amazon Resource Name (ARN) for the geofence collection resource.+-- Used when you need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+--+-- 'collectionName', 'createGeofenceCollectionResponse_collectionName' - The name for the geofence collection.+--+-- 'createTime', 'createGeofenceCollectionResponse_createTime' - The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newCreateGeofenceCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'collectionArn'+ Prelude.Text ->+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ CreateGeofenceCollectionResponse+newCreateGeofenceCollectionResponse+ pHttpStatus_+ pCollectionArn_+ pCollectionName_+ pCreateTime_ =+ CreateGeofenceCollectionResponse'+ { httpStatus =+ pHttpStatus_,+ collectionArn = pCollectionArn_,+ collectionName = pCollectionName_,+ createTime =+ Data._Time Lens.# pCreateTime_+ }++-- | The response's http status code.+createGeofenceCollectionResponse_httpStatus :: Lens.Lens' CreateGeofenceCollectionResponse Prelude.Int+createGeofenceCollectionResponse_httpStatus = Lens.lens (\CreateGeofenceCollectionResponse' {httpStatus} -> httpStatus) (\s@CreateGeofenceCollectionResponse' {} a -> s {httpStatus = a} :: CreateGeofenceCollectionResponse)++-- | The Amazon Resource Name (ARN) for the geofence collection resource.+-- Used when you need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+createGeofenceCollectionResponse_collectionArn :: Lens.Lens' CreateGeofenceCollectionResponse Prelude.Text+createGeofenceCollectionResponse_collectionArn = Lens.lens (\CreateGeofenceCollectionResponse' {collectionArn} -> collectionArn) (\s@CreateGeofenceCollectionResponse' {} a -> s {collectionArn = a} :: CreateGeofenceCollectionResponse)++-- | The name for the geofence collection.+createGeofenceCollectionResponse_collectionName :: Lens.Lens' CreateGeofenceCollectionResponse Prelude.Text+createGeofenceCollectionResponse_collectionName = Lens.lens (\CreateGeofenceCollectionResponse' {collectionName} -> collectionName) (\s@CreateGeofenceCollectionResponse' {} a -> s {collectionName = a} :: CreateGeofenceCollectionResponse)++-- | The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+createGeofenceCollectionResponse_createTime :: Lens.Lens' CreateGeofenceCollectionResponse Prelude.UTCTime+createGeofenceCollectionResponse_createTime = Lens.lens (\CreateGeofenceCollectionResponse' {createTime} -> createTime) (\s@CreateGeofenceCollectionResponse' {} a -> s {createTime = a} :: CreateGeofenceCollectionResponse) Prelude.. Data._Time++instance+ Prelude.NFData+ CreateGeofenceCollectionResponse+ where+ rnf CreateGeofenceCollectionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf collectionArn+ `Prelude.seq` Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf createTime
+ gen/Amazonka/Location/CreateMap.hs view
@@ -0,0 +1,369 @@+{-# 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.Location.CreateMap+-- 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 map resource in your AWS account, which provides map tiles of+-- different styles sourced from global location data providers.+--+-- If your application is tracking or routing assets you use in your+-- business, such as delivery vehicles or employees, you may only use HERE+-- as your geolocation provider. See section 82 of the+-- <http://aws.amazon.com/service-terms AWS service terms> for more+-- details.+module Amazonka.Location.CreateMap+ ( -- * Creating a Request+ CreateMap (..),+ newCreateMap,++ -- * Request Lenses+ createMap_description,+ createMap_pricingPlan,+ createMap_tags,+ createMap_configuration,+ createMap_mapName,++ -- * Destructuring the Response+ CreateMapResponse (..),+ newCreateMapResponse,++ -- * Response Lenses+ createMapResponse_httpStatus,+ createMapResponse_createTime,+ createMapResponse_mapArn,+ createMapResponse_mapName,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMap' smart constructor.+data CreateMap = CreateMap'+ { -- | An optional description for the map resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Applies one or more tags to the map resource. A tag is a key-value pair+ -- helps manage, identify, search, and filter your resources by labelling+ -- them.+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource+ --+ -- - Each resource tag must be unique with a maximum of one value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@.+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Specifies the @MapConfiguration@, including the map style, for the map+ -- resource that you create. The map style defines the look of maps and the+ -- data provider for your map resource.+ configuration :: MapConfiguration,+ -- | The name for the map resource.+ --+ -- Requirements:+ --+ -- - Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens+ -- (-), periods (.), and underscores (_).+ --+ -- - Must be a unique map resource name.+ --+ -- - No spaces allowed. For example, @ExampleMap@.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createMap_description' - An optional description for the map resource.+--+-- 'pricingPlan', 'createMap_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'tags', 'createMap_tags' - Applies one or more tags to the map resource. A tag is a key-value pair+-- helps manage, identify, search, and filter your resources by labelling+-- them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+--+-- 'configuration', 'createMap_configuration' - Specifies the @MapConfiguration@, including the map style, for the map+-- resource that you create. The map style defines the look of maps and the+-- data provider for your map resource.+--+-- 'mapName', 'createMap_mapName' - The name for the map resource.+--+-- Requirements:+--+-- - Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens+-- (-), periods (.), and underscores (_).+--+-- - Must be a unique map resource name.+--+-- - No spaces allowed. For example, @ExampleMap@.+newCreateMap ::+ -- | 'configuration'+ MapConfiguration ->+ -- | 'mapName'+ Prelude.Text ->+ CreateMap+newCreateMap pConfiguration_ pMapName_ =+ CreateMap'+ { description = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ tags = Prelude.Nothing,+ configuration = pConfiguration_,+ mapName = pMapName_+ }++-- | An optional description for the map resource.+createMap_description :: Lens.Lens' CreateMap (Prelude.Maybe Prelude.Text)+createMap_description = Lens.lens (\CreateMap' {description} -> description) (\s@CreateMap' {} a -> s {description = a} :: CreateMap)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+createMap_pricingPlan :: Lens.Lens' CreateMap (Prelude.Maybe PricingPlan)+createMap_pricingPlan = Lens.lens (\CreateMap' {pricingPlan} -> pricingPlan) (\s@CreateMap' {} a -> s {pricingPlan = a} :: CreateMap)++-- | Applies one or more tags to the map resource. A tag is a key-value pair+-- helps manage, identify, search, and filter your resources by labelling+-- them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+createMap_tags :: Lens.Lens' CreateMap (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createMap_tags = Lens.lens (\CreateMap' {tags} -> tags) (\s@CreateMap' {} a -> s {tags = a} :: CreateMap) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the @MapConfiguration@, including the map style, for the map+-- resource that you create. The map style defines the look of maps and the+-- data provider for your map resource.+createMap_configuration :: Lens.Lens' CreateMap MapConfiguration+createMap_configuration = Lens.lens (\CreateMap' {configuration} -> configuration) (\s@CreateMap' {} a -> s {configuration = a} :: CreateMap)++-- | The name for the map resource.+--+-- Requirements:+--+-- - Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens+-- (-), periods (.), and underscores (_).+--+-- - Must be a unique map resource name.+--+-- - No spaces allowed. For example, @ExampleMap@.+createMap_mapName :: Lens.Lens' CreateMap Prelude.Text+createMap_mapName = Lens.lens (\CreateMap' {mapName} -> mapName) (\s@CreateMap' {} a -> s {mapName = a} :: CreateMap)++instance Core.AWSRequest CreateMap where+ type AWSResponse CreateMap = CreateMapResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateMapResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "MapArn")+ Prelude.<*> (x Data..:> "MapName")+ )++instance Prelude.Hashable CreateMap where+ hashWithSalt _salt CreateMap' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` configuration+ `Prelude.hashWithSalt` mapName++instance Prelude.NFData CreateMap where+ rnf CreateMap' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf mapName++instance Data.ToHeaders CreateMap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateMap where+ toJSON CreateMap' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("Configuration" Data..= configuration),+ Prelude.Just ("MapName" Data..= mapName)+ ]+ )++instance Data.ToPath CreateMap where+ toPath = Prelude.const "/maps/v0/maps"++instance Data.ToQuery CreateMap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMapResponse' smart constructor.+data CreateMapResponse = CreateMapResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the map resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The Amazon Resource Name (ARN) for the map resource. Used to specify a+ -- resource across all AWS.+ --+ -- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+ mapArn :: Prelude.Text,+ -- | The name of the map resource.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createMapResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'createMapResponse_createTime' - The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'mapArn', 'createMapResponse_mapArn' - The Amazon Resource Name (ARN) for the map resource. Used to specify a+-- resource across all AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+--+-- 'mapName', 'createMapResponse_mapName' - The name of the map resource.+newCreateMapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'mapArn'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ CreateMapResponse+newCreateMapResponse+ pHttpStatus_+ pCreateTime_+ pMapArn_+ pMapName_ =+ CreateMapResponse'+ { httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ mapArn = pMapArn_,+ mapName = pMapName_+ }++-- | The response's http status code.+createMapResponse_httpStatus :: Lens.Lens' CreateMapResponse Prelude.Int+createMapResponse_httpStatus = Lens.lens (\CreateMapResponse' {httpStatus} -> httpStatus) (\s@CreateMapResponse' {} a -> s {httpStatus = a} :: CreateMapResponse)++-- | The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+createMapResponse_createTime :: Lens.Lens' CreateMapResponse Prelude.UTCTime+createMapResponse_createTime = Lens.lens (\CreateMapResponse' {createTime} -> createTime) (\s@CreateMapResponse' {} a -> s {createTime = a} :: CreateMapResponse) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) for the map resource. Used to specify a+-- resource across all AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+createMapResponse_mapArn :: Lens.Lens' CreateMapResponse Prelude.Text+createMapResponse_mapArn = Lens.lens (\CreateMapResponse' {mapArn} -> mapArn) (\s@CreateMapResponse' {} a -> s {mapArn = a} :: CreateMapResponse)++-- | The name of the map resource.+createMapResponse_mapName :: Lens.Lens' CreateMapResponse Prelude.Text+createMapResponse_mapName = Lens.lens (\CreateMapResponse' {mapName} -> mapName) (\s@CreateMapResponse' {} a -> s {mapName = a} :: CreateMapResponse)++instance Prelude.NFData CreateMapResponse where+ rnf CreateMapResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf mapArn+ `Prelude.seq` Prelude.rnf mapName
+ gen/Amazonka/Location/CreatePlaceIndex.hs view
@@ -0,0 +1,468 @@+{-# 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.Location.CreatePlaceIndex+-- 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 place index resource in your AWS account. Use a place index+-- resource to geocode addresses and other text queries by using the+-- @SearchPlaceIndexForText@ operation, and reverse geocode coordinates by+-- using the @SearchPlaceIndexForPosition@ operation, and enable+-- autosuggestions by using the @SearchPlaceIndexForSuggestions@ operation.+--+-- If your application is tracking or routing assets you use in your+-- business, such as delivery vehicles or employees, you may only use HERE+-- as your geolocation provider. See section 82 of the+-- <http://aws.amazon.com/service-terms AWS service terms> for more+-- details.+module Amazonka.Location.CreatePlaceIndex+ ( -- * Creating a Request+ CreatePlaceIndex (..),+ newCreatePlaceIndex,++ -- * Request Lenses+ createPlaceIndex_dataSourceConfiguration,+ createPlaceIndex_description,+ createPlaceIndex_pricingPlan,+ createPlaceIndex_tags,+ createPlaceIndex_dataSource,+ createPlaceIndex_indexName,++ -- * Destructuring the Response+ CreatePlaceIndexResponse (..),+ newCreatePlaceIndexResponse,++ -- * Response Lenses+ createPlaceIndexResponse_httpStatus,+ createPlaceIndexResponse_createTime,+ createPlaceIndexResponse_indexArn,+ createPlaceIndexResponse_indexName,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePlaceIndex' smart constructor.+data CreatePlaceIndex = CreatePlaceIndex'+ { -- | Specifies the data storage option requesting Places.+ dataSourceConfiguration :: Prelude.Maybe DataSourceConfiguration,+ -- | The optional description for the place index resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Applies one or more tags to the place index resource. A tag is a+ -- key-value pair that helps you manage, identify, search, and filter your+ -- resources.+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource.+ --+ -- - Each tag key must be unique and must have exactly one associated+ -- value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8.+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8.+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Specifies the geospatial data provider for the new place index.+ --+ -- This field is case-sensitive. Enter the valid values as shown. For+ -- example, entering @HERE@ returns an error.+ --+ -- Valid values include:+ --+ -- - @Esri@ – For additional information about+ -- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+ -- coverage in your region of interest, see+ -- <https://developers.arcgis.com/rest/geocode/api-reference/geocode-coverage.htm Esri details on geocoding coverage>.+ --+ -- - @Here@ – For additional information about+ -- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+ -- coverage in your region of interest, see+ -- <https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html HERE details on goecoding coverage>.+ --+ -- If you specify HERE Technologies (@Here@) as the data provider, you+ -- may not+ -- <https://docs.aws.amazon.com/location-places/latest/APIReference/API_DataSourceConfiguration.html store results>+ -- for locations in Japan. For more information, see the+ -- <https://aws.amazon.com/service-terms/ AWS Service Terms> for Amazon+ -- Location Service.+ --+ -- For additional information , see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+ -- on the /Amazon Location Service Developer Guide/.+ dataSource :: Prelude.Text,+ -- | The name of the place index resource.+ --+ -- Requirements:+ --+ -- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+ -- periods (.), and underscores (_).+ --+ -- - Must be a unique place index resource name.+ --+ -- - No spaces allowed. For example, @ExamplePlaceIndex@.+ indexName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePlaceIndex' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceConfiguration', 'createPlaceIndex_dataSourceConfiguration' - Specifies the data storage option requesting Places.+--+-- 'description', 'createPlaceIndex_description' - The optional description for the place index resource.+--+-- 'pricingPlan', 'createPlaceIndex_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'tags', 'createPlaceIndex_tags' - Applies one or more tags to the place index resource. A tag is a+-- key-value pair that helps you manage, identify, search, and filter your+-- resources.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource.+--+-- - Each tag key must be unique and must have exactly one associated+-- value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8.+--+-- - Maximum value length: 256 Unicode characters in UTF-8.+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@+--+-- - Cannot use \"aws:\" as a prefix for a key.+--+-- 'dataSource', 'createPlaceIndex_dataSource' - Specifies the geospatial data provider for the new place index.+--+-- This field is case-sensitive. Enter the valid values as shown. For+-- example, entering @HERE@ returns an error.+--+-- Valid values include:+--+-- - @Esri@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+-- coverage in your region of interest, see+-- <https://developers.arcgis.com/rest/geocode/api-reference/geocode-coverage.htm Esri details on geocoding coverage>.+--+-- - @Here@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+-- coverage in your region of interest, see+-- <https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html HERE details on goecoding coverage>.+--+-- If you specify HERE Technologies (@Here@) as the data provider, you+-- may not+-- <https://docs.aws.amazon.com/location-places/latest/APIReference/API_DataSourceConfiguration.html store results>+-- for locations in Japan. For more information, see the+-- <https://aws.amazon.com/service-terms/ AWS Service Terms> for Amazon+-- Location Service.+--+-- For additional information , see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+-- on the /Amazon Location Service Developer Guide/.+--+-- 'indexName', 'createPlaceIndex_indexName' - The name of the place index resource.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique place index resource name.+--+-- - No spaces allowed. For example, @ExamplePlaceIndex@.+newCreatePlaceIndex ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'indexName'+ Prelude.Text ->+ CreatePlaceIndex+newCreatePlaceIndex pDataSource_ pIndexName_ =+ CreatePlaceIndex'+ { dataSourceConfiguration =+ Prelude.Nothing,+ description = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ tags = Prelude.Nothing,+ dataSource = pDataSource_,+ indexName = pIndexName_+ }++-- | Specifies the data storage option requesting Places.+createPlaceIndex_dataSourceConfiguration :: Lens.Lens' CreatePlaceIndex (Prelude.Maybe DataSourceConfiguration)+createPlaceIndex_dataSourceConfiguration = Lens.lens (\CreatePlaceIndex' {dataSourceConfiguration} -> dataSourceConfiguration) (\s@CreatePlaceIndex' {} a -> s {dataSourceConfiguration = a} :: CreatePlaceIndex)++-- | The optional description for the place index resource.+createPlaceIndex_description :: Lens.Lens' CreatePlaceIndex (Prelude.Maybe Prelude.Text)+createPlaceIndex_description = Lens.lens (\CreatePlaceIndex' {description} -> description) (\s@CreatePlaceIndex' {} a -> s {description = a} :: CreatePlaceIndex)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+createPlaceIndex_pricingPlan :: Lens.Lens' CreatePlaceIndex (Prelude.Maybe PricingPlan)+createPlaceIndex_pricingPlan = Lens.lens (\CreatePlaceIndex' {pricingPlan} -> pricingPlan) (\s@CreatePlaceIndex' {} a -> s {pricingPlan = a} :: CreatePlaceIndex)++-- | Applies one or more tags to the place index resource. A tag is a+-- key-value pair that helps you manage, identify, search, and filter your+-- resources.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource.+--+-- - Each tag key must be unique and must have exactly one associated+-- value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8.+--+-- - Maximum value length: 256 Unicode characters in UTF-8.+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@+--+-- - Cannot use \"aws:\" as a prefix for a key.+createPlaceIndex_tags :: Lens.Lens' CreatePlaceIndex (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPlaceIndex_tags = Lens.lens (\CreatePlaceIndex' {tags} -> tags) (\s@CreatePlaceIndex' {} a -> s {tags = a} :: CreatePlaceIndex) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the geospatial data provider for the new place index.+--+-- This field is case-sensitive. Enter the valid values as shown. For+-- example, entering @HERE@ returns an error.+--+-- Valid values include:+--+-- - @Esri@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+-- coverage in your region of interest, see+-- <https://developers.arcgis.com/rest/geocode/api-reference/geocode-coverage.htm Esri details on geocoding coverage>.+--+-- - @Here@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+-- coverage in your region of interest, see+-- <https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html HERE details on goecoding coverage>.+--+-- If you specify HERE Technologies (@Here@) as the data provider, you+-- may not+-- <https://docs.aws.amazon.com/location-places/latest/APIReference/API_DataSourceConfiguration.html store results>+-- for locations in Japan. For more information, see the+-- <https://aws.amazon.com/service-terms/ AWS Service Terms> for Amazon+-- Location Service.+--+-- For additional information , see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+-- on the /Amazon Location Service Developer Guide/.+createPlaceIndex_dataSource :: Lens.Lens' CreatePlaceIndex Prelude.Text+createPlaceIndex_dataSource = Lens.lens (\CreatePlaceIndex' {dataSource} -> dataSource) (\s@CreatePlaceIndex' {} a -> s {dataSource = a} :: CreatePlaceIndex)++-- | The name of the place index resource.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique place index resource name.+--+-- - No spaces allowed. For example, @ExamplePlaceIndex@.+createPlaceIndex_indexName :: Lens.Lens' CreatePlaceIndex Prelude.Text+createPlaceIndex_indexName = Lens.lens (\CreatePlaceIndex' {indexName} -> indexName) (\s@CreatePlaceIndex' {} a -> s {indexName = a} :: CreatePlaceIndex)++instance Core.AWSRequest CreatePlaceIndex where+ type+ AWSResponse CreatePlaceIndex =+ CreatePlaceIndexResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePlaceIndexResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "IndexArn")+ Prelude.<*> (x Data..:> "IndexName")+ )++instance Prelude.Hashable CreatePlaceIndex where+ hashWithSalt _salt CreatePlaceIndex' {..} =+ _salt+ `Prelude.hashWithSalt` dataSourceConfiguration+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` indexName++instance Prelude.NFData CreatePlaceIndex where+ rnf CreatePlaceIndex' {..} =+ Prelude.rnf dataSourceConfiguration+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf indexName++instance Data.ToHeaders CreatePlaceIndex where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreatePlaceIndex where+ toJSON CreatePlaceIndex' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DataSourceConfiguration" Data..=)+ Prelude.<$> dataSourceConfiguration,+ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("DataSource" Data..= dataSource),+ Prelude.Just ("IndexName" Data..= indexName)+ ]+ )++instance Data.ToPath CreatePlaceIndex where+ toPath = Prelude.const "/places/v0/indexes"++instance Data.ToQuery CreatePlaceIndex where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePlaceIndexResponse' smart constructor.+data CreatePlaceIndexResponse = CreatePlaceIndexResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the place index resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The Amazon Resource Name (ARN) for the place index resource. Used to+ -- specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+ indexArn :: Prelude.Text,+ -- | The name for the place index resource.+ indexName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePlaceIndexResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPlaceIndexResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'createPlaceIndexResponse_createTime' - The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'indexArn', 'createPlaceIndexResponse_indexArn' - The Amazon Resource Name (ARN) for the place index resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+--+-- 'indexName', 'createPlaceIndexResponse_indexName' - The name for the place index resource.+newCreatePlaceIndexResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'indexArn'+ Prelude.Text ->+ -- | 'indexName'+ Prelude.Text ->+ CreatePlaceIndexResponse+newCreatePlaceIndexResponse+ pHttpStatus_+ pCreateTime_+ pIndexArn_+ pIndexName_ =+ CreatePlaceIndexResponse'+ { httpStatus =+ pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ indexArn = pIndexArn_,+ indexName = pIndexName_+ }++-- | The response's http status code.+createPlaceIndexResponse_httpStatus :: Lens.Lens' CreatePlaceIndexResponse Prelude.Int+createPlaceIndexResponse_httpStatus = Lens.lens (\CreatePlaceIndexResponse' {httpStatus} -> httpStatus) (\s@CreatePlaceIndexResponse' {} a -> s {httpStatus = a} :: CreatePlaceIndexResponse)++-- | The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+createPlaceIndexResponse_createTime :: Lens.Lens' CreatePlaceIndexResponse Prelude.UTCTime+createPlaceIndexResponse_createTime = Lens.lens (\CreatePlaceIndexResponse' {createTime} -> createTime) (\s@CreatePlaceIndexResponse' {} a -> s {createTime = a} :: CreatePlaceIndexResponse) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) for the place index resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+createPlaceIndexResponse_indexArn :: Lens.Lens' CreatePlaceIndexResponse Prelude.Text+createPlaceIndexResponse_indexArn = Lens.lens (\CreatePlaceIndexResponse' {indexArn} -> indexArn) (\s@CreatePlaceIndexResponse' {} a -> s {indexArn = a} :: CreatePlaceIndexResponse)++-- | The name for the place index resource.+createPlaceIndexResponse_indexName :: Lens.Lens' CreatePlaceIndexResponse Prelude.Text+createPlaceIndexResponse_indexName = Lens.lens (\CreatePlaceIndexResponse' {indexName} -> indexName) (\s@CreatePlaceIndexResponse' {} a -> s {indexName = a} :: CreatePlaceIndexResponse)++instance Prelude.NFData CreatePlaceIndexResponse where+ rnf CreatePlaceIndexResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf indexArn+ `Prelude.seq` Prelude.rnf indexName
+ gen/Amazonka/Location/CreateRouteCalculator.hs view
@@ -0,0 +1,463 @@+{-# 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.Location.CreateRouteCalculator+-- 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 route calculator resource in your AWS account.+--+-- You can send requests to a route calculator resource to estimate travel+-- time, distance, and get directions. A route calculator sources traffic+-- and road network data from your chosen data provider.+--+-- If your application is tracking or routing assets you use in your+-- business, such as delivery vehicles or employees, you may only use HERE+-- as your geolocation provider. See section 82 of the+-- <http://aws.amazon.com/service-terms AWS service terms> for more+-- details.+module Amazonka.Location.CreateRouteCalculator+ ( -- * Creating a Request+ CreateRouteCalculator (..),+ newCreateRouteCalculator,++ -- * Request Lenses+ createRouteCalculator_description,+ createRouteCalculator_pricingPlan,+ createRouteCalculator_tags,+ createRouteCalculator_calculatorName,+ createRouteCalculator_dataSource,++ -- * Destructuring the Response+ CreateRouteCalculatorResponse (..),+ newCreateRouteCalculatorResponse,++ -- * Response Lenses+ createRouteCalculatorResponse_httpStatus,+ createRouteCalculatorResponse_calculatorArn,+ createRouteCalculatorResponse_calculatorName,+ createRouteCalculatorResponse_createTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateRouteCalculator' smart constructor.+data CreateRouteCalculator = CreateRouteCalculator'+ { -- | The optional description for the route calculator resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Applies one or more tags to the route calculator resource. A tag is a+ -- key-value pair helps manage, identify, search, and filter your resources+ -- by labelling them.+ --+ -- - For example: { @\"tag1\" : \"value1\"@, @\"tag2\" : \"value2\"@}+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource+ --+ -- - Each resource tag must be unique with a maximum of one value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@.+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the route calculator resource.+ --+ -- Requirements:+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-),+ -- periods (.), and underscores (_).+ --+ -- - Must be a unique Route calculator resource name.+ --+ -- - No spaces allowed. For example, @ExampleRouteCalculator@.+ calculatorName :: Prelude.Text,+ -- | Specifies the data provider of traffic and road network data.+ --+ -- This field is case-sensitive. Enter the valid values as shown. For+ -- example, entering @HERE@ returns an error. Route calculators that use+ -- Esri as a data source only calculate routes that are shorter than 400+ -- km.+ --+ -- Valid values include:+ --+ -- - @Esri@ – For additional information about+ -- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+ -- coverage in your region of interest, see+ -- <https://doc.arcgis.com/en/arcgis-online/reference/network-coverage.htm Esri details on street networks and traffic coverage>.+ --+ -- - @Here@ – For additional information about+ -- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+ -- coverage in your region of interest, see+ -- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/car-routing.html HERE car routing coverage>+ -- and+ -- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/truck-routing.html HERE truck routing coverage>.+ --+ -- For additional information , see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+ -- on the /Amazon Location Service Developer Guide/.+ dataSource :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRouteCalculator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createRouteCalculator_description' - The optional description for the route calculator resource.+--+-- 'pricingPlan', 'createRouteCalculator_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'tags', 'createRouteCalculator_tags' - Applies one or more tags to the route calculator resource. A tag is a+-- key-value pair helps manage, identify, search, and filter your resources+-- by labelling them.+--+-- - For example: { @\"tag1\" : \"value1\"@, @\"tag2\" : \"value2\"@}+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+--+-- 'calculatorName', 'createRouteCalculator_calculatorName' - The name of the route calculator resource.+--+-- Requirements:+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique Route calculator resource name.+--+-- - No spaces allowed. For example, @ExampleRouteCalculator@.+--+-- 'dataSource', 'createRouteCalculator_dataSource' - Specifies the data provider of traffic and road network data.+--+-- This field is case-sensitive. Enter the valid values as shown. For+-- example, entering @HERE@ returns an error. Route calculators that use+-- Esri as a data source only calculate routes that are shorter than 400+-- km.+--+-- Valid values include:+--+-- - @Esri@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+-- coverage in your region of interest, see+-- <https://doc.arcgis.com/en/arcgis-online/reference/network-coverage.htm Esri details on street networks and traffic coverage>.+--+-- - @Here@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+-- coverage in your region of interest, see+-- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/car-routing.html HERE car routing coverage>+-- and+-- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/truck-routing.html HERE truck routing coverage>.+--+-- For additional information , see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+-- on the /Amazon Location Service Developer Guide/.+newCreateRouteCalculator ::+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'dataSource'+ Prelude.Text ->+ CreateRouteCalculator+newCreateRouteCalculator+ pCalculatorName_+ pDataSource_ =+ CreateRouteCalculator'+ { description =+ Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ tags = Prelude.Nothing,+ calculatorName = pCalculatorName_,+ dataSource = pDataSource_+ }++-- | The optional description for the route calculator resource.+createRouteCalculator_description :: Lens.Lens' CreateRouteCalculator (Prelude.Maybe Prelude.Text)+createRouteCalculator_description = Lens.lens (\CreateRouteCalculator' {description} -> description) (\s@CreateRouteCalculator' {} a -> s {description = a} :: CreateRouteCalculator)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+createRouteCalculator_pricingPlan :: Lens.Lens' CreateRouteCalculator (Prelude.Maybe PricingPlan)+createRouteCalculator_pricingPlan = Lens.lens (\CreateRouteCalculator' {pricingPlan} -> pricingPlan) (\s@CreateRouteCalculator' {} a -> s {pricingPlan = a} :: CreateRouteCalculator)++-- | Applies one or more tags to the route calculator resource. A tag is a+-- key-value pair helps manage, identify, search, and filter your resources+-- by labelling them.+--+-- - For example: { @\"tag1\" : \"value1\"@, @\"tag2\" : \"value2\"@}+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+createRouteCalculator_tags :: Lens.Lens' CreateRouteCalculator (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRouteCalculator_tags = Lens.lens (\CreateRouteCalculator' {tags} -> tags) (\s@CreateRouteCalculator' {} a -> s {tags = a} :: CreateRouteCalculator) Prelude.. Lens.mapping Lens.coerced++-- | The name of the route calculator resource.+--+-- Requirements:+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique Route calculator resource name.+--+-- - No spaces allowed. For example, @ExampleRouteCalculator@.+createRouteCalculator_calculatorName :: Lens.Lens' CreateRouteCalculator Prelude.Text+createRouteCalculator_calculatorName = Lens.lens (\CreateRouteCalculator' {calculatorName} -> calculatorName) (\s@CreateRouteCalculator' {} a -> s {calculatorName = a} :: CreateRouteCalculator)++-- | Specifies the data provider of traffic and road network data.+--+-- This field is case-sensitive. Enter the valid values as shown. For+-- example, entering @HERE@ returns an error. Route calculators that use+-- Esri as a data source only calculate routes that are shorter than 400+-- km.+--+-- Valid values include:+--+-- - @Esri@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>\'s+-- coverage in your region of interest, see+-- <https://doc.arcgis.com/en/arcgis-online/reference/network-coverage.htm Esri details on street networks and traffic coverage>.+--+-- - @Here@ – For additional information about+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>\'+-- coverage in your region of interest, see+-- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/car-routing.html HERE car routing coverage>+-- and+-- <https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/truck-routing.html HERE truck routing coverage>.+--+-- For additional information , see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Data providers>+-- on the /Amazon Location Service Developer Guide/.+createRouteCalculator_dataSource :: Lens.Lens' CreateRouteCalculator Prelude.Text+createRouteCalculator_dataSource = Lens.lens (\CreateRouteCalculator' {dataSource} -> dataSource) (\s@CreateRouteCalculator' {} a -> s {dataSource = a} :: CreateRouteCalculator)++instance Core.AWSRequest CreateRouteCalculator where+ type+ AWSResponse CreateRouteCalculator =+ CreateRouteCalculatorResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateRouteCalculatorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CalculatorArn")+ Prelude.<*> (x Data..:> "CalculatorName")+ Prelude.<*> (x Data..:> "CreateTime")+ )++instance Prelude.Hashable CreateRouteCalculator where+ hashWithSalt _salt CreateRouteCalculator' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` calculatorName+ `Prelude.hashWithSalt` dataSource++instance Prelude.NFData CreateRouteCalculator where+ rnf CreateRouteCalculator' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf dataSource++instance Data.ToHeaders CreateRouteCalculator where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateRouteCalculator where+ toJSON CreateRouteCalculator' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("CalculatorName" Data..= calculatorName),+ Prelude.Just ("DataSource" Data..= dataSource)+ ]+ )++instance Data.ToPath CreateRouteCalculator where+ toPath = Prelude.const "/routes/v0/calculators"++instance Data.ToQuery CreateRouteCalculator where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRouteCalculatorResponse' smart constructor.+data CreateRouteCalculatorResponse = CreateRouteCalculatorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) for the route calculator resource. Use+ -- the ARN when you specify a resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+ calculatorArn :: Prelude.Text,+ -- | The name of the route calculator resource.+ --+ -- - For example, @ExampleRouteCalculator@.+ calculatorName :: Prelude.Text,+ -- | The timestamp when the route calculator resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ --+ -- - For example, @2020–07-2T12:15:20.000Z+01:00@+ createTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRouteCalculatorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createRouteCalculatorResponse_httpStatus' - The response's http status code.+--+-- 'calculatorArn', 'createRouteCalculatorResponse_calculatorArn' - The Amazon Resource Name (ARN) for the route calculator resource. Use+-- the ARN when you specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+--+-- 'calculatorName', 'createRouteCalculatorResponse_calculatorName' - The name of the route calculator resource.+--+-- - For example, @ExampleRouteCalculator@.+--+-- 'createTime', 'createRouteCalculatorResponse_createTime' - The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+newCreateRouteCalculatorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'calculatorArn'+ Prelude.Text ->+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ CreateRouteCalculatorResponse+newCreateRouteCalculatorResponse+ pHttpStatus_+ pCalculatorArn_+ pCalculatorName_+ pCreateTime_ =+ CreateRouteCalculatorResponse'+ { httpStatus =+ pHttpStatus_,+ calculatorArn = pCalculatorArn_,+ calculatorName = pCalculatorName_,+ createTime = Data._Time Lens.# pCreateTime_+ }++-- | The response's http status code.+createRouteCalculatorResponse_httpStatus :: Lens.Lens' CreateRouteCalculatorResponse Prelude.Int+createRouteCalculatorResponse_httpStatus = Lens.lens (\CreateRouteCalculatorResponse' {httpStatus} -> httpStatus) (\s@CreateRouteCalculatorResponse' {} a -> s {httpStatus = a} :: CreateRouteCalculatorResponse)++-- | The Amazon Resource Name (ARN) for the route calculator resource. Use+-- the ARN when you specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+createRouteCalculatorResponse_calculatorArn :: Lens.Lens' CreateRouteCalculatorResponse Prelude.Text+createRouteCalculatorResponse_calculatorArn = Lens.lens (\CreateRouteCalculatorResponse' {calculatorArn} -> calculatorArn) (\s@CreateRouteCalculatorResponse' {} a -> s {calculatorArn = a} :: CreateRouteCalculatorResponse)++-- | The name of the route calculator resource.+--+-- - For example, @ExampleRouteCalculator@.+createRouteCalculatorResponse_calculatorName :: Lens.Lens' CreateRouteCalculatorResponse Prelude.Text+createRouteCalculatorResponse_calculatorName = Lens.lens (\CreateRouteCalculatorResponse' {calculatorName} -> calculatorName) (\s@CreateRouteCalculatorResponse' {} a -> s {calculatorName = a} :: CreateRouteCalculatorResponse)++-- | The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+createRouteCalculatorResponse_createTime :: Lens.Lens' CreateRouteCalculatorResponse Prelude.UTCTime+createRouteCalculatorResponse_createTime = Lens.lens (\CreateRouteCalculatorResponse' {createTime} -> createTime) (\s@CreateRouteCalculatorResponse' {} a -> s {createTime = a} :: CreateRouteCalculatorResponse) Prelude.. Data._Time++instance Prelude.NFData CreateRouteCalculatorResponse where+ rnf CreateRouteCalculatorResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf calculatorArn+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf createTime
+ gen/Amazonka/Location/CreateTracker.hs view
@@ -0,0 +1,478 @@+{-# 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.Location.CreateTracker+-- 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 tracker resource in your AWS account, which lets you retrieve+-- current and historical location of devices.+module Amazonka.Location.CreateTracker+ ( -- * Creating a Request+ CreateTracker (..),+ newCreateTracker,++ -- * Request Lenses+ createTracker_description,+ createTracker_kmsKeyId,+ createTracker_positionFiltering,+ createTracker_pricingPlan,+ createTracker_pricingPlanDataSource,+ createTracker_tags,+ createTracker_trackerName,++ -- * Destructuring the Response+ CreateTrackerResponse (..),+ newCreateTrackerResponse,++ -- * Response Lenses+ createTrackerResponse_httpStatus,+ createTrackerResponse_createTime,+ createTrackerResponse_trackerArn,+ createTrackerResponse_trackerName,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTracker' smart constructor.+data CreateTracker = CreateTracker'+ { -- | An optional description for the tracker resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | A key identifier for an+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+ -- Enter a key ID, key ARN, alias name, or alias ARN.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | Specifies the position filtering for the tracker resource.+ --+ -- Valid values:+ --+ -- - @TimeBased@ - Location updates are evaluated against linked geofence+ -- collections, but not every location update is stored. If your update+ -- frequency is more often than 30 seconds, only one update per 30+ -- seconds is stored for each unique device ID.+ --+ -- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+ -- location updates are ignored. Location updates within this area are+ -- neither evaluated against linked geofence collections, nor stored.+ -- This helps control costs by reducing the number of geofence+ -- evaluations and historical device positions to paginate through.+ -- Distance-based filtering can also reduce the effects of GPS noise+ -- when displaying device trajectories on a map.+ --+ -- - @AccuracyBased@ - If the device has moved less than the measured+ -- accuracy, location updates are ignored. For example, if two+ -- consecutive updates from a device have a horizontal accuracy of 5 m+ -- and 10 m, the second update is ignored if the device has moved less+ -- than 15 m. Ignored location updates are neither evaluated against+ -- linked geofence collections, nor stored. This can reduce the effects+ -- of GPS noise when displaying device trajectories on a map, and can+ -- help control your costs by reducing the number of geofence+ -- evaluations.+ --+ -- This field is optional. If not specified, the default value is+ -- @TimeBased@.+ positionFiltering :: Prelude.Maybe PositionFiltering,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | This parameter is no longer used.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | Applies one or more tags to the tracker resource. A tag is a key-value+ -- pair helps manage, identify, search, and filter your resources by+ -- labelling them.+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource+ --+ -- - Each resource tag must be unique with a maximum of one value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@.+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name for the tracker resource.+ --+ -- Requirements:+ --+ -- - Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),+ -- periods (.), and underscores (_).+ --+ -- - Must be a unique tracker resource name.+ --+ -- - No spaces allowed. For example, @ExampleTracker@.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTracker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createTracker_description' - An optional description for the tracker resource.+--+-- 'kmsKeyId', 'createTracker_kmsKeyId' - A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+-- Enter a key ID, key ARN, alias name, or alias ARN.+--+-- 'positionFiltering', 'createTracker_positionFiltering' - Specifies the position filtering for the tracker resource.+--+-- Valid values:+--+-- - @TimeBased@ - Location updates are evaluated against linked geofence+-- collections, but not every location update is stored. If your update+-- frequency is more often than 30 seconds, only one update per 30+-- seconds is stored for each unique device ID.+--+-- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+-- location updates are ignored. Location updates within this area are+-- neither evaluated against linked geofence collections, nor stored.+-- This helps control costs by reducing the number of geofence+-- evaluations and historical device positions to paginate through.+-- Distance-based filtering can also reduce the effects of GPS noise+-- when displaying device trajectories on a map.+--+-- - @AccuracyBased@ - If the device has moved less than the measured+-- accuracy, location updates are ignored. For example, if two+-- consecutive updates from a device have a horizontal accuracy of 5 m+-- and 10 m, the second update is ignored if the device has moved less+-- than 15 m. Ignored location updates are neither evaluated against+-- linked geofence collections, nor stored. This can reduce the effects+-- of GPS noise when displaying device trajectories on a map, and can+-- help control your costs by reducing the number of geofence+-- evaluations.+--+-- This field is optional. If not specified, the default value is+-- @TimeBased@.+--+-- 'pricingPlan', 'createTracker_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'createTracker_pricingPlanDataSource' - This parameter is no longer used.+--+-- 'tags', 'createTracker_tags' - Applies one or more tags to the tracker resource. A tag is a key-value+-- pair helps manage, identify, search, and filter your resources by+-- labelling them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+--+-- 'trackerName', 'createTracker_trackerName' - The name for the tracker resource.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique tracker resource name.+--+-- - No spaces allowed. For example, @ExampleTracker@.+newCreateTracker ::+ -- | 'trackerName'+ Prelude.Text ->+ CreateTracker+newCreateTracker pTrackerName_ =+ CreateTracker'+ { description = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing,+ positionFiltering = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ tags = Prelude.Nothing,+ trackerName = pTrackerName_+ }++-- | An optional description for the tracker resource.+createTracker_description :: Lens.Lens' CreateTracker (Prelude.Maybe Prelude.Text)+createTracker_description = Lens.lens (\CreateTracker' {description} -> description) (\s@CreateTracker' {} a -> s {description = a} :: CreateTracker)++-- | A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>.+-- Enter a key ID, key ARN, alias name, or alias ARN.+createTracker_kmsKeyId :: Lens.Lens' CreateTracker (Prelude.Maybe Prelude.Text)+createTracker_kmsKeyId = Lens.lens (\CreateTracker' {kmsKeyId} -> kmsKeyId) (\s@CreateTracker' {} a -> s {kmsKeyId = a} :: CreateTracker)++-- | Specifies the position filtering for the tracker resource.+--+-- Valid values:+--+-- - @TimeBased@ - Location updates are evaluated against linked geofence+-- collections, but not every location update is stored. If your update+-- frequency is more often than 30 seconds, only one update per 30+-- seconds is stored for each unique device ID.+--+-- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+-- location updates are ignored. Location updates within this area are+-- neither evaluated against linked geofence collections, nor stored.+-- This helps control costs by reducing the number of geofence+-- evaluations and historical device positions to paginate through.+-- Distance-based filtering can also reduce the effects of GPS noise+-- when displaying device trajectories on a map.+--+-- - @AccuracyBased@ - If the device has moved less than the measured+-- accuracy, location updates are ignored. For example, if two+-- consecutive updates from a device have a horizontal accuracy of 5 m+-- and 10 m, the second update is ignored if the device has moved less+-- than 15 m. Ignored location updates are neither evaluated against+-- linked geofence collections, nor stored. This can reduce the effects+-- of GPS noise when displaying device trajectories on a map, and can+-- help control your costs by reducing the number of geofence+-- evaluations.+--+-- This field is optional. If not specified, the default value is+-- @TimeBased@.+createTracker_positionFiltering :: Lens.Lens' CreateTracker (Prelude.Maybe PositionFiltering)+createTracker_positionFiltering = Lens.lens (\CreateTracker' {positionFiltering} -> positionFiltering) (\s@CreateTracker' {} a -> s {positionFiltering = a} :: CreateTracker)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+createTracker_pricingPlan :: Lens.Lens' CreateTracker (Prelude.Maybe PricingPlan)+createTracker_pricingPlan = Lens.lens (\CreateTracker' {pricingPlan} -> pricingPlan) (\s@CreateTracker' {} a -> s {pricingPlan = a} :: CreateTracker)++-- | This parameter is no longer used.+createTracker_pricingPlanDataSource :: Lens.Lens' CreateTracker (Prelude.Maybe Prelude.Text)+createTracker_pricingPlanDataSource = Lens.lens (\CreateTracker' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@CreateTracker' {} a -> s {pricingPlanDataSource = a} :: CreateTracker)++-- | Applies one or more tags to the tracker resource. A tag is a key-value+-- pair helps manage, identify, search, and filter your resources by+-- labelling them.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource+--+-- - Each resource tag must be unique with a maximum of one value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8+--+-- - Maximum value length: 256 Unicode characters in UTF-8+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@.+--+-- - Cannot use \"aws:\" as a prefix for a key.+createTracker_tags :: Lens.Lens' CreateTracker (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createTracker_tags = Lens.lens (\CreateTracker' {tags} -> tags) (\s@CreateTracker' {} a -> s {tags = a} :: CreateTracker) Prelude.. Lens.mapping Lens.coerced++-- | The name for the tracker resource.+--+-- Requirements:+--+-- - Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),+-- periods (.), and underscores (_).+--+-- - Must be a unique tracker resource name.+--+-- - No spaces allowed. For example, @ExampleTracker@.+createTracker_trackerName :: Lens.Lens' CreateTracker Prelude.Text+createTracker_trackerName = Lens.lens (\CreateTracker' {trackerName} -> trackerName) (\s@CreateTracker' {} a -> s {trackerName = a} :: CreateTracker)++instance Core.AWSRequest CreateTracker where+ type+ AWSResponse CreateTracker =+ CreateTrackerResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateTrackerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "TrackerArn")+ Prelude.<*> (x Data..:> "TrackerName")+ )++instance Prelude.Hashable CreateTracker where+ hashWithSalt _salt CreateTracker' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` positionFiltering+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData CreateTracker where+ rnf CreateTracker' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf positionFiltering+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders CreateTracker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateTracker where+ toJSON CreateTracker' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("KmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ ("PositionFiltering" Data..=)+ Prelude.<$> positionFiltering,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("PricingPlanDataSource" Data..=)+ Prelude.<$> pricingPlanDataSource,+ ("Tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("TrackerName" Data..= trackerName)+ ]+ )++instance Data.ToPath CreateTracker where+ toPath = Prelude.const "/tracking/v0/trackers"++instance Data.ToQuery CreateTracker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTrackerResponse' smart constructor.+data CreateTrackerResponse = CreateTrackerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the tracker resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The Amazon Resource Name (ARN) for the tracker resource. Used when you+ -- need to specify a resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+ trackerArn :: Prelude.Text,+ -- | The name of the tracker resource.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTrackerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createTrackerResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'createTrackerResponse_createTime' - The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'trackerArn', 'createTrackerResponse_trackerArn' - The Amazon Resource Name (ARN) for the tracker resource. Used when you+-- need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+--+-- 'trackerName', 'createTrackerResponse_trackerName' - The name of the tracker resource.+newCreateTrackerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'trackerArn'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ CreateTrackerResponse+newCreateTrackerResponse+ pHttpStatus_+ pCreateTime_+ pTrackerArn_+ pTrackerName_ =+ CreateTrackerResponse'+ { httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ trackerArn = pTrackerArn_,+ trackerName = pTrackerName_+ }++-- | The response's http status code.+createTrackerResponse_httpStatus :: Lens.Lens' CreateTrackerResponse Prelude.Int+createTrackerResponse_httpStatus = Lens.lens (\CreateTrackerResponse' {httpStatus} -> httpStatus) (\s@CreateTrackerResponse' {} a -> s {httpStatus = a} :: CreateTrackerResponse)++-- | The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+createTrackerResponse_createTime :: Lens.Lens' CreateTrackerResponse Prelude.UTCTime+createTrackerResponse_createTime = Lens.lens (\CreateTrackerResponse' {createTime} -> createTime) (\s@CreateTrackerResponse' {} a -> s {createTime = a} :: CreateTrackerResponse) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) for the tracker resource. Used when you+-- need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+createTrackerResponse_trackerArn :: Lens.Lens' CreateTrackerResponse Prelude.Text+createTrackerResponse_trackerArn = Lens.lens (\CreateTrackerResponse' {trackerArn} -> trackerArn) (\s@CreateTrackerResponse' {} a -> s {trackerArn = a} :: CreateTrackerResponse)++-- | The name of the tracker resource.+createTrackerResponse_trackerName :: Lens.Lens' CreateTrackerResponse Prelude.Text+createTrackerResponse_trackerName = Lens.lens (\CreateTrackerResponse' {trackerName} -> trackerName) (\s@CreateTrackerResponse' {} a -> s {trackerName = a} :: CreateTrackerResponse)++instance Prelude.NFData CreateTrackerResponse where+ rnf CreateTrackerResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf trackerArn+ `Prelude.seq` Prelude.rnf trackerName
+ gen/Amazonka/Location/DeleteGeofenceCollection.hs view
@@ -0,0 +1,160 @@+{-# 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.Location.DeleteGeofenceCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a geofence collection from your AWS account.+--+-- This operation deletes the resource permanently. If the geofence+-- collection is the target of a tracker resource, the devices will no+-- longer be monitored.+module Amazonka.Location.DeleteGeofenceCollection+ ( -- * Creating a Request+ DeleteGeofenceCollection (..),+ newDeleteGeofenceCollection,++ -- * Request Lenses+ deleteGeofenceCollection_collectionName,++ -- * Destructuring the Response+ DeleteGeofenceCollectionResponse (..),+ newDeleteGeofenceCollectionResponse,++ -- * Response Lenses+ deleteGeofenceCollectionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGeofenceCollection' smart constructor.+data DeleteGeofenceCollection = DeleteGeofenceCollection'+ { -- | The name of the geofence collection to be deleted.+ collectionName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGeofenceCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'deleteGeofenceCollection_collectionName' - The name of the geofence collection to be deleted.+newDeleteGeofenceCollection ::+ -- | 'collectionName'+ Prelude.Text ->+ DeleteGeofenceCollection+newDeleteGeofenceCollection pCollectionName_ =+ DeleteGeofenceCollection'+ { collectionName =+ pCollectionName_+ }++-- | The name of the geofence collection to be deleted.+deleteGeofenceCollection_collectionName :: Lens.Lens' DeleteGeofenceCollection Prelude.Text+deleteGeofenceCollection_collectionName = Lens.lens (\DeleteGeofenceCollection' {collectionName} -> collectionName) (\s@DeleteGeofenceCollection' {} a -> s {collectionName = a} :: DeleteGeofenceCollection)++instance Core.AWSRequest DeleteGeofenceCollection where+ type+ AWSResponse DeleteGeofenceCollection =+ DeleteGeofenceCollectionResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteGeofenceCollectionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteGeofenceCollection where+ hashWithSalt _salt DeleteGeofenceCollection' {..} =+ _salt `Prelude.hashWithSalt` collectionName++instance Prelude.NFData DeleteGeofenceCollection where+ rnf DeleteGeofenceCollection' {..} =+ Prelude.rnf collectionName++instance Data.ToHeaders DeleteGeofenceCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteGeofenceCollection where+ toPath DeleteGeofenceCollection' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName+ ]++instance Data.ToQuery DeleteGeofenceCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGeofenceCollectionResponse' smart constructor.+data DeleteGeofenceCollectionResponse = DeleteGeofenceCollectionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGeofenceCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteGeofenceCollectionResponse_httpStatus' - The response's http status code.+newDeleteGeofenceCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteGeofenceCollectionResponse+newDeleteGeofenceCollectionResponse pHttpStatus_ =+ DeleteGeofenceCollectionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteGeofenceCollectionResponse_httpStatus :: Lens.Lens' DeleteGeofenceCollectionResponse Prelude.Int+deleteGeofenceCollectionResponse_httpStatus = Lens.lens (\DeleteGeofenceCollectionResponse' {httpStatus} -> httpStatus) (\s@DeleteGeofenceCollectionResponse' {} a -> s {httpStatus = a} :: DeleteGeofenceCollectionResponse)++instance+ Prelude.NFData+ DeleteGeofenceCollectionResponse+ where+ rnf DeleteGeofenceCollectionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/DeleteMap.hs view
@@ -0,0 +1,144 @@+{-# 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.Location.DeleteMap+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a map resource from your AWS account.+--+-- This operation deletes the resource permanently. If the map is being+-- used in an application, the map may not render.+module Amazonka.Location.DeleteMap+ ( -- * Creating a Request+ DeleteMap (..),+ newDeleteMap,++ -- * Request Lenses+ deleteMap_mapName,++ -- * Destructuring the Response+ DeleteMapResponse (..),+ newDeleteMapResponse,++ -- * Response Lenses+ deleteMapResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteMap' smart constructor.+data DeleteMap = DeleteMap'+ { -- | The name of the map resource to be deleted.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mapName', 'deleteMap_mapName' - The name of the map resource to be deleted.+newDeleteMap ::+ -- | 'mapName'+ Prelude.Text ->+ DeleteMap+newDeleteMap pMapName_ =+ DeleteMap' {mapName = pMapName_}++-- | The name of the map resource to be deleted.+deleteMap_mapName :: Lens.Lens' DeleteMap Prelude.Text+deleteMap_mapName = Lens.lens (\DeleteMap' {mapName} -> mapName) (\s@DeleteMap' {} a -> s {mapName = a} :: DeleteMap)++instance Core.AWSRequest DeleteMap where+ type AWSResponse DeleteMap = DeleteMapResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteMapResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteMap where+ hashWithSalt _salt DeleteMap' {..} =+ _salt `Prelude.hashWithSalt` mapName++instance Prelude.NFData DeleteMap where+ rnf DeleteMap' {..} = Prelude.rnf mapName++instance Data.ToHeaders DeleteMap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteMap where+ toPath DeleteMap' {..} =+ Prelude.mconcat+ ["/maps/v0/maps/", Data.toBS mapName]++instance Data.ToQuery DeleteMap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMapResponse' smart constructor.+data DeleteMapResponse = DeleteMapResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteMapResponse_httpStatus' - The response's http status code.+newDeleteMapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteMapResponse+newDeleteMapResponse pHttpStatus_ =+ DeleteMapResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteMapResponse_httpStatus :: Lens.Lens' DeleteMapResponse Prelude.Int+deleteMapResponse_httpStatus = Lens.lens (\DeleteMapResponse' {httpStatus} -> httpStatus) (\s@DeleteMapResponse' {} a -> s {httpStatus = a} :: DeleteMapResponse)++instance Prelude.NFData DeleteMapResponse where+ rnf DeleteMapResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Location/DeletePlaceIndex.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DeletePlaceIndex+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a place index resource from your AWS account.+--+-- This operation deletes the resource permanently.+module Amazonka.Location.DeletePlaceIndex+ ( -- * Creating a Request+ DeletePlaceIndex (..),+ newDeletePlaceIndex,++ -- * Request Lenses+ deletePlaceIndex_indexName,++ -- * Destructuring the Response+ DeletePlaceIndexResponse (..),+ newDeletePlaceIndexResponse,++ -- * Response Lenses+ deletePlaceIndexResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePlaceIndex' smart constructor.+data DeletePlaceIndex = DeletePlaceIndex'+ { -- | The name of the place index resource to be deleted.+ indexName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePlaceIndex' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'indexName', 'deletePlaceIndex_indexName' - The name of the place index resource to be deleted.+newDeletePlaceIndex ::+ -- | 'indexName'+ Prelude.Text ->+ DeletePlaceIndex+newDeletePlaceIndex pIndexName_ =+ DeletePlaceIndex' {indexName = pIndexName_}++-- | The name of the place index resource to be deleted.+deletePlaceIndex_indexName :: Lens.Lens' DeletePlaceIndex Prelude.Text+deletePlaceIndex_indexName = Lens.lens (\DeletePlaceIndex' {indexName} -> indexName) (\s@DeletePlaceIndex' {} a -> s {indexName = a} :: DeletePlaceIndex)++instance Core.AWSRequest DeletePlaceIndex where+ type+ AWSResponse DeletePlaceIndex =+ DeletePlaceIndexResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePlaceIndexResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePlaceIndex where+ hashWithSalt _salt DeletePlaceIndex' {..} =+ _salt `Prelude.hashWithSalt` indexName++instance Prelude.NFData DeletePlaceIndex where+ rnf DeletePlaceIndex' {..} = Prelude.rnf indexName++instance Data.ToHeaders DeletePlaceIndex where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePlaceIndex where+ toPath DeletePlaceIndex' {..} =+ Prelude.mconcat+ ["/places/v0/indexes/", Data.toBS indexName]++instance Data.ToQuery DeletePlaceIndex where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePlaceIndexResponse' smart constructor.+data DeletePlaceIndexResponse = DeletePlaceIndexResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePlaceIndexResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePlaceIndexResponse_httpStatus' - The response's http status code.+newDeletePlaceIndexResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePlaceIndexResponse+newDeletePlaceIndexResponse pHttpStatus_ =+ DeletePlaceIndexResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deletePlaceIndexResponse_httpStatus :: Lens.Lens' DeletePlaceIndexResponse Prelude.Int+deletePlaceIndexResponse_httpStatus = Lens.lens (\DeletePlaceIndexResponse' {httpStatus} -> httpStatus) (\s@DeletePlaceIndexResponse' {} a -> s {httpStatus = a} :: DeletePlaceIndexResponse)++instance Prelude.NFData DeletePlaceIndexResponse where+ rnf DeletePlaceIndexResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/DeleteRouteCalculator.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DeleteRouteCalculator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a route calculator resource from your AWS account.+--+-- This operation deletes the resource permanently.+module Amazonka.Location.DeleteRouteCalculator+ ( -- * Creating a Request+ DeleteRouteCalculator (..),+ newDeleteRouteCalculator,++ -- * Request Lenses+ deleteRouteCalculator_calculatorName,++ -- * Destructuring the Response+ DeleteRouteCalculatorResponse (..),+ newDeleteRouteCalculatorResponse,++ -- * Response Lenses+ deleteRouteCalculatorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteRouteCalculator' smart constructor.+data DeleteRouteCalculator = DeleteRouteCalculator'+ { -- | The name of the route calculator resource to be deleted.+ calculatorName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRouteCalculator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'calculatorName', 'deleteRouteCalculator_calculatorName' - The name of the route calculator resource to be deleted.+newDeleteRouteCalculator ::+ -- | 'calculatorName'+ Prelude.Text ->+ DeleteRouteCalculator+newDeleteRouteCalculator pCalculatorName_ =+ DeleteRouteCalculator'+ { calculatorName =+ pCalculatorName_+ }++-- | The name of the route calculator resource to be deleted.+deleteRouteCalculator_calculatorName :: Lens.Lens' DeleteRouteCalculator Prelude.Text+deleteRouteCalculator_calculatorName = Lens.lens (\DeleteRouteCalculator' {calculatorName} -> calculatorName) (\s@DeleteRouteCalculator' {} a -> s {calculatorName = a} :: DeleteRouteCalculator)++instance Core.AWSRequest DeleteRouteCalculator where+ type+ AWSResponse DeleteRouteCalculator =+ DeleteRouteCalculatorResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteRouteCalculatorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteRouteCalculator where+ hashWithSalt _salt DeleteRouteCalculator' {..} =+ _salt `Prelude.hashWithSalt` calculatorName++instance Prelude.NFData DeleteRouteCalculator where+ rnf DeleteRouteCalculator' {..} =+ Prelude.rnf calculatorName++instance Data.ToHeaders DeleteRouteCalculator where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteRouteCalculator where+ toPath DeleteRouteCalculator' {..} =+ Prelude.mconcat+ ["/routes/v0/calculators/", Data.toBS calculatorName]++instance Data.ToQuery DeleteRouteCalculator where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRouteCalculatorResponse' smart constructor.+data DeleteRouteCalculatorResponse = DeleteRouteCalculatorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRouteCalculatorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteRouteCalculatorResponse_httpStatus' - The response's http status code.+newDeleteRouteCalculatorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteRouteCalculatorResponse+newDeleteRouteCalculatorResponse pHttpStatus_ =+ DeleteRouteCalculatorResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteRouteCalculatorResponse_httpStatus :: Lens.Lens' DeleteRouteCalculatorResponse Prelude.Int+deleteRouteCalculatorResponse_httpStatus = Lens.lens (\DeleteRouteCalculatorResponse' {httpStatus} -> httpStatus) (\s@DeleteRouteCalculatorResponse' {} a -> s {httpStatus = a} :: DeleteRouteCalculatorResponse)++instance Prelude.NFData DeleteRouteCalculatorResponse where+ rnf DeleteRouteCalculatorResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/DeleteTracker.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DeleteTracker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a tracker resource from your AWS account.+--+-- This operation deletes the resource permanently. If the tracker resource+-- is in use, you may encounter an error. Make sure that the target+-- resource isn\'t a dependency for your applications.+module Amazonka.Location.DeleteTracker+ ( -- * Creating a Request+ DeleteTracker (..),+ newDeleteTracker,++ -- * Request Lenses+ deleteTracker_trackerName,++ -- * Destructuring the Response+ DeleteTrackerResponse (..),+ newDeleteTrackerResponse,++ -- * Response Lenses+ deleteTrackerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteTracker' smart constructor.+data DeleteTracker = DeleteTracker'+ { -- | The name of the tracker resource to be deleted.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTracker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'trackerName', 'deleteTracker_trackerName' - The name of the tracker resource to be deleted.+newDeleteTracker ::+ -- | 'trackerName'+ Prelude.Text ->+ DeleteTracker+newDeleteTracker pTrackerName_ =+ DeleteTracker' {trackerName = pTrackerName_}++-- | The name of the tracker resource to be deleted.+deleteTracker_trackerName :: Lens.Lens' DeleteTracker Prelude.Text+deleteTracker_trackerName = Lens.lens (\DeleteTracker' {trackerName} -> trackerName) (\s@DeleteTracker' {} a -> s {trackerName = a} :: DeleteTracker)++instance Core.AWSRequest DeleteTracker where+ type+ AWSResponse DeleteTracker =+ DeleteTrackerResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteTrackerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteTracker where+ hashWithSalt _salt DeleteTracker' {..} =+ _salt `Prelude.hashWithSalt` trackerName++instance Prelude.NFData DeleteTracker where+ rnf DeleteTracker' {..} = Prelude.rnf trackerName++instance Data.ToHeaders DeleteTracker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteTracker where+ toPath DeleteTracker' {..} =+ Prelude.mconcat+ ["/tracking/v0/trackers/", Data.toBS trackerName]++instance Data.ToQuery DeleteTracker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTrackerResponse' smart constructor.+data DeleteTrackerResponse = DeleteTrackerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTrackerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteTrackerResponse_httpStatus' - The response's http status code.+newDeleteTrackerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteTrackerResponse+newDeleteTrackerResponse pHttpStatus_ =+ DeleteTrackerResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteTrackerResponse_httpStatus :: Lens.Lens' DeleteTrackerResponse Prelude.Int+deleteTrackerResponse_httpStatus = Lens.lens (\DeleteTrackerResponse' {httpStatus} -> httpStatus) (\s@DeleteTrackerResponse' {} a -> s {httpStatus = a} :: DeleteTrackerResponse)++instance Prelude.NFData DeleteTrackerResponse where+ rnf DeleteTrackerResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/DescribeGeofenceCollection.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DescribeGeofenceCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the geofence collection details.+module Amazonka.Location.DescribeGeofenceCollection+ ( -- * Creating a Request+ DescribeGeofenceCollection (..),+ newDescribeGeofenceCollection,++ -- * Request Lenses+ describeGeofenceCollection_collectionName,++ -- * Destructuring the Response+ DescribeGeofenceCollectionResponse (..),+ newDescribeGeofenceCollectionResponse,++ -- * Response Lenses+ describeGeofenceCollectionResponse_kmsKeyId,+ describeGeofenceCollectionResponse_pricingPlan,+ describeGeofenceCollectionResponse_pricingPlanDataSource,+ describeGeofenceCollectionResponse_tags,+ describeGeofenceCollectionResponse_httpStatus,+ describeGeofenceCollectionResponse_collectionArn,+ describeGeofenceCollectionResponse_collectionName,+ describeGeofenceCollectionResponse_createTime,+ describeGeofenceCollectionResponse_description,+ describeGeofenceCollectionResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGeofenceCollection' smart constructor.+data DescribeGeofenceCollection = DescribeGeofenceCollection'+ { -- | The name of the geofence collection.+ collectionName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGeofenceCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'describeGeofenceCollection_collectionName' - The name of the geofence collection.+newDescribeGeofenceCollection ::+ -- | 'collectionName'+ Prelude.Text ->+ DescribeGeofenceCollection+newDescribeGeofenceCollection pCollectionName_ =+ DescribeGeofenceCollection'+ { collectionName =+ pCollectionName_+ }++-- | The name of the geofence collection.+describeGeofenceCollection_collectionName :: Lens.Lens' DescribeGeofenceCollection Prelude.Text+describeGeofenceCollection_collectionName = Lens.lens (\DescribeGeofenceCollection' {collectionName} -> collectionName) (\s@DescribeGeofenceCollection' {} a -> s {collectionName = a} :: DescribeGeofenceCollection)++instance Core.AWSRequest DescribeGeofenceCollection where+ type+ AWSResponse DescribeGeofenceCollection =+ DescribeGeofenceCollectionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeGeofenceCollectionResponse'+ Prelude.<$> (x Data..?> "KmsKeyId")+ Prelude.<*> (x Data..?> "PricingPlan")+ Prelude.<*> (x Data..?> "PricingPlanDataSource")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CollectionArn")+ Prelude.<*> (x Data..:> "CollectionName")+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "Description")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable DescribeGeofenceCollection where+ hashWithSalt _salt DescribeGeofenceCollection' {..} =+ _salt `Prelude.hashWithSalt` collectionName++instance Prelude.NFData DescribeGeofenceCollection where+ rnf DescribeGeofenceCollection' {..} =+ Prelude.rnf collectionName++instance Data.ToHeaders DescribeGeofenceCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeGeofenceCollection where+ toPath DescribeGeofenceCollection' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName+ ]++instance Data.ToQuery DescribeGeofenceCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeGeofenceCollectionResponse' smart constructor.+data DescribeGeofenceCollectionResponse = DescribeGeofenceCollectionResponse'+ { -- | A key identifier for an+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+ -- assigned to the Amazon Location resource+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | No longer used. Always returns an empty string.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | Displays the key, value pairs of tags associated with this resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) for the geofence collection resource.+ -- Used when you need to specify a resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+ collectionArn :: Prelude.Text,+ -- | The name of the geofence collection.+ collectionName :: Prelude.Text,+ -- | The timestamp for when the geofence resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The optional description for the geofence collection.+ description :: Prelude.Text,+ -- | The timestamp for when the geofence collection was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeGeofenceCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'describeGeofenceCollectionResponse_kmsKeyId' - A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+-- assigned to the Amazon Location resource+--+-- 'pricingPlan', 'describeGeofenceCollectionResponse_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'describeGeofenceCollectionResponse_pricingPlanDataSource' - No longer used. Always returns an empty string.+--+-- 'tags', 'describeGeofenceCollectionResponse_tags' - Displays the key, value pairs of tags associated with this resource.+--+-- 'httpStatus', 'describeGeofenceCollectionResponse_httpStatus' - The response's http status code.+--+-- 'collectionArn', 'describeGeofenceCollectionResponse_collectionArn' - The Amazon Resource Name (ARN) for the geofence collection resource.+-- Used when you need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+--+-- 'collectionName', 'describeGeofenceCollectionResponse_collectionName' - The name of the geofence collection.+--+-- 'createTime', 'describeGeofenceCollectionResponse_createTime' - The timestamp for when the geofence resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'description', 'describeGeofenceCollectionResponse_description' - The optional description for the geofence collection.+--+-- 'updateTime', 'describeGeofenceCollectionResponse_updateTime' - The timestamp for when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newDescribeGeofenceCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'collectionArn'+ Prelude.Text ->+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'description'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ DescribeGeofenceCollectionResponse+newDescribeGeofenceCollectionResponse+ pHttpStatus_+ pCollectionArn_+ pCollectionName_+ pCreateTime_+ pDescription_+ pUpdateTime_ =+ DescribeGeofenceCollectionResponse'+ { kmsKeyId =+ Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ collectionArn = pCollectionArn_,+ collectionName = pCollectionName_,+ createTime =+ Data._Time Lens.# pCreateTime_,+ description = pDescription_,+ updateTime =+ Data._Time Lens.# pUpdateTime_+ }++-- | A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+-- assigned to the Amazon Location resource+describeGeofenceCollectionResponse_kmsKeyId :: Lens.Lens' DescribeGeofenceCollectionResponse (Prelude.Maybe Prelude.Text)+describeGeofenceCollectionResponse_kmsKeyId = Lens.lens (\DescribeGeofenceCollectionResponse' {kmsKeyId} -> kmsKeyId) (\s@DescribeGeofenceCollectionResponse' {} a -> s {kmsKeyId = a} :: DescribeGeofenceCollectionResponse)++-- | No longer used. Always returns @RequestBasedUsage@.+describeGeofenceCollectionResponse_pricingPlan :: Lens.Lens' DescribeGeofenceCollectionResponse (Prelude.Maybe PricingPlan)+describeGeofenceCollectionResponse_pricingPlan = Lens.lens (\DescribeGeofenceCollectionResponse' {pricingPlan} -> pricingPlan) (\s@DescribeGeofenceCollectionResponse' {} a -> s {pricingPlan = a} :: DescribeGeofenceCollectionResponse)++-- | No longer used. Always returns an empty string.+describeGeofenceCollectionResponse_pricingPlanDataSource :: Lens.Lens' DescribeGeofenceCollectionResponse (Prelude.Maybe Prelude.Text)+describeGeofenceCollectionResponse_pricingPlanDataSource = Lens.lens (\DescribeGeofenceCollectionResponse' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@DescribeGeofenceCollectionResponse' {} a -> s {pricingPlanDataSource = a} :: DescribeGeofenceCollectionResponse)++-- | Displays the key, value pairs of tags associated with this resource.+describeGeofenceCollectionResponse_tags :: Lens.Lens' DescribeGeofenceCollectionResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeGeofenceCollectionResponse_tags = Lens.lens (\DescribeGeofenceCollectionResponse' {tags} -> tags) (\s@DescribeGeofenceCollectionResponse' {} a -> s {tags = a} :: DescribeGeofenceCollectionResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeGeofenceCollectionResponse_httpStatus :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.Int+describeGeofenceCollectionResponse_httpStatus = Lens.lens (\DescribeGeofenceCollectionResponse' {httpStatus} -> httpStatus) (\s@DescribeGeofenceCollectionResponse' {} a -> s {httpStatus = a} :: DescribeGeofenceCollectionResponse)++-- | The Amazon Resource Name (ARN) for the geofence collection resource.+-- Used when you need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+describeGeofenceCollectionResponse_collectionArn :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.Text+describeGeofenceCollectionResponse_collectionArn = Lens.lens (\DescribeGeofenceCollectionResponse' {collectionArn} -> collectionArn) (\s@DescribeGeofenceCollectionResponse' {} a -> s {collectionArn = a} :: DescribeGeofenceCollectionResponse)++-- | The name of the geofence collection.+describeGeofenceCollectionResponse_collectionName :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.Text+describeGeofenceCollectionResponse_collectionName = Lens.lens (\DescribeGeofenceCollectionResponse' {collectionName} -> collectionName) (\s@DescribeGeofenceCollectionResponse' {} a -> s {collectionName = a} :: DescribeGeofenceCollectionResponse)++-- | The timestamp for when the geofence resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+describeGeofenceCollectionResponse_createTime :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.UTCTime+describeGeofenceCollectionResponse_createTime = Lens.lens (\DescribeGeofenceCollectionResponse' {createTime} -> createTime) (\s@DescribeGeofenceCollectionResponse' {} a -> s {createTime = a} :: DescribeGeofenceCollectionResponse) Prelude.. Data._Time++-- | The optional description for the geofence collection.+describeGeofenceCollectionResponse_description :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.Text+describeGeofenceCollectionResponse_description = Lens.lens (\DescribeGeofenceCollectionResponse' {description} -> description) (\s@DescribeGeofenceCollectionResponse' {} a -> s {description = a} :: DescribeGeofenceCollectionResponse)++-- | The timestamp for when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+describeGeofenceCollectionResponse_updateTime :: Lens.Lens' DescribeGeofenceCollectionResponse Prelude.UTCTime+describeGeofenceCollectionResponse_updateTime = Lens.lens (\DescribeGeofenceCollectionResponse' {updateTime} -> updateTime) (\s@DescribeGeofenceCollectionResponse' {} a -> s {updateTime = a} :: DescribeGeofenceCollectionResponse) Prelude.. Data._Time++instance+ Prelude.NFData+ DescribeGeofenceCollectionResponse+ where+ rnf DescribeGeofenceCollectionResponse' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf collectionArn+ `Prelude.seq` Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/DescribeMap.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.Location.DescribeMap+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the map resource details.+module Amazonka.Location.DescribeMap+ ( -- * Creating a Request+ DescribeMap (..),+ newDescribeMap,++ -- * Request Lenses+ describeMap_mapName,++ -- * Destructuring the Response+ DescribeMapResponse (..),+ newDescribeMapResponse,++ -- * Response Lenses+ describeMapResponse_pricingPlan,+ describeMapResponse_tags,+ describeMapResponse_httpStatus,+ describeMapResponse_configuration,+ describeMapResponse_createTime,+ describeMapResponse_dataSource,+ describeMapResponse_description,+ describeMapResponse_mapArn,+ describeMapResponse_mapName,+ describeMapResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeMap' smart constructor.+data DescribeMap = DescribeMap'+ { -- | The name of the map resource.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeMap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mapName', 'describeMap_mapName' - The name of the map resource.+newDescribeMap ::+ -- | 'mapName'+ Prelude.Text ->+ DescribeMap+newDescribeMap pMapName_ =+ DescribeMap' {mapName = pMapName_}++-- | The name of the map resource.+describeMap_mapName :: Lens.Lens' DescribeMap Prelude.Text+describeMap_mapName = Lens.lens (\DescribeMap' {mapName} -> mapName) (\s@DescribeMap' {} a -> s {mapName = a} :: DescribeMap)++instance Core.AWSRequest DescribeMap where+ type AWSResponse DescribeMap = DescribeMapResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeMapResponse'+ Prelude.<$> (x Data..?> "PricingPlan")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "Configuration")+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "DataSource")+ Prelude.<*> (x Data..:> "Description")+ Prelude.<*> (x Data..:> "MapArn")+ Prelude.<*> (x Data..:> "MapName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable DescribeMap where+ hashWithSalt _salt DescribeMap' {..} =+ _salt `Prelude.hashWithSalt` mapName++instance Prelude.NFData DescribeMap where+ rnf DescribeMap' {..} = Prelude.rnf mapName++instance Data.ToHeaders DescribeMap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeMap where+ toPath DescribeMap' {..} =+ Prelude.mconcat+ ["/maps/v0/maps/", Data.toBS mapName]++instance Data.ToQuery DescribeMap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeMapResponse' smart constructor.+data DescribeMapResponse = DescribeMapResponse'+ { -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Tags associated with the map resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Specifies the map tile style selected from a partner data provider.+ configuration :: MapConfiguration,+ -- | The timestamp for when the map resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | Specifies the data provider for the associated map tiles.+ dataSource :: Prelude.Text,+ -- | The optional description for the map resource.+ description :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) for the map resource. Used to specify a+ -- resource across all AWS.+ --+ -- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+ mapArn :: Prelude.Text,+ -- | The map style selected from an available provider.+ mapName :: Prelude.Text,+ -- | The timestamp for when the map resource was last update in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeMapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'describeMapResponse_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'tags', 'describeMapResponse_tags' - Tags associated with the map resource.+--+-- 'httpStatus', 'describeMapResponse_httpStatus' - The response's http status code.+--+-- 'configuration', 'describeMapResponse_configuration' - Specifies the map tile style selected from a partner data provider.+--+-- 'createTime', 'describeMapResponse_createTime' - The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'dataSource', 'describeMapResponse_dataSource' - Specifies the data provider for the associated map tiles.+--+-- 'description', 'describeMapResponse_description' - The optional description for the map resource.+--+-- 'mapArn', 'describeMapResponse_mapArn' - The Amazon Resource Name (ARN) for the map resource. Used to specify a+-- resource across all AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+--+-- 'mapName', 'describeMapResponse_mapName' - The map style selected from an available provider.+--+-- 'updateTime', 'describeMapResponse_updateTime' - The timestamp for when the map resource was last update in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newDescribeMapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'configuration'+ MapConfiguration ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'mapArn'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ DescribeMapResponse+newDescribeMapResponse+ pHttpStatus_+ pConfiguration_+ pCreateTime_+ pDataSource_+ pDescription_+ pMapArn_+ pMapName_+ pUpdateTime_ =+ DescribeMapResponse'+ { pricingPlan = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ configuration = pConfiguration_,+ createTime = Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ description = pDescription_,+ mapArn = pMapArn_,+ mapName = pMapName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | No longer used. Always returns @RequestBasedUsage@.+describeMapResponse_pricingPlan :: Lens.Lens' DescribeMapResponse (Prelude.Maybe PricingPlan)+describeMapResponse_pricingPlan = Lens.lens (\DescribeMapResponse' {pricingPlan} -> pricingPlan) (\s@DescribeMapResponse' {} a -> s {pricingPlan = a} :: DescribeMapResponse)++-- | Tags associated with the map resource.+describeMapResponse_tags :: Lens.Lens' DescribeMapResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeMapResponse_tags = Lens.lens (\DescribeMapResponse' {tags} -> tags) (\s@DescribeMapResponse' {} a -> s {tags = a} :: DescribeMapResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeMapResponse_httpStatus :: Lens.Lens' DescribeMapResponse Prelude.Int+describeMapResponse_httpStatus = Lens.lens (\DescribeMapResponse' {httpStatus} -> httpStatus) (\s@DescribeMapResponse' {} a -> s {httpStatus = a} :: DescribeMapResponse)++-- | Specifies the map tile style selected from a partner data provider.+describeMapResponse_configuration :: Lens.Lens' DescribeMapResponse MapConfiguration+describeMapResponse_configuration = Lens.lens (\DescribeMapResponse' {configuration} -> configuration) (\s@DescribeMapResponse' {} a -> s {configuration = a} :: DescribeMapResponse)++-- | The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describeMapResponse_createTime :: Lens.Lens' DescribeMapResponse Prelude.UTCTime+describeMapResponse_createTime = Lens.lens (\DescribeMapResponse' {createTime} -> createTime) (\s@DescribeMapResponse' {} a -> s {createTime = a} :: DescribeMapResponse) Prelude.. Data._Time++-- | Specifies the data provider for the associated map tiles.+describeMapResponse_dataSource :: Lens.Lens' DescribeMapResponse Prelude.Text+describeMapResponse_dataSource = Lens.lens (\DescribeMapResponse' {dataSource} -> dataSource) (\s@DescribeMapResponse' {} a -> s {dataSource = a} :: DescribeMapResponse)++-- | The optional description for the map resource.+describeMapResponse_description :: Lens.Lens' DescribeMapResponse Prelude.Text+describeMapResponse_description = Lens.lens (\DescribeMapResponse' {description} -> description) (\s@DescribeMapResponse' {} a -> s {description = a} :: DescribeMapResponse)++-- | The Amazon Resource Name (ARN) for the map resource. Used to specify a+-- resource across all AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+describeMapResponse_mapArn :: Lens.Lens' DescribeMapResponse Prelude.Text+describeMapResponse_mapArn = Lens.lens (\DescribeMapResponse' {mapArn} -> mapArn) (\s@DescribeMapResponse' {} a -> s {mapArn = a} :: DescribeMapResponse)++-- | The map style selected from an available provider.+describeMapResponse_mapName :: Lens.Lens' DescribeMapResponse Prelude.Text+describeMapResponse_mapName = Lens.lens (\DescribeMapResponse' {mapName} -> mapName) (\s@DescribeMapResponse' {} a -> s {mapName = a} :: DescribeMapResponse)++-- | The timestamp for when the map resource was last update in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describeMapResponse_updateTime :: Lens.Lens' DescribeMapResponse Prelude.UTCTime+describeMapResponse_updateTime = Lens.lens (\DescribeMapResponse' {updateTime} -> updateTime) (\s@DescribeMapResponse' {} a -> s {updateTime = a} :: DescribeMapResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeMapResponse where+ rnf DescribeMapResponse' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf mapArn+ `Prelude.seq` Prelude.rnf mapName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/DescribePlaceIndex.hs view
@@ -0,0 +1,326 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DescribePlaceIndex+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the place index resource details.+module Amazonka.Location.DescribePlaceIndex+ ( -- * Creating a Request+ DescribePlaceIndex (..),+ newDescribePlaceIndex,++ -- * Request Lenses+ describePlaceIndex_indexName,++ -- * Destructuring the Response+ DescribePlaceIndexResponse (..),+ newDescribePlaceIndexResponse,++ -- * Response Lenses+ describePlaceIndexResponse_pricingPlan,+ describePlaceIndexResponse_tags,+ describePlaceIndexResponse_httpStatus,+ describePlaceIndexResponse_createTime,+ describePlaceIndexResponse_dataSource,+ describePlaceIndexResponse_dataSourceConfiguration,+ describePlaceIndexResponse_description,+ describePlaceIndexResponse_indexArn,+ describePlaceIndexResponse_indexName,+ describePlaceIndexResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePlaceIndex' smart constructor.+data DescribePlaceIndex = DescribePlaceIndex'+ { -- | The name of the place index resource.+ indexName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePlaceIndex' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'indexName', 'describePlaceIndex_indexName' - The name of the place index resource.+newDescribePlaceIndex ::+ -- | 'indexName'+ Prelude.Text ->+ DescribePlaceIndex+newDescribePlaceIndex pIndexName_ =+ DescribePlaceIndex' {indexName = pIndexName_}++-- | The name of the place index resource.+describePlaceIndex_indexName :: Lens.Lens' DescribePlaceIndex Prelude.Text+describePlaceIndex_indexName = Lens.lens (\DescribePlaceIndex' {indexName} -> indexName) (\s@DescribePlaceIndex' {} a -> s {indexName = a} :: DescribePlaceIndex)++instance Core.AWSRequest DescribePlaceIndex where+ type+ AWSResponse DescribePlaceIndex =+ DescribePlaceIndexResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribePlaceIndexResponse'+ Prelude.<$> (x Data..?> "PricingPlan")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "DataSource")+ Prelude.<*> (x Data..:> "DataSourceConfiguration")+ Prelude.<*> (x Data..:> "Description")+ Prelude.<*> (x Data..:> "IndexArn")+ Prelude.<*> (x Data..:> "IndexName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable DescribePlaceIndex where+ hashWithSalt _salt DescribePlaceIndex' {..} =+ _salt `Prelude.hashWithSalt` indexName++instance Prelude.NFData DescribePlaceIndex where+ rnf DescribePlaceIndex' {..} = Prelude.rnf indexName++instance Data.ToHeaders DescribePlaceIndex where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribePlaceIndex where+ toPath DescribePlaceIndex' {..} =+ Prelude.mconcat+ ["/places/v0/indexes/", Data.toBS indexName]++instance Data.ToQuery DescribePlaceIndex where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePlaceIndexResponse' smart constructor.+data DescribePlaceIndexResponse = DescribePlaceIndexResponse'+ { -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Tags associated with place index resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the place index resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The data provider of geospatial data. Values can be one of the+ -- following:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The specified data storage option for requesting Places.+ dataSourceConfiguration :: DataSourceConfiguration,+ -- | The optional description for the place index resource.+ description :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) for the place index resource. Used to+ -- specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+ indexArn :: Prelude.Text,+ -- | The name of the place index resource being described.+ indexName :: Prelude.Text,+ -- | The timestamp for when the place index resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePlaceIndexResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'describePlaceIndexResponse_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'tags', 'describePlaceIndexResponse_tags' - Tags associated with place index resource.+--+-- 'httpStatus', 'describePlaceIndexResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'describePlaceIndexResponse_createTime' - The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'dataSource', 'describePlaceIndexResponse_dataSource' - The data provider of geospatial data. Values can be one of the+-- following:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'dataSourceConfiguration', 'describePlaceIndexResponse_dataSourceConfiguration' - The specified data storage option for requesting Places.+--+-- 'description', 'describePlaceIndexResponse_description' - The optional description for the place index resource.+--+-- 'indexArn', 'describePlaceIndexResponse_indexArn' - The Amazon Resource Name (ARN) for the place index resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+--+-- 'indexName', 'describePlaceIndexResponse_indexName' - The name of the place index resource being described.+--+-- 'updateTime', 'describePlaceIndexResponse_updateTime' - The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newDescribePlaceIndexResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'dataSourceConfiguration'+ DataSourceConfiguration ->+ -- | 'description'+ Prelude.Text ->+ -- | 'indexArn'+ Prelude.Text ->+ -- | 'indexName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ DescribePlaceIndexResponse+newDescribePlaceIndexResponse+ pHttpStatus_+ pCreateTime_+ pDataSource_+ pDataSourceConfiguration_+ pDescription_+ pIndexArn_+ pIndexName_+ pUpdateTime_ =+ DescribePlaceIndexResponse'+ { pricingPlan =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ dataSourceConfiguration =+ pDataSourceConfiguration_,+ description = pDescription_,+ indexArn = pIndexArn_,+ indexName = pIndexName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | No longer used. Always returns @RequestBasedUsage@.+describePlaceIndexResponse_pricingPlan :: Lens.Lens' DescribePlaceIndexResponse (Prelude.Maybe PricingPlan)+describePlaceIndexResponse_pricingPlan = Lens.lens (\DescribePlaceIndexResponse' {pricingPlan} -> pricingPlan) (\s@DescribePlaceIndexResponse' {} a -> s {pricingPlan = a} :: DescribePlaceIndexResponse)++-- | Tags associated with place index resource.+describePlaceIndexResponse_tags :: Lens.Lens' DescribePlaceIndexResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describePlaceIndexResponse_tags = Lens.lens (\DescribePlaceIndexResponse' {tags} -> tags) (\s@DescribePlaceIndexResponse' {} a -> s {tags = a} :: DescribePlaceIndexResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describePlaceIndexResponse_httpStatus :: Lens.Lens' DescribePlaceIndexResponse Prelude.Int+describePlaceIndexResponse_httpStatus = Lens.lens (\DescribePlaceIndexResponse' {httpStatus} -> httpStatus) (\s@DescribePlaceIndexResponse' {} a -> s {httpStatus = a} :: DescribePlaceIndexResponse)++-- | The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describePlaceIndexResponse_createTime :: Lens.Lens' DescribePlaceIndexResponse Prelude.UTCTime+describePlaceIndexResponse_createTime = Lens.lens (\DescribePlaceIndexResponse' {createTime} -> createTime) (\s@DescribePlaceIndexResponse' {} a -> s {createTime = a} :: DescribePlaceIndexResponse) Prelude.. Data._Time++-- | The data provider of geospatial data. Values can be one of the+-- following:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+describePlaceIndexResponse_dataSource :: Lens.Lens' DescribePlaceIndexResponse Prelude.Text+describePlaceIndexResponse_dataSource = Lens.lens (\DescribePlaceIndexResponse' {dataSource} -> dataSource) (\s@DescribePlaceIndexResponse' {} a -> s {dataSource = a} :: DescribePlaceIndexResponse)++-- | The specified data storage option for requesting Places.+describePlaceIndexResponse_dataSourceConfiguration :: Lens.Lens' DescribePlaceIndexResponse DataSourceConfiguration+describePlaceIndexResponse_dataSourceConfiguration = Lens.lens (\DescribePlaceIndexResponse' {dataSourceConfiguration} -> dataSourceConfiguration) (\s@DescribePlaceIndexResponse' {} a -> s {dataSourceConfiguration = a} :: DescribePlaceIndexResponse)++-- | The optional description for the place index resource.+describePlaceIndexResponse_description :: Lens.Lens' DescribePlaceIndexResponse Prelude.Text+describePlaceIndexResponse_description = Lens.lens (\DescribePlaceIndexResponse' {description} -> description) (\s@DescribePlaceIndexResponse' {} a -> s {description = a} :: DescribePlaceIndexResponse)++-- | The Amazon Resource Name (ARN) for the place index resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place-index\/ExamplePlaceIndex@+describePlaceIndexResponse_indexArn :: Lens.Lens' DescribePlaceIndexResponse Prelude.Text+describePlaceIndexResponse_indexArn = Lens.lens (\DescribePlaceIndexResponse' {indexArn} -> indexArn) (\s@DescribePlaceIndexResponse' {} a -> s {indexArn = a} :: DescribePlaceIndexResponse)++-- | The name of the place index resource being described.+describePlaceIndexResponse_indexName :: Lens.Lens' DescribePlaceIndexResponse Prelude.Text+describePlaceIndexResponse_indexName = Lens.lens (\DescribePlaceIndexResponse' {indexName} -> indexName) (\s@DescribePlaceIndexResponse' {} a -> s {indexName = a} :: DescribePlaceIndexResponse)++-- | The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describePlaceIndexResponse_updateTime :: Lens.Lens' DescribePlaceIndexResponse Prelude.UTCTime+describePlaceIndexResponse_updateTime = Lens.lens (\DescribePlaceIndexResponse' {updateTime} -> updateTime) (\s@DescribePlaceIndexResponse' {} a -> s {updateTime = a} :: DescribePlaceIndexResponse) Prelude.. Data._Time++instance Prelude.NFData DescribePlaceIndexResponse where+ rnf DescribePlaceIndexResponse' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf dataSourceConfiguration+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf indexArn+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/DescribeRouteCalculator.hs view
@@ -0,0 +1,331 @@+{-# 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.Location.DescribeRouteCalculator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the route calculator resource details.+module Amazonka.Location.DescribeRouteCalculator+ ( -- * Creating a Request+ DescribeRouteCalculator (..),+ newDescribeRouteCalculator,++ -- * Request Lenses+ describeRouteCalculator_calculatorName,++ -- * Destructuring the Response+ DescribeRouteCalculatorResponse (..),+ newDescribeRouteCalculatorResponse,++ -- * Response Lenses+ describeRouteCalculatorResponse_pricingPlan,+ describeRouteCalculatorResponse_tags,+ describeRouteCalculatorResponse_httpStatus,+ describeRouteCalculatorResponse_calculatorArn,+ describeRouteCalculatorResponse_calculatorName,+ describeRouteCalculatorResponse_createTime,+ describeRouteCalculatorResponse_dataSource,+ describeRouteCalculatorResponse_description,+ describeRouteCalculatorResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeRouteCalculator' smart constructor.+data DescribeRouteCalculator = DescribeRouteCalculator'+ { -- | The name of the route calculator resource.+ calculatorName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRouteCalculator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'calculatorName', 'describeRouteCalculator_calculatorName' - The name of the route calculator resource.+newDescribeRouteCalculator ::+ -- | 'calculatorName'+ Prelude.Text ->+ DescribeRouteCalculator+newDescribeRouteCalculator pCalculatorName_ =+ DescribeRouteCalculator'+ { calculatorName =+ pCalculatorName_+ }++-- | The name of the route calculator resource.+describeRouteCalculator_calculatorName :: Lens.Lens' DescribeRouteCalculator Prelude.Text+describeRouteCalculator_calculatorName = Lens.lens (\DescribeRouteCalculator' {calculatorName} -> calculatorName) (\s@DescribeRouteCalculator' {} a -> s {calculatorName = a} :: DescribeRouteCalculator)++instance Core.AWSRequest DescribeRouteCalculator where+ type+ AWSResponse DescribeRouteCalculator =+ DescribeRouteCalculatorResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeRouteCalculatorResponse'+ Prelude.<$> (x Data..?> "PricingPlan")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CalculatorArn")+ Prelude.<*> (x Data..:> "CalculatorName")+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "DataSource")+ Prelude.<*> (x Data..:> "Description")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable DescribeRouteCalculator where+ hashWithSalt _salt DescribeRouteCalculator' {..} =+ _salt `Prelude.hashWithSalt` calculatorName++instance Prelude.NFData DescribeRouteCalculator where+ rnf DescribeRouteCalculator' {..} =+ Prelude.rnf calculatorName++instance Data.ToHeaders DescribeRouteCalculator where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeRouteCalculator where+ toPath DescribeRouteCalculator' {..} =+ Prelude.mconcat+ ["/routes/v0/calculators/", Data.toBS calculatorName]++instance Data.ToQuery DescribeRouteCalculator where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeRouteCalculatorResponse' smart constructor.+data DescribeRouteCalculatorResponse = DescribeRouteCalculatorResponse'+ { -- | Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | Tags associated with route calculator resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) for the Route calculator resource. Use+ -- the ARN when you specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+ calculatorArn :: Prelude.Text,+ -- | The name of the route calculator resource being described.+ calculatorName :: Prelude.Text,+ -- | The timestamp when the route calculator resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ --+ -- - For example, @2020–07-2T12:15:20.000Z+01:00@+ createTime :: Data.ISO8601,+ -- | The data provider of traffic and road network data. Indicates one of the+ -- available providers:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The optional description of the route calculator resource.+ description :: Prelude.Text,+ -- | The timestamp when the route calculator resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ --+ -- - For example, @2020–07-2T12:15:20.000Z+01:00@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeRouteCalculatorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'describeRouteCalculatorResponse_pricingPlan' - Always returns @RequestBasedUsage@.+--+-- 'tags', 'describeRouteCalculatorResponse_tags' - Tags associated with route calculator resource.+--+-- 'httpStatus', 'describeRouteCalculatorResponse_httpStatus' - The response's http status code.+--+-- 'calculatorArn', 'describeRouteCalculatorResponse_calculatorArn' - The Amazon Resource Name (ARN) for the Route calculator resource. Use+-- the ARN when you specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+--+-- 'calculatorName', 'describeRouteCalculatorResponse_calculatorName' - The name of the route calculator resource being described.+--+-- 'createTime', 'describeRouteCalculatorResponse_createTime' - The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+--+-- 'dataSource', 'describeRouteCalculatorResponse_dataSource' - The data provider of traffic and road network data. Indicates one of the+-- available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'description', 'describeRouteCalculatorResponse_description' - The optional description of the route calculator resource.+--+-- 'updateTime', 'describeRouteCalculatorResponse_updateTime' - The timestamp when the route calculator resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+newDescribeRouteCalculatorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'calculatorArn'+ Prelude.Text ->+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ DescribeRouteCalculatorResponse+newDescribeRouteCalculatorResponse+ pHttpStatus_+ pCalculatorArn_+ pCalculatorName_+ pCreateTime_+ pDataSource_+ pDescription_+ pUpdateTime_ =+ DescribeRouteCalculatorResponse'+ { pricingPlan =+ Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ calculatorArn = pCalculatorArn_,+ calculatorName = pCalculatorName_,+ createTime =+ Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ description = pDescription_,+ updateTime =+ Data._Time Lens.# pUpdateTime_+ }++-- | Always returns @RequestBasedUsage@.+describeRouteCalculatorResponse_pricingPlan :: Lens.Lens' DescribeRouteCalculatorResponse (Prelude.Maybe PricingPlan)+describeRouteCalculatorResponse_pricingPlan = Lens.lens (\DescribeRouteCalculatorResponse' {pricingPlan} -> pricingPlan) (\s@DescribeRouteCalculatorResponse' {} a -> s {pricingPlan = a} :: DescribeRouteCalculatorResponse)++-- | Tags associated with route calculator resource.+describeRouteCalculatorResponse_tags :: Lens.Lens' DescribeRouteCalculatorResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeRouteCalculatorResponse_tags = Lens.lens (\DescribeRouteCalculatorResponse' {tags} -> tags) (\s@DescribeRouteCalculatorResponse' {} a -> s {tags = a} :: DescribeRouteCalculatorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeRouteCalculatorResponse_httpStatus :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.Int+describeRouteCalculatorResponse_httpStatus = Lens.lens (\DescribeRouteCalculatorResponse' {httpStatus} -> httpStatus) (\s@DescribeRouteCalculatorResponse' {} a -> s {httpStatus = a} :: DescribeRouteCalculatorResponse)++-- | The Amazon Resource Name (ARN) for the Route calculator resource. Use+-- the ARN when you specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route-calculator\/ExampleCalculator@+describeRouteCalculatorResponse_calculatorArn :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.Text+describeRouteCalculatorResponse_calculatorArn = Lens.lens (\DescribeRouteCalculatorResponse' {calculatorArn} -> calculatorArn) (\s@DescribeRouteCalculatorResponse' {} a -> s {calculatorArn = a} :: DescribeRouteCalculatorResponse)++-- | The name of the route calculator resource being described.+describeRouteCalculatorResponse_calculatorName :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.Text+describeRouteCalculatorResponse_calculatorName = Lens.lens (\DescribeRouteCalculatorResponse' {calculatorName} -> calculatorName) (\s@DescribeRouteCalculatorResponse' {} a -> s {calculatorName = a} :: DescribeRouteCalculatorResponse)++-- | The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+describeRouteCalculatorResponse_createTime :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.UTCTime+describeRouteCalculatorResponse_createTime = Lens.lens (\DescribeRouteCalculatorResponse' {createTime} -> createTime) (\s@DescribeRouteCalculatorResponse' {} a -> s {createTime = a} :: DescribeRouteCalculatorResponse) Prelude.. Data._Time++-- | The data provider of traffic and road network data. Indicates one of the+-- available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+describeRouteCalculatorResponse_dataSource :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.Text+describeRouteCalculatorResponse_dataSource = Lens.lens (\DescribeRouteCalculatorResponse' {dataSource} -> dataSource) (\s@DescribeRouteCalculatorResponse' {} a -> s {dataSource = a} :: DescribeRouteCalculatorResponse)++-- | The optional description of the route calculator resource.+describeRouteCalculatorResponse_description :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.Text+describeRouteCalculatorResponse_description = Lens.lens (\DescribeRouteCalculatorResponse' {description} -> description) (\s@DescribeRouteCalculatorResponse' {} a -> s {description = a} :: DescribeRouteCalculatorResponse)++-- | The timestamp when the route calculator resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+describeRouteCalculatorResponse_updateTime :: Lens.Lens' DescribeRouteCalculatorResponse Prelude.UTCTime+describeRouteCalculatorResponse_updateTime = Lens.lens (\DescribeRouteCalculatorResponse' {updateTime} -> updateTime) (\s@DescribeRouteCalculatorResponse' {} a -> s {updateTime = a} :: DescribeRouteCalculatorResponse) Prelude.. Data._Time++instance+ Prelude.NFData+ DescribeRouteCalculatorResponse+ where+ rnf DescribeRouteCalculatorResponse' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf calculatorArn+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/DescribeTracker.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.DescribeTracker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the tracker resource details.+module Amazonka.Location.DescribeTracker+ ( -- * Creating a Request+ DescribeTracker (..),+ newDescribeTracker,++ -- * Request Lenses+ describeTracker_trackerName,++ -- * Destructuring the Response+ DescribeTrackerResponse (..),+ newDescribeTrackerResponse,++ -- * Response Lenses+ describeTrackerResponse_kmsKeyId,+ describeTrackerResponse_positionFiltering,+ describeTrackerResponse_pricingPlan,+ describeTrackerResponse_pricingPlanDataSource,+ describeTrackerResponse_tags,+ describeTrackerResponse_httpStatus,+ describeTrackerResponse_createTime,+ describeTrackerResponse_description,+ describeTrackerResponse_trackerArn,+ describeTrackerResponse_trackerName,+ describeTrackerResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeTracker' smart constructor.+data DescribeTracker = DescribeTracker'+ { -- | The name of the tracker resource.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTracker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'trackerName', 'describeTracker_trackerName' - The name of the tracker resource.+newDescribeTracker ::+ -- | 'trackerName'+ Prelude.Text ->+ DescribeTracker+newDescribeTracker pTrackerName_ =+ DescribeTracker' {trackerName = pTrackerName_}++-- | The name of the tracker resource.+describeTracker_trackerName :: Lens.Lens' DescribeTracker Prelude.Text+describeTracker_trackerName = Lens.lens (\DescribeTracker' {trackerName} -> trackerName) (\s@DescribeTracker' {} a -> s {trackerName = a} :: DescribeTracker)++instance Core.AWSRequest DescribeTracker where+ type+ AWSResponse DescribeTracker =+ DescribeTrackerResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeTrackerResponse'+ Prelude.<$> (x Data..?> "KmsKeyId")+ Prelude.<*> (x Data..?> "PositionFiltering")+ Prelude.<*> (x Data..?> "PricingPlan")+ Prelude.<*> (x Data..?> "PricingPlanDataSource")+ Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "Description")+ Prelude.<*> (x Data..:> "TrackerArn")+ Prelude.<*> (x Data..:> "TrackerName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable DescribeTracker where+ hashWithSalt _salt DescribeTracker' {..} =+ _salt `Prelude.hashWithSalt` trackerName++instance Prelude.NFData DescribeTracker where+ rnf DescribeTracker' {..} = Prelude.rnf trackerName++instance Data.ToHeaders DescribeTracker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeTracker where+ toPath DescribeTracker' {..} =+ Prelude.mconcat+ ["/tracking/v0/trackers/", Data.toBS trackerName]++instance Data.ToQuery DescribeTracker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeTrackerResponse' smart constructor.+data DescribeTrackerResponse = DescribeTrackerResponse'+ { -- | A key identifier for an+ -- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+ -- assigned to the Amazon Location resource.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The position filtering method of the tracker resource.+ positionFiltering :: Prelude.Maybe PositionFiltering,+ -- | Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | No longer used. Always returns an empty string.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | The tags associated with the tracker resource.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the tracker resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The optional description for the tracker resource.+ description :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) for the tracker resource. Used when you+ -- need to specify a resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+ trackerArn :: Prelude.Text,+ -- | The name of the tracker resource.+ trackerName :: Prelude.Text,+ -- | The timestamp for when the tracker resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeTrackerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsKeyId', 'describeTrackerResponse_kmsKeyId' - A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+-- assigned to the Amazon Location resource.+--+-- 'positionFiltering', 'describeTrackerResponse_positionFiltering' - The position filtering method of the tracker resource.+--+-- 'pricingPlan', 'describeTrackerResponse_pricingPlan' - Always returns @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'describeTrackerResponse_pricingPlanDataSource' - No longer used. Always returns an empty string.+--+-- 'tags', 'describeTrackerResponse_tags' - The tags associated with the tracker resource.+--+-- 'httpStatus', 'describeTrackerResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'describeTrackerResponse_createTime' - The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'description', 'describeTrackerResponse_description' - The optional description for the tracker resource.+--+-- 'trackerArn', 'describeTrackerResponse_trackerArn' - The Amazon Resource Name (ARN) for the tracker resource. Used when you+-- need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+--+-- 'trackerName', 'describeTrackerResponse_trackerName' - The name of the tracker resource.+--+-- 'updateTime', 'describeTrackerResponse_updateTime' - The timestamp for when the tracker resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newDescribeTrackerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'description'+ Prelude.Text ->+ -- | 'trackerArn'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ DescribeTrackerResponse+newDescribeTrackerResponse+ pHttpStatus_+ pCreateTime_+ pDescription_+ pTrackerArn_+ pTrackerName_+ pUpdateTime_ =+ DescribeTrackerResponse'+ { kmsKeyId =+ Prelude.Nothing,+ positionFiltering = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ description = pDescription_,+ trackerArn = pTrackerArn_,+ trackerName = pTrackerName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | A key identifier for an+-- <https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html AWS KMS customer managed key>+-- assigned to the Amazon Location resource.+describeTrackerResponse_kmsKeyId :: Lens.Lens' DescribeTrackerResponse (Prelude.Maybe Prelude.Text)+describeTrackerResponse_kmsKeyId = Lens.lens (\DescribeTrackerResponse' {kmsKeyId} -> kmsKeyId) (\s@DescribeTrackerResponse' {} a -> s {kmsKeyId = a} :: DescribeTrackerResponse)++-- | The position filtering method of the tracker resource.+describeTrackerResponse_positionFiltering :: Lens.Lens' DescribeTrackerResponse (Prelude.Maybe PositionFiltering)+describeTrackerResponse_positionFiltering = Lens.lens (\DescribeTrackerResponse' {positionFiltering} -> positionFiltering) (\s@DescribeTrackerResponse' {} a -> s {positionFiltering = a} :: DescribeTrackerResponse)++-- | Always returns @RequestBasedUsage@.+describeTrackerResponse_pricingPlan :: Lens.Lens' DescribeTrackerResponse (Prelude.Maybe PricingPlan)+describeTrackerResponse_pricingPlan = Lens.lens (\DescribeTrackerResponse' {pricingPlan} -> pricingPlan) (\s@DescribeTrackerResponse' {} a -> s {pricingPlan = a} :: DescribeTrackerResponse)++-- | No longer used. Always returns an empty string.+describeTrackerResponse_pricingPlanDataSource :: Lens.Lens' DescribeTrackerResponse (Prelude.Maybe Prelude.Text)+describeTrackerResponse_pricingPlanDataSource = Lens.lens (\DescribeTrackerResponse' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@DescribeTrackerResponse' {} a -> s {pricingPlanDataSource = a} :: DescribeTrackerResponse)++-- | The tags associated with the tracker resource.+describeTrackerResponse_tags :: Lens.Lens' DescribeTrackerResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeTrackerResponse_tags = Lens.lens (\DescribeTrackerResponse' {tags} -> tags) (\s@DescribeTrackerResponse' {} a -> s {tags = a} :: DescribeTrackerResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeTrackerResponse_httpStatus :: Lens.Lens' DescribeTrackerResponse Prelude.Int+describeTrackerResponse_httpStatus = Lens.lens (\DescribeTrackerResponse' {httpStatus} -> httpStatus) (\s@DescribeTrackerResponse' {} a -> s {httpStatus = a} :: DescribeTrackerResponse)++-- | The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describeTrackerResponse_createTime :: Lens.Lens' DescribeTrackerResponse Prelude.UTCTime+describeTrackerResponse_createTime = Lens.lens (\DescribeTrackerResponse' {createTime} -> createTime) (\s@DescribeTrackerResponse' {} a -> s {createTime = a} :: DescribeTrackerResponse) Prelude.. Data._Time++-- | The optional description for the tracker resource.+describeTrackerResponse_description :: Lens.Lens' DescribeTrackerResponse Prelude.Text+describeTrackerResponse_description = Lens.lens (\DescribeTrackerResponse' {description} -> description) (\s@DescribeTrackerResponse' {} a -> s {description = a} :: DescribeTrackerResponse)++-- | The Amazon Resource Name (ARN) for the tracker resource. Used when you+-- need to specify a resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+describeTrackerResponse_trackerArn :: Lens.Lens' DescribeTrackerResponse Prelude.Text+describeTrackerResponse_trackerArn = Lens.lens (\DescribeTrackerResponse' {trackerArn} -> trackerArn) (\s@DescribeTrackerResponse' {} a -> s {trackerArn = a} :: DescribeTrackerResponse)++-- | The name of the tracker resource.+describeTrackerResponse_trackerName :: Lens.Lens' DescribeTrackerResponse Prelude.Text+describeTrackerResponse_trackerName = Lens.lens (\DescribeTrackerResponse' {trackerName} -> trackerName) (\s@DescribeTrackerResponse' {} a -> s {trackerName = a} :: DescribeTrackerResponse)++-- | The timestamp for when the tracker resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+describeTrackerResponse_updateTime :: Lens.Lens' DescribeTrackerResponse Prelude.UTCTime+describeTrackerResponse_updateTime = Lens.lens (\DescribeTrackerResponse' {updateTime} -> updateTime) (\s@DescribeTrackerResponse' {} a -> s {updateTime = a} :: DescribeTrackerResponse) Prelude.. Data._Time++instance Prelude.NFData DescribeTrackerResponse where+ rnf DescribeTrackerResponse' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf positionFiltering+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf trackerArn+ `Prelude.seq` Prelude.rnf trackerName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/DisassociateTrackerConsumer.hs view
@@ -0,0 +1,195 @@+{-# 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.Location.DisassociateTrackerConsumer+-- 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 the association between a tracker resource and a geofence+-- collection.+--+-- Once you unlink a tracker resource from a geofence collection, the+-- tracker positions will no longer be automatically evaluated against+-- geofences.+module Amazonka.Location.DisassociateTrackerConsumer+ ( -- * Creating a Request+ DisassociateTrackerConsumer (..),+ newDisassociateTrackerConsumer,++ -- * Request Lenses+ disassociateTrackerConsumer_consumerArn,+ disassociateTrackerConsumer_trackerName,++ -- * Destructuring the Response+ DisassociateTrackerConsumerResponse (..),+ newDisassociateTrackerConsumerResponse,++ -- * Response Lenses+ disassociateTrackerConsumerResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateTrackerConsumer' smart constructor.+data DisassociateTrackerConsumer = DisassociateTrackerConsumer'+ { -- | The Amazon Resource Name (ARN) for the geofence collection to be+ -- disassociated from the tracker resource. Used when you need to specify a+ -- resource across all AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+ consumerArn :: Prelude.Text,+ -- | The name of the tracker resource to be dissociated from the consumer.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTrackerConsumer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'consumerArn', 'disassociateTrackerConsumer_consumerArn' - The Amazon Resource Name (ARN) for the geofence collection to be+-- disassociated from the tracker resource. Used when you need to specify a+-- resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+--+-- 'trackerName', 'disassociateTrackerConsumer_trackerName' - The name of the tracker resource to be dissociated from the consumer.+newDisassociateTrackerConsumer ::+ -- | 'consumerArn'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ DisassociateTrackerConsumer+newDisassociateTrackerConsumer+ pConsumerArn_+ pTrackerName_ =+ DisassociateTrackerConsumer'+ { consumerArn =+ pConsumerArn_,+ trackerName = pTrackerName_+ }++-- | The Amazon Resource Name (ARN) for the geofence collection to be+-- disassociated from the tracker resource. Used when you need to specify a+-- resource across all AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollectionConsumer@+disassociateTrackerConsumer_consumerArn :: Lens.Lens' DisassociateTrackerConsumer Prelude.Text+disassociateTrackerConsumer_consumerArn = Lens.lens (\DisassociateTrackerConsumer' {consumerArn} -> consumerArn) (\s@DisassociateTrackerConsumer' {} a -> s {consumerArn = a} :: DisassociateTrackerConsumer)++-- | The name of the tracker resource to be dissociated from the consumer.+disassociateTrackerConsumer_trackerName :: Lens.Lens' DisassociateTrackerConsumer Prelude.Text+disassociateTrackerConsumer_trackerName = Lens.lens (\DisassociateTrackerConsumer' {trackerName} -> trackerName) (\s@DisassociateTrackerConsumer' {} a -> s {trackerName = a} :: DisassociateTrackerConsumer)++instance Core.AWSRequest DisassociateTrackerConsumer where+ type+ AWSResponse DisassociateTrackerConsumer =+ DisassociateTrackerConsumerResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateTrackerConsumerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateTrackerConsumer where+ hashWithSalt _salt DisassociateTrackerConsumer' {..} =+ _salt+ `Prelude.hashWithSalt` consumerArn+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData DisassociateTrackerConsumer where+ rnf DisassociateTrackerConsumer' {..} =+ Prelude.rnf consumerArn+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders DisassociateTrackerConsumer where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DisassociateTrackerConsumer where+ toPath DisassociateTrackerConsumer' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/consumers/",+ Data.toBS consumerArn+ ]++instance Data.ToQuery DisassociateTrackerConsumer where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateTrackerConsumerResponse' smart constructor.+data DisassociateTrackerConsumerResponse = DisassociateTrackerConsumerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTrackerConsumerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateTrackerConsumerResponse_httpStatus' - The response's http status code.+newDisassociateTrackerConsumerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateTrackerConsumerResponse+newDisassociateTrackerConsumerResponse pHttpStatus_ =+ DisassociateTrackerConsumerResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateTrackerConsumerResponse_httpStatus :: Lens.Lens' DisassociateTrackerConsumerResponse Prelude.Int+disassociateTrackerConsumerResponse_httpStatus = Lens.lens (\DisassociateTrackerConsumerResponse' {httpStatus} -> httpStatus) (\s@DisassociateTrackerConsumerResponse' {} a -> s {httpStatus = a} :: DisassociateTrackerConsumerResponse)++instance+ Prelude.NFData+ DisassociateTrackerConsumerResponse+ where+ rnf DisassociateTrackerConsumerResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/GetDevicePosition.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.GetDevicePosition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a device\'s most recent position according to its sample time.+--+-- Device positions are deleted after 30 days.+module Amazonka.Location.GetDevicePosition+ ( -- * Creating a Request+ GetDevicePosition (..),+ newGetDevicePosition,++ -- * Request Lenses+ getDevicePosition_deviceId,+ getDevicePosition_trackerName,++ -- * Destructuring the Response+ GetDevicePositionResponse (..),+ newGetDevicePositionResponse,++ -- * Response Lenses+ getDevicePositionResponse_accuracy,+ getDevicePositionResponse_deviceId,+ getDevicePositionResponse_positionProperties,+ getDevicePositionResponse_httpStatus,+ getDevicePositionResponse_position,+ getDevicePositionResponse_receivedTime,+ getDevicePositionResponse_sampleTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDevicePosition' smart constructor.+data GetDevicePosition = GetDevicePosition'+ { -- | The device whose position you want to retrieve.+ deviceId :: Prelude.Text,+ -- | The tracker resource receiving the position update.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDevicePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'getDevicePosition_deviceId' - The device whose position you want to retrieve.+--+-- 'trackerName', 'getDevicePosition_trackerName' - The tracker resource receiving the position update.+newGetDevicePosition ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ GetDevicePosition+newGetDevicePosition pDeviceId_ pTrackerName_ =+ GetDevicePosition'+ { deviceId = pDeviceId_,+ trackerName = pTrackerName_+ }++-- | The device whose position you want to retrieve.+getDevicePosition_deviceId :: Lens.Lens' GetDevicePosition Prelude.Text+getDevicePosition_deviceId = Lens.lens (\GetDevicePosition' {deviceId} -> deviceId) (\s@GetDevicePosition' {} a -> s {deviceId = a} :: GetDevicePosition)++-- | The tracker resource receiving the position update.+getDevicePosition_trackerName :: Lens.Lens' GetDevicePosition Prelude.Text+getDevicePosition_trackerName = Lens.lens (\GetDevicePosition' {trackerName} -> trackerName) (\s@GetDevicePosition' {} a -> s {trackerName = a} :: GetDevicePosition)++instance Core.AWSRequest GetDevicePosition where+ type+ AWSResponse GetDevicePosition =+ GetDevicePositionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDevicePositionResponse'+ Prelude.<$> (x Data..?> "Accuracy")+ Prelude.<*> (x Data..?> "DeviceId")+ Prelude.<*> ( x+ Data..?> "PositionProperties"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "Position")+ Prelude.<*> (x Data..:> "ReceivedTime")+ Prelude.<*> (x Data..:> "SampleTime")+ )++instance Prelude.Hashable GetDevicePosition where+ hashWithSalt _salt GetDevicePosition' {..} =+ _salt+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData GetDevicePosition where+ rnf GetDevicePosition' {..} =+ Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders GetDevicePosition where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDevicePosition where+ toPath GetDevicePosition' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/devices/",+ Data.toBS deviceId,+ "/positions/latest"+ ]++instance Data.ToQuery GetDevicePosition where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDevicePositionResponse' smart constructor.+data GetDevicePositionResponse = GetDevicePositionResponse'+ { -- | The accuracy of the device position.+ accuracy :: Prelude.Maybe PositionalAccuracy,+ -- | The device whose position you retrieved.+ deviceId :: Prelude.Maybe Prelude.Text,+ -- | The properties associated with the position.+ positionProperties :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The last known device position.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The timestamp for when the tracker resource received the device position+ -- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ receivedTime :: Data.ISO8601,+ -- | The timestamp at which the device\'s position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDevicePositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accuracy', 'getDevicePositionResponse_accuracy' - The accuracy of the device position.+--+-- 'deviceId', 'getDevicePositionResponse_deviceId' - The device whose position you retrieved.+--+-- 'positionProperties', 'getDevicePositionResponse_positionProperties' - The properties associated with the position.+--+-- 'httpStatus', 'getDevicePositionResponse_httpStatus' - The response's http status code.+--+-- 'position', 'getDevicePositionResponse_position' - The last known device position.+--+-- 'receivedTime', 'getDevicePositionResponse_receivedTime' - The timestamp for when the tracker resource received the device position+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'sampleTime', 'getDevicePositionResponse_sampleTime' - The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newGetDevicePositionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'receivedTime'+ Prelude.UTCTime ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ GetDevicePositionResponse+newGetDevicePositionResponse+ pHttpStatus_+ pPosition_+ pReceivedTime_+ pSampleTime_ =+ GetDevicePositionResponse'+ { accuracy =+ Prelude.Nothing,+ deviceId = Prelude.Nothing,+ positionProperties = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_,+ receivedTime = Data._Time Lens.# pReceivedTime_,+ sampleTime = Data._Time Lens.# pSampleTime_+ }++-- | The accuracy of the device position.+getDevicePositionResponse_accuracy :: Lens.Lens' GetDevicePositionResponse (Prelude.Maybe PositionalAccuracy)+getDevicePositionResponse_accuracy = Lens.lens (\GetDevicePositionResponse' {accuracy} -> accuracy) (\s@GetDevicePositionResponse' {} a -> s {accuracy = a} :: GetDevicePositionResponse)++-- | The device whose position you retrieved.+getDevicePositionResponse_deviceId :: Lens.Lens' GetDevicePositionResponse (Prelude.Maybe Prelude.Text)+getDevicePositionResponse_deviceId = Lens.lens (\GetDevicePositionResponse' {deviceId} -> deviceId) (\s@GetDevicePositionResponse' {} a -> s {deviceId = a} :: GetDevicePositionResponse)++-- | The properties associated with the position.+getDevicePositionResponse_positionProperties :: Lens.Lens' GetDevicePositionResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getDevicePositionResponse_positionProperties = Lens.lens (\GetDevicePositionResponse' {positionProperties} -> positionProperties) (\s@GetDevicePositionResponse' {} a -> s {positionProperties = a} :: GetDevicePositionResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getDevicePositionResponse_httpStatus :: Lens.Lens' GetDevicePositionResponse Prelude.Int+getDevicePositionResponse_httpStatus = Lens.lens (\GetDevicePositionResponse' {httpStatus} -> httpStatus) (\s@GetDevicePositionResponse' {} a -> s {httpStatus = a} :: GetDevicePositionResponse)++-- | The last known device position.+getDevicePositionResponse_position :: Lens.Lens' GetDevicePositionResponse (Prelude.NonEmpty Prelude.Double)+getDevicePositionResponse_position = Lens.lens (\GetDevicePositionResponse' {position} -> position) (\s@GetDevicePositionResponse' {} a -> s {position = a} :: GetDevicePositionResponse) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The timestamp for when the tracker resource received the device position+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+getDevicePositionResponse_receivedTime :: Lens.Lens' GetDevicePositionResponse Prelude.UTCTime+getDevicePositionResponse_receivedTime = Lens.lens (\GetDevicePositionResponse' {receivedTime} -> receivedTime) (\s@GetDevicePositionResponse' {} a -> s {receivedTime = a} :: GetDevicePositionResponse) Prelude.. Data._Time++-- | The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+getDevicePositionResponse_sampleTime :: Lens.Lens' GetDevicePositionResponse Prelude.UTCTime+getDevicePositionResponse_sampleTime = Lens.lens (\GetDevicePositionResponse' {sampleTime} -> sampleTime) (\s@GetDevicePositionResponse' {} a -> s {sampleTime = a} :: GetDevicePositionResponse) Prelude.. Data._Time++instance Prelude.NFData GetDevicePositionResponse where+ rnf GetDevicePositionResponse' {..} =+ Prelude.rnf accuracy+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf positionProperties+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf receivedTime+ `Prelude.seq` Prelude.rnf sampleTime
+ gen/Amazonka/Location/GetDevicePositionHistory.hs view
@@ -0,0 +1,363 @@+{-# 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.Location.GetDevicePositionHistory+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the device position history from a tracker resource within a+-- specified range of time.+--+-- Device positions are deleted after 30 days.+--+-- This operation returns paginated results.+module Amazonka.Location.GetDevicePositionHistory+ ( -- * Creating a Request+ GetDevicePositionHistory (..),+ newGetDevicePositionHistory,++ -- * Request Lenses+ getDevicePositionHistory_endTimeExclusive,+ getDevicePositionHistory_maxResults,+ getDevicePositionHistory_nextToken,+ getDevicePositionHistory_startTimeInclusive,+ getDevicePositionHistory_deviceId,+ getDevicePositionHistory_trackerName,++ -- * Destructuring the Response+ GetDevicePositionHistoryResponse (..),+ newGetDevicePositionHistoryResponse,++ -- * Response Lenses+ getDevicePositionHistoryResponse_nextToken,+ getDevicePositionHistoryResponse_httpStatus,+ getDevicePositionHistoryResponse_devicePositions,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDevicePositionHistory' smart constructor.+data GetDevicePositionHistory = GetDevicePositionHistory'+ { -- | Specify the end time for the position history in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be the+ -- time that the request is made.+ --+ -- Requirement:+ --+ -- - The time specified for @EndTimeExclusive@ must be after the time for+ -- @StartTimeInclusive@.+ endTimeExclusive :: Prelude.Maybe Data.ISO8601,+ -- | An optional limit for the number of device positions returned in a+ -- single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Specify the start time for the position history in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be 24+ -- hours prior to the time that the request is made.+ --+ -- Requirement:+ --+ -- - The time specified for @StartTimeInclusive@ must be before+ -- @EndTimeExclusive@.+ startTimeInclusive :: Prelude.Maybe Data.ISO8601,+ -- | The device whose position history you want to retrieve.+ deviceId :: Prelude.Text,+ -- | The tracker resource receiving the request for the device position+ -- history.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDevicePositionHistory' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endTimeExclusive', 'getDevicePositionHistory_endTimeExclusive' - Specify the end time for the position history in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be the+-- time that the request is made.+--+-- Requirement:+--+-- - The time specified for @EndTimeExclusive@ must be after the time for+-- @StartTimeInclusive@.+--+-- 'maxResults', 'getDevicePositionHistory_maxResults' - An optional limit for the number of device positions returned in a+-- single call.+--+-- Default value: @100@+--+-- 'nextToken', 'getDevicePositionHistory_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+--+-- 'startTimeInclusive', 'getDevicePositionHistory_startTimeInclusive' - Specify the start time for the position history in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be 24+-- hours prior to the time that the request is made.+--+-- Requirement:+--+-- - The time specified for @StartTimeInclusive@ must be before+-- @EndTimeExclusive@.+--+-- 'deviceId', 'getDevicePositionHistory_deviceId' - The device whose position history you want to retrieve.+--+-- 'trackerName', 'getDevicePositionHistory_trackerName' - The tracker resource receiving the request for the device position+-- history.+newGetDevicePositionHistory ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ GetDevicePositionHistory+newGetDevicePositionHistory pDeviceId_ pTrackerName_ =+ GetDevicePositionHistory'+ { endTimeExclusive =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ startTimeInclusive = Prelude.Nothing,+ deviceId = pDeviceId_,+ trackerName = pTrackerName_+ }++-- | Specify the end time for the position history in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be the+-- time that the request is made.+--+-- Requirement:+--+-- - The time specified for @EndTimeExclusive@ must be after the time for+-- @StartTimeInclusive@.+getDevicePositionHistory_endTimeExclusive :: Lens.Lens' GetDevicePositionHistory (Prelude.Maybe Prelude.UTCTime)+getDevicePositionHistory_endTimeExclusive = Lens.lens (\GetDevicePositionHistory' {endTimeExclusive} -> endTimeExclusive) (\s@GetDevicePositionHistory' {} a -> s {endTimeExclusive = a} :: GetDevicePositionHistory) Prelude.. Lens.mapping Data._Time++-- | An optional limit for the number of device positions returned in a+-- single call.+--+-- Default value: @100@+getDevicePositionHistory_maxResults :: Lens.Lens' GetDevicePositionHistory (Prelude.Maybe Prelude.Natural)+getDevicePositionHistory_maxResults = Lens.lens (\GetDevicePositionHistory' {maxResults} -> maxResults) (\s@GetDevicePositionHistory' {} a -> s {maxResults = a} :: GetDevicePositionHistory)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+getDevicePositionHistory_nextToken :: Lens.Lens' GetDevicePositionHistory (Prelude.Maybe Prelude.Text)+getDevicePositionHistory_nextToken = Lens.lens (\GetDevicePositionHistory' {nextToken} -> nextToken) (\s@GetDevicePositionHistory' {} a -> s {nextToken = a} :: GetDevicePositionHistory)++-- | Specify the start time for the position history in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@. By default, the value will be 24+-- hours prior to the time that the request is made.+--+-- Requirement:+--+-- - The time specified for @StartTimeInclusive@ must be before+-- @EndTimeExclusive@.+getDevicePositionHistory_startTimeInclusive :: Lens.Lens' GetDevicePositionHistory (Prelude.Maybe Prelude.UTCTime)+getDevicePositionHistory_startTimeInclusive = Lens.lens (\GetDevicePositionHistory' {startTimeInclusive} -> startTimeInclusive) (\s@GetDevicePositionHistory' {} a -> s {startTimeInclusive = a} :: GetDevicePositionHistory) Prelude.. Lens.mapping Data._Time++-- | The device whose position history you want to retrieve.+getDevicePositionHistory_deviceId :: Lens.Lens' GetDevicePositionHistory Prelude.Text+getDevicePositionHistory_deviceId = Lens.lens (\GetDevicePositionHistory' {deviceId} -> deviceId) (\s@GetDevicePositionHistory' {} a -> s {deviceId = a} :: GetDevicePositionHistory)++-- | The tracker resource receiving the request for the device position+-- history.+getDevicePositionHistory_trackerName :: Lens.Lens' GetDevicePositionHistory Prelude.Text+getDevicePositionHistory_trackerName = Lens.lens (\GetDevicePositionHistory' {trackerName} -> trackerName) (\s@GetDevicePositionHistory' {} a -> s {trackerName = a} :: GetDevicePositionHistory)++instance Core.AWSPager GetDevicePositionHistory where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getDevicePositionHistoryResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. getDevicePositionHistoryResponse_devicePositions+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getDevicePositionHistory_nextToken+ Lens..~ rs+ Lens.^? getDevicePositionHistoryResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetDevicePositionHistory where+ type+ AWSResponse GetDevicePositionHistory =+ GetDevicePositionHistoryResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDevicePositionHistoryResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "DevicePositions"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetDevicePositionHistory where+ hashWithSalt _salt GetDevicePositionHistory' {..} =+ _salt+ `Prelude.hashWithSalt` endTimeExclusive+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` startTimeInclusive+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData GetDevicePositionHistory where+ rnf GetDevicePositionHistory' {..} =+ Prelude.rnf endTimeExclusive+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf startTimeInclusive+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders GetDevicePositionHistory where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetDevicePositionHistory where+ toJSON GetDevicePositionHistory' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EndTimeExclusive" Data..=)+ Prelude.<$> endTimeExclusive,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("StartTimeInclusive" Data..=)+ Prelude.<$> startTimeInclusive+ ]+ )++instance Data.ToPath GetDevicePositionHistory where+ toPath GetDevicePositionHistory' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/devices/",+ Data.toBS deviceId,+ "/list-positions"+ ]++instance Data.ToQuery GetDevicePositionHistory where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDevicePositionHistoryResponse' smart constructor.+data GetDevicePositionHistoryResponse = GetDevicePositionHistoryResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains the position history details for the requested device.+ devicePositions :: [DevicePosition]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDevicePositionHistoryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDevicePositionHistoryResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'getDevicePositionHistoryResponse_httpStatus' - The response's http status code.+--+-- 'devicePositions', 'getDevicePositionHistoryResponse_devicePositions' - Contains the position history details for the requested device.+newGetDevicePositionHistoryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDevicePositionHistoryResponse+newGetDevicePositionHistoryResponse pHttpStatus_ =+ GetDevicePositionHistoryResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ devicePositions = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+getDevicePositionHistoryResponse_nextToken :: Lens.Lens' GetDevicePositionHistoryResponse (Prelude.Maybe Prelude.Text)+getDevicePositionHistoryResponse_nextToken = Lens.lens (\GetDevicePositionHistoryResponse' {nextToken} -> nextToken) (\s@GetDevicePositionHistoryResponse' {} a -> s {nextToken = a} :: GetDevicePositionHistoryResponse)++-- | The response's http status code.+getDevicePositionHistoryResponse_httpStatus :: Lens.Lens' GetDevicePositionHistoryResponse Prelude.Int+getDevicePositionHistoryResponse_httpStatus = Lens.lens (\GetDevicePositionHistoryResponse' {httpStatus} -> httpStatus) (\s@GetDevicePositionHistoryResponse' {} a -> s {httpStatus = a} :: GetDevicePositionHistoryResponse)++-- | Contains the position history details for the requested device.+getDevicePositionHistoryResponse_devicePositions :: Lens.Lens' GetDevicePositionHistoryResponse [DevicePosition]+getDevicePositionHistoryResponse_devicePositions = Lens.lens (\GetDevicePositionHistoryResponse' {devicePositions} -> devicePositions) (\s@GetDevicePositionHistoryResponse' {} a -> s {devicePositions = a} :: GetDevicePositionHistoryResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ GetDevicePositionHistoryResponse+ where+ rnf GetDevicePositionHistoryResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf devicePositions
+ gen/Amazonka/Location/GetGeofence.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.GetGeofence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the geofence details from a geofence collection.+module Amazonka.Location.GetGeofence+ ( -- * Creating a Request+ GetGeofence (..),+ newGetGeofence,++ -- * Request Lenses+ getGeofence_collectionName,+ getGeofence_geofenceId,++ -- * Destructuring the Response+ GetGeofenceResponse (..),+ newGetGeofenceResponse,++ -- * Response Lenses+ getGeofenceResponse_httpStatus,+ getGeofenceResponse_createTime,+ getGeofenceResponse_geofenceId,+ getGeofenceResponse_geometry,+ getGeofenceResponse_status,+ getGeofenceResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGeofence' smart constructor.+data GetGeofence = GetGeofence'+ { -- | The geofence collection storing the target geofence.+ collectionName :: Prelude.Text,+ -- | The geofence you\'re retrieving details for.+ geofenceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeofence' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'getGeofence_collectionName' - The geofence collection storing the target geofence.+--+-- 'geofenceId', 'getGeofence_geofenceId' - The geofence you\'re retrieving details for.+newGetGeofence ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'geofenceId'+ Prelude.Text ->+ GetGeofence+newGetGeofence pCollectionName_ pGeofenceId_ =+ GetGeofence'+ { collectionName = pCollectionName_,+ geofenceId = pGeofenceId_+ }++-- | The geofence collection storing the target geofence.+getGeofence_collectionName :: Lens.Lens' GetGeofence Prelude.Text+getGeofence_collectionName = Lens.lens (\GetGeofence' {collectionName} -> collectionName) (\s@GetGeofence' {} a -> s {collectionName = a} :: GetGeofence)++-- | The geofence you\'re retrieving details for.+getGeofence_geofenceId :: Lens.Lens' GetGeofence Prelude.Text+getGeofence_geofenceId = Lens.lens (\GetGeofence' {geofenceId} -> geofenceId) (\s@GetGeofence' {} a -> s {geofenceId = a} :: GetGeofence)++instance Core.AWSRequest GetGeofence where+ type AWSResponse GetGeofence = GetGeofenceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetGeofenceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "GeofenceId")+ Prelude.<*> (x Data..:> "Geometry")+ Prelude.<*> (x Data..:> "Status")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable GetGeofence where+ hashWithSalt _salt GetGeofence' {..} =+ _salt+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` geofenceId++instance Prelude.NFData GetGeofence where+ rnf GetGeofence' {..} =+ Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf geofenceId++instance Data.ToHeaders GetGeofence where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetGeofence where+ toPath GetGeofence' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/geofences/",+ Data.toBS geofenceId+ ]++instance Data.ToQuery GetGeofence where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGeofenceResponse' smart constructor.+data GetGeofenceResponse = GetGeofenceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the geofence collection was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The geofence identifier.+ geofenceId :: Prelude.Text,+ -- | Contains the geofence geometry details describing a polygon or a circle.+ geometry :: GeofenceGeometry,+ -- | Identifies the state of the geofence. A geofence will hold one of the+ -- following states:+ --+ -- - @ACTIVE@ — The geofence has been indexed by the system.+ --+ -- - @PENDING@ — The geofence is being processed by the system.+ --+ -- - @FAILED@ — The geofence failed to be indexed by the system.+ --+ -- - @DELETED@ — The geofence has been deleted from the system index.+ --+ -- - @DELETING@ — The geofence is being deleted from the system index.+ status :: Prelude.Text,+ -- | The timestamp for when the geofence collection was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeofenceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getGeofenceResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'getGeofenceResponse_createTime' - The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'geofenceId', 'getGeofenceResponse_geofenceId' - The geofence identifier.+--+-- 'geometry', 'getGeofenceResponse_geometry' - Contains the geofence geometry details describing a polygon or a circle.+--+-- 'status', 'getGeofenceResponse_status' - Identifies the state of the geofence. A geofence will hold one of the+-- following states:+--+-- - @ACTIVE@ — The geofence has been indexed by the system.+--+-- - @PENDING@ — The geofence is being processed by the system.+--+-- - @FAILED@ — The geofence failed to be indexed by the system.+--+-- - @DELETED@ — The geofence has been deleted from the system index.+--+-- - @DELETING@ — The geofence is being deleted from the system index.+--+-- 'updateTime', 'getGeofenceResponse_updateTime' - The timestamp for when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newGetGeofenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'geometry'+ GeofenceGeometry ->+ -- | 'status'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ GetGeofenceResponse+newGetGeofenceResponse+ pHttpStatus_+ pCreateTime_+ pGeofenceId_+ pGeometry_+ pStatus_+ pUpdateTime_ =+ GetGeofenceResponse'+ { httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ geofenceId = pGeofenceId_,+ geometry = pGeometry_,+ status = pStatus_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+getGeofenceResponse_httpStatus :: Lens.Lens' GetGeofenceResponse Prelude.Int+getGeofenceResponse_httpStatus = Lens.lens (\GetGeofenceResponse' {httpStatus} -> httpStatus) (\s@GetGeofenceResponse' {} a -> s {httpStatus = a} :: GetGeofenceResponse)++-- | The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+getGeofenceResponse_createTime :: Lens.Lens' GetGeofenceResponse Prelude.UTCTime+getGeofenceResponse_createTime = Lens.lens (\GetGeofenceResponse' {createTime} -> createTime) (\s@GetGeofenceResponse' {} a -> s {createTime = a} :: GetGeofenceResponse) Prelude.. Data._Time++-- | The geofence identifier.+getGeofenceResponse_geofenceId :: Lens.Lens' GetGeofenceResponse Prelude.Text+getGeofenceResponse_geofenceId = Lens.lens (\GetGeofenceResponse' {geofenceId} -> geofenceId) (\s@GetGeofenceResponse' {} a -> s {geofenceId = a} :: GetGeofenceResponse)++-- | Contains the geofence geometry details describing a polygon or a circle.+getGeofenceResponse_geometry :: Lens.Lens' GetGeofenceResponse GeofenceGeometry+getGeofenceResponse_geometry = Lens.lens (\GetGeofenceResponse' {geometry} -> geometry) (\s@GetGeofenceResponse' {} a -> s {geometry = a} :: GetGeofenceResponse)++-- | Identifies the state of the geofence. A geofence will hold one of the+-- following states:+--+-- - @ACTIVE@ — The geofence has been indexed by the system.+--+-- - @PENDING@ — The geofence is being processed by the system.+--+-- - @FAILED@ — The geofence failed to be indexed by the system.+--+-- - @DELETED@ — The geofence has been deleted from the system index.+--+-- - @DELETING@ — The geofence is being deleted from the system index.+getGeofenceResponse_status :: Lens.Lens' GetGeofenceResponse Prelude.Text+getGeofenceResponse_status = Lens.lens (\GetGeofenceResponse' {status} -> status) (\s@GetGeofenceResponse' {} a -> s {status = a} :: GetGeofenceResponse)++-- | The timestamp for when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+getGeofenceResponse_updateTime :: Lens.Lens' GetGeofenceResponse Prelude.UTCTime+getGeofenceResponse_updateTime = Lens.lens (\GetGeofenceResponse' {updateTime} -> updateTime) (\s@GetGeofenceResponse' {} a -> s {updateTime = a} :: GetGeofenceResponse) Prelude.. Data._Time++instance Prelude.NFData GetGeofenceResponse where+ rnf GetGeofenceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf geometry+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/GetMapGlyphs.hs view
@@ -0,0 +1,356 @@+{-# 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.Location.GetMapGlyphs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves glyphs used to display labels on a map.+module Amazonka.Location.GetMapGlyphs+ ( -- * Creating a Request+ GetMapGlyphs (..),+ newGetMapGlyphs,++ -- * Request Lenses+ getMapGlyphs_fontStack,+ getMapGlyphs_fontUnicodeRange,+ getMapGlyphs_mapName,++ -- * Destructuring the Response+ GetMapGlyphsResponse (..),+ newGetMapGlyphsResponse,++ -- * Response Lenses+ getMapGlyphsResponse_blob,+ getMapGlyphsResponse_contentType,+ getMapGlyphsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMapGlyphs' smart constructor.+data GetMapGlyphs = GetMapGlyphs'+ { -- | A comma-separated list of fonts to load glyphs from in order of+ -- preference. For example, @Noto Sans Regular, Arial Unicode@.+ --+ -- Valid fonts stacks for+ -- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>+ -- styles:+ --+ -- - VectorEsriDarkGrayCanvas – @Ubuntu Medium Italic@ | @Ubuntu Medium@+ -- | @Ubuntu Italic@ | @Ubuntu Regular@ | @Ubuntu Bold@+ --+ -- - VectorEsriLightGrayCanvas – @Ubuntu Italic@ | @Ubuntu Regular@ |+ -- @Ubuntu Light@ | @Ubuntu Bold@+ --+ -- - VectorEsriTopographic – @Noto Sans Italic@ | @Noto Sans Regular@ |+ -- @Noto Sans Bold@ | @Noto Serif Regular@ |+ -- @Roboto Condensed Light Italic@+ --+ -- - VectorEsriStreets – @Arial Regular@ | @Arial Italic@ | @Arial Bold@+ --+ -- - VectorEsriNavigation – @Arial Regular@ | @Arial Italic@ |+ -- @Arial Bold@+ --+ -- Valid font stacks for+ -- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>+ -- styles:+ --+ -- - VectorHereContrast – @Fira GO Regular@ | @Fira GO Bold@+ --+ -- - VectorHereExplore, VectorHereExploreTruck,+ -- HybridHereExploreSatellite – @Fira GO Italic@ | @Fira GO Map@ |+ -- @Fira GO Map Bold@ | @Noto Sans CJK JP Bold@ |+ -- @Noto Sans CJK JP Light@ | @Noto Sans CJK JP Regular@+ --+ -- Valid font stacks for+ -- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview)>+ -- styles:+ --+ -- - VectorOpenDataStandardLight –+ -- @Amazon Ember Regular,Noto Sans Regular@ |+ -- @Amazon Ember Bold,Noto Sans Bold@ |+ -- @Amazon Ember Medium,Noto Sans Medium@ |+ -- @Amazon Ember Regular Italic,Noto Sans Italic@ |+ -- @Amazon Ember Condensed RC Regular,Noto Sans Regular@ |+ -- @Amazon Ember Condensed RC Bold,Noto Sans Bold@+ --+ -- The fonts used by @VectorOpenDataStandardLight@ are combined fonts that+ -- use @Amazon Ember@ for most glyphs but @Noto Sans@ for glyphs+ -- unsupported by @Amazon Ember@.+ fontStack :: Prelude.Text,+ -- | A Unicode range of characters to download glyphs for. Each response will+ -- contain 256 characters. For example, 0–255 includes all characters from+ -- range @U+0000@ to @00FF@. Must be aligned to multiples of 256.+ fontUnicodeRange :: Prelude.Text,+ -- | The map resource associated with the glyph file.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMapGlyphs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fontStack', 'getMapGlyphs_fontStack' - A comma-separated list of fonts to load glyphs from in order of+-- preference. For example, @Noto Sans Regular, Arial Unicode@.+--+-- Valid fonts stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>+-- styles:+--+-- - VectorEsriDarkGrayCanvas – @Ubuntu Medium Italic@ | @Ubuntu Medium@+-- | @Ubuntu Italic@ | @Ubuntu Regular@ | @Ubuntu Bold@+--+-- - VectorEsriLightGrayCanvas – @Ubuntu Italic@ | @Ubuntu Regular@ |+-- @Ubuntu Light@ | @Ubuntu Bold@+--+-- - VectorEsriTopographic – @Noto Sans Italic@ | @Noto Sans Regular@ |+-- @Noto Sans Bold@ | @Noto Serif Regular@ |+-- @Roboto Condensed Light Italic@+--+-- - VectorEsriStreets – @Arial Regular@ | @Arial Italic@ | @Arial Bold@+--+-- - VectorEsriNavigation – @Arial Regular@ | @Arial Italic@ |+-- @Arial Bold@+--+-- Valid font stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>+-- styles:+--+-- - VectorHereContrast – @Fira GO Regular@ | @Fira GO Bold@+--+-- - VectorHereExplore, VectorHereExploreTruck,+-- HybridHereExploreSatellite – @Fira GO Italic@ | @Fira GO Map@ |+-- @Fira GO Map Bold@ | @Noto Sans CJK JP Bold@ |+-- @Noto Sans CJK JP Light@ | @Noto Sans CJK JP Regular@+--+-- Valid font stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview)>+-- styles:+--+-- - VectorOpenDataStandardLight –+-- @Amazon Ember Regular,Noto Sans Regular@ |+-- @Amazon Ember Bold,Noto Sans Bold@ |+-- @Amazon Ember Medium,Noto Sans Medium@ |+-- @Amazon Ember Regular Italic,Noto Sans Italic@ |+-- @Amazon Ember Condensed RC Regular,Noto Sans Regular@ |+-- @Amazon Ember Condensed RC Bold,Noto Sans Bold@+--+-- The fonts used by @VectorOpenDataStandardLight@ are combined fonts that+-- use @Amazon Ember@ for most glyphs but @Noto Sans@ for glyphs+-- unsupported by @Amazon Ember@.+--+-- 'fontUnicodeRange', 'getMapGlyphs_fontUnicodeRange' - A Unicode range of characters to download glyphs for. Each response will+-- contain 256 characters. For example, 0–255 includes all characters from+-- range @U+0000@ to @00FF@. Must be aligned to multiples of 256.+--+-- 'mapName', 'getMapGlyphs_mapName' - The map resource associated with the glyph file.+newGetMapGlyphs ::+ -- | 'fontStack'+ Prelude.Text ->+ -- | 'fontUnicodeRange'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ GetMapGlyphs+newGetMapGlyphs+ pFontStack_+ pFontUnicodeRange_+ pMapName_ =+ GetMapGlyphs'+ { fontStack = pFontStack_,+ fontUnicodeRange = pFontUnicodeRange_,+ mapName = pMapName_+ }++-- | A comma-separated list of fonts to load glyphs from in order of+-- preference. For example, @Noto Sans Regular, Arial Unicode@.+--+-- Valid fonts stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri>+-- styles:+--+-- - VectorEsriDarkGrayCanvas – @Ubuntu Medium Italic@ | @Ubuntu Medium@+-- | @Ubuntu Italic@ | @Ubuntu Regular@ | @Ubuntu Bold@+--+-- - VectorEsriLightGrayCanvas – @Ubuntu Italic@ | @Ubuntu Regular@ |+-- @Ubuntu Light@ | @Ubuntu Bold@+--+-- - VectorEsriTopographic – @Noto Sans Italic@ | @Noto Sans Regular@ |+-- @Noto Sans Bold@ | @Noto Serif Regular@ |+-- @Roboto Condensed Light Italic@+--+-- - VectorEsriStreets – @Arial Regular@ | @Arial Italic@ | @Arial Bold@+--+-- - VectorEsriNavigation – @Arial Regular@ | @Arial Italic@ |+-- @Arial Bold@+--+-- Valid font stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies>+-- styles:+--+-- - VectorHereContrast – @Fira GO Regular@ | @Fira GO Bold@+--+-- - VectorHereExplore, VectorHereExploreTruck,+-- HybridHereExploreSatellite – @Fira GO Italic@ | @Fira GO Map@ |+-- @Fira GO Map Bold@ | @Noto Sans CJK JP Bold@ |+-- @Noto Sans CJK JP Light@ | @Noto Sans CJK JP Regular@+--+-- Valid font stacks for+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview)>+-- styles:+--+-- - VectorOpenDataStandardLight –+-- @Amazon Ember Regular,Noto Sans Regular@ |+-- @Amazon Ember Bold,Noto Sans Bold@ |+-- @Amazon Ember Medium,Noto Sans Medium@ |+-- @Amazon Ember Regular Italic,Noto Sans Italic@ |+-- @Amazon Ember Condensed RC Regular,Noto Sans Regular@ |+-- @Amazon Ember Condensed RC Bold,Noto Sans Bold@+--+-- The fonts used by @VectorOpenDataStandardLight@ are combined fonts that+-- use @Amazon Ember@ for most glyphs but @Noto Sans@ for glyphs+-- unsupported by @Amazon Ember@.+getMapGlyphs_fontStack :: Lens.Lens' GetMapGlyphs Prelude.Text+getMapGlyphs_fontStack = Lens.lens (\GetMapGlyphs' {fontStack} -> fontStack) (\s@GetMapGlyphs' {} a -> s {fontStack = a} :: GetMapGlyphs)++-- | A Unicode range of characters to download glyphs for. Each response will+-- contain 256 characters. For example, 0–255 includes all characters from+-- range @U+0000@ to @00FF@. Must be aligned to multiples of 256.+getMapGlyphs_fontUnicodeRange :: Lens.Lens' GetMapGlyphs Prelude.Text+getMapGlyphs_fontUnicodeRange = Lens.lens (\GetMapGlyphs' {fontUnicodeRange} -> fontUnicodeRange) (\s@GetMapGlyphs' {} a -> s {fontUnicodeRange = a} :: GetMapGlyphs)++-- | The map resource associated with the glyph file.+getMapGlyphs_mapName :: Lens.Lens' GetMapGlyphs Prelude.Text+getMapGlyphs_mapName = Lens.lens (\GetMapGlyphs' {mapName} -> mapName) (\s@GetMapGlyphs' {} a -> s {mapName = a} :: GetMapGlyphs)++instance Core.AWSRequest GetMapGlyphs where+ type AWSResponse GetMapGlyphs = GetMapGlyphsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ GetMapGlyphsResponse'+ Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMapGlyphs where+ hashWithSalt _salt GetMapGlyphs' {..} =+ _salt+ `Prelude.hashWithSalt` fontStack+ `Prelude.hashWithSalt` fontUnicodeRange+ `Prelude.hashWithSalt` mapName++instance Prelude.NFData GetMapGlyphs where+ rnf GetMapGlyphs' {..} =+ Prelude.rnf fontStack+ `Prelude.seq` Prelude.rnf fontUnicodeRange+ `Prelude.seq` Prelude.rnf mapName++instance Data.ToHeaders GetMapGlyphs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMapGlyphs where+ toPath GetMapGlyphs' {..} =+ Prelude.mconcat+ [ "/maps/v0/maps/",+ Data.toBS mapName,+ "/glyphs/",+ Data.toBS fontStack,+ "/",+ Data.toBS fontUnicodeRange+ ]++instance Data.ToQuery GetMapGlyphs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMapGlyphsResponse' smart constructor.+data GetMapGlyphsResponse = GetMapGlyphsResponse'+ { -- | The blob\'s content type.+ blob :: Prelude.Maybe Prelude.ByteString,+ -- | The map glyph content type. For example, @application\/octet-stream@.+ contentType :: 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 'GetMapGlyphsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blob', 'getMapGlyphsResponse_blob' - The blob\'s content type.+--+-- 'contentType', 'getMapGlyphsResponse_contentType' - The map glyph content type. For example, @application\/octet-stream@.+--+-- 'httpStatus', 'getMapGlyphsResponse_httpStatus' - The response's http status code.+newGetMapGlyphsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMapGlyphsResponse+newGetMapGlyphsResponse pHttpStatus_ =+ GetMapGlyphsResponse'+ { blob = Prelude.Nothing,+ contentType = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The blob\'s content type.+getMapGlyphsResponse_blob :: Lens.Lens' GetMapGlyphsResponse (Prelude.Maybe Prelude.ByteString)+getMapGlyphsResponse_blob = Lens.lens (\GetMapGlyphsResponse' {blob} -> blob) (\s@GetMapGlyphsResponse' {} a -> s {blob = a} :: GetMapGlyphsResponse)++-- | The map glyph content type. For example, @application\/octet-stream@.+getMapGlyphsResponse_contentType :: Lens.Lens' GetMapGlyphsResponse (Prelude.Maybe Prelude.Text)+getMapGlyphsResponse_contentType = Lens.lens (\GetMapGlyphsResponse' {contentType} -> contentType) (\s@GetMapGlyphsResponse' {} a -> s {contentType = a} :: GetMapGlyphsResponse)++-- | The response's http status code.+getMapGlyphsResponse_httpStatus :: Lens.Lens' GetMapGlyphsResponse Prelude.Int+getMapGlyphsResponse_httpStatus = Lens.lens (\GetMapGlyphsResponse' {httpStatus} -> httpStatus) (\s@GetMapGlyphsResponse' {} a -> s {httpStatus = a} :: GetMapGlyphsResponse)++instance Prelude.NFData GetMapGlyphsResponse where+ rnf GetMapGlyphsResponse' {..} =+ Prelude.rnf blob+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Location/GetMapSprites.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.Location.GetMapSprites+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the sprite sheet corresponding to a map resource. The sprite+-- sheet is a PNG image paired with a JSON document describing the offsets+-- of individual icons that will be displayed on a rendered map.+module Amazonka.Location.GetMapSprites+ ( -- * Creating a Request+ GetMapSprites (..),+ newGetMapSprites,++ -- * Request Lenses+ getMapSprites_fileName,+ getMapSprites_mapName,++ -- * Destructuring the Response+ GetMapSpritesResponse (..),+ newGetMapSpritesResponse,++ -- * Response Lenses+ getMapSpritesResponse_blob,+ getMapSpritesResponse_contentType,+ getMapSpritesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMapSprites' smart constructor.+data GetMapSprites = GetMapSprites'+ { -- | The name of the sprite file. Use the following file names for the sprite+ -- sheet:+ --+ -- - @sprites.png@+ --+ -- - @sprites\@2x.png@ for high pixel density displays+ --+ -- For the JSON document containing image offsets. Use the following file+ -- names:+ --+ -- - @sprites.json@+ --+ -- - @sprites\@2x.json@ for high pixel density displays+ fileName :: Prelude.Text,+ -- | The map resource associated with the sprite file.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMapSprites' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fileName', 'getMapSprites_fileName' - The name of the sprite file. Use the following file names for the sprite+-- sheet:+--+-- - @sprites.png@+--+-- - @sprites\@2x.png@ for high pixel density displays+--+-- For the JSON document containing image offsets. Use the following file+-- names:+--+-- - @sprites.json@+--+-- - @sprites\@2x.json@ for high pixel density displays+--+-- 'mapName', 'getMapSprites_mapName' - The map resource associated with the sprite file.+newGetMapSprites ::+ -- | 'fileName'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ GetMapSprites+newGetMapSprites pFileName_ pMapName_ =+ GetMapSprites'+ { fileName = pFileName_,+ mapName = pMapName_+ }++-- | The name of the sprite file. Use the following file names for the sprite+-- sheet:+--+-- - @sprites.png@+--+-- - @sprites\@2x.png@ for high pixel density displays+--+-- For the JSON document containing image offsets. Use the following file+-- names:+--+-- - @sprites.json@+--+-- - @sprites\@2x.json@ for high pixel density displays+getMapSprites_fileName :: Lens.Lens' GetMapSprites Prelude.Text+getMapSprites_fileName = Lens.lens (\GetMapSprites' {fileName} -> fileName) (\s@GetMapSprites' {} a -> s {fileName = a} :: GetMapSprites)++-- | The map resource associated with the sprite file.+getMapSprites_mapName :: Lens.Lens' GetMapSprites Prelude.Text+getMapSprites_mapName = Lens.lens (\GetMapSprites' {mapName} -> mapName) (\s@GetMapSprites' {} a -> s {mapName = a} :: GetMapSprites)++instance Core.AWSRequest GetMapSprites where+ type+ AWSResponse GetMapSprites =+ GetMapSpritesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ GetMapSpritesResponse'+ Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMapSprites where+ hashWithSalt _salt GetMapSprites' {..} =+ _salt+ `Prelude.hashWithSalt` fileName+ `Prelude.hashWithSalt` mapName++instance Prelude.NFData GetMapSprites where+ rnf GetMapSprites' {..} =+ Prelude.rnf fileName+ `Prelude.seq` Prelude.rnf mapName++instance Data.ToHeaders GetMapSprites where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMapSprites where+ toPath GetMapSprites' {..} =+ Prelude.mconcat+ [ "/maps/v0/maps/",+ Data.toBS mapName,+ "/sprites/",+ Data.toBS fileName+ ]++instance Data.ToQuery GetMapSprites where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMapSpritesResponse' smart constructor.+data GetMapSpritesResponse = GetMapSpritesResponse'+ { -- | Contains the body of the sprite sheet or JSON offset file.+ blob :: Prelude.Maybe Prelude.ByteString,+ -- | The content type of the sprite sheet and offsets. For example, the+ -- sprite sheet content type is @image\/png@, and the sprite offset JSON+ -- document is @application\/json@.+ contentType :: 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 'GetMapSpritesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blob', 'getMapSpritesResponse_blob' - Contains the body of the sprite sheet or JSON offset file.+--+-- 'contentType', 'getMapSpritesResponse_contentType' - The content type of the sprite sheet and offsets. For example, the+-- sprite sheet content type is @image\/png@, and the sprite offset JSON+-- document is @application\/json@.+--+-- 'httpStatus', 'getMapSpritesResponse_httpStatus' - The response's http status code.+newGetMapSpritesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMapSpritesResponse+newGetMapSpritesResponse pHttpStatus_ =+ GetMapSpritesResponse'+ { blob = Prelude.Nothing,+ contentType = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains the body of the sprite sheet or JSON offset file.+getMapSpritesResponse_blob :: Lens.Lens' GetMapSpritesResponse (Prelude.Maybe Prelude.ByteString)+getMapSpritesResponse_blob = Lens.lens (\GetMapSpritesResponse' {blob} -> blob) (\s@GetMapSpritesResponse' {} a -> s {blob = a} :: GetMapSpritesResponse)++-- | The content type of the sprite sheet and offsets. For example, the+-- sprite sheet content type is @image\/png@, and the sprite offset JSON+-- document is @application\/json@.+getMapSpritesResponse_contentType :: Lens.Lens' GetMapSpritesResponse (Prelude.Maybe Prelude.Text)+getMapSpritesResponse_contentType = Lens.lens (\GetMapSpritesResponse' {contentType} -> contentType) (\s@GetMapSpritesResponse' {} a -> s {contentType = a} :: GetMapSpritesResponse)++-- | The response's http status code.+getMapSpritesResponse_httpStatus :: Lens.Lens' GetMapSpritesResponse Prelude.Int+getMapSpritesResponse_httpStatus = Lens.lens (\GetMapSpritesResponse' {httpStatus} -> httpStatus) (\s@GetMapSpritesResponse' {} a -> s {httpStatus = a} :: GetMapSpritesResponse)++instance Prelude.NFData GetMapSpritesResponse where+ rnf GetMapSpritesResponse' {..} =+ Prelude.rnf blob+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Location/GetMapStyleDescriptor.hs view
@@ -0,0 +1,179 @@+{-# 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.Location.GetMapStyleDescriptor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the map style descriptor from a map resource.+--+-- The style descriptor contains specifications on how features render on a+-- map. For example, what data to display, what order to display the data+-- in, and the style for the data. Style descriptors follow the Mapbox+-- Style Specification.+module Amazonka.Location.GetMapStyleDescriptor+ ( -- * Creating a Request+ GetMapStyleDescriptor (..),+ newGetMapStyleDescriptor,++ -- * Request Lenses+ getMapStyleDescriptor_mapName,++ -- * Destructuring the Response+ GetMapStyleDescriptorResponse (..),+ newGetMapStyleDescriptorResponse,++ -- * Response Lenses+ getMapStyleDescriptorResponse_blob,+ getMapStyleDescriptorResponse_contentType,+ getMapStyleDescriptorResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMapStyleDescriptor' smart constructor.+data GetMapStyleDescriptor = GetMapStyleDescriptor'+ { -- | The map resource to retrieve the style descriptor from.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMapStyleDescriptor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mapName', 'getMapStyleDescriptor_mapName' - The map resource to retrieve the style descriptor from.+newGetMapStyleDescriptor ::+ -- | 'mapName'+ Prelude.Text ->+ GetMapStyleDescriptor+newGetMapStyleDescriptor pMapName_ =+ GetMapStyleDescriptor' {mapName = pMapName_}++-- | The map resource to retrieve the style descriptor from.+getMapStyleDescriptor_mapName :: Lens.Lens' GetMapStyleDescriptor Prelude.Text+getMapStyleDescriptor_mapName = Lens.lens (\GetMapStyleDescriptor' {mapName} -> mapName) (\s@GetMapStyleDescriptor' {} a -> s {mapName = a} :: GetMapStyleDescriptor)++instance Core.AWSRequest GetMapStyleDescriptor where+ type+ AWSResponse GetMapStyleDescriptor =+ GetMapStyleDescriptorResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ GetMapStyleDescriptorResponse'+ Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMapStyleDescriptor where+ hashWithSalt _salt GetMapStyleDescriptor' {..} =+ _salt `Prelude.hashWithSalt` mapName++instance Prelude.NFData GetMapStyleDescriptor where+ rnf GetMapStyleDescriptor' {..} = Prelude.rnf mapName++instance Data.ToHeaders GetMapStyleDescriptor where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMapStyleDescriptor where+ toPath GetMapStyleDescriptor' {..} =+ Prelude.mconcat+ [ "/maps/v0/maps/",+ Data.toBS mapName,+ "/style-descriptor"+ ]++instance Data.ToQuery GetMapStyleDescriptor where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMapStyleDescriptorResponse' smart constructor.+data GetMapStyleDescriptorResponse = GetMapStyleDescriptorResponse'+ { -- | Contains the body of the style descriptor.+ blob :: Prelude.Maybe Prelude.ByteString,+ -- | The style descriptor\'s content type. For example, @application\/json@.+ contentType :: 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 'GetMapStyleDescriptorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blob', 'getMapStyleDescriptorResponse_blob' - Contains the body of the style descriptor.+--+-- 'contentType', 'getMapStyleDescriptorResponse_contentType' - The style descriptor\'s content type. For example, @application\/json@.+--+-- 'httpStatus', 'getMapStyleDescriptorResponse_httpStatus' - The response's http status code.+newGetMapStyleDescriptorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMapStyleDescriptorResponse+newGetMapStyleDescriptorResponse pHttpStatus_ =+ GetMapStyleDescriptorResponse'+ { blob =+ Prelude.Nothing,+ contentType = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains the body of the style descriptor.+getMapStyleDescriptorResponse_blob :: Lens.Lens' GetMapStyleDescriptorResponse (Prelude.Maybe Prelude.ByteString)+getMapStyleDescriptorResponse_blob = Lens.lens (\GetMapStyleDescriptorResponse' {blob} -> blob) (\s@GetMapStyleDescriptorResponse' {} a -> s {blob = a} :: GetMapStyleDescriptorResponse)++-- | The style descriptor\'s content type. For example, @application\/json@.+getMapStyleDescriptorResponse_contentType :: Lens.Lens' GetMapStyleDescriptorResponse (Prelude.Maybe Prelude.Text)+getMapStyleDescriptorResponse_contentType = Lens.lens (\GetMapStyleDescriptorResponse' {contentType} -> contentType) (\s@GetMapStyleDescriptorResponse' {} a -> s {contentType = a} :: GetMapStyleDescriptorResponse)++-- | The response's http status code.+getMapStyleDescriptorResponse_httpStatus :: Lens.Lens' GetMapStyleDescriptorResponse Prelude.Int+getMapStyleDescriptorResponse_httpStatus = Lens.lens (\GetMapStyleDescriptorResponse' {httpStatus} -> httpStatus) (\s@GetMapStyleDescriptorResponse' {} a -> s {httpStatus = a} :: GetMapStyleDescriptorResponse)++instance Prelude.NFData GetMapStyleDescriptorResponse where+ rnf GetMapStyleDescriptorResponse' {..} =+ Prelude.rnf blob+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Location/GetMapTile.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.GetMapTile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a vector data tile from the map resource. Map tiles are used+-- by clients to render a map. they\'re addressed using a grid arrangement+-- with an X coordinate, Y coordinate, and Z (zoom) level.+--+-- The origin (0, 0) is the top left of the map. Increasing the zoom level+-- by 1 doubles both the X and Y dimensions, so a tile containing data for+-- the entire world at (0\/0\/0) will be split into 4 tiles at zoom 1+-- (1\/0\/0, 1\/0\/1, 1\/1\/0, 1\/1\/1).+module Amazonka.Location.GetMapTile+ ( -- * Creating a Request+ GetMapTile (..),+ newGetMapTile,++ -- * Request Lenses+ getMapTile_mapName,+ getMapTile_x,+ getMapTile_y,+ getMapTile_z,++ -- * Destructuring the Response+ GetMapTileResponse (..),+ newGetMapTileResponse,++ -- * Response Lenses+ getMapTileResponse_blob,+ getMapTileResponse_contentType,+ getMapTileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMapTile' smart constructor.+data GetMapTile = GetMapTile'+ { -- | The map resource to retrieve the map tiles from.+ mapName :: Prelude.Text,+ -- | The X axis value for the map tile.+ x :: Prelude.Text,+ -- | The Y axis value for the map tile.+ y :: Prelude.Text,+ -- | The zoom value for the map tile.+ z :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMapTile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mapName', 'getMapTile_mapName' - The map resource to retrieve the map tiles from.+--+-- 'x', 'getMapTile_x' - The X axis value for the map tile.+--+-- 'y', 'getMapTile_y' - The Y axis value for the map tile.+--+-- 'z', 'getMapTile_z' - The zoom value for the map tile.+newGetMapTile ::+ -- | 'mapName'+ Prelude.Text ->+ -- | 'x'+ Prelude.Text ->+ -- | 'y'+ Prelude.Text ->+ -- | 'z'+ Prelude.Text ->+ GetMapTile+newGetMapTile pMapName_ pX_ pY_ pZ_ =+ GetMapTile'+ { mapName = pMapName_,+ x = pX_,+ y = pY_,+ z = pZ_+ }++-- | The map resource to retrieve the map tiles from.+getMapTile_mapName :: Lens.Lens' GetMapTile Prelude.Text+getMapTile_mapName = Lens.lens (\GetMapTile' {mapName} -> mapName) (\s@GetMapTile' {} a -> s {mapName = a} :: GetMapTile)++-- | The X axis value for the map tile.+getMapTile_x :: Lens.Lens' GetMapTile Prelude.Text+getMapTile_x = Lens.lens (\GetMapTile' {x} -> x) (\s@GetMapTile' {} a -> s {x = a} :: GetMapTile)++-- | The Y axis value for the map tile.+getMapTile_y :: Lens.Lens' GetMapTile Prelude.Text+getMapTile_y = Lens.lens (\GetMapTile' {y} -> y) (\s@GetMapTile' {} a -> s {y = a} :: GetMapTile)++-- | The zoom value for the map tile.+getMapTile_z :: Lens.Lens' GetMapTile Prelude.Text+getMapTile_z = Lens.lens (\GetMapTile' {z} -> z) (\s@GetMapTile' {} a -> s {z = a} :: GetMapTile)++instance Core.AWSRequest GetMapTile where+ type AWSResponse GetMapTile = GetMapTileResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveBytes+ ( \s h x ->+ GetMapTileResponse'+ Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+ Prelude.<*> (h Data..#? "Content-Type")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMapTile where+ hashWithSalt _salt GetMapTile' {..} =+ _salt+ `Prelude.hashWithSalt` mapName+ `Prelude.hashWithSalt` x+ `Prelude.hashWithSalt` y+ `Prelude.hashWithSalt` z++instance Prelude.NFData GetMapTile where+ rnf GetMapTile' {..} =+ Prelude.rnf mapName+ `Prelude.seq` Prelude.rnf x+ `Prelude.seq` Prelude.rnf y+ `Prelude.seq` Prelude.rnf z++instance Data.ToHeaders GetMapTile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMapTile where+ toPath GetMapTile' {..} =+ Prelude.mconcat+ [ "/maps/v0/maps/",+ Data.toBS mapName,+ "/tiles/",+ Data.toBS z,+ "/",+ Data.toBS x,+ "/",+ Data.toBS y+ ]++instance Data.ToQuery GetMapTile where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMapTileResponse' smart constructor.+data GetMapTileResponse = GetMapTileResponse'+ { -- | Contains Mapbox Vector Tile (MVT) data.+ blob :: Prelude.Maybe Prelude.ByteString,+ -- | The map tile\'s content type. For example,+ -- @application\/vnd.mapbox-vector-tile@.+ contentType :: 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 'GetMapTileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blob', 'getMapTileResponse_blob' - Contains Mapbox Vector Tile (MVT) data.+--+-- 'contentType', 'getMapTileResponse_contentType' - The map tile\'s content type. For example,+-- @application\/vnd.mapbox-vector-tile@.+--+-- 'httpStatus', 'getMapTileResponse_httpStatus' - The response's http status code.+newGetMapTileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMapTileResponse+newGetMapTileResponse pHttpStatus_ =+ GetMapTileResponse'+ { blob = Prelude.Nothing,+ contentType = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Contains Mapbox Vector Tile (MVT) data.+getMapTileResponse_blob :: Lens.Lens' GetMapTileResponse (Prelude.Maybe Prelude.ByteString)+getMapTileResponse_blob = Lens.lens (\GetMapTileResponse' {blob} -> blob) (\s@GetMapTileResponse' {} a -> s {blob = a} :: GetMapTileResponse)++-- | The map tile\'s content type. For example,+-- @application\/vnd.mapbox-vector-tile@.+getMapTileResponse_contentType :: Lens.Lens' GetMapTileResponse (Prelude.Maybe Prelude.Text)+getMapTileResponse_contentType = Lens.lens (\GetMapTileResponse' {contentType} -> contentType) (\s@GetMapTileResponse' {} a -> s {contentType = a} :: GetMapTileResponse)++-- | The response's http status code.+getMapTileResponse_httpStatus :: Lens.Lens' GetMapTileResponse Prelude.Int+getMapTileResponse_httpStatus = Lens.lens (\GetMapTileResponse' {httpStatus} -> httpStatus) (\s@GetMapTileResponse' {} a -> s {httpStatus = a} :: GetMapTileResponse)++instance Prelude.NFData GetMapTileResponse where+ rnf GetMapTileResponse' {..} =+ Prelude.rnf blob+ `Prelude.seq` Prelude.rnf contentType+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Location/GetPlace.hs view
@@ -0,0 +1,257 @@+{-# 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.Location.GetPlace+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Finds a place by its unique ID. A @PlaceId@ is returned by other search+-- operations.+--+-- A PlaceId is valid only if all of the following are the same in the+-- original search request and the call to @GetPlace@.+--+-- - Customer AWS account+--+-- - AWS Region+--+-- - Data provider specified in the place index resource+module Amazonka.Location.GetPlace+ ( -- * Creating a Request+ GetPlace (..),+ newGetPlace,++ -- * Request Lenses+ getPlace_language,+ getPlace_indexName,+ getPlace_placeId,++ -- * Destructuring the Response+ GetPlaceResponse (..),+ newGetPlaceResponse,++ -- * Response Lenses+ getPlaceResponse_httpStatus,+ getPlaceResponse_place,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPlace' smart constructor.+data GetPlace = GetPlace'+ { -- | The preferred language used to return results. The value must be a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ --+ -- This setting affects the languages used in the results, but not the+ -- results themselves. If no language is specified, or not supported for a+ -- particular result, the partner automatically chooses a language for the+ -- result.+ --+ -- For an example, we\'ll use the Greek language. You search for a location+ -- around Athens, Greece, with the @language@ parameter set to @en@. The+ -- @city@ in the results will most likely be returned as @Athens@.+ --+ -- If you set the @language@ parameter to @el@, for Greek, then the @city@+ -- in the results will more likely be returned as @Αθήνα@.+ --+ -- If the data provider does not have a value for Greek, the result will be+ -- in a language that the provider does support.+ language :: Prelude.Maybe Prelude.Text,+ -- | The name of the place index resource that you want to use for the+ -- search.+ indexName :: Prelude.Text,+ -- | The identifier of the place to find.+ placeId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPlace' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'language', 'getPlace_language' - The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for a location+-- around Athens, Greece, with the @language@ parameter set to @en@. The+-- @city@ in the results will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the @city@+-- in the results will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+--+-- 'indexName', 'getPlace_indexName' - The name of the place index resource that you want to use for the+-- search.+--+-- 'placeId', 'getPlace_placeId' - The identifier of the place to find.+newGetPlace ::+ -- | 'indexName'+ Prelude.Text ->+ -- | 'placeId'+ Prelude.Text ->+ GetPlace+newGetPlace pIndexName_ pPlaceId_ =+ GetPlace'+ { language = Prelude.Nothing,+ indexName = pIndexName_,+ placeId = pPlaceId_+ }++-- | The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for a location+-- around Athens, Greece, with the @language@ parameter set to @en@. The+-- @city@ in the results will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the @city@+-- in the results will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+getPlace_language :: Lens.Lens' GetPlace (Prelude.Maybe Prelude.Text)+getPlace_language = Lens.lens (\GetPlace' {language} -> language) (\s@GetPlace' {} a -> s {language = a} :: GetPlace)++-- | The name of the place index resource that you want to use for the+-- search.+getPlace_indexName :: Lens.Lens' GetPlace Prelude.Text+getPlace_indexName = Lens.lens (\GetPlace' {indexName} -> indexName) (\s@GetPlace' {} a -> s {indexName = a} :: GetPlace)++-- | The identifier of the place to find.+getPlace_placeId :: Lens.Lens' GetPlace Prelude.Text+getPlace_placeId = Lens.lens (\GetPlace' {placeId} -> placeId) (\s@GetPlace' {} a -> s {placeId = a} :: GetPlace)++instance Core.AWSRequest GetPlace where+ type AWSResponse GetPlace = GetPlaceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPlaceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "Place")+ )++instance Prelude.Hashable GetPlace where+ hashWithSalt _salt GetPlace' {..} =+ _salt+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` indexName+ `Prelude.hashWithSalt` placeId++instance Prelude.NFData GetPlace where+ rnf GetPlace' {..} =+ Prelude.rnf language+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf placeId++instance Data.ToHeaders GetPlace where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPlace where+ toPath GetPlace' {..} =+ Prelude.mconcat+ [ "/places/v0/indexes/",+ Data.toBS indexName,+ "/places/",+ Data.toBS placeId+ ]++instance Data.ToQuery GetPlace where+ toQuery GetPlace' {..} =+ Prelude.mconcat ["language" Data.=: language]++-- | /See:/ 'newGetPlaceResponse' smart constructor.+data GetPlaceResponse = GetPlaceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Details about the result, such as its address and position.+ place :: Place+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPlaceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getPlaceResponse_httpStatus' - The response's http status code.+--+-- 'place', 'getPlaceResponse_place' - Details about the result, such as its address and position.+newGetPlaceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'place'+ Place ->+ GetPlaceResponse+newGetPlaceResponse pHttpStatus_ pPlace_ =+ GetPlaceResponse'+ { httpStatus = pHttpStatus_,+ place = pPlace_+ }++-- | The response's http status code.+getPlaceResponse_httpStatus :: Lens.Lens' GetPlaceResponse Prelude.Int+getPlaceResponse_httpStatus = Lens.lens (\GetPlaceResponse' {httpStatus} -> httpStatus) (\s@GetPlaceResponse' {} a -> s {httpStatus = a} :: GetPlaceResponse)++-- | Details about the result, such as its address and position.+getPlaceResponse_place :: Lens.Lens' GetPlaceResponse Place+getPlaceResponse_place = Lens.lens (\GetPlaceResponse' {place} -> place) (\s@GetPlaceResponse' {} a -> s {place = a} :: GetPlaceResponse)++instance Prelude.NFData GetPlaceResponse where+ rnf GetPlaceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf place
+ gen/Amazonka/Location/Lens.hs view
@@ -0,0 +1,822 @@+{-# 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.Location.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.Location.Lens+ ( -- * Operations++ -- ** AssociateTrackerConsumer+ associateTrackerConsumer_consumerArn,+ associateTrackerConsumer_trackerName,+ associateTrackerConsumerResponse_httpStatus,++ -- ** BatchDeleteDevicePositionHistory+ batchDeleteDevicePositionHistory_deviceIds,+ batchDeleteDevicePositionHistory_trackerName,+ batchDeleteDevicePositionHistoryResponse_httpStatus,+ batchDeleteDevicePositionHistoryResponse_errors,++ -- ** BatchDeleteGeofence+ batchDeleteGeofence_collectionName,+ batchDeleteGeofence_geofenceIds,+ batchDeleteGeofenceResponse_httpStatus,+ batchDeleteGeofenceResponse_errors,++ -- ** BatchEvaluateGeofences+ batchEvaluateGeofences_collectionName,+ batchEvaluateGeofences_devicePositionUpdates,+ batchEvaluateGeofencesResponse_httpStatus,+ batchEvaluateGeofencesResponse_errors,++ -- ** BatchGetDevicePosition+ batchGetDevicePosition_deviceIds,+ batchGetDevicePosition_trackerName,+ batchGetDevicePositionResponse_httpStatus,+ batchGetDevicePositionResponse_devicePositions,+ batchGetDevicePositionResponse_errors,++ -- ** BatchPutGeofence+ batchPutGeofence_collectionName,+ batchPutGeofence_entries,+ batchPutGeofenceResponse_httpStatus,+ batchPutGeofenceResponse_errors,+ batchPutGeofenceResponse_successes,++ -- ** BatchUpdateDevicePosition+ batchUpdateDevicePosition_trackerName,+ batchUpdateDevicePosition_updates,+ batchUpdateDevicePositionResponse_httpStatus,+ batchUpdateDevicePositionResponse_errors,++ -- ** CalculateRoute+ calculateRoute_carModeOptions,+ calculateRoute_departNow,+ calculateRoute_departureTime,+ calculateRoute_distanceUnit,+ calculateRoute_includeLegGeometry,+ calculateRoute_travelMode,+ calculateRoute_truckModeOptions,+ calculateRoute_waypointPositions,+ calculateRoute_calculatorName,+ calculateRoute_departurePosition,+ calculateRoute_destinationPosition,+ calculateRouteResponse_httpStatus,+ calculateRouteResponse_legs,+ calculateRouteResponse_summary,++ -- ** CalculateRouteMatrix+ calculateRouteMatrix_carModeOptions,+ calculateRouteMatrix_departNow,+ calculateRouteMatrix_departureTime,+ calculateRouteMatrix_distanceUnit,+ calculateRouteMatrix_travelMode,+ calculateRouteMatrix_truckModeOptions,+ calculateRouteMatrix_calculatorName,+ calculateRouteMatrix_departurePositions,+ calculateRouteMatrix_destinationPositions,+ calculateRouteMatrixResponse_snappedDeparturePositions,+ calculateRouteMatrixResponse_snappedDestinationPositions,+ calculateRouteMatrixResponse_httpStatus,+ calculateRouteMatrixResponse_routeMatrix,+ calculateRouteMatrixResponse_summary,++ -- ** CreateGeofenceCollection+ createGeofenceCollection_description,+ createGeofenceCollection_kmsKeyId,+ createGeofenceCollection_pricingPlan,+ createGeofenceCollection_pricingPlanDataSource,+ createGeofenceCollection_tags,+ createGeofenceCollection_collectionName,+ createGeofenceCollectionResponse_httpStatus,+ createGeofenceCollectionResponse_collectionArn,+ createGeofenceCollectionResponse_collectionName,+ createGeofenceCollectionResponse_createTime,++ -- ** CreateMap+ createMap_description,+ createMap_pricingPlan,+ createMap_tags,+ createMap_configuration,+ createMap_mapName,+ createMapResponse_httpStatus,+ createMapResponse_createTime,+ createMapResponse_mapArn,+ createMapResponse_mapName,++ -- ** CreatePlaceIndex+ createPlaceIndex_dataSourceConfiguration,+ createPlaceIndex_description,+ createPlaceIndex_pricingPlan,+ createPlaceIndex_tags,+ createPlaceIndex_dataSource,+ createPlaceIndex_indexName,+ createPlaceIndexResponse_httpStatus,+ createPlaceIndexResponse_createTime,+ createPlaceIndexResponse_indexArn,+ createPlaceIndexResponse_indexName,++ -- ** CreateRouteCalculator+ createRouteCalculator_description,+ createRouteCalculator_pricingPlan,+ createRouteCalculator_tags,+ createRouteCalculator_calculatorName,+ createRouteCalculator_dataSource,+ createRouteCalculatorResponse_httpStatus,+ createRouteCalculatorResponse_calculatorArn,+ createRouteCalculatorResponse_calculatorName,+ createRouteCalculatorResponse_createTime,++ -- ** CreateTracker+ createTracker_description,+ createTracker_kmsKeyId,+ createTracker_positionFiltering,+ createTracker_pricingPlan,+ createTracker_pricingPlanDataSource,+ createTracker_tags,+ createTracker_trackerName,+ createTrackerResponse_httpStatus,+ createTrackerResponse_createTime,+ createTrackerResponse_trackerArn,+ createTrackerResponse_trackerName,++ -- ** DeleteGeofenceCollection+ deleteGeofenceCollection_collectionName,+ deleteGeofenceCollectionResponse_httpStatus,++ -- ** DeleteMap+ deleteMap_mapName,+ deleteMapResponse_httpStatus,++ -- ** DeletePlaceIndex+ deletePlaceIndex_indexName,+ deletePlaceIndexResponse_httpStatus,++ -- ** DeleteRouteCalculator+ deleteRouteCalculator_calculatorName,+ deleteRouteCalculatorResponse_httpStatus,++ -- ** DeleteTracker+ deleteTracker_trackerName,+ deleteTrackerResponse_httpStatus,++ -- ** DescribeGeofenceCollection+ describeGeofenceCollection_collectionName,+ describeGeofenceCollectionResponse_kmsKeyId,+ describeGeofenceCollectionResponse_pricingPlan,+ describeGeofenceCollectionResponse_pricingPlanDataSource,+ describeGeofenceCollectionResponse_tags,+ describeGeofenceCollectionResponse_httpStatus,+ describeGeofenceCollectionResponse_collectionArn,+ describeGeofenceCollectionResponse_collectionName,+ describeGeofenceCollectionResponse_createTime,+ describeGeofenceCollectionResponse_description,+ describeGeofenceCollectionResponse_updateTime,++ -- ** DescribeMap+ describeMap_mapName,+ describeMapResponse_pricingPlan,+ describeMapResponse_tags,+ describeMapResponse_httpStatus,+ describeMapResponse_configuration,+ describeMapResponse_createTime,+ describeMapResponse_dataSource,+ describeMapResponse_description,+ describeMapResponse_mapArn,+ describeMapResponse_mapName,+ describeMapResponse_updateTime,++ -- ** DescribePlaceIndex+ describePlaceIndex_indexName,+ describePlaceIndexResponse_pricingPlan,+ describePlaceIndexResponse_tags,+ describePlaceIndexResponse_httpStatus,+ describePlaceIndexResponse_createTime,+ describePlaceIndexResponse_dataSource,+ describePlaceIndexResponse_dataSourceConfiguration,+ describePlaceIndexResponse_description,+ describePlaceIndexResponse_indexArn,+ describePlaceIndexResponse_indexName,+ describePlaceIndexResponse_updateTime,++ -- ** DescribeRouteCalculator+ describeRouteCalculator_calculatorName,+ describeRouteCalculatorResponse_pricingPlan,+ describeRouteCalculatorResponse_tags,+ describeRouteCalculatorResponse_httpStatus,+ describeRouteCalculatorResponse_calculatorArn,+ describeRouteCalculatorResponse_calculatorName,+ describeRouteCalculatorResponse_createTime,+ describeRouteCalculatorResponse_dataSource,+ describeRouteCalculatorResponse_description,+ describeRouteCalculatorResponse_updateTime,++ -- ** DescribeTracker+ describeTracker_trackerName,+ describeTrackerResponse_kmsKeyId,+ describeTrackerResponse_positionFiltering,+ describeTrackerResponse_pricingPlan,+ describeTrackerResponse_pricingPlanDataSource,+ describeTrackerResponse_tags,+ describeTrackerResponse_httpStatus,+ describeTrackerResponse_createTime,+ describeTrackerResponse_description,+ describeTrackerResponse_trackerArn,+ describeTrackerResponse_trackerName,+ describeTrackerResponse_updateTime,++ -- ** DisassociateTrackerConsumer+ disassociateTrackerConsumer_consumerArn,+ disassociateTrackerConsumer_trackerName,+ disassociateTrackerConsumerResponse_httpStatus,++ -- ** GetDevicePosition+ getDevicePosition_deviceId,+ getDevicePosition_trackerName,+ getDevicePositionResponse_accuracy,+ getDevicePositionResponse_deviceId,+ getDevicePositionResponse_positionProperties,+ getDevicePositionResponse_httpStatus,+ getDevicePositionResponse_position,+ getDevicePositionResponse_receivedTime,+ getDevicePositionResponse_sampleTime,++ -- ** GetDevicePositionHistory+ getDevicePositionHistory_endTimeExclusive,+ getDevicePositionHistory_maxResults,+ getDevicePositionHistory_nextToken,+ getDevicePositionHistory_startTimeInclusive,+ getDevicePositionHistory_deviceId,+ getDevicePositionHistory_trackerName,+ getDevicePositionHistoryResponse_nextToken,+ getDevicePositionHistoryResponse_httpStatus,+ getDevicePositionHistoryResponse_devicePositions,++ -- ** GetGeofence+ getGeofence_collectionName,+ getGeofence_geofenceId,+ getGeofenceResponse_httpStatus,+ getGeofenceResponse_createTime,+ getGeofenceResponse_geofenceId,+ getGeofenceResponse_geometry,+ getGeofenceResponse_status,+ getGeofenceResponse_updateTime,++ -- ** GetMapGlyphs+ getMapGlyphs_fontStack,+ getMapGlyphs_fontUnicodeRange,+ getMapGlyphs_mapName,+ getMapGlyphsResponse_blob,+ getMapGlyphsResponse_contentType,+ getMapGlyphsResponse_httpStatus,++ -- ** GetMapSprites+ getMapSprites_fileName,+ getMapSprites_mapName,+ getMapSpritesResponse_blob,+ getMapSpritesResponse_contentType,+ getMapSpritesResponse_httpStatus,++ -- ** GetMapStyleDescriptor+ getMapStyleDescriptor_mapName,+ getMapStyleDescriptorResponse_blob,+ getMapStyleDescriptorResponse_contentType,+ getMapStyleDescriptorResponse_httpStatus,++ -- ** GetMapTile+ getMapTile_mapName,+ getMapTile_x,+ getMapTile_y,+ getMapTile_z,+ getMapTileResponse_blob,+ getMapTileResponse_contentType,+ getMapTileResponse_httpStatus,++ -- ** GetPlace+ getPlace_language,+ getPlace_indexName,+ getPlace_placeId,+ getPlaceResponse_httpStatus,+ getPlaceResponse_place,++ -- ** ListDevicePositions+ listDevicePositions_maxResults,+ listDevicePositions_nextToken,+ listDevicePositions_trackerName,+ listDevicePositionsResponse_nextToken,+ listDevicePositionsResponse_httpStatus,+ listDevicePositionsResponse_entries,++ -- ** ListGeofenceCollections+ listGeofenceCollections_maxResults,+ listGeofenceCollections_nextToken,+ listGeofenceCollectionsResponse_nextToken,+ listGeofenceCollectionsResponse_httpStatus,+ listGeofenceCollectionsResponse_entries,++ -- ** ListGeofences+ listGeofences_maxResults,+ listGeofences_nextToken,+ listGeofences_collectionName,+ listGeofencesResponse_nextToken,+ listGeofencesResponse_httpStatus,+ listGeofencesResponse_entries,++ -- ** ListMaps+ listMaps_maxResults,+ listMaps_nextToken,+ listMapsResponse_nextToken,+ listMapsResponse_httpStatus,+ listMapsResponse_entries,++ -- ** ListPlaceIndexes+ listPlaceIndexes_maxResults,+ listPlaceIndexes_nextToken,+ listPlaceIndexesResponse_nextToken,+ listPlaceIndexesResponse_httpStatus,+ listPlaceIndexesResponse_entries,++ -- ** ListRouteCalculators+ listRouteCalculators_maxResults,+ listRouteCalculators_nextToken,+ listRouteCalculatorsResponse_nextToken,+ listRouteCalculatorsResponse_httpStatus,+ listRouteCalculatorsResponse_entries,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListTrackerConsumers+ listTrackerConsumers_maxResults,+ listTrackerConsumers_nextToken,+ listTrackerConsumers_trackerName,+ listTrackerConsumersResponse_nextToken,+ listTrackerConsumersResponse_httpStatus,+ listTrackerConsumersResponse_consumerArns,++ -- ** ListTrackers+ listTrackers_maxResults,+ listTrackers_nextToken,+ listTrackersResponse_nextToken,+ listTrackersResponse_httpStatus,+ listTrackersResponse_entries,++ -- ** PutGeofence+ putGeofence_collectionName,+ putGeofence_geofenceId,+ putGeofence_geometry,+ putGeofenceResponse_httpStatus,+ putGeofenceResponse_createTime,+ putGeofenceResponse_geofenceId,+ putGeofenceResponse_updateTime,++ -- ** SearchPlaceIndexForPosition+ searchPlaceIndexForPosition_language,+ searchPlaceIndexForPosition_maxResults,+ searchPlaceIndexForPosition_indexName,+ searchPlaceIndexForPosition_position,+ searchPlaceIndexForPositionResponse_httpStatus,+ searchPlaceIndexForPositionResponse_results,+ searchPlaceIndexForPositionResponse_summary,++ -- ** SearchPlaceIndexForSuggestions+ searchPlaceIndexForSuggestions_biasPosition,+ searchPlaceIndexForSuggestions_filterBBox,+ searchPlaceIndexForSuggestions_filterCountries,+ searchPlaceIndexForSuggestions_language,+ searchPlaceIndexForSuggestions_maxResults,+ searchPlaceIndexForSuggestions_indexName,+ searchPlaceIndexForSuggestions_text,+ searchPlaceIndexForSuggestionsResponse_httpStatus,+ searchPlaceIndexForSuggestionsResponse_results,+ searchPlaceIndexForSuggestionsResponse_summary,++ -- ** SearchPlaceIndexForText+ searchPlaceIndexForText_biasPosition,+ searchPlaceIndexForText_filterBBox,+ searchPlaceIndexForText_filterCountries,+ searchPlaceIndexForText_language,+ searchPlaceIndexForText_maxResults,+ searchPlaceIndexForText_indexName,+ searchPlaceIndexForText_text,+ searchPlaceIndexForTextResponse_httpStatus,+ searchPlaceIndexForTextResponse_results,+ searchPlaceIndexForTextResponse_summary,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateGeofenceCollection+ updateGeofenceCollection_description,+ updateGeofenceCollection_pricingPlan,+ updateGeofenceCollection_pricingPlanDataSource,+ updateGeofenceCollection_collectionName,+ updateGeofenceCollectionResponse_httpStatus,+ updateGeofenceCollectionResponse_collectionArn,+ updateGeofenceCollectionResponse_collectionName,+ updateGeofenceCollectionResponse_updateTime,++ -- ** UpdateMap+ updateMap_description,+ updateMap_pricingPlan,+ updateMap_mapName,+ updateMapResponse_httpStatus,+ updateMapResponse_mapArn,+ updateMapResponse_mapName,+ updateMapResponse_updateTime,++ -- ** UpdatePlaceIndex+ updatePlaceIndex_dataSourceConfiguration,+ updatePlaceIndex_description,+ updatePlaceIndex_pricingPlan,+ updatePlaceIndex_indexName,+ updatePlaceIndexResponse_httpStatus,+ updatePlaceIndexResponse_indexArn,+ updatePlaceIndexResponse_indexName,+ updatePlaceIndexResponse_updateTime,++ -- ** UpdateRouteCalculator+ updateRouteCalculator_description,+ updateRouteCalculator_pricingPlan,+ updateRouteCalculator_calculatorName,+ updateRouteCalculatorResponse_httpStatus,+ updateRouteCalculatorResponse_calculatorArn,+ updateRouteCalculatorResponse_calculatorName,+ updateRouteCalculatorResponse_updateTime,++ -- ** UpdateTracker+ updateTracker_description,+ updateTracker_positionFiltering,+ updateTracker_pricingPlan,+ updateTracker_pricingPlanDataSource,+ updateTracker_trackerName,+ updateTrackerResponse_httpStatus,+ updateTrackerResponse_trackerArn,+ updateTrackerResponse_trackerName,+ updateTrackerResponse_updateTime,++ -- * Types++ -- ** BatchDeleteDevicePositionHistoryError+ batchDeleteDevicePositionHistoryError_deviceId,+ batchDeleteDevicePositionHistoryError_error,++ -- ** BatchDeleteGeofenceError+ batchDeleteGeofenceError_error,+ batchDeleteGeofenceError_geofenceId,++ -- ** BatchEvaluateGeofencesError+ batchEvaluateGeofencesError_deviceId,+ batchEvaluateGeofencesError_error,+ batchEvaluateGeofencesError_sampleTime,++ -- ** BatchGetDevicePositionError+ batchGetDevicePositionError_deviceId,+ batchGetDevicePositionError_error,++ -- ** BatchItemError+ batchItemError_code,+ batchItemError_message,++ -- ** BatchPutGeofenceError+ batchPutGeofenceError_error,+ batchPutGeofenceError_geofenceId,++ -- ** BatchPutGeofenceRequestEntry+ batchPutGeofenceRequestEntry_geofenceId,+ batchPutGeofenceRequestEntry_geometry,++ -- ** BatchPutGeofenceSuccess+ batchPutGeofenceSuccess_createTime,+ batchPutGeofenceSuccess_geofenceId,+ batchPutGeofenceSuccess_updateTime,++ -- ** BatchUpdateDevicePositionError+ batchUpdateDevicePositionError_deviceId,+ batchUpdateDevicePositionError_error,+ batchUpdateDevicePositionError_sampleTime,++ -- ** CalculateRouteCarModeOptions+ calculateRouteCarModeOptions_avoidFerries,+ calculateRouteCarModeOptions_avoidTolls,++ -- ** CalculateRouteMatrixSummary+ calculateRouteMatrixSummary_dataSource,+ calculateRouteMatrixSummary_distanceUnit,+ calculateRouteMatrixSummary_errorCount,+ calculateRouteMatrixSummary_routeCount,++ -- ** CalculateRouteSummary+ calculateRouteSummary_dataSource,+ calculateRouteSummary_distance,+ calculateRouteSummary_distanceUnit,+ calculateRouteSummary_durationSeconds,+ calculateRouteSummary_routeBBox,++ -- ** CalculateRouteTruckModeOptions+ calculateRouteTruckModeOptions_avoidFerries,+ calculateRouteTruckModeOptions_avoidTolls,+ calculateRouteTruckModeOptions_dimensions,+ calculateRouteTruckModeOptions_weight,++ -- ** Circle+ circle_center,+ circle_radius,++ -- ** DataSourceConfiguration+ dataSourceConfiguration_intendedUse,++ -- ** DevicePosition+ devicePosition_accuracy,+ devicePosition_deviceId,+ devicePosition_positionProperties,+ devicePosition_position,+ devicePosition_receivedTime,+ devicePosition_sampleTime,++ -- ** DevicePositionUpdate+ devicePositionUpdate_accuracy,+ devicePositionUpdate_positionProperties,+ devicePositionUpdate_deviceId,+ devicePositionUpdate_position,+ devicePositionUpdate_sampleTime,++ -- ** GeofenceGeometry+ geofenceGeometry_circle,+ geofenceGeometry_polygon,++ -- ** Leg+ leg_geometry,+ leg_distance,+ leg_durationSeconds,+ leg_endPosition,+ leg_startPosition,+ leg_steps,++ -- ** LegGeometry+ legGeometry_lineString,++ -- ** ListDevicePositionsResponseEntry+ listDevicePositionsResponseEntry_accuracy,+ listDevicePositionsResponseEntry_positionProperties,+ listDevicePositionsResponseEntry_deviceId,+ listDevicePositionsResponseEntry_position,+ listDevicePositionsResponseEntry_sampleTime,++ -- ** ListGeofenceCollectionsResponseEntry+ listGeofenceCollectionsResponseEntry_pricingPlan,+ listGeofenceCollectionsResponseEntry_pricingPlanDataSource,+ listGeofenceCollectionsResponseEntry_collectionName,+ listGeofenceCollectionsResponseEntry_createTime,+ listGeofenceCollectionsResponseEntry_description,+ listGeofenceCollectionsResponseEntry_updateTime,++ -- ** ListGeofenceResponseEntry+ listGeofenceResponseEntry_createTime,+ listGeofenceResponseEntry_geofenceId,+ listGeofenceResponseEntry_geometry,+ listGeofenceResponseEntry_status,+ listGeofenceResponseEntry_updateTime,++ -- ** ListMapsResponseEntry+ listMapsResponseEntry_pricingPlan,+ listMapsResponseEntry_createTime,+ listMapsResponseEntry_dataSource,+ listMapsResponseEntry_description,+ listMapsResponseEntry_mapName,+ listMapsResponseEntry_updateTime,++ -- ** ListPlaceIndexesResponseEntry+ listPlaceIndexesResponseEntry_pricingPlan,+ listPlaceIndexesResponseEntry_createTime,+ listPlaceIndexesResponseEntry_dataSource,+ listPlaceIndexesResponseEntry_description,+ listPlaceIndexesResponseEntry_indexName,+ listPlaceIndexesResponseEntry_updateTime,++ -- ** ListRouteCalculatorsResponseEntry+ listRouteCalculatorsResponseEntry_pricingPlan,+ listRouteCalculatorsResponseEntry_calculatorName,+ listRouteCalculatorsResponseEntry_createTime,+ listRouteCalculatorsResponseEntry_dataSource,+ listRouteCalculatorsResponseEntry_description,+ listRouteCalculatorsResponseEntry_updateTime,++ -- ** ListTrackersResponseEntry+ listTrackersResponseEntry_pricingPlan,+ listTrackersResponseEntry_pricingPlanDataSource,+ listTrackersResponseEntry_createTime,+ listTrackersResponseEntry_description,+ listTrackersResponseEntry_trackerName,+ listTrackersResponseEntry_updateTime,++ -- ** MapConfiguration+ mapConfiguration_style,++ -- ** Place+ place_addressNumber,+ place_country,+ place_interpolated,+ place_label,+ place_municipality,+ place_neighborhood,+ place_postalCode,+ place_region,+ place_street,+ place_subRegion,+ place_timeZone,+ place_unitNumber,+ place_unitType,+ place_geometry,++ -- ** PlaceGeometry+ placeGeometry_point,++ -- ** PositionalAccuracy+ positionalAccuracy_horizontal,++ -- ** RouteMatrixEntry+ routeMatrixEntry_distance,+ routeMatrixEntry_durationSeconds,+ routeMatrixEntry_error,++ -- ** RouteMatrixEntryError+ routeMatrixEntryError_message,+ routeMatrixEntryError_code,++ -- ** SearchForPositionResult+ searchForPositionResult_placeId,+ searchForPositionResult_distance,+ searchForPositionResult_place,++ -- ** SearchForSuggestionsResult+ searchForSuggestionsResult_placeId,+ searchForSuggestionsResult_text,++ -- ** SearchForTextResult+ searchForTextResult_distance,+ searchForTextResult_placeId,+ searchForTextResult_relevance,+ searchForTextResult_place,++ -- ** SearchPlaceIndexForPositionSummary+ searchPlaceIndexForPositionSummary_language,+ searchPlaceIndexForPositionSummary_maxResults,+ searchPlaceIndexForPositionSummary_dataSource,+ searchPlaceIndexForPositionSummary_position,++ -- ** SearchPlaceIndexForSuggestionsSummary+ searchPlaceIndexForSuggestionsSummary_biasPosition,+ searchPlaceIndexForSuggestionsSummary_filterBBox,+ searchPlaceIndexForSuggestionsSummary_filterCountries,+ searchPlaceIndexForSuggestionsSummary_language,+ searchPlaceIndexForSuggestionsSummary_maxResults,+ searchPlaceIndexForSuggestionsSummary_dataSource,+ searchPlaceIndexForSuggestionsSummary_text,++ -- ** SearchPlaceIndexForTextSummary+ searchPlaceIndexForTextSummary_biasPosition,+ searchPlaceIndexForTextSummary_filterBBox,+ searchPlaceIndexForTextSummary_filterCountries,+ searchPlaceIndexForTextSummary_language,+ searchPlaceIndexForTextSummary_maxResults,+ searchPlaceIndexForTextSummary_resultBBox,+ searchPlaceIndexForTextSummary_dataSource,+ searchPlaceIndexForTextSummary_text,++ -- ** Step+ step_geometryOffset,+ step_distance,+ step_durationSeconds,+ step_endPosition,+ step_startPosition,++ -- ** TimeZone+ timeZone_offset,+ timeZone_name,++ -- ** TruckDimensions+ truckDimensions_height,+ truckDimensions_length,+ truckDimensions_unit,+ truckDimensions_width,++ -- ** TruckWeight+ truckWeight_total,+ truckWeight_unit,+ )+where++import Amazonka.Location.AssociateTrackerConsumer+import Amazonka.Location.BatchDeleteDevicePositionHistory+import Amazonka.Location.BatchDeleteGeofence+import Amazonka.Location.BatchEvaluateGeofences+import Amazonka.Location.BatchGetDevicePosition+import Amazonka.Location.BatchPutGeofence+import Amazonka.Location.BatchUpdateDevicePosition+import Amazonka.Location.CalculateRoute+import Amazonka.Location.CalculateRouteMatrix+import Amazonka.Location.CreateGeofenceCollection+import Amazonka.Location.CreateMap+import Amazonka.Location.CreatePlaceIndex+import Amazonka.Location.CreateRouteCalculator+import Amazonka.Location.CreateTracker+import Amazonka.Location.DeleteGeofenceCollection+import Amazonka.Location.DeleteMap+import Amazonka.Location.DeletePlaceIndex+import Amazonka.Location.DeleteRouteCalculator+import Amazonka.Location.DeleteTracker+import Amazonka.Location.DescribeGeofenceCollection+import Amazonka.Location.DescribeMap+import Amazonka.Location.DescribePlaceIndex+import Amazonka.Location.DescribeRouteCalculator+import Amazonka.Location.DescribeTracker+import Amazonka.Location.DisassociateTrackerConsumer+import Amazonka.Location.GetDevicePosition+import Amazonka.Location.GetDevicePositionHistory+import Amazonka.Location.GetGeofence+import Amazonka.Location.GetMapGlyphs+import Amazonka.Location.GetMapSprites+import Amazonka.Location.GetMapStyleDescriptor+import Amazonka.Location.GetMapTile+import Amazonka.Location.GetPlace+import Amazonka.Location.ListDevicePositions+import Amazonka.Location.ListGeofenceCollections+import Amazonka.Location.ListGeofences+import Amazonka.Location.ListMaps+import Amazonka.Location.ListPlaceIndexes+import Amazonka.Location.ListRouteCalculators+import Amazonka.Location.ListTagsForResource+import Amazonka.Location.ListTrackerConsumers+import Amazonka.Location.ListTrackers+import Amazonka.Location.PutGeofence+import Amazonka.Location.SearchPlaceIndexForPosition+import Amazonka.Location.SearchPlaceIndexForSuggestions+import Amazonka.Location.SearchPlaceIndexForText+import Amazonka.Location.TagResource+import Amazonka.Location.Types.BatchDeleteDevicePositionHistoryError+import Amazonka.Location.Types.BatchDeleteGeofenceError+import Amazonka.Location.Types.BatchEvaluateGeofencesError+import Amazonka.Location.Types.BatchGetDevicePositionError+import Amazonka.Location.Types.BatchItemError+import Amazonka.Location.Types.BatchPutGeofenceError+import Amazonka.Location.Types.BatchPutGeofenceRequestEntry+import Amazonka.Location.Types.BatchPutGeofenceSuccess+import Amazonka.Location.Types.BatchUpdateDevicePositionError+import Amazonka.Location.Types.CalculateRouteCarModeOptions+import Amazonka.Location.Types.CalculateRouteMatrixSummary+import Amazonka.Location.Types.CalculateRouteSummary+import Amazonka.Location.Types.CalculateRouteTruckModeOptions+import Amazonka.Location.Types.Circle+import Amazonka.Location.Types.DataSourceConfiguration+import Amazonka.Location.Types.DevicePosition+import Amazonka.Location.Types.DevicePositionUpdate+import Amazonka.Location.Types.GeofenceGeometry+import Amazonka.Location.Types.Leg+import Amazonka.Location.Types.LegGeometry+import Amazonka.Location.Types.ListDevicePositionsResponseEntry+import Amazonka.Location.Types.ListGeofenceCollectionsResponseEntry+import Amazonka.Location.Types.ListGeofenceResponseEntry+import Amazonka.Location.Types.ListMapsResponseEntry+import Amazonka.Location.Types.ListPlaceIndexesResponseEntry+import Amazonka.Location.Types.ListRouteCalculatorsResponseEntry+import Amazonka.Location.Types.ListTrackersResponseEntry+import Amazonka.Location.Types.MapConfiguration+import Amazonka.Location.Types.Place+import Amazonka.Location.Types.PlaceGeometry+import Amazonka.Location.Types.PositionalAccuracy+import Amazonka.Location.Types.RouteMatrixEntry+import Amazonka.Location.Types.RouteMatrixEntryError+import Amazonka.Location.Types.SearchForPositionResult+import Amazonka.Location.Types.SearchForSuggestionsResult+import Amazonka.Location.Types.SearchForTextResult+import Amazonka.Location.Types.SearchPlaceIndexForPositionSummary+import Amazonka.Location.Types.SearchPlaceIndexForSuggestionsSummary+import Amazonka.Location.Types.SearchPlaceIndexForTextSummary+import Amazonka.Location.Types.Step+import Amazonka.Location.Types.TimeZone+import Amazonka.Location.Types.TruckDimensions+import Amazonka.Location.Types.TruckWeight+import Amazonka.Location.UntagResource+import Amazonka.Location.UpdateGeofenceCollection+import Amazonka.Location.UpdateMap+import Amazonka.Location.UpdatePlaceIndex+import Amazonka.Location.UpdateRouteCalculator+import Amazonka.Location.UpdateTracker
+ gen/Amazonka/Location/ListDevicePositions.hs view
@@ -0,0 +1,262 @@+{-# 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.Location.ListDevicePositions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A batch request to retrieve all device positions.+--+-- This operation returns paginated results.+module Amazonka.Location.ListDevicePositions+ ( -- * Creating a Request+ ListDevicePositions (..),+ newListDevicePositions,++ -- * Request Lenses+ listDevicePositions_maxResults,+ listDevicePositions_nextToken,+ listDevicePositions_trackerName,++ -- * Destructuring the Response+ ListDevicePositionsResponse (..),+ newListDevicePositionsResponse,++ -- * Response Lenses+ listDevicePositionsResponse_nextToken,+ listDevicePositionsResponse_httpStatus,+ listDevicePositionsResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDevicePositions' smart constructor.+data ListDevicePositions = ListDevicePositions'+ { -- | An optional limit for the number of entries returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The tracker resource containing the requested devices.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevicePositions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDevicePositions_maxResults' - An optional limit for the number of entries returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listDevicePositions_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+--+-- 'trackerName', 'listDevicePositions_trackerName' - The tracker resource containing the requested devices.+newListDevicePositions ::+ -- | 'trackerName'+ Prelude.Text ->+ ListDevicePositions+newListDevicePositions pTrackerName_ =+ ListDevicePositions'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ trackerName = pTrackerName_+ }++-- | An optional limit for the number of entries returned in a single call.+--+-- Default value: @100@+listDevicePositions_maxResults :: Lens.Lens' ListDevicePositions (Prelude.Maybe Prelude.Natural)+listDevicePositions_maxResults = Lens.lens (\ListDevicePositions' {maxResults} -> maxResults) (\s@ListDevicePositions' {} a -> s {maxResults = a} :: ListDevicePositions)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listDevicePositions_nextToken :: Lens.Lens' ListDevicePositions (Prelude.Maybe Prelude.Text)+listDevicePositions_nextToken = Lens.lens (\ListDevicePositions' {nextToken} -> nextToken) (\s@ListDevicePositions' {} a -> s {nextToken = a} :: ListDevicePositions)++-- | The tracker resource containing the requested devices.+listDevicePositions_trackerName :: Lens.Lens' ListDevicePositions Prelude.Text+listDevicePositions_trackerName = Lens.lens (\ListDevicePositions' {trackerName} -> trackerName) (\s@ListDevicePositions' {} a -> s {trackerName = a} :: ListDevicePositions)++instance Core.AWSPager ListDevicePositions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDevicePositionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listDevicePositionsResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDevicePositions_nextToken+ Lens..~ rs+ Lens.^? listDevicePositionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDevicePositions where+ type+ AWSResponse ListDevicePositions =+ ListDevicePositionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDevicePositionsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListDevicePositions where+ hashWithSalt _salt ListDevicePositions' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData ListDevicePositions where+ rnf ListDevicePositions' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders ListDevicePositions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDevicePositions where+ toJSON ListDevicePositions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListDevicePositions where+ toPath ListDevicePositions' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/list-positions"+ ]++instance Data.ToQuery ListDevicePositions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDevicePositionsResponse' smart constructor.+data ListDevicePositionsResponse = ListDevicePositionsResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains details about each device\'s last known position. These details+ -- includes the device ID, the time when the position was sampled on the+ -- device, the time that the service received the update, and the most+ -- recent coordinates.+ entries :: [ListDevicePositionsResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevicePositionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDevicePositionsResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listDevicePositionsResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listDevicePositionsResponse_entries' - Contains details about each device\'s last known position. These details+-- includes the device ID, the time when the position was sampled on the+-- device, the time that the service received the update, and the most+-- recent coordinates.+newListDevicePositionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDevicePositionsResponse+newListDevicePositionsResponse pHttpStatus_ =+ ListDevicePositionsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listDevicePositionsResponse_nextToken :: Lens.Lens' ListDevicePositionsResponse (Prelude.Maybe Prelude.Text)+listDevicePositionsResponse_nextToken = Lens.lens (\ListDevicePositionsResponse' {nextToken} -> nextToken) (\s@ListDevicePositionsResponse' {} a -> s {nextToken = a} :: ListDevicePositionsResponse)++-- | The response's http status code.+listDevicePositionsResponse_httpStatus :: Lens.Lens' ListDevicePositionsResponse Prelude.Int+listDevicePositionsResponse_httpStatus = Lens.lens (\ListDevicePositionsResponse' {httpStatus} -> httpStatus) (\s@ListDevicePositionsResponse' {} a -> s {httpStatus = a} :: ListDevicePositionsResponse)++-- | Contains details about each device\'s last known position. These details+-- includes the device ID, the time when the position was sampled on the+-- device, the time that the service received the update, and the most+-- recent coordinates.+listDevicePositionsResponse_entries :: Lens.Lens' ListDevicePositionsResponse [ListDevicePositionsResponseEntry]+listDevicePositionsResponse_entries = Lens.lens (\ListDevicePositionsResponse' {entries} -> entries) (\s@ListDevicePositionsResponse' {} a -> s {entries = a} :: ListDevicePositionsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListDevicePositionsResponse where+ rnf ListDevicePositionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListGeofenceCollections.hs view
@@ -0,0 +1,239 @@+{-# 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.Location.ListGeofenceCollections+-- 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 geofence collections in your AWS account.+--+-- This operation returns paginated results.+module Amazonka.Location.ListGeofenceCollections+ ( -- * Creating a Request+ ListGeofenceCollections (..),+ newListGeofenceCollections,++ -- * Request Lenses+ listGeofenceCollections_maxResults,+ listGeofenceCollections_nextToken,++ -- * Destructuring the Response+ ListGeofenceCollectionsResponse (..),+ newListGeofenceCollectionsResponse,++ -- * Response Lenses+ listGeofenceCollectionsResponse_nextToken,+ listGeofenceCollectionsResponse_httpStatus,+ listGeofenceCollectionsResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGeofenceCollections' smart constructor.+data ListGeofenceCollections = ListGeofenceCollections'+ { -- | An optional limit for the number of resources returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofenceCollections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGeofenceCollections_maxResults' - An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listGeofenceCollections_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+newListGeofenceCollections ::+ ListGeofenceCollections+newListGeofenceCollections =+ ListGeofenceCollections'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+listGeofenceCollections_maxResults :: Lens.Lens' ListGeofenceCollections (Prelude.Maybe Prelude.Natural)+listGeofenceCollections_maxResults = Lens.lens (\ListGeofenceCollections' {maxResults} -> maxResults) (\s@ListGeofenceCollections' {} a -> s {maxResults = a} :: ListGeofenceCollections)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listGeofenceCollections_nextToken :: Lens.Lens' ListGeofenceCollections (Prelude.Maybe Prelude.Text)+listGeofenceCollections_nextToken = Lens.lens (\ListGeofenceCollections' {nextToken} -> nextToken) (\s@ListGeofenceCollections' {} a -> s {nextToken = a} :: ListGeofenceCollections)++instance Core.AWSPager ListGeofenceCollections where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGeofenceCollectionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listGeofenceCollectionsResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGeofenceCollections_nextToken+ Lens..~ rs+ Lens.^? listGeofenceCollectionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListGeofenceCollections where+ type+ AWSResponse ListGeofenceCollections =+ ListGeofenceCollectionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGeofenceCollectionsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListGeofenceCollections where+ hashWithSalt _salt ListGeofenceCollections' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListGeofenceCollections where+ rnf ListGeofenceCollections' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListGeofenceCollections where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGeofenceCollections where+ toJSON ListGeofenceCollections' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListGeofenceCollections where+ toPath =+ Prelude.const "/geofencing/v0/list-collections"++instance Data.ToQuery ListGeofenceCollections where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGeofenceCollectionsResponse' smart constructor.+data ListGeofenceCollectionsResponse = ListGeofenceCollectionsResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Lists the geofence collections that exist in your AWS account.+ entries :: [ListGeofenceCollectionsResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofenceCollectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGeofenceCollectionsResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listGeofenceCollectionsResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listGeofenceCollectionsResponse_entries' - Lists the geofence collections that exist in your AWS account.+newListGeofenceCollectionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGeofenceCollectionsResponse+newListGeofenceCollectionsResponse pHttpStatus_ =+ ListGeofenceCollectionsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listGeofenceCollectionsResponse_nextToken :: Lens.Lens' ListGeofenceCollectionsResponse (Prelude.Maybe Prelude.Text)+listGeofenceCollectionsResponse_nextToken = Lens.lens (\ListGeofenceCollectionsResponse' {nextToken} -> nextToken) (\s@ListGeofenceCollectionsResponse' {} a -> s {nextToken = a} :: ListGeofenceCollectionsResponse)++-- | The response's http status code.+listGeofenceCollectionsResponse_httpStatus :: Lens.Lens' ListGeofenceCollectionsResponse Prelude.Int+listGeofenceCollectionsResponse_httpStatus = Lens.lens (\ListGeofenceCollectionsResponse' {httpStatus} -> httpStatus) (\s@ListGeofenceCollectionsResponse' {} a -> s {httpStatus = a} :: ListGeofenceCollectionsResponse)++-- | Lists the geofence collections that exist in your AWS account.+listGeofenceCollectionsResponse_entries :: Lens.Lens' ListGeofenceCollectionsResponse [ListGeofenceCollectionsResponseEntry]+listGeofenceCollectionsResponse_entries = Lens.lens (\ListGeofenceCollectionsResponse' {entries} -> entries) (\s@ListGeofenceCollectionsResponse' {} a -> s {entries = a} :: ListGeofenceCollectionsResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListGeofenceCollectionsResponse+ where+ rnf ListGeofenceCollectionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListGeofences.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.ListGeofences+-- 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 geofences stored in a given geofence collection.+--+-- This operation returns paginated results.+module Amazonka.Location.ListGeofences+ ( -- * Creating a Request+ ListGeofences (..),+ newListGeofences,++ -- * Request Lenses+ listGeofences_maxResults,+ listGeofences_nextToken,+ listGeofences_collectionName,++ -- * Destructuring the Response+ ListGeofencesResponse (..),+ newListGeofencesResponse,++ -- * Response Lenses+ listGeofencesResponse_nextToken,+ listGeofencesResponse_httpStatus,+ listGeofencesResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGeofences' smart constructor.+data ListGeofences = ListGeofences'+ { -- | An optional limit for the number of geofences returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the geofence collection storing the list of geofences.+ collectionName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofences' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGeofences_maxResults' - An optional limit for the number of geofences returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listGeofences_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+--+-- 'collectionName', 'listGeofences_collectionName' - The name of the geofence collection storing the list of geofences.+newListGeofences ::+ -- | 'collectionName'+ Prelude.Text ->+ ListGeofences+newListGeofences pCollectionName_ =+ ListGeofences'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ collectionName = pCollectionName_+ }++-- | An optional limit for the number of geofences returned in a single call.+--+-- Default value: @100@+listGeofences_maxResults :: Lens.Lens' ListGeofences (Prelude.Maybe Prelude.Natural)+listGeofences_maxResults = Lens.lens (\ListGeofences' {maxResults} -> maxResults) (\s@ListGeofences' {} a -> s {maxResults = a} :: ListGeofences)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listGeofences_nextToken :: Lens.Lens' ListGeofences (Prelude.Maybe Prelude.Text)+listGeofences_nextToken = Lens.lens (\ListGeofences' {nextToken} -> nextToken) (\s@ListGeofences' {} a -> s {nextToken = a} :: ListGeofences)++-- | The name of the geofence collection storing the list of geofences.+listGeofences_collectionName :: Lens.Lens' ListGeofences Prelude.Text+listGeofences_collectionName = Lens.lens (\ListGeofences' {collectionName} -> collectionName) (\s@ListGeofences' {} a -> s {collectionName = a} :: ListGeofences)++instance Core.AWSPager ListGeofences where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listGeofencesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listGeofencesResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listGeofences_nextToken+ Lens..~ rs+ Lens.^? listGeofencesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListGeofences where+ type+ AWSResponse ListGeofences =+ ListGeofencesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListGeofencesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListGeofences where+ hashWithSalt _salt ListGeofences' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` collectionName++instance Prelude.NFData ListGeofences where+ rnf ListGeofences' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf collectionName++instance Data.ToHeaders ListGeofences where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListGeofences where+ toJSON ListGeofences' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListGeofences where+ toPath ListGeofences' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/list-geofences"+ ]++instance Data.ToQuery ListGeofences where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListGeofencesResponse' smart constructor.+data ListGeofencesResponse = ListGeofencesResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains a list of geofences stored in the geofence collection.+ entries :: [ListGeofenceResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofencesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGeofencesResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listGeofencesResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listGeofencesResponse_entries' - Contains a list of geofences stored in the geofence collection.+newListGeofencesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListGeofencesResponse+newListGeofencesResponse pHttpStatus_ =+ ListGeofencesResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listGeofencesResponse_nextToken :: Lens.Lens' ListGeofencesResponse (Prelude.Maybe Prelude.Text)+listGeofencesResponse_nextToken = Lens.lens (\ListGeofencesResponse' {nextToken} -> nextToken) (\s@ListGeofencesResponse' {} a -> s {nextToken = a} :: ListGeofencesResponse)++-- | The response's http status code.+listGeofencesResponse_httpStatus :: Lens.Lens' ListGeofencesResponse Prelude.Int+listGeofencesResponse_httpStatus = Lens.lens (\ListGeofencesResponse' {httpStatus} -> httpStatus) (\s@ListGeofencesResponse' {} a -> s {httpStatus = a} :: ListGeofencesResponse)++-- | Contains a list of geofences stored in the geofence collection.+listGeofencesResponse_entries :: Lens.Lens' ListGeofencesResponse [ListGeofenceResponseEntry]+listGeofencesResponse_entries = Lens.lens (\ListGeofencesResponse' {entries} -> entries) (\s@ListGeofencesResponse' {} a -> s {entries = a} :: ListGeofencesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListGeofencesResponse where+ rnf ListGeofencesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListMaps.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.ListMaps+-- 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 map resources in your AWS account.+--+-- This operation returns paginated results.+module Amazonka.Location.ListMaps+ ( -- * Creating a Request+ ListMaps (..),+ newListMaps,++ -- * Request Lenses+ listMaps_maxResults,+ listMaps_nextToken,++ -- * Destructuring the Response+ ListMapsResponse (..),+ newListMapsResponse,++ -- * Response Lenses+ listMapsResponse_nextToken,+ listMapsResponse_httpStatus,+ listMapsResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMaps' smart constructor.+data ListMaps = ListMaps'+ { -- | An optional limit for the number of resources returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMaps' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMaps_maxResults' - An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listMaps_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+newListMaps ::+ ListMaps+newListMaps =+ ListMaps'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+listMaps_maxResults :: Lens.Lens' ListMaps (Prelude.Maybe Prelude.Natural)+listMaps_maxResults = Lens.lens (\ListMaps' {maxResults} -> maxResults) (\s@ListMaps' {} a -> s {maxResults = a} :: ListMaps)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listMaps_nextToken :: Lens.Lens' ListMaps (Prelude.Maybe Prelude.Text)+listMaps_nextToken = Lens.lens (\ListMaps' {nextToken} -> nextToken) (\s@ListMaps' {} a -> s {nextToken = a} :: ListMaps)++instance Core.AWSPager ListMaps where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listMapsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listMapsResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listMaps_nextToken+ Lens..~ rs+ Lens.^? listMapsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListMaps where+ type AWSResponse ListMaps = ListMapsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListMapsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListMaps where+ hashWithSalt _salt ListMaps' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMaps where+ rnf ListMaps' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMaps where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListMaps where+ toJSON ListMaps' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListMaps where+ toPath = Prelude.const "/maps/v0/list-maps"++instance Data.ToQuery ListMaps where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListMapsResponse' smart constructor.+data ListMapsResponse = ListMapsResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains a list of maps in your AWS account+ entries :: [ListMapsResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMapsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMapsResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listMapsResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listMapsResponse_entries' - Contains a list of maps in your AWS account+newListMapsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListMapsResponse+newListMapsResponse pHttpStatus_ =+ ListMapsResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listMapsResponse_nextToken :: Lens.Lens' ListMapsResponse (Prelude.Maybe Prelude.Text)+listMapsResponse_nextToken = Lens.lens (\ListMapsResponse' {nextToken} -> nextToken) (\s@ListMapsResponse' {} a -> s {nextToken = a} :: ListMapsResponse)++-- | The response's http status code.+listMapsResponse_httpStatus :: Lens.Lens' ListMapsResponse Prelude.Int+listMapsResponse_httpStatus = Lens.lens (\ListMapsResponse' {httpStatus} -> httpStatus) (\s@ListMapsResponse' {} a -> s {httpStatus = a} :: ListMapsResponse)++-- | Contains a list of maps in your AWS account+listMapsResponse_entries :: Lens.Lens' ListMapsResponse [ListMapsResponseEntry]+listMapsResponse_entries = Lens.lens (\ListMapsResponse' {entries} -> entries) (\s@ListMapsResponse' {} a -> s {entries = a} :: ListMapsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListMapsResponse where+ rnf ListMapsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListPlaceIndexes.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.Location.ListPlaceIndexes+-- 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 place index resources in your AWS account.+--+-- This operation returns paginated results.+module Amazonka.Location.ListPlaceIndexes+ ( -- * Creating a Request+ ListPlaceIndexes (..),+ newListPlaceIndexes,++ -- * Request Lenses+ listPlaceIndexes_maxResults,+ listPlaceIndexes_nextToken,++ -- * Destructuring the Response+ ListPlaceIndexesResponse (..),+ newListPlaceIndexesResponse,++ -- * Response Lenses+ listPlaceIndexesResponse_nextToken,+ listPlaceIndexesResponse_httpStatus,+ listPlaceIndexesResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPlaceIndexes' smart constructor.+data ListPlaceIndexes = ListPlaceIndexes'+ { -- | An optional limit for the maximum number of results returned in a single+ -- call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlaceIndexes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPlaceIndexes_maxResults' - An optional limit for the maximum number of results returned in a single+-- call.+--+-- Default value: @100@+--+-- 'nextToken', 'listPlaceIndexes_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+newListPlaceIndexes ::+ ListPlaceIndexes+newListPlaceIndexes =+ ListPlaceIndexes'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional limit for the maximum number of results returned in a single+-- call.+--+-- Default value: @100@+listPlaceIndexes_maxResults :: Lens.Lens' ListPlaceIndexes (Prelude.Maybe Prelude.Natural)+listPlaceIndexes_maxResults = Lens.lens (\ListPlaceIndexes' {maxResults} -> maxResults) (\s@ListPlaceIndexes' {} a -> s {maxResults = a} :: ListPlaceIndexes)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listPlaceIndexes_nextToken :: Lens.Lens' ListPlaceIndexes (Prelude.Maybe Prelude.Text)+listPlaceIndexes_nextToken = Lens.lens (\ListPlaceIndexes' {nextToken} -> nextToken) (\s@ListPlaceIndexes' {} a -> s {nextToken = a} :: ListPlaceIndexes)++instance Core.AWSPager ListPlaceIndexes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPlaceIndexesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listPlaceIndexesResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPlaceIndexes_nextToken+ Lens..~ rs+ Lens.^? listPlaceIndexesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPlaceIndexes where+ type+ AWSResponse ListPlaceIndexes =+ ListPlaceIndexesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPlaceIndexesResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListPlaceIndexes where+ hashWithSalt _salt ListPlaceIndexes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPlaceIndexes where+ rnf ListPlaceIndexes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPlaceIndexes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListPlaceIndexes where+ toJSON ListPlaceIndexes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListPlaceIndexes where+ toPath = Prelude.const "/places/v0/list-indexes"++instance Data.ToQuery ListPlaceIndexes where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPlaceIndexesResponse' smart constructor.+data ListPlaceIndexesResponse = ListPlaceIndexesResponse'+ { -- | A pagination token indicating that there are additional pages available.+ -- You can use the token in a new request to fetch the next page of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Lists the place index resources that exist in your AWS account+ entries :: [ListPlaceIndexesResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlaceIndexesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPlaceIndexesResponse_nextToken' - A pagination token indicating that there are additional pages available.+-- You can use the token in a new request to fetch the next page of+-- results.+--+-- 'httpStatus', 'listPlaceIndexesResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listPlaceIndexesResponse_entries' - Lists the place index resources that exist in your AWS account+newListPlaceIndexesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPlaceIndexesResponse+newListPlaceIndexesResponse pHttpStatus_ =+ ListPlaceIndexesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating that there are additional pages available.+-- You can use the token in a new request to fetch the next page of+-- results.+listPlaceIndexesResponse_nextToken :: Lens.Lens' ListPlaceIndexesResponse (Prelude.Maybe Prelude.Text)+listPlaceIndexesResponse_nextToken = Lens.lens (\ListPlaceIndexesResponse' {nextToken} -> nextToken) (\s@ListPlaceIndexesResponse' {} a -> s {nextToken = a} :: ListPlaceIndexesResponse)++-- | The response's http status code.+listPlaceIndexesResponse_httpStatus :: Lens.Lens' ListPlaceIndexesResponse Prelude.Int+listPlaceIndexesResponse_httpStatus = Lens.lens (\ListPlaceIndexesResponse' {httpStatus} -> httpStatus) (\s@ListPlaceIndexesResponse' {} a -> s {httpStatus = a} :: ListPlaceIndexesResponse)++-- | Lists the place index resources that exist in your AWS account+listPlaceIndexesResponse_entries :: Lens.Lens' ListPlaceIndexesResponse [ListPlaceIndexesResponseEntry]+listPlaceIndexesResponse_entries = Lens.lens (\ListPlaceIndexesResponse' {entries} -> entries) (\s@ListPlaceIndexesResponse' {} a -> s {entries = a} :: ListPlaceIndexesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListPlaceIndexesResponse where+ rnf ListPlaceIndexesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListRouteCalculators.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.Location.ListRouteCalculators+-- 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 route calculator resources in your AWS account.+--+-- This operation returns paginated results.+module Amazonka.Location.ListRouteCalculators+ ( -- * Creating a Request+ ListRouteCalculators (..),+ newListRouteCalculators,++ -- * Request Lenses+ listRouteCalculators_maxResults,+ listRouteCalculators_nextToken,++ -- * Destructuring the Response+ ListRouteCalculatorsResponse (..),+ newListRouteCalculatorsResponse,++ -- * Response Lenses+ listRouteCalculatorsResponse_nextToken,+ listRouteCalculatorsResponse_httpStatus,+ listRouteCalculatorsResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListRouteCalculators' smart constructor.+data ListRouteCalculators = ListRouteCalculators'+ { -- | An optional maximum number of results returned in a single call.+ --+ -- Default Value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default Value: @null@+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRouteCalculators' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRouteCalculators_maxResults' - An optional maximum number of results returned in a single call.+--+-- Default Value: @100@+--+-- 'nextToken', 'listRouteCalculators_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default Value: @null@+newListRouteCalculators ::+ ListRouteCalculators+newListRouteCalculators =+ ListRouteCalculators'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional maximum number of results returned in a single call.+--+-- Default Value: @100@+listRouteCalculators_maxResults :: Lens.Lens' ListRouteCalculators (Prelude.Maybe Prelude.Natural)+listRouteCalculators_maxResults = Lens.lens (\ListRouteCalculators' {maxResults} -> maxResults) (\s@ListRouteCalculators' {} a -> s {maxResults = a} :: ListRouteCalculators)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default Value: @null@+listRouteCalculators_nextToken :: Lens.Lens' ListRouteCalculators (Prelude.Maybe Prelude.Text)+listRouteCalculators_nextToken = Lens.lens (\ListRouteCalculators' {nextToken} -> nextToken) (\s@ListRouteCalculators' {} a -> s {nextToken = a} :: ListRouteCalculators)++instance Core.AWSPager ListRouteCalculators where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listRouteCalculatorsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listRouteCalculatorsResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listRouteCalculators_nextToken+ Lens..~ rs+ Lens.^? listRouteCalculatorsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListRouteCalculators where+ type+ AWSResponse ListRouteCalculators =+ ListRouteCalculatorsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListRouteCalculatorsResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListRouteCalculators where+ hashWithSalt _salt ListRouteCalculators' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListRouteCalculators where+ rnf ListRouteCalculators' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListRouteCalculators where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListRouteCalculators where+ toJSON ListRouteCalculators' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListRouteCalculators where+ toPath = Prelude.const "/routes/v0/list-calculators"++instance Data.ToQuery ListRouteCalculators where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRouteCalculatorsResponse' smart constructor.+data ListRouteCalculatorsResponse = ListRouteCalculatorsResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a subsequent request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Lists the route calculator resources that exist in your AWS account+ entries :: [ListRouteCalculatorsResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRouteCalculatorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listRouteCalculatorsResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a subsequent request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listRouteCalculatorsResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listRouteCalculatorsResponse_entries' - Lists the route calculator resources that exist in your AWS account+newListRouteCalculatorsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListRouteCalculatorsResponse+newListRouteCalculatorsResponse pHttpStatus_ =+ ListRouteCalculatorsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a subsequent request to fetch the next set of+-- results.+listRouteCalculatorsResponse_nextToken :: Lens.Lens' ListRouteCalculatorsResponse (Prelude.Maybe Prelude.Text)+listRouteCalculatorsResponse_nextToken = Lens.lens (\ListRouteCalculatorsResponse' {nextToken} -> nextToken) (\s@ListRouteCalculatorsResponse' {} a -> s {nextToken = a} :: ListRouteCalculatorsResponse)++-- | The response's http status code.+listRouteCalculatorsResponse_httpStatus :: Lens.Lens' ListRouteCalculatorsResponse Prelude.Int+listRouteCalculatorsResponse_httpStatus = Lens.lens (\ListRouteCalculatorsResponse' {httpStatus} -> httpStatus) (\s@ListRouteCalculatorsResponse' {} a -> s {httpStatus = a} :: ListRouteCalculatorsResponse)++-- | Lists the route calculator resources that exist in your AWS account+listRouteCalculatorsResponse_entries :: Lens.Lens' ListRouteCalculatorsResponse [ListRouteCalculatorsResponseEntry]+listRouteCalculatorsResponse_entries = Lens.lens (\ListRouteCalculatorsResponse' {entries} -> entries) (\s@ListRouteCalculatorsResponse' {} a -> s {entries = a} :: ListRouteCalculatorsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListRouteCalculatorsResponse where+ rnf ListRouteCalculatorsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/ListTagsForResource.hs view
@@ -0,0 +1,181 @@+{-# 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.Location.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 that are applied to the specified Amazon Location+-- resource.+module Amazonka.Location.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.Location.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 resource whose tags you want to+ -- retrieve.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource whose tags you want to+-- retrieve.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource whose tags you want to+-- retrieve.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | Tags that have been applied to the specified resource. Tags are mapped+ -- from the tag key to the tag value: @\"TagKey\" : \"TagValue\"@.+ --+ -- - Format example: @{\"tag1\" : \"value1\", \"tag2\" : \"value2\"} @+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - Tags that have been applied to the specified resource. Tags are mapped+-- from the tag key to the tag value: @\"TagKey\" : \"TagValue\"@.+--+-- - Format example: @{\"tag1\" : \"value1\", \"tag2\" : \"value2\"} @+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Tags that have been applied to the specified resource. Tags are mapped+-- from the tag key to the tag value: @\"TagKey\" : \"TagValue\"@.+--+-- - Format example: @{\"tag1\" : \"value1\", \"tag2\" : \"value2\"} @+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Location/ListTrackerConsumers.hs view
@@ -0,0 +1,262 @@+{-# 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.Location.ListTrackerConsumers+-- 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 geofence collections currently associated to the given tracker+-- resource.+--+-- This operation returns paginated results.+module Amazonka.Location.ListTrackerConsumers+ ( -- * Creating a Request+ ListTrackerConsumers (..),+ newListTrackerConsumers,++ -- * Request Lenses+ listTrackerConsumers_maxResults,+ listTrackerConsumers_nextToken,+ listTrackerConsumers_trackerName,++ -- * Destructuring the Response+ ListTrackerConsumersResponse (..),+ newListTrackerConsumersResponse,++ -- * Response Lenses+ listTrackerConsumersResponse_nextToken,+ listTrackerConsumersResponse_httpStatus,+ listTrackerConsumersResponse_consumerArns,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTrackerConsumers' smart constructor.+data ListTrackerConsumers = ListTrackerConsumers'+ { -- | An optional limit for the number of resources returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The tracker resource whose associated geofence collections you want to+ -- list.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTrackerConsumers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTrackerConsumers_maxResults' - An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listTrackerConsumers_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+--+-- 'trackerName', 'listTrackerConsumers_trackerName' - The tracker resource whose associated geofence collections you want to+-- list.+newListTrackerConsumers ::+ -- | 'trackerName'+ Prelude.Text ->+ ListTrackerConsumers+newListTrackerConsumers pTrackerName_ =+ ListTrackerConsumers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ trackerName = pTrackerName_+ }++-- | An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+listTrackerConsumers_maxResults :: Lens.Lens' ListTrackerConsumers (Prelude.Maybe Prelude.Natural)+listTrackerConsumers_maxResults = Lens.lens (\ListTrackerConsumers' {maxResults} -> maxResults) (\s@ListTrackerConsumers' {} a -> s {maxResults = a} :: ListTrackerConsumers)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listTrackerConsumers_nextToken :: Lens.Lens' ListTrackerConsumers (Prelude.Maybe Prelude.Text)+listTrackerConsumers_nextToken = Lens.lens (\ListTrackerConsumers' {nextToken} -> nextToken) (\s@ListTrackerConsumers' {} a -> s {nextToken = a} :: ListTrackerConsumers)++-- | The tracker resource whose associated geofence collections you want to+-- list.+listTrackerConsumers_trackerName :: Lens.Lens' ListTrackerConsumers Prelude.Text+listTrackerConsumers_trackerName = Lens.lens (\ListTrackerConsumers' {trackerName} -> trackerName) (\s@ListTrackerConsumers' {} a -> s {trackerName = a} :: ListTrackerConsumers)++instance Core.AWSPager ListTrackerConsumers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTrackerConsumersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listTrackerConsumersResponse_consumerArns+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTrackerConsumers_nextToken+ Lens..~ rs+ Lens.^? listTrackerConsumersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTrackerConsumers where+ type+ AWSResponse ListTrackerConsumers =+ ListTrackerConsumersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTrackerConsumersResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "ConsumerArns" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListTrackerConsumers where+ hashWithSalt _salt ListTrackerConsumers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData ListTrackerConsumers where+ rnf ListTrackerConsumers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders ListTrackerConsumers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTrackerConsumers where+ toJSON ListTrackerConsumers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListTrackerConsumers where+ toPath ListTrackerConsumers' {..} =+ Prelude.mconcat+ [ "/tracking/v0/trackers/",+ Data.toBS trackerName,+ "/list-consumers"+ ]++instance Data.ToQuery ListTrackerConsumers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTrackerConsumersResponse' smart constructor.+data ListTrackerConsumersResponse = ListTrackerConsumersResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains the list of geofence collection ARNs associated to the tracker+ -- resource.+ consumerArns :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTrackerConsumersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTrackerConsumersResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listTrackerConsumersResponse_httpStatus' - The response's http status code.+--+-- 'consumerArns', 'listTrackerConsumersResponse_consumerArns' - Contains the list of geofence collection ARNs associated to the tracker+-- resource.+newListTrackerConsumersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTrackerConsumersResponse+newListTrackerConsumersResponse pHttpStatus_ =+ ListTrackerConsumersResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ consumerArns = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listTrackerConsumersResponse_nextToken :: Lens.Lens' ListTrackerConsumersResponse (Prelude.Maybe Prelude.Text)+listTrackerConsumersResponse_nextToken = Lens.lens (\ListTrackerConsumersResponse' {nextToken} -> nextToken) (\s@ListTrackerConsumersResponse' {} a -> s {nextToken = a} :: ListTrackerConsumersResponse)++-- | The response's http status code.+listTrackerConsumersResponse_httpStatus :: Lens.Lens' ListTrackerConsumersResponse Prelude.Int+listTrackerConsumersResponse_httpStatus = Lens.lens (\ListTrackerConsumersResponse' {httpStatus} -> httpStatus) (\s@ListTrackerConsumersResponse' {} a -> s {httpStatus = a} :: ListTrackerConsumersResponse)++-- | Contains the list of geofence collection ARNs associated to the tracker+-- resource.+listTrackerConsumersResponse_consumerArns :: Lens.Lens' ListTrackerConsumersResponse [Prelude.Text]+listTrackerConsumersResponse_consumerArns = Lens.lens (\ListTrackerConsumersResponse' {consumerArns} -> consumerArns) (\s@ListTrackerConsumersResponse' {} a -> s {consumerArns = a} :: ListTrackerConsumersResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTrackerConsumersResponse where+ rnf ListTrackerConsumersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf consumerArns
+ gen/Amazonka/Location/ListTrackers.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.Location.ListTrackers+-- 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 tracker resources in your AWS account.+--+-- This operation returns paginated results.+module Amazonka.Location.ListTrackers+ ( -- * Creating a Request+ ListTrackers (..),+ newListTrackers,++ -- * Request Lenses+ listTrackers_maxResults,+ listTrackers_nextToken,++ -- * Destructuring the Response+ ListTrackersResponse (..),+ newListTrackersResponse,++ -- * Response Lenses+ listTrackersResponse_nextToken,+ listTrackersResponse_httpStatus,+ listTrackersResponse_entries,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTrackers' smart constructor.+data ListTrackers = ListTrackers'+ { -- | An optional limit for the number of resources returned in a single call.+ --+ -- Default value: @100@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token specifying which page of results to return in the+ -- response. If no token is provided, the default page is the first page.+ --+ -- Default value: @null@+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTrackers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTrackers_maxResults' - An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+--+-- 'nextToken', 'listTrackers_nextToken' - The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+newListTrackers ::+ ListTrackers+newListTrackers =+ ListTrackers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | An optional limit for the number of resources returned in a single call.+--+-- Default value: @100@+listTrackers_maxResults :: Lens.Lens' ListTrackers (Prelude.Maybe Prelude.Natural)+listTrackers_maxResults = Lens.lens (\ListTrackers' {maxResults} -> maxResults) (\s@ListTrackers' {} a -> s {maxResults = a} :: ListTrackers)++-- | The pagination token specifying which page of results to return in the+-- response. If no token is provided, the default page is the first page.+--+-- Default value: @null@+listTrackers_nextToken :: Lens.Lens' ListTrackers (Prelude.Maybe Prelude.Text)+listTrackers_nextToken = Lens.lens (\ListTrackers' {nextToken} -> nextToken) (\s@ListTrackers' {} a -> s {nextToken = a} :: ListTrackers)++instance Core.AWSPager ListTrackers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listTrackersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop (rs Lens.^. listTrackersResponse_entries) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listTrackers_nextToken+ Lens..~ rs+ Lens.^? listTrackersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListTrackers where+ type AWSResponse ListTrackers = ListTrackersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTrackersResponse'+ Prelude.<$> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Entries" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListTrackers where+ hashWithSalt _salt ListTrackers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListTrackers where+ rnf ListTrackers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListTrackers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTrackers where+ toJSON ListTrackers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListTrackers where+ toPath = Prelude.const "/tracking/v0/list-trackers"++instance Data.ToQuery ListTrackers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTrackersResponse' smart constructor.+data ListTrackersResponse = ListTrackersResponse'+ { -- | A pagination token indicating there are additional pages available. You+ -- can use the token in a following request to fetch the next set of+ -- results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Contains tracker resources in your AWS account. Details include tracker+ -- name, description and timestamps for when the tracker was created and+ -- last updated.+ entries :: [ListTrackersResponseEntry]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTrackersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listTrackersResponse_nextToken' - A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+--+-- 'httpStatus', 'listTrackersResponse_httpStatus' - The response's http status code.+--+-- 'entries', 'listTrackersResponse_entries' - Contains tracker resources in your AWS account. Details include tracker+-- name, description and timestamps for when the tracker was created and+-- last updated.+newListTrackersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTrackersResponse+newListTrackersResponse pHttpStatus_ =+ ListTrackersResponse'+ { nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ entries = Prelude.mempty+ }++-- | A pagination token indicating there are additional pages available. You+-- can use the token in a following request to fetch the next set of+-- results.+listTrackersResponse_nextToken :: Lens.Lens' ListTrackersResponse (Prelude.Maybe Prelude.Text)+listTrackersResponse_nextToken = Lens.lens (\ListTrackersResponse' {nextToken} -> nextToken) (\s@ListTrackersResponse' {} a -> s {nextToken = a} :: ListTrackersResponse)++-- | The response's http status code.+listTrackersResponse_httpStatus :: Lens.Lens' ListTrackersResponse Prelude.Int+listTrackersResponse_httpStatus = Lens.lens (\ListTrackersResponse' {httpStatus} -> httpStatus) (\s@ListTrackersResponse' {} a -> s {httpStatus = a} :: ListTrackersResponse)++-- | Contains tracker resources in your AWS account. Details include tracker+-- name, description and timestamps for when the tracker was created and+-- last updated.+listTrackersResponse_entries :: Lens.Lens' ListTrackersResponse [ListTrackersResponseEntry]+listTrackersResponse_entries = Lens.lens (\ListTrackersResponse' {entries} -> entries) (\s@ListTrackersResponse' {} a -> s {entries = a} :: ListTrackersResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTrackersResponse where+ rnf ListTrackersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf entries
+ gen/Amazonka/Location/PutGeofence.hs view
@@ -0,0 +1,268 @@+{-# 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.Location.PutGeofence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stores a geofence geometry in a given geofence collection, or updates+-- the geometry of an existing geofence if a geofence ID is included in the+-- request.+module Amazonka.Location.PutGeofence+ ( -- * Creating a Request+ PutGeofence (..),+ newPutGeofence,++ -- * Request Lenses+ putGeofence_collectionName,+ putGeofence_geofenceId,+ putGeofence_geometry,++ -- * Destructuring the Response+ PutGeofenceResponse (..),+ newPutGeofenceResponse,++ -- * Response Lenses+ putGeofenceResponse_httpStatus,+ putGeofenceResponse_createTime,+ putGeofenceResponse_geofenceId,+ putGeofenceResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutGeofence' smart constructor.+data PutGeofence = PutGeofence'+ { -- | The geofence collection to store the geofence in.+ collectionName :: Prelude.Text,+ -- | An identifier for the geofence. For example, @ExampleGeofence-1@.+ geofenceId :: Prelude.Text,+ -- | Contains the details to specify the position of the geofence. Can be+ -- either a polygon or a circle. Including both will return a validation+ -- error.+ --+ -- Each+ -- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+ -- can have a maximum of 1,000 vertices.+ geometry :: GeofenceGeometry+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutGeofence' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'collectionName', 'putGeofence_collectionName' - The geofence collection to store the geofence in.+--+-- 'geofenceId', 'putGeofence_geofenceId' - An identifier for the geofence. For example, @ExampleGeofence-1@.+--+-- 'geometry', 'putGeofence_geometry' - Contains the details to specify the position of the geofence. Can be+-- either a polygon or a circle. Including both will return a validation+-- error.+--+-- Each+-- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+-- can have a maximum of 1,000 vertices.+newPutGeofence ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'geometry'+ GeofenceGeometry ->+ PutGeofence+newPutGeofence+ pCollectionName_+ pGeofenceId_+ pGeometry_ =+ PutGeofence'+ { collectionName = pCollectionName_,+ geofenceId = pGeofenceId_,+ geometry = pGeometry_+ }++-- | The geofence collection to store the geofence in.+putGeofence_collectionName :: Lens.Lens' PutGeofence Prelude.Text+putGeofence_collectionName = Lens.lens (\PutGeofence' {collectionName} -> collectionName) (\s@PutGeofence' {} a -> s {collectionName = a} :: PutGeofence)++-- | An identifier for the geofence. For example, @ExampleGeofence-1@.+putGeofence_geofenceId :: Lens.Lens' PutGeofence Prelude.Text+putGeofence_geofenceId = Lens.lens (\PutGeofence' {geofenceId} -> geofenceId) (\s@PutGeofence' {} a -> s {geofenceId = a} :: PutGeofence)++-- | Contains the details to specify the position of the geofence. Can be+-- either a polygon or a circle. Including both will return a validation+-- error.+--+-- Each+-- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+-- can have a maximum of 1,000 vertices.+putGeofence_geometry :: Lens.Lens' PutGeofence GeofenceGeometry+putGeofence_geometry = Lens.lens (\PutGeofence' {geometry} -> geometry) (\s@PutGeofence' {} a -> s {geometry = a} :: PutGeofence)++instance Core.AWSRequest PutGeofence where+ type AWSResponse PutGeofence = PutGeofenceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutGeofenceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CreateTime")+ Prelude.<*> (x Data..:> "GeofenceId")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable PutGeofence where+ hashWithSalt _salt PutGeofence' {..} =+ _salt+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` geofenceId+ `Prelude.hashWithSalt` geometry++instance Prelude.NFData PutGeofence where+ rnf PutGeofence' {..} =+ Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf geometry++instance Data.ToHeaders PutGeofence where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutGeofence where+ toJSON PutGeofence' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Geometry" Data..= geometry)]+ )++instance Data.ToPath PutGeofence where+ toPath PutGeofence' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName,+ "/geofences/",+ Data.toBS geofenceId+ ]++instance Data.ToQuery PutGeofence where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutGeofenceResponse' smart constructor.+data PutGeofenceResponse = PutGeofenceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The timestamp for when the geofence was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The geofence identifier entered in the request.+ geofenceId :: Prelude.Text,+ -- | The timestamp for when the geofence was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutGeofenceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putGeofenceResponse_httpStatus' - The response's http status code.+--+-- 'createTime', 'putGeofenceResponse_createTime' - The timestamp for when the geofence was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'geofenceId', 'putGeofenceResponse_geofenceId' - The geofence identifier entered in the request.+--+-- 'updateTime', 'putGeofenceResponse_updateTime' - The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newPutGeofenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ PutGeofenceResponse+newPutGeofenceResponse+ pHttpStatus_+ pCreateTime_+ pGeofenceId_+ pUpdateTime_ =+ PutGeofenceResponse'+ { httpStatus = pHttpStatus_,+ createTime = Data._Time Lens.# pCreateTime_,+ geofenceId = pGeofenceId_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+putGeofenceResponse_httpStatus :: Lens.Lens' PutGeofenceResponse Prelude.Int+putGeofenceResponse_httpStatus = Lens.lens (\PutGeofenceResponse' {httpStatus} -> httpStatus) (\s@PutGeofenceResponse' {} a -> s {httpStatus = a} :: PutGeofenceResponse)++-- | The timestamp for when the geofence was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+putGeofenceResponse_createTime :: Lens.Lens' PutGeofenceResponse Prelude.UTCTime+putGeofenceResponse_createTime = Lens.lens (\PutGeofenceResponse' {createTime} -> createTime) (\s@PutGeofenceResponse' {} a -> s {createTime = a} :: PutGeofenceResponse) Prelude.. Data._Time++-- | The geofence identifier entered in the request.+putGeofenceResponse_geofenceId :: Lens.Lens' PutGeofenceResponse Prelude.Text+putGeofenceResponse_geofenceId = Lens.lens (\PutGeofenceResponse' {geofenceId} -> geofenceId) (\s@PutGeofenceResponse' {} a -> s {geofenceId = a} :: PutGeofenceResponse)++-- | The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+putGeofenceResponse_updateTime :: Lens.Lens' PutGeofenceResponse Prelude.UTCTime+putGeofenceResponse_updateTime = Lens.lens (\PutGeofenceResponse' {updateTime} -> updateTime) (\s@PutGeofenceResponse' {} a -> s {updateTime = a} :: PutGeofenceResponse) Prelude.. Data._Time++instance Prelude.NFData PutGeofenceResponse where+ rnf PutGeofenceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/SearchPlaceIndexForPosition.hs view
@@ -0,0 +1,329 @@+{-# 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.Location.SearchPlaceIndexForPosition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Reverse geocodes a given coordinate and returns a legible address.+-- Allows you to search for Places or points of interest near a given+-- position.+module Amazonka.Location.SearchPlaceIndexForPosition+ ( -- * Creating a Request+ SearchPlaceIndexForPosition (..),+ newSearchPlaceIndexForPosition,++ -- * Request Lenses+ searchPlaceIndexForPosition_language,+ searchPlaceIndexForPosition_maxResults,+ searchPlaceIndexForPosition_indexName,+ searchPlaceIndexForPosition_position,++ -- * Destructuring the Response+ SearchPlaceIndexForPositionResponse (..),+ newSearchPlaceIndexForPositionResponse,++ -- * Response Lenses+ searchPlaceIndexForPositionResponse_httpStatus,+ searchPlaceIndexForPositionResponse_results,+ searchPlaceIndexForPositionResponse_summary,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchPlaceIndexForPosition' smart constructor.+data SearchPlaceIndexForPosition = SearchPlaceIndexForPosition'+ { -- | The preferred language used to return results. The value must be a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ --+ -- This setting affects the languages used in the results, but not the+ -- results themselves. If no language is specified, or not supported for a+ -- particular result, the partner automatically chooses a language for the+ -- result.+ --+ -- For an example, we\'ll use the Greek language. You search for a location+ -- around Athens, Greece, with the @language@ parameter set to @en@. The+ -- @city@ in the results will most likely be returned as @Athens@.+ --+ -- If you set the @language@ parameter to @el@, for Greek, then the @city@+ -- in the results will more likely be returned as @Αθήνα@.+ --+ -- If the data provider does not have a value for Greek, the result will be+ -- in a language that the provider does support.+ language :: Prelude.Maybe Prelude.Text,+ -- | An optional parameter. The maximum number of results returned per+ -- request.+ --+ -- Default value: @50@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The name of the place index resource you want to use for the search.+ indexName :: Prelude.Text,+ -- | Specifies the longitude and latitude of the position to query.+ --+ -- This parameter must contain a pair of numbers. The first number+ -- represents the X coordinate, or longitude; the second number represents+ -- the Y coordinate, or latitude.+ --+ -- For example, @[-123.1174, 49.2847]@ represents a position with longitude+ -- @-123.1174@ and latitude @49.2847@.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForPosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'language', 'searchPlaceIndexForPosition_language' - The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for a location+-- around Athens, Greece, with the @language@ parameter set to @en@. The+-- @city@ in the results will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the @city@+-- in the results will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+--+-- 'maxResults', 'searchPlaceIndexForPosition_maxResults' - An optional parameter. The maximum number of results returned per+-- request.+--+-- Default value: @50@+--+-- 'indexName', 'searchPlaceIndexForPosition_indexName' - The name of the place index resource you want to use for the search.+--+-- 'position', 'searchPlaceIndexForPosition_position' - Specifies the longitude and latitude of the position to query.+--+-- This parameter must contain a pair of numbers. The first number+-- represents the X coordinate, or longitude; the second number represents+-- the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents a position with longitude+-- @-123.1174@ and latitude @49.2847@.+newSearchPlaceIndexForPosition ::+ -- | 'indexName'+ Prelude.Text ->+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ SearchPlaceIndexForPosition+newSearchPlaceIndexForPosition pIndexName_ pPosition_ =+ SearchPlaceIndexForPosition'+ { language =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ indexName = pIndexName_,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_+ }++-- | The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for a location+-- around Athens, Greece, with the @language@ parameter set to @en@. The+-- @city@ in the results will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the @city@+-- in the results will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+searchPlaceIndexForPosition_language :: Lens.Lens' SearchPlaceIndexForPosition (Prelude.Maybe Prelude.Text)+searchPlaceIndexForPosition_language = Lens.lens (\SearchPlaceIndexForPosition' {language} -> language) (\s@SearchPlaceIndexForPosition' {} a -> s {language = a} :: SearchPlaceIndexForPosition)++-- | An optional parameter. The maximum number of results returned per+-- request.+--+-- Default value: @50@+searchPlaceIndexForPosition_maxResults :: Lens.Lens' SearchPlaceIndexForPosition (Prelude.Maybe Prelude.Natural)+searchPlaceIndexForPosition_maxResults = Lens.lens (\SearchPlaceIndexForPosition' {maxResults} -> maxResults) (\s@SearchPlaceIndexForPosition' {} a -> s {maxResults = a} :: SearchPlaceIndexForPosition)++-- | The name of the place index resource you want to use for the search.+searchPlaceIndexForPosition_indexName :: Lens.Lens' SearchPlaceIndexForPosition Prelude.Text+searchPlaceIndexForPosition_indexName = Lens.lens (\SearchPlaceIndexForPosition' {indexName} -> indexName) (\s@SearchPlaceIndexForPosition' {} a -> s {indexName = a} :: SearchPlaceIndexForPosition)++-- | Specifies the longitude and latitude of the position to query.+--+-- This parameter must contain a pair of numbers. The first number+-- represents the X coordinate, or longitude; the second number represents+-- the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents a position with longitude+-- @-123.1174@ and latitude @49.2847@.+searchPlaceIndexForPosition_position :: Lens.Lens' SearchPlaceIndexForPosition (Prelude.NonEmpty Prelude.Double)+searchPlaceIndexForPosition_position = Lens.lens (\SearchPlaceIndexForPosition' {position} -> position) (\s@SearchPlaceIndexForPosition' {} a -> s {position = a} :: SearchPlaceIndexForPosition) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Core.AWSRequest SearchPlaceIndexForPosition where+ type+ AWSResponse SearchPlaceIndexForPosition =+ SearchPlaceIndexForPositionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SearchPlaceIndexForPositionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Results" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "Summary")+ )++instance Prelude.Hashable SearchPlaceIndexForPosition where+ hashWithSalt _salt SearchPlaceIndexForPosition' {..} =+ _salt+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` indexName+ `Prelude.hashWithSalt` position++instance Prelude.NFData SearchPlaceIndexForPosition where+ rnf SearchPlaceIndexForPosition' {..} =+ Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf position++instance Data.ToHeaders SearchPlaceIndexForPosition where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SearchPlaceIndexForPosition where+ toJSON SearchPlaceIndexForPosition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Language" Data..=) Prelude.<$> language,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ Prelude.Just ("Position" Data..= position)+ ]+ )++instance Data.ToPath SearchPlaceIndexForPosition where+ toPath SearchPlaceIndexForPosition' {..} =+ Prelude.mconcat+ [ "/places/v0/indexes/",+ Data.toBS indexName,+ "/search/position"+ ]++instance Data.ToQuery SearchPlaceIndexForPosition where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchPlaceIndexForPositionResponse' smart constructor.+data SearchPlaceIndexForPositionResponse = SearchPlaceIndexForPositionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Returns a list of Places closest to the specified position. Each result+ -- contains additional information about the Places returned.+ results :: [SearchForPositionResult],+ -- | Contains a summary of the request. Echoes the input values for+ -- @Position@, @Language@, @MaxResults@, and the @DataSource@ of the place+ -- index.+ summary :: SearchPlaceIndexForPositionSummary+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForPositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'searchPlaceIndexForPositionResponse_httpStatus' - The response's http status code.+--+-- 'results', 'searchPlaceIndexForPositionResponse_results' - Returns a list of Places closest to the specified position. Each result+-- contains additional information about the Places returned.+--+-- 'summary', 'searchPlaceIndexForPositionResponse_summary' - Contains a summary of the request. Echoes the input values for+-- @Position@, @Language@, @MaxResults@, and the @DataSource@ of the place+-- index.+newSearchPlaceIndexForPositionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'summary'+ SearchPlaceIndexForPositionSummary ->+ SearchPlaceIndexForPositionResponse+newSearchPlaceIndexForPositionResponse+ pHttpStatus_+ pSummary_ =+ SearchPlaceIndexForPositionResponse'+ { httpStatus =+ pHttpStatus_,+ results = Prelude.mempty,+ summary = pSummary_+ }++-- | The response's http status code.+searchPlaceIndexForPositionResponse_httpStatus :: Lens.Lens' SearchPlaceIndexForPositionResponse Prelude.Int+searchPlaceIndexForPositionResponse_httpStatus = Lens.lens (\SearchPlaceIndexForPositionResponse' {httpStatus} -> httpStatus) (\s@SearchPlaceIndexForPositionResponse' {} a -> s {httpStatus = a} :: SearchPlaceIndexForPositionResponse)++-- | Returns a list of Places closest to the specified position. Each result+-- contains additional information about the Places returned.+searchPlaceIndexForPositionResponse_results :: Lens.Lens' SearchPlaceIndexForPositionResponse [SearchForPositionResult]+searchPlaceIndexForPositionResponse_results = Lens.lens (\SearchPlaceIndexForPositionResponse' {results} -> results) (\s@SearchPlaceIndexForPositionResponse' {} a -> s {results = a} :: SearchPlaceIndexForPositionResponse) Prelude.. Lens.coerced++-- | Contains a summary of the request. Echoes the input values for+-- @Position@, @Language@, @MaxResults@, and the @DataSource@ of the place+-- index.+searchPlaceIndexForPositionResponse_summary :: Lens.Lens' SearchPlaceIndexForPositionResponse SearchPlaceIndexForPositionSummary+searchPlaceIndexForPositionResponse_summary = Lens.lens (\SearchPlaceIndexForPositionResponse' {summary} -> summary) (\s@SearchPlaceIndexForPositionResponse' {} a -> s {summary = a} :: SearchPlaceIndexForPositionResponse)++instance+ Prelude.NFData+ SearchPlaceIndexForPositionResponse+ where+ rnf SearchPlaceIndexForPositionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf results+ `Prelude.seq` Prelude.rnf summary
+ gen/Amazonka/Location/SearchPlaceIndexForSuggestions.hs view
@@ -0,0 +1,466 @@+{-# 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.Location.SearchPlaceIndexForSuggestions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Generates suggestions for addresses and points of interest based on+-- partial or misspelled free-form text. This operation is also known as+-- autocomplete, autosuggest, or fuzzy matching.+--+-- Optional parameters let you narrow your search results by bounding box+-- or country, or bias your search toward a specific position on the globe.+--+-- You can search for suggested place names near a specified position by+-- using @BiasPosition@, or filter results within a bounding box by using+-- @FilterBBox@. These parameters are mutually exclusive; using both+-- @BiasPosition@ and @FilterBBox@ in the same command returns an error.+module Amazonka.Location.SearchPlaceIndexForSuggestions+ ( -- * Creating a Request+ SearchPlaceIndexForSuggestions (..),+ newSearchPlaceIndexForSuggestions,++ -- * Request Lenses+ searchPlaceIndexForSuggestions_biasPosition,+ searchPlaceIndexForSuggestions_filterBBox,+ searchPlaceIndexForSuggestions_filterCountries,+ searchPlaceIndexForSuggestions_language,+ searchPlaceIndexForSuggestions_maxResults,+ searchPlaceIndexForSuggestions_indexName,+ searchPlaceIndexForSuggestions_text,++ -- * Destructuring the Response+ SearchPlaceIndexForSuggestionsResponse (..),+ newSearchPlaceIndexForSuggestionsResponse,++ -- * Response Lenses+ searchPlaceIndexForSuggestionsResponse_httpStatus,+ searchPlaceIndexForSuggestionsResponse_results,+ searchPlaceIndexForSuggestionsResponse_summary,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchPlaceIndexForSuggestions' smart constructor.+data SearchPlaceIndexForSuggestions = SearchPlaceIndexForSuggestions'+ { -- | An optional parameter that indicates a preference for place suggestions+ -- that are closer to a specified position.+ --+ -- If provided, this parameter must contain a pair of numbers. The first+ -- number represents the X coordinate, or longitude; the second number+ -- represents the Y coordinate, or latitude.+ --+ -- For example, @[-123.1174, 49.2847]@ represents the position with+ -- longitude @-123.1174@ and latitude @49.2847@.+ --+ -- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+ -- options results in an error.+ biasPosition :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | An optional parameter that limits the search results by returning only+ -- suggestions within a specified bounding box.+ --+ -- If provided, this parameter must contain a total of four consecutive+ -- numbers in two pairs. The first pair of numbers represents the X and Y+ -- coordinates (longitude and latitude, respectively) of the southwest+ -- corner of the bounding box; the second pair of numbers represents the X+ -- and Y coordinates (longitude and latitude, respectively) of the+ -- northeast corner of the bounding box.+ --+ -- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+ -- bounding box where the southwest corner has longitude @-12.7935@ and+ -- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+ -- and latitude @-36.9542@.+ --+ -- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+ -- options results in an error.+ filterBBox :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | An optional parameter that limits the search results by returning only+ -- suggestions within the provided list of countries.+ --+ -- - Use the <https://www.iso.org/iso-3166-country-codes.html ISO 3166>+ -- 3-digit country code. For example, Australia uses three upper-case+ -- characters: @AUS@.+ filterCountries :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The preferred language used to return results. The value must be a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ --+ -- This setting affects the languages used in the results. If no language+ -- is specified, or not supported for a particular result, the partner+ -- automatically chooses a language for the result.+ --+ -- For an example, we\'ll use the Greek language. You search for+ -- @Athens, Gr@ to get suggestions with the @language@ parameter set to+ -- @en@. The results found will most likely be returned as+ -- @Athens, Greece@.+ --+ -- If you set the @language@ parameter to @el@, for Greek, then the result+ -- found will more likely be returned as @Αθήνα, Ελλάδα@.+ --+ -- If the data provider does not have a value for Greek, the result will be+ -- in a language that the provider does support.+ language :: Prelude.Maybe Prelude.Text,+ -- | An optional parameter. The maximum number of results returned per+ -- request.+ --+ -- The default: @5@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The name of the place index resource you want to use for the search.+ indexName :: Prelude.Text,+ -- | The free-form partial text to use to generate place suggestions. For+ -- example, @eiffel tow@.+ text :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForSuggestions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'biasPosition', 'searchPlaceIndexForSuggestions_biasPosition' - An optional parameter that indicates a preference for place suggestions+-- that are closer to a specified position.+--+-- If provided, this parameter must contain a pair of numbers. The first+-- number represents the X coordinate, or longitude; the second number+-- represents the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+-- options results in an error.+--+-- 'filterBBox', 'searchPlaceIndexForSuggestions_filterBBox' - An optional parameter that limits the search results by returning only+-- suggestions within a specified bounding box.+--+-- If provided, this parameter must contain a total of four consecutive+-- numbers in two pairs. The first pair of numbers represents the X and Y+-- coordinates (longitude and latitude, respectively) of the southwest+-- corner of the bounding box; the second pair of numbers represents the X+-- and Y coordinates (longitude and latitude, respectively) of the+-- northeast corner of the bounding box.+--+-- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+-- bounding box where the southwest corner has longitude @-12.7935@ and+-- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+-- and latitude @-36.9542@.+--+-- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+-- options results in an error.+--+-- 'filterCountries', 'searchPlaceIndexForSuggestions_filterCountries' - An optional parameter that limits the search results by returning only+-- suggestions within the provided list of countries.+--+-- - Use the <https://www.iso.org/iso-3166-country-codes.html ISO 3166>+-- 3-digit country code. For example, Australia uses three upper-case+-- characters: @AUS@.+--+-- 'language', 'searchPlaceIndexForSuggestions_language' - The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results. If no language+-- is specified, or not supported for a particular result, the partner+-- automatically chooses a language for the result.+--+-- For an example, we\'ll use the Greek language. You search for+-- @Athens, Gr@ to get suggestions with the @language@ parameter set to+-- @en@. The results found will most likely be returned as+-- @Athens, Greece@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the result+-- found will more likely be returned as @Αθήνα, Ελλάδα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+--+-- 'maxResults', 'searchPlaceIndexForSuggestions_maxResults' - An optional parameter. The maximum number of results returned per+-- request.+--+-- The default: @5@+--+-- 'indexName', 'searchPlaceIndexForSuggestions_indexName' - The name of the place index resource you want to use for the search.+--+-- 'text', 'searchPlaceIndexForSuggestions_text' - The free-form partial text to use to generate place suggestions. For+-- example, @eiffel tow@.+newSearchPlaceIndexForSuggestions ::+ -- | 'indexName'+ Prelude.Text ->+ -- | 'text'+ Prelude.Text ->+ SearchPlaceIndexForSuggestions+newSearchPlaceIndexForSuggestions pIndexName_ pText_ =+ SearchPlaceIndexForSuggestions'+ { biasPosition =+ Prelude.Nothing,+ filterBBox = Prelude.Nothing,+ filterCountries = Prelude.Nothing,+ language = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ indexName = pIndexName_,+ text = Data._Sensitive Lens.# pText_+ }++-- | An optional parameter that indicates a preference for place suggestions+-- that are closer to a specified position.+--+-- If provided, this parameter must contain a pair of numbers. The first+-- number represents the X coordinate, or longitude; the second number+-- represents the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+-- options results in an error.+searchPlaceIndexForSuggestions_biasPosition :: Lens.Lens' SearchPlaceIndexForSuggestions (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForSuggestions_biasPosition = Lens.lens (\SearchPlaceIndexForSuggestions' {biasPosition} -> biasPosition) (\s@SearchPlaceIndexForSuggestions' {} a -> s {biasPosition = a} :: SearchPlaceIndexForSuggestions) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An optional parameter that limits the search results by returning only+-- suggestions within a specified bounding box.+--+-- If provided, this parameter must contain a total of four consecutive+-- numbers in two pairs. The first pair of numbers represents the X and Y+-- coordinates (longitude and latitude, respectively) of the southwest+-- corner of the bounding box; the second pair of numbers represents the X+-- and Y coordinates (longitude and latitude, respectively) of the+-- northeast corner of the bounding box.+--+-- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+-- bounding box where the southwest corner has longitude @-12.7935@ and+-- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+-- and latitude @-36.9542@.+--+-- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+-- options results in an error.+searchPlaceIndexForSuggestions_filterBBox :: Lens.Lens' SearchPlaceIndexForSuggestions (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForSuggestions_filterBBox = Lens.lens (\SearchPlaceIndexForSuggestions' {filterBBox} -> filterBBox) (\s@SearchPlaceIndexForSuggestions' {} a -> s {filterBBox = a} :: SearchPlaceIndexForSuggestions) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An optional parameter that limits the search results by returning only+-- suggestions within the provided list of countries.+--+-- - Use the <https://www.iso.org/iso-3166-country-codes.html ISO 3166>+-- 3-digit country code. For example, Australia uses three upper-case+-- characters: @AUS@.+searchPlaceIndexForSuggestions_filterCountries :: Lens.Lens' SearchPlaceIndexForSuggestions (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+searchPlaceIndexForSuggestions_filterCountries = Lens.lens (\SearchPlaceIndexForSuggestions' {filterCountries} -> filterCountries) (\s@SearchPlaceIndexForSuggestions' {} a -> s {filterCountries = a} :: SearchPlaceIndexForSuggestions) Prelude.. Lens.mapping Lens.coerced++-- | The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results. If no language+-- is specified, or not supported for a particular result, the partner+-- automatically chooses a language for the result.+--+-- For an example, we\'ll use the Greek language. You search for+-- @Athens, Gr@ to get suggestions with the @language@ parameter set to+-- @en@. The results found will most likely be returned as+-- @Athens, Greece@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the result+-- found will more likely be returned as @Αθήνα, Ελλάδα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+searchPlaceIndexForSuggestions_language :: Lens.Lens' SearchPlaceIndexForSuggestions (Prelude.Maybe Prelude.Text)+searchPlaceIndexForSuggestions_language = Lens.lens (\SearchPlaceIndexForSuggestions' {language} -> language) (\s@SearchPlaceIndexForSuggestions' {} a -> s {language = a} :: SearchPlaceIndexForSuggestions)++-- | An optional parameter. The maximum number of results returned per+-- request.+--+-- The default: @5@+searchPlaceIndexForSuggestions_maxResults :: Lens.Lens' SearchPlaceIndexForSuggestions (Prelude.Maybe Prelude.Natural)+searchPlaceIndexForSuggestions_maxResults = Lens.lens (\SearchPlaceIndexForSuggestions' {maxResults} -> maxResults) (\s@SearchPlaceIndexForSuggestions' {} a -> s {maxResults = a} :: SearchPlaceIndexForSuggestions)++-- | The name of the place index resource you want to use for the search.+searchPlaceIndexForSuggestions_indexName :: Lens.Lens' SearchPlaceIndexForSuggestions Prelude.Text+searchPlaceIndexForSuggestions_indexName = Lens.lens (\SearchPlaceIndexForSuggestions' {indexName} -> indexName) (\s@SearchPlaceIndexForSuggestions' {} a -> s {indexName = a} :: SearchPlaceIndexForSuggestions)++-- | The free-form partial text to use to generate place suggestions. For+-- example, @eiffel tow@.+searchPlaceIndexForSuggestions_text :: Lens.Lens' SearchPlaceIndexForSuggestions Prelude.Text+searchPlaceIndexForSuggestions_text = Lens.lens (\SearchPlaceIndexForSuggestions' {text} -> text) (\s@SearchPlaceIndexForSuggestions' {} a -> s {text = a} :: SearchPlaceIndexForSuggestions) Prelude.. Data._Sensitive++instance+ Core.AWSRequest+ SearchPlaceIndexForSuggestions+ where+ type+ AWSResponse SearchPlaceIndexForSuggestions =+ SearchPlaceIndexForSuggestionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SearchPlaceIndexForSuggestionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Results" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "Summary")+ )++instance+ Prelude.Hashable+ SearchPlaceIndexForSuggestions+ where+ hashWithSalt+ _salt+ SearchPlaceIndexForSuggestions' {..} =+ _salt+ `Prelude.hashWithSalt` biasPosition+ `Prelude.hashWithSalt` filterBBox+ `Prelude.hashWithSalt` filterCountries+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` indexName+ `Prelude.hashWithSalt` text++instance+ Prelude.NFData+ SearchPlaceIndexForSuggestions+ where+ rnf SearchPlaceIndexForSuggestions' {..} =+ Prelude.rnf biasPosition+ `Prelude.seq` Prelude.rnf filterBBox+ `Prelude.seq` Prelude.rnf filterCountries+ `Prelude.seq` Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf text++instance+ Data.ToHeaders+ SearchPlaceIndexForSuggestions+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SearchPlaceIndexForSuggestions where+ toJSON SearchPlaceIndexForSuggestions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BiasPosition" Data..=) Prelude.<$> biasPosition,+ ("FilterBBox" Data..=) Prelude.<$> filterBBox,+ ("FilterCountries" Data..=)+ Prelude.<$> filterCountries,+ ("Language" Data..=) Prelude.<$> language,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ Prelude.Just ("Text" Data..= text)+ ]+ )++instance Data.ToPath SearchPlaceIndexForSuggestions where+ toPath SearchPlaceIndexForSuggestions' {..} =+ Prelude.mconcat+ [ "/places/v0/indexes/",+ Data.toBS indexName,+ "/search/suggestions"+ ]++instance Data.ToQuery SearchPlaceIndexForSuggestions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchPlaceIndexForSuggestionsResponse' smart constructor.+data SearchPlaceIndexForSuggestionsResponse = SearchPlaceIndexForSuggestionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of place suggestions that best match the search text.+ results :: [SearchForSuggestionsResult],+ -- | Contains a summary of the request. Echoes the input values for+ -- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+ -- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+ -- index.+ summary :: SearchPlaceIndexForSuggestionsSummary+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForSuggestionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'searchPlaceIndexForSuggestionsResponse_httpStatus' - The response's http status code.+--+-- 'results', 'searchPlaceIndexForSuggestionsResponse_results' - A list of place suggestions that best match the search text.+--+-- 'summary', 'searchPlaceIndexForSuggestionsResponse_summary' - Contains a summary of the request. Echoes the input values for+-- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+-- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+-- index.+newSearchPlaceIndexForSuggestionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'summary'+ SearchPlaceIndexForSuggestionsSummary ->+ SearchPlaceIndexForSuggestionsResponse+newSearchPlaceIndexForSuggestionsResponse+ pHttpStatus_+ pSummary_ =+ SearchPlaceIndexForSuggestionsResponse'+ { httpStatus =+ pHttpStatus_,+ results = Prelude.mempty,+ summary = pSummary_+ }++-- | The response's http status code.+searchPlaceIndexForSuggestionsResponse_httpStatus :: Lens.Lens' SearchPlaceIndexForSuggestionsResponse Prelude.Int+searchPlaceIndexForSuggestionsResponse_httpStatus = Lens.lens (\SearchPlaceIndexForSuggestionsResponse' {httpStatus} -> httpStatus) (\s@SearchPlaceIndexForSuggestionsResponse' {} a -> s {httpStatus = a} :: SearchPlaceIndexForSuggestionsResponse)++-- | A list of place suggestions that best match the search text.+searchPlaceIndexForSuggestionsResponse_results :: Lens.Lens' SearchPlaceIndexForSuggestionsResponse [SearchForSuggestionsResult]+searchPlaceIndexForSuggestionsResponse_results = Lens.lens (\SearchPlaceIndexForSuggestionsResponse' {results} -> results) (\s@SearchPlaceIndexForSuggestionsResponse' {} a -> s {results = a} :: SearchPlaceIndexForSuggestionsResponse) Prelude.. Lens.coerced++-- | Contains a summary of the request. Echoes the input values for+-- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+-- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+-- index.+searchPlaceIndexForSuggestionsResponse_summary :: Lens.Lens' SearchPlaceIndexForSuggestionsResponse SearchPlaceIndexForSuggestionsSummary+searchPlaceIndexForSuggestionsResponse_summary = Lens.lens (\SearchPlaceIndexForSuggestionsResponse' {summary} -> summary) (\s@SearchPlaceIndexForSuggestionsResponse' {} a -> s {summary = a} :: SearchPlaceIndexForSuggestionsResponse)++instance+ Prelude.NFData+ SearchPlaceIndexForSuggestionsResponse+ where+ rnf SearchPlaceIndexForSuggestionsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf results+ `Prelude.seq` Prelude.rnf summary
+ gen/Amazonka/Location/SearchPlaceIndexForText.hs view
@@ -0,0 +1,470 @@+{-# 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.Location.SearchPlaceIndexForText+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Geocodes free-form text, such as an address, name, city, or region to+-- allow you to search for Places or points of interest.+--+-- Optional parameters let you narrow your search results by bounding box+-- or country, or bias your search toward a specific position on the globe.+--+-- You can search for places near a given position using @BiasPosition@, or+-- filter results within a bounding box using @FilterBBox@. Providing both+-- parameters simultaneously returns an error.+--+-- Search results are returned in order of highest to lowest relevance.+module Amazonka.Location.SearchPlaceIndexForText+ ( -- * Creating a Request+ SearchPlaceIndexForText (..),+ newSearchPlaceIndexForText,++ -- * Request Lenses+ searchPlaceIndexForText_biasPosition,+ searchPlaceIndexForText_filterBBox,+ searchPlaceIndexForText_filterCountries,+ searchPlaceIndexForText_language,+ searchPlaceIndexForText_maxResults,+ searchPlaceIndexForText_indexName,+ searchPlaceIndexForText_text,++ -- * Destructuring the Response+ SearchPlaceIndexForTextResponse (..),+ newSearchPlaceIndexForTextResponse,++ -- * Response Lenses+ searchPlaceIndexForTextResponse_httpStatus,+ searchPlaceIndexForTextResponse_results,+ searchPlaceIndexForTextResponse_summary,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchPlaceIndexForText' smart constructor.+data SearchPlaceIndexForText = SearchPlaceIndexForText'+ { -- | An optional parameter that indicates a preference for places that are+ -- closer to a specified position.+ --+ -- If provided, this parameter must contain a pair of numbers. The first+ -- number represents the X coordinate, or longitude; the second number+ -- represents the Y coordinate, or latitude.+ --+ -- For example, @[-123.1174, 49.2847]@ represents the position with+ -- longitude @-123.1174@ and latitude @49.2847@.+ --+ -- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+ -- options results in an error.+ biasPosition :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | An optional parameter that limits the search results by returning only+ -- places that are within the provided bounding box.+ --+ -- If provided, this parameter must contain a total of four consecutive+ -- numbers in two pairs. The first pair of numbers represents the X and Y+ -- coordinates (longitude and latitude, respectively) of the southwest+ -- corner of the bounding box; the second pair of numbers represents the X+ -- and Y coordinates (longitude and latitude, respectively) of the+ -- northeast corner of the bounding box.+ --+ -- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+ -- bounding box where the southwest corner has longitude @-12.7935@ and+ -- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+ -- and latitude @-36.9542@.+ --+ -- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+ -- options results in an error.+ filterBBox :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | An optional parameter that limits the search results by returning only+ -- places that are in a specified list of countries.+ --+ -- - Valid values include+ -- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+ -- country codes. For example, Australia uses three upper-case+ -- characters: @AUS@.+ filterCountries :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The preferred language used to return results. The value must be a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ --+ -- This setting affects the languages used in the results, but not the+ -- results themselves. If no language is specified, or not supported for a+ -- particular result, the partner automatically chooses a language for the+ -- result.+ --+ -- For an example, we\'ll use the Greek language. You search for+ -- @Athens, Greece@, with the @language@ parameter set to @en@. The result+ -- found will most likely be returned as @Athens@.+ --+ -- If you set the @language@ parameter to @el@, for Greek, then the result+ -- found will more likely be returned as @Αθήνα@.+ --+ -- If the data provider does not have a value for Greek, the result will be+ -- in a language that the provider does support.+ language :: Prelude.Maybe Prelude.Text,+ -- | An optional parameter. The maximum number of results returned per+ -- request.+ --+ -- The default: @50@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The name of the place index resource you want to use for the search.+ indexName :: Prelude.Text,+ -- | The address, name, city, or region to be used in the search in free-form+ -- text format. For example, @123 Any Street@.+ text :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForText' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'biasPosition', 'searchPlaceIndexForText_biasPosition' - An optional parameter that indicates a preference for places that are+-- closer to a specified position.+--+-- If provided, this parameter must contain a pair of numbers. The first+-- number represents the X coordinate, or longitude; the second number+-- represents the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+-- options results in an error.+--+-- 'filterBBox', 'searchPlaceIndexForText_filterBBox' - An optional parameter that limits the search results by returning only+-- places that are within the provided bounding box.+--+-- If provided, this parameter must contain a total of four consecutive+-- numbers in two pairs. The first pair of numbers represents the X and Y+-- coordinates (longitude and latitude, respectively) of the southwest+-- corner of the bounding box; the second pair of numbers represents the X+-- and Y coordinates (longitude and latitude, respectively) of the+-- northeast corner of the bounding box.+--+-- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+-- bounding box where the southwest corner has longitude @-12.7935@ and+-- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+-- and latitude @-36.9542@.+--+-- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+-- options results in an error.+--+-- 'filterCountries', 'searchPlaceIndexForText_filterCountries' - An optional parameter that limits the search results by returning only+-- places that are in a specified list of countries.+--+-- - Valid values include+-- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+-- country codes. For example, Australia uses three upper-case+-- characters: @AUS@.+--+-- 'language', 'searchPlaceIndexForText_language' - The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for+-- @Athens, Greece@, with the @language@ parameter set to @en@. The result+-- found will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the result+-- found will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+--+-- 'maxResults', 'searchPlaceIndexForText_maxResults' - An optional parameter. The maximum number of results returned per+-- request.+--+-- The default: @50@+--+-- 'indexName', 'searchPlaceIndexForText_indexName' - The name of the place index resource you want to use for the search.+--+-- 'text', 'searchPlaceIndexForText_text' - The address, name, city, or region to be used in the search in free-form+-- text format. For example, @123 Any Street@.+newSearchPlaceIndexForText ::+ -- | 'indexName'+ Prelude.Text ->+ -- | 'text'+ Prelude.Text ->+ SearchPlaceIndexForText+newSearchPlaceIndexForText pIndexName_ pText_ =+ SearchPlaceIndexForText'+ { biasPosition =+ Prelude.Nothing,+ filterBBox = Prelude.Nothing,+ filterCountries = Prelude.Nothing,+ language = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ indexName = pIndexName_,+ text = Data._Sensitive Lens.# pText_+ }++-- | An optional parameter that indicates a preference for places that are+-- closer to a specified position.+--+-- If provided, this parameter must contain a pair of numbers. The first+-- number represents the X coordinate, or longitude; the second number+-- represents the Y coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- @BiasPosition@ and @FilterBBox@ are mutually exclusive. Specifying both+-- options results in an error.+searchPlaceIndexForText_biasPosition :: Lens.Lens' SearchPlaceIndexForText (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForText_biasPosition = Lens.lens (\SearchPlaceIndexForText' {biasPosition} -> biasPosition) (\s@SearchPlaceIndexForText' {} a -> s {biasPosition = a} :: SearchPlaceIndexForText) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An optional parameter that limits the search results by returning only+-- places that are within the provided bounding box.+--+-- If provided, this parameter must contain a total of four consecutive+-- numbers in two pairs. The first pair of numbers represents the X and Y+-- coordinates (longitude and latitude, respectively) of the southwest+-- corner of the bounding box; the second pair of numbers represents the X+-- and Y coordinates (longitude and latitude, respectively) of the+-- northeast corner of the bounding box.+--+-- For example, @[-12.7935, -37.4835, -12.0684, -36.9542]@ represents a+-- bounding box where the southwest corner has longitude @-12.7935@ and+-- latitude @-37.4835@, and the northeast corner has longitude @-12.0684@+-- and latitude @-36.9542@.+--+-- @FilterBBox@ and @BiasPosition@ are mutually exclusive. Specifying both+-- options results in an error.+searchPlaceIndexForText_filterBBox :: Lens.Lens' SearchPlaceIndexForText (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForText_filterBBox = Lens.lens (\SearchPlaceIndexForText' {filterBBox} -> filterBBox) (\s@SearchPlaceIndexForText' {} a -> s {filterBBox = a} :: SearchPlaceIndexForText) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | An optional parameter that limits the search results by returning only+-- places that are in a specified list of countries.+--+-- - Valid values include+-- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+-- country codes. For example, Australia uses three upper-case+-- characters: @AUS@.+searchPlaceIndexForText_filterCountries :: Lens.Lens' SearchPlaceIndexForText (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+searchPlaceIndexForText_filterCountries = Lens.lens (\SearchPlaceIndexForText' {filterCountries} -> filterCountries) (\s@SearchPlaceIndexForText' {} a -> s {filterCountries = a} :: SearchPlaceIndexForText) Prelude.. Lens.mapping Lens.coerced++-- | The preferred language used to return results. The value must be a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- This setting affects the languages used in the results, but not the+-- results themselves. If no language is specified, or not supported for a+-- particular result, the partner automatically chooses a language for the+-- result.+--+-- For an example, we\'ll use the Greek language. You search for+-- @Athens, Greece@, with the @language@ parameter set to @en@. The result+-- found will most likely be returned as @Athens@.+--+-- If you set the @language@ parameter to @el@, for Greek, then the result+-- found will more likely be returned as @Αθήνα@.+--+-- If the data provider does not have a value for Greek, the result will be+-- in a language that the provider does support.+searchPlaceIndexForText_language :: Lens.Lens' SearchPlaceIndexForText (Prelude.Maybe Prelude.Text)+searchPlaceIndexForText_language = Lens.lens (\SearchPlaceIndexForText' {language} -> language) (\s@SearchPlaceIndexForText' {} a -> s {language = a} :: SearchPlaceIndexForText)++-- | An optional parameter. The maximum number of results returned per+-- request.+--+-- The default: @50@+searchPlaceIndexForText_maxResults :: Lens.Lens' SearchPlaceIndexForText (Prelude.Maybe Prelude.Natural)+searchPlaceIndexForText_maxResults = Lens.lens (\SearchPlaceIndexForText' {maxResults} -> maxResults) (\s@SearchPlaceIndexForText' {} a -> s {maxResults = a} :: SearchPlaceIndexForText)++-- | The name of the place index resource you want to use for the search.+searchPlaceIndexForText_indexName :: Lens.Lens' SearchPlaceIndexForText Prelude.Text+searchPlaceIndexForText_indexName = Lens.lens (\SearchPlaceIndexForText' {indexName} -> indexName) (\s@SearchPlaceIndexForText' {} a -> s {indexName = a} :: SearchPlaceIndexForText)++-- | The address, name, city, or region to be used in the search in free-form+-- text format. For example, @123 Any Street@.+searchPlaceIndexForText_text :: Lens.Lens' SearchPlaceIndexForText Prelude.Text+searchPlaceIndexForText_text = Lens.lens (\SearchPlaceIndexForText' {text} -> text) (\s@SearchPlaceIndexForText' {} a -> s {text = a} :: SearchPlaceIndexForText) Prelude.. Data._Sensitive++instance Core.AWSRequest SearchPlaceIndexForText where+ type+ AWSResponse SearchPlaceIndexForText =+ SearchPlaceIndexForTextResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SearchPlaceIndexForTextResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "Results" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..:> "Summary")+ )++instance Prelude.Hashable SearchPlaceIndexForText where+ hashWithSalt _salt SearchPlaceIndexForText' {..} =+ _salt+ `Prelude.hashWithSalt` biasPosition+ `Prelude.hashWithSalt` filterBBox+ `Prelude.hashWithSalt` filterCountries+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` indexName+ `Prelude.hashWithSalt` text++instance Prelude.NFData SearchPlaceIndexForText where+ rnf SearchPlaceIndexForText' {..} =+ Prelude.rnf biasPosition+ `Prelude.seq` Prelude.rnf filterBBox+ `Prelude.seq` Prelude.rnf filterCountries+ `Prelude.seq` Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf text++instance Data.ToHeaders SearchPlaceIndexForText where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SearchPlaceIndexForText where+ toJSON SearchPlaceIndexForText' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BiasPosition" Data..=) Prelude.<$> biasPosition,+ ("FilterBBox" Data..=) Prelude.<$> filterBBox,+ ("FilterCountries" Data..=)+ Prelude.<$> filterCountries,+ ("Language" Data..=) Prelude.<$> language,+ ("MaxResults" Data..=) Prelude.<$> maxResults,+ Prelude.Just ("Text" Data..= text)+ ]+ )++instance Data.ToPath SearchPlaceIndexForText where+ toPath SearchPlaceIndexForText' {..} =+ Prelude.mconcat+ [ "/places/v0/indexes/",+ Data.toBS indexName,+ "/search/text"+ ]++instance Data.ToQuery SearchPlaceIndexForText where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchPlaceIndexForTextResponse' smart constructor.+data SearchPlaceIndexForTextResponse = SearchPlaceIndexForTextResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | A list of Places matching the input text. Each result contains+ -- additional information about the specific point of interest.+ --+ -- Not all response properties are included with all responses. Some+ -- properties may only be returned by specific data partners.+ results :: [SearchForTextResult],+ -- | Contains a summary of the request. Echoes the input values for+ -- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+ -- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+ -- index and the bounding box, @ResultBBox@, which surrounds the search+ -- results.+ summary :: SearchPlaceIndexForTextSummary+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForTextResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'searchPlaceIndexForTextResponse_httpStatus' - The response's http status code.+--+-- 'results', 'searchPlaceIndexForTextResponse_results' - A list of Places matching the input text. Each result contains+-- additional information about the specific point of interest.+--+-- Not all response properties are included with all responses. Some+-- properties may only be returned by specific data partners.+--+-- 'summary', 'searchPlaceIndexForTextResponse_summary' - Contains a summary of the request. Echoes the input values for+-- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+-- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+-- index and the bounding box, @ResultBBox@, which surrounds the search+-- results.+newSearchPlaceIndexForTextResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'summary'+ SearchPlaceIndexForTextSummary ->+ SearchPlaceIndexForTextResponse+newSearchPlaceIndexForTextResponse+ pHttpStatus_+ pSummary_ =+ SearchPlaceIndexForTextResponse'+ { httpStatus =+ pHttpStatus_,+ results = Prelude.mempty,+ summary = pSummary_+ }++-- | The response's http status code.+searchPlaceIndexForTextResponse_httpStatus :: Lens.Lens' SearchPlaceIndexForTextResponse Prelude.Int+searchPlaceIndexForTextResponse_httpStatus = Lens.lens (\SearchPlaceIndexForTextResponse' {httpStatus} -> httpStatus) (\s@SearchPlaceIndexForTextResponse' {} a -> s {httpStatus = a} :: SearchPlaceIndexForTextResponse)++-- | A list of Places matching the input text. Each result contains+-- additional information about the specific point of interest.+--+-- Not all response properties are included with all responses. Some+-- properties may only be returned by specific data partners.+searchPlaceIndexForTextResponse_results :: Lens.Lens' SearchPlaceIndexForTextResponse [SearchForTextResult]+searchPlaceIndexForTextResponse_results = Lens.lens (\SearchPlaceIndexForTextResponse' {results} -> results) (\s@SearchPlaceIndexForTextResponse' {} a -> s {results = a} :: SearchPlaceIndexForTextResponse) Prelude.. Lens.coerced++-- | Contains a summary of the request. Echoes the input values for+-- @BiasPosition@, @FilterBBox@, @FilterCountries@, @Language@,+-- @MaxResults@, and @Text@. Also includes the @DataSource@ of the place+-- index and the bounding box, @ResultBBox@, which surrounds the search+-- results.+searchPlaceIndexForTextResponse_summary :: Lens.Lens' SearchPlaceIndexForTextResponse SearchPlaceIndexForTextSummary+searchPlaceIndexForTextResponse_summary = Lens.lens (\SearchPlaceIndexForTextResponse' {summary} -> summary) (\s@SearchPlaceIndexForTextResponse' {} a -> s {summary = a} :: SearchPlaceIndexForTextResponse)++instance+ Prelude.NFData+ SearchPlaceIndexForTextResponse+ where+ rnf SearchPlaceIndexForTextResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf results+ `Prelude.seq` Prelude.rnf summary
+ gen/Amazonka/Location/TagResource.hs view
@@ -0,0 +1,235 @@+{-# 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.Location.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)+--+-- Assigns one or more tags (key-value pairs) to the specified Amazon+-- Location Service resource.+--+-- > <p>Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.</p> <p>You can use the <code>TagResource</code> operation with an Amazon Location Service resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the tags already associated with the resource. If you specify a tag key that's already associated with the resource, the new tag value that you specify replaces the previous value for that tag. </p> <p>You can associate up to 50 tags with a resource.</p>+module Amazonka.Location.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.Location.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 resource whose tags you want to+ -- update.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+ resourceArn :: Prelude.Text,+ -- | Applies one or more tags to specific resource. A tag is a key-value pair+ -- that helps you manage, identify, search, and filter your resources.+ --+ -- Format: @\"key\" : \"value\"@+ --+ -- Restrictions:+ --+ -- - Maximum 50 tags per resource.+ --+ -- - Each tag key must be unique and must have exactly one associated+ -- value.+ --+ -- - Maximum key length: 128 Unicode characters in UTF-8.+ --+ -- - Maximum value length: 256 Unicode characters in UTF-8.+ --+ -- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+ -- characters: + - = . _ : \/ \@+ --+ -- - Cannot use \"aws:\" as a prefix for a key.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource whose tags you want to+-- update.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+--+-- 'tags', 'tagResource_tags' - Applies one or more tags to specific resource. A tag is a key-value pair+-- that helps you manage, identify, search, and filter your resources.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource.+--+-- - Each tag key must be unique and must have exactly one associated+-- value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8.+--+-- - Maximum value length: 256 Unicode characters in UTF-8.+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@+--+-- - Cannot use \"aws:\" as a prefix for a key.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource whose tags you want to+-- update.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Applies one or more tags to specific resource. A tag is a key-value pair+-- that helps you manage, identify, search, and filter your resources.+--+-- Format: @\"key\" : \"value\"@+--+-- Restrictions:+--+-- - Maximum 50 tags per resource.+--+-- - Each tag key must be unique and must have exactly one associated+-- value.+--+-- - Maximum key length: 128 Unicode characters in UTF-8.+--+-- - Maximum value length: 256 Unicode characters in UTF-8.+--+-- - Can use alphanumeric characters (A–Z, a–z, 0–9), and the following+-- characters: + - = . _ : \/ \@+--+-- - Cannot use \"aws:\" as a prefix for a key.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Location/Types.hs view
@@ -0,0 +1,577 @@+{-# 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.Location.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.Location.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * BatchItemErrorCode+ BatchItemErrorCode (..),++ -- * DimensionUnit+ DimensionUnit (..),++ -- * DistanceUnit+ DistanceUnit (..),++ -- * IntendedUse+ IntendedUse (..),++ -- * PositionFiltering+ PositionFiltering (..),++ -- * PricingPlan+ PricingPlan (..),++ -- * RouteMatrixErrorCode+ RouteMatrixErrorCode (..),++ -- * TravelMode+ TravelMode (..),++ -- * VehicleWeightUnit+ VehicleWeightUnit (..),++ -- * BatchDeleteDevicePositionHistoryError+ BatchDeleteDevicePositionHistoryError (..),+ newBatchDeleteDevicePositionHistoryError,+ batchDeleteDevicePositionHistoryError_deviceId,+ batchDeleteDevicePositionHistoryError_error,++ -- * BatchDeleteGeofenceError+ BatchDeleteGeofenceError (..),+ newBatchDeleteGeofenceError,+ batchDeleteGeofenceError_error,+ batchDeleteGeofenceError_geofenceId,++ -- * BatchEvaluateGeofencesError+ BatchEvaluateGeofencesError (..),+ newBatchEvaluateGeofencesError,+ batchEvaluateGeofencesError_deviceId,+ batchEvaluateGeofencesError_error,+ batchEvaluateGeofencesError_sampleTime,++ -- * BatchGetDevicePositionError+ BatchGetDevicePositionError (..),+ newBatchGetDevicePositionError,+ batchGetDevicePositionError_deviceId,+ batchGetDevicePositionError_error,++ -- * BatchItemError+ BatchItemError (..),+ newBatchItemError,+ batchItemError_code,+ batchItemError_message,++ -- * BatchPutGeofenceError+ BatchPutGeofenceError (..),+ newBatchPutGeofenceError,+ batchPutGeofenceError_error,+ batchPutGeofenceError_geofenceId,++ -- * BatchPutGeofenceRequestEntry+ BatchPutGeofenceRequestEntry (..),+ newBatchPutGeofenceRequestEntry,+ batchPutGeofenceRequestEntry_geofenceId,+ batchPutGeofenceRequestEntry_geometry,++ -- * BatchPutGeofenceSuccess+ BatchPutGeofenceSuccess (..),+ newBatchPutGeofenceSuccess,+ batchPutGeofenceSuccess_createTime,+ batchPutGeofenceSuccess_geofenceId,+ batchPutGeofenceSuccess_updateTime,++ -- * BatchUpdateDevicePositionError+ BatchUpdateDevicePositionError (..),+ newBatchUpdateDevicePositionError,+ batchUpdateDevicePositionError_deviceId,+ batchUpdateDevicePositionError_error,+ batchUpdateDevicePositionError_sampleTime,++ -- * CalculateRouteCarModeOptions+ CalculateRouteCarModeOptions (..),+ newCalculateRouteCarModeOptions,+ calculateRouteCarModeOptions_avoidFerries,+ calculateRouteCarModeOptions_avoidTolls,++ -- * CalculateRouteMatrixSummary+ CalculateRouteMatrixSummary (..),+ newCalculateRouteMatrixSummary,+ calculateRouteMatrixSummary_dataSource,+ calculateRouteMatrixSummary_distanceUnit,+ calculateRouteMatrixSummary_errorCount,+ calculateRouteMatrixSummary_routeCount,++ -- * CalculateRouteSummary+ CalculateRouteSummary (..),+ newCalculateRouteSummary,+ calculateRouteSummary_dataSource,+ calculateRouteSummary_distance,+ calculateRouteSummary_distanceUnit,+ calculateRouteSummary_durationSeconds,+ calculateRouteSummary_routeBBox,++ -- * CalculateRouteTruckModeOptions+ CalculateRouteTruckModeOptions (..),+ newCalculateRouteTruckModeOptions,+ calculateRouteTruckModeOptions_avoidFerries,+ calculateRouteTruckModeOptions_avoidTolls,+ calculateRouteTruckModeOptions_dimensions,+ calculateRouteTruckModeOptions_weight,++ -- * Circle+ Circle (..),+ newCircle,+ circle_center,+ circle_radius,++ -- * DataSourceConfiguration+ DataSourceConfiguration (..),+ newDataSourceConfiguration,+ dataSourceConfiguration_intendedUse,++ -- * DevicePosition+ DevicePosition (..),+ newDevicePosition,+ devicePosition_accuracy,+ devicePosition_deviceId,+ devicePosition_positionProperties,+ devicePosition_position,+ devicePosition_receivedTime,+ devicePosition_sampleTime,++ -- * DevicePositionUpdate+ DevicePositionUpdate (..),+ newDevicePositionUpdate,+ devicePositionUpdate_accuracy,+ devicePositionUpdate_positionProperties,+ devicePositionUpdate_deviceId,+ devicePositionUpdate_position,+ devicePositionUpdate_sampleTime,++ -- * GeofenceGeometry+ GeofenceGeometry (..),+ newGeofenceGeometry,+ geofenceGeometry_circle,+ geofenceGeometry_polygon,++ -- * Leg+ Leg (..),+ newLeg,+ leg_geometry,+ leg_distance,+ leg_durationSeconds,+ leg_endPosition,+ leg_startPosition,+ leg_steps,++ -- * LegGeometry+ LegGeometry (..),+ newLegGeometry,+ legGeometry_lineString,++ -- * ListDevicePositionsResponseEntry+ ListDevicePositionsResponseEntry (..),+ newListDevicePositionsResponseEntry,+ listDevicePositionsResponseEntry_accuracy,+ listDevicePositionsResponseEntry_positionProperties,+ listDevicePositionsResponseEntry_deviceId,+ listDevicePositionsResponseEntry_position,+ listDevicePositionsResponseEntry_sampleTime,++ -- * ListGeofenceCollectionsResponseEntry+ ListGeofenceCollectionsResponseEntry (..),+ newListGeofenceCollectionsResponseEntry,+ listGeofenceCollectionsResponseEntry_pricingPlan,+ listGeofenceCollectionsResponseEntry_pricingPlanDataSource,+ listGeofenceCollectionsResponseEntry_collectionName,+ listGeofenceCollectionsResponseEntry_createTime,+ listGeofenceCollectionsResponseEntry_description,+ listGeofenceCollectionsResponseEntry_updateTime,++ -- * ListGeofenceResponseEntry+ ListGeofenceResponseEntry (..),+ newListGeofenceResponseEntry,+ listGeofenceResponseEntry_createTime,+ listGeofenceResponseEntry_geofenceId,+ listGeofenceResponseEntry_geometry,+ listGeofenceResponseEntry_status,+ listGeofenceResponseEntry_updateTime,++ -- * ListMapsResponseEntry+ ListMapsResponseEntry (..),+ newListMapsResponseEntry,+ listMapsResponseEntry_pricingPlan,+ listMapsResponseEntry_createTime,+ listMapsResponseEntry_dataSource,+ listMapsResponseEntry_description,+ listMapsResponseEntry_mapName,+ listMapsResponseEntry_updateTime,++ -- * ListPlaceIndexesResponseEntry+ ListPlaceIndexesResponseEntry (..),+ newListPlaceIndexesResponseEntry,+ listPlaceIndexesResponseEntry_pricingPlan,+ listPlaceIndexesResponseEntry_createTime,+ listPlaceIndexesResponseEntry_dataSource,+ listPlaceIndexesResponseEntry_description,+ listPlaceIndexesResponseEntry_indexName,+ listPlaceIndexesResponseEntry_updateTime,++ -- * ListRouteCalculatorsResponseEntry+ ListRouteCalculatorsResponseEntry (..),+ newListRouteCalculatorsResponseEntry,+ listRouteCalculatorsResponseEntry_pricingPlan,+ listRouteCalculatorsResponseEntry_calculatorName,+ listRouteCalculatorsResponseEntry_createTime,+ listRouteCalculatorsResponseEntry_dataSource,+ listRouteCalculatorsResponseEntry_description,+ listRouteCalculatorsResponseEntry_updateTime,++ -- * ListTrackersResponseEntry+ ListTrackersResponseEntry (..),+ newListTrackersResponseEntry,+ listTrackersResponseEntry_pricingPlan,+ listTrackersResponseEntry_pricingPlanDataSource,+ listTrackersResponseEntry_createTime,+ listTrackersResponseEntry_description,+ listTrackersResponseEntry_trackerName,+ listTrackersResponseEntry_updateTime,++ -- * MapConfiguration+ MapConfiguration (..),+ newMapConfiguration,+ mapConfiguration_style,++ -- * Place+ Place (..),+ newPlace,+ place_addressNumber,+ place_country,+ place_interpolated,+ place_label,+ place_municipality,+ place_neighborhood,+ place_postalCode,+ place_region,+ place_street,+ place_subRegion,+ place_timeZone,+ place_unitNumber,+ place_unitType,+ place_geometry,++ -- * PlaceGeometry+ PlaceGeometry (..),+ newPlaceGeometry,+ placeGeometry_point,++ -- * PositionalAccuracy+ PositionalAccuracy (..),+ newPositionalAccuracy,+ positionalAccuracy_horizontal,++ -- * RouteMatrixEntry+ RouteMatrixEntry (..),+ newRouteMatrixEntry,+ routeMatrixEntry_distance,+ routeMatrixEntry_durationSeconds,+ routeMatrixEntry_error,++ -- * RouteMatrixEntryError+ RouteMatrixEntryError (..),+ newRouteMatrixEntryError,+ routeMatrixEntryError_message,+ routeMatrixEntryError_code,++ -- * SearchForPositionResult+ SearchForPositionResult (..),+ newSearchForPositionResult,+ searchForPositionResult_placeId,+ searchForPositionResult_distance,+ searchForPositionResult_place,++ -- * SearchForSuggestionsResult+ SearchForSuggestionsResult (..),+ newSearchForSuggestionsResult,+ searchForSuggestionsResult_placeId,+ searchForSuggestionsResult_text,++ -- * SearchForTextResult+ SearchForTextResult (..),+ newSearchForTextResult,+ searchForTextResult_distance,+ searchForTextResult_placeId,+ searchForTextResult_relevance,+ searchForTextResult_place,++ -- * SearchPlaceIndexForPositionSummary+ SearchPlaceIndexForPositionSummary (..),+ newSearchPlaceIndexForPositionSummary,+ searchPlaceIndexForPositionSummary_language,+ searchPlaceIndexForPositionSummary_maxResults,+ searchPlaceIndexForPositionSummary_dataSource,+ searchPlaceIndexForPositionSummary_position,++ -- * SearchPlaceIndexForSuggestionsSummary+ SearchPlaceIndexForSuggestionsSummary (..),+ newSearchPlaceIndexForSuggestionsSummary,+ searchPlaceIndexForSuggestionsSummary_biasPosition,+ searchPlaceIndexForSuggestionsSummary_filterBBox,+ searchPlaceIndexForSuggestionsSummary_filterCountries,+ searchPlaceIndexForSuggestionsSummary_language,+ searchPlaceIndexForSuggestionsSummary_maxResults,+ searchPlaceIndexForSuggestionsSummary_dataSource,+ searchPlaceIndexForSuggestionsSummary_text,++ -- * SearchPlaceIndexForTextSummary+ SearchPlaceIndexForTextSummary (..),+ newSearchPlaceIndexForTextSummary,+ searchPlaceIndexForTextSummary_biasPosition,+ searchPlaceIndexForTextSummary_filterBBox,+ searchPlaceIndexForTextSummary_filterCountries,+ searchPlaceIndexForTextSummary_language,+ searchPlaceIndexForTextSummary_maxResults,+ searchPlaceIndexForTextSummary_resultBBox,+ searchPlaceIndexForTextSummary_dataSource,+ searchPlaceIndexForTextSummary_text,++ -- * Step+ Step (..),+ newStep,+ step_geometryOffset,+ step_distance,+ step_durationSeconds,+ step_endPosition,+ step_startPosition,++ -- * TimeZone+ TimeZone (..),+ newTimeZone,+ timeZone_offset,+ timeZone_name,++ -- * TruckDimensions+ TruckDimensions (..),+ newTruckDimensions,+ truckDimensions_height,+ truckDimensions_length,+ truckDimensions_unit,+ truckDimensions_width,++ -- * TruckWeight+ TruckWeight (..),+ newTruckWeight,+ truckWeight_total,+ truckWeight_unit,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Location.Types.BatchDeleteDevicePositionHistoryError+import Amazonka.Location.Types.BatchDeleteGeofenceError+import Amazonka.Location.Types.BatchEvaluateGeofencesError+import Amazonka.Location.Types.BatchGetDevicePositionError+import Amazonka.Location.Types.BatchItemError+import Amazonka.Location.Types.BatchItemErrorCode+import Amazonka.Location.Types.BatchPutGeofenceError+import Amazonka.Location.Types.BatchPutGeofenceRequestEntry+import Amazonka.Location.Types.BatchPutGeofenceSuccess+import Amazonka.Location.Types.BatchUpdateDevicePositionError+import Amazonka.Location.Types.CalculateRouteCarModeOptions+import Amazonka.Location.Types.CalculateRouteMatrixSummary+import Amazonka.Location.Types.CalculateRouteSummary+import Amazonka.Location.Types.CalculateRouteTruckModeOptions+import Amazonka.Location.Types.Circle+import Amazonka.Location.Types.DataSourceConfiguration+import Amazonka.Location.Types.DevicePosition+import Amazonka.Location.Types.DevicePositionUpdate+import Amazonka.Location.Types.DimensionUnit+import Amazonka.Location.Types.DistanceUnit+import Amazonka.Location.Types.GeofenceGeometry+import Amazonka.Location.Types.IntendedUse+import Amazonka.Location.Types.Leg+import Amazonka.Location.Types.LegGeometry+import Amazonka.Location.Types.ListDevicePositionsResponseEntry+import Amazonka.Location.Types.ListGeofenceCollectionsResponseEntry+import Amazonka.Location.Types.ListGeofenceResponseEntry+import Amazonka.Location.Types.ListMapsResponseEntry+import Amazonka.Location.Types.ListPlaceIndexesResponseEntry+import Amazonka.Location.Types.ListRouteCalculatorsResponseEntry+import Amazonka.Location.Types.ListTrackersResponseEntry+import Amazonka.Location.Types.MapConfiguration+import Amazonka.Location.Types.Place+import Amazonka.Location.Types.PlaceGeometry+import Amazonka.Location.Types.PositionFiltering+import Amazonka.Location.Types.PositionalAccuracy+import Amazonka.Location.Types.PricingPlan+import Amazonka.Location.Types.RouteMatrixEntry+import Amazonka.Location.Types.RouteMatrixEntryError+import Amazonka.Location.Types.RouteMatrixErrorCode+import Amazonka.Location.Types.SearchForPositionResult+import Amazonka.Location.Types.SearchForSuggestionsResult+import Amazonka.Location.Types.SearchForTextResult+import Amazonka.Location.Types.SearchPlaceIndexForPositionSummary+import Amazonka.Location.Types.SearchPlaceIndexForSuggestionsSummary+import Amazonka.Location.Types.SearchPlaceIndexForTextSummary+import Amazonka.Location.Types.Step+import Amazonka.Location.Types.TimeZone+import Amazonka.Location.Types.TravelMode+import Amazonka.Location.Types.TruckDimensions+import Amazonka.Location.Types.TruckWeight+import Amazonka.Location.Types.VehicleWeightUnit+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-11-19@ of the Amazon Location Service SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "Location",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "geo",+ Core.signingName = "geo",+ Core.version = "2020-11-19",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "Location",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | The request was denied because of insufficient access or permissions.+-- Check with an administrator to verify your permissions.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | The request was unsuccessful because of a conflict.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | The request has failed to process because of an unknown server error,+-- exception, or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The resource that you\'ve entered was not found in your AWS account.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | The operation was denied because the request would exceed the maximum+-- <https://docs.aws.amazon.com/location/latest/developerguide/location-quotas.html quota>+-- set for Amazon Location Service.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The request was denied because of request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | The input failed to meet the constraints specified by the AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/Location/Types/BatchDeleteDevicePositionHistoryError.hs view
@@ -0,0 +1,102 @@+{-# 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.Location.Types.BatchDeleteDevicePositionHistoryError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchDeleteDevicePositionHistoryError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains the tracker resource details.+--+-- /See:/ 'newBatchDeleteDevicePositionHistoryError' smart constructor.+data BatchDeleteDevicePositionHistoryError = BatchDeleteDevicePositionHistoryError'+ { -- | The ID of the device for this position.+ deviceId :: Prelude.Text,+ error :: BatchItemError+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDevicePositionHistoryError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'batchDeleteDevicePositionHistoryError_deviceId' - The ID of the device for this position.+--+-- 'error', 'batchDeleteDevicePositionHistoryError_error' - Undocumented member.+newBatchDeleteDevicePositionHistoryError ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'error'+ BatchItemError ->+ BatchDeleteDevicePositionHistoryError+newBatchDeleteDevicePositionHistoryError+ pDeviceId_+ pError_ =+ BatchDeleteDevicePositionHistoryError'+ { deviceId =+ pDeviceId_,+ error = pError_+ }++-- | The ID of the device for this position.+batchDeleteDevicePositionHistoryError_deviceId :: Lens.Lens' BatchDeleteDevicePositionHistoryError Prelude.Text+batchDeleteDevicePositionHistoryError_deviceId = Lens.lens (\BatchDeleteDevicePositionHistoryError' {deviceId} -> deviceId) (\s@BatchDeleteDevicePositionHistoryError' {} a -> s {deviceId = a} :: BatchDeleteDevicePositionHistoryError)++-- | Undocumented member.+batchDeleteDevicePositionHistoryError_error :: Lens.Lens' BatchDeleteDevicePositionHistoryError BatchItemError+batchDeleteDevicePositionHistoryError_error = Lens.lens (\BatchDeleteDevicePositionHistoryError' {error} -> error) (\s@BatchDeleteDevicePositionHistoryError' {} a -> s {error = a} :: BatchDeleteDevicePositionHistoryError)++instance+ Data.FromJSON+ BatchDeleteDevicePositionHistoryError+ where+ parseJSON =+ Data.withObject+ "BatchDeleteDevicePositionHistoryError"+ ( \x ->+ BatchDeleteDevicePositionHistoryError'+ Prelude.<$> (x Data..: "DeviceId")+ Prelude.<*> (x Data..: "Error")+ )++instance+ Prelude.Hashable+ BatchDeleteDevicePositionHistoryError+ where+ hashWithSalt+ _salt+ BatchDeleteDevicePositionHistoryError' {..} =+ _salt+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` error++instance+ Prelude.NFData+ BatchDeleteDevicePositionHistoryError+ where+ rnf BatchDeleteDevicePositionHistoryError' {..} =+ Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf error
+ gen/Amazonka/Location/Types/BatchDeleteGeofenceError.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchDeleteGeofenceError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchDeleteGeofenceError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for each geofence that failed to delete from the+-- geofence collection.+--+-- /See:/ 'newBatchDeleteGeofenceError' smart constructor.+data BatchDeleteGeofenceError = BatchDeleteGeofenceError'+ { -- | Contains details associated to the batch error.+ error :: BatchItemError,+ -- | The geofence associated with the error message.+ geofenceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteGeofenceError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'batchDeleteGeofenceError_error' - Contains details associated to the batch error.+--+-- 'geofenceId', 'batchDeleteGeofenceError_geofenceId' - The geofence associated with the error message.+newBatchDeleteGeofenceError ::+ -- | 'error'+ BatchItemError ->+ -- | 'geofenceId'+ Prelude.Text ->+ BatchDeleteGeofenceError+newBatchDeleteGeofenceError pError_ pGeofenceId_ =+ BatchDeleteGeofenceError'+ { error = pError_,+ geofenceId = pGeofenceId_+ }++-- | Contains details associated to the batch error.+batchDeleteGeofenceError_error :: Lens.Lens' BatchDeleteGeofenceError BatchItemError+batchDeleteGeofenceError_error = Lens.lens (\BatchDeleteGeofenceError' {error} -> error) (\s@BatchDeleteGeofenceError' {} a -> s {error = a} :: BatchDeleteGeofenceError)++-- | The geofence associated with the error message.+batchDeleteGeofenceError_geofenceId :: Lens.Lens' BatchDeleteGeofenceError Prelude.Text+batchDeleteGeofenceError_geofenceId = Lens.lens (\BatchDeleteGeofenceError' {geofenceId} -> geofenceId) (\s@BatchDeleteGeofenceError' {} a -> s {geofenceId = a} :: BatchDeleteGeofenceError)++instance Data.FromJSON BatchDeleteGeofenceError where+ parseJSON =+ Data.withObject+ "BatchDeleteGeofenceError"+ ( \x ->+ BatchDeleteGeofenceError'+ Prelude.<$> (x Data..: "Error")+ Prelude.<*> (x Data..: "GeofenceId")+ )++instance Prelude.Hashable BatchDeleteGeofenceError where+ hashWithSalt _salt BatchDeleteGeofenceError' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` geofenceId++instance Prelude.NFData BatchDeleteGeofenceError where+ rnf BatchDeleteGeofenceError' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf geofenceId
+ gen/Amazonka/Location/Types/BatchEvaluateGeofencesError.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchEvaluateGeofencesError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchEvaluateGeofencesError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for each device that failed to evaluate its+-- position against the geofences in a given geofence collection.+--+-- /See:/ 'newBatchEvaluateGeofencesError' smart constructor.+data BatchEvaluateGeofencesError = BatchEvaluateGeofencesError'+ { -- | The device associated with the position evaluation error.+ deviceId :: Prelude.Text,+ -- | Contains details associated to the batch error.+ error :: BatchItemError,+ -- | Specifies a timestamp for when the error occurred in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchEvaluateGeofencesError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'batchEvaluateGeofencesError_deviceId' - The device associated with the position evaluation error.+--+-- 'error', 'batchEvaluateGeofencesError_error' - Contains details associated to the batch error.+--+-- 'sampleTime', 'batchEvaluateGeofencesError_sampleTime' - Specifies a timestamp for when the error occurred in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newBatchEvaluateGeofencesError ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'error'+ BatchItemError ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ BatchEvaluateGeofencesError+newBatchEvaluateGeofencesError+ pDeviceId_+ pError_+ pSampleTime_ =+ BatchEvaluateGeofencesError'+ { deviceId = pDeviceId_,+ error = pError_,+ sampleTime = Data._Time Lens.# pSampleTime_+ }++-- | The device associated with the position evaluation error.+batchEvaluateGeofencesError_deviceId :: Lens.Lens' BatchEvaluateGeofencesError Prelude.Text+batchEvaluateGeofencesError_deviceId = Lens.lens (\BatchEvaluateGeofencesError' {deviceId} -> deviceId) (\s@BatchEvaluateGeofencesError' {} a -> s {deviceId = a} :: BatchEvaluateGeofencesError)++-- | Contains details associated to the batch error.+batchEvaluateGeofencesError_error :: Lens.Lens' BatchEvaluateGeofencesError BatchItemError+batchEvaluateGeofencesError_error = Lens.lens (\BatchEvaluateGeofencesError' {error} -> error) (\s@BatchEvaluateGeofencesError' {} a -> s {error = a} :: BatchEvaluateGeofencesError)++-- | Specifies a timestamp for when the error occurred in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+batchEvaluateGeofencesError_sampleTime :: Lens.Lens' BatchEvaluateGeofencesError Prelude.UTCTime+batchEvaluateGeofencesError_sampleTime = Lens.lens (\BatchEvaluateGeofencesError' {sampleTime} -> sampleTime) (\s@BatchEvaluateGeofencesError' {} a -> s {sampleTime = a} :: BatchEvaluateGeofencesError) Prelude.. Data._Time++instance Data.FromJSON BatchEvaluateGeofencesError where+ parseJSON =+ Data.withObject+ "BatchEvaluateGeofencesError"+ ( \x ->+ BatchEvaluateGeofencesError'+ Prelude.<$> (x Data..: "DeviceId")+ Prelude.<*> (x Data..: "Error")+ Prelude.<*> (x Data..: "SampleTime")+ )++instance Prelude.Hashable BatchEvaluateGeofencesError where+ hashWithSalt _salt BatchEvaluateGeofencesError' {..} =+ _salt+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` sampleTime++instance Prelude.NFData BatchEvaluateGeofencesError where+ rnf BatchEvaluateGeofencesError' {..} =+ Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf error+ `Prelude.seq` Prelude.rnf sampleTime
+ gen/Amazonka/Location/Types/BatchGetDevicePositionError.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchGetDevicePositionError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchGetDevicePositionError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for each device that didn\'t return a position.+--+-- /See:/ 'newBatchGetDevicePositionError' smart constructor.+data BatchGetDevicePositionError = BatchGetDevicePositionError'+ { -- | The ID of the device that didn\'t return a position.+ deviceId :: Prelude.Text,+ -- | Contains details related to the error code.+ error :: BatchItemError+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetDevicePositionError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'batchGetDevicePositionError_deviceId' - The ID of the device that didn\'t return a position.+--+-- 'error', 'batchGetDevicePositionError_error' - Contains details related to the error code.+newBatchGetDevicePositionError ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'error'+ BatchItemError ->+ BatchGetDevicePositionError+newBatchGetDevicePositionError pDeviceId_ pError_ =+ BatchGetDevicePositionError'+ { deviceId = pDeviceId_,+ error = pError_+ }++-- | The ID of the device that didn\'t return a position.+batchGetDevicePositionError_deviceId :: Lens.Lens' BatchGetDevicePositionError Prelude.Text+batchGetDevicePositionError_deviceId = Lens.lens (\BatchGetDevicePositionError' {deviceId} -> deviceId) (\s@BatchGetDevicePositionError' {} a -> s {deviceId = a} :: BatchGetDevicePositionError)++-- | Contains details related to the error code.+batchGetDevicePositionError_error :: Lens.Lens' BatchGetDevicePositionError BatchItemError+batchGetDevicePositionError_error = Lens.lens (\BatchGetDevicePositionError' {error} -> error) (\s@BatchGetDevicePositionError' {} a -> s {error = a} :: BatchGetDevicePositionError)++instance Data.FromJSON BatchGetDevicePositionError where+ parseJSON =+ Data.withObject+ "BatchGetDevicePositionError"+ ( \x ->+ BatchGetDevicePositionError'+ Prelude.<$> (x Data..: "DeviceId")+ Prelude.<*> (x Data..: "Error")+ )++instance Prelude.Hashable BatchGetDevicePositionError where+ hashWithSalt _salt BatchGetDevicePositionError' {..} =+ _salt+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` error++instance Prelude.NFData BatchGetDevicePositionError where+ rnf BatchGetDevicePositionError' {..} =+ Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf error
+ gen/Amazonka/Location/Types/BatchItemError.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.Location.Types.BatchItemError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchItemError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Contains the batch request error details associated with the request.+--+-- /See:/ 'newBatchItemError' smart constructor.+data BatchItemError = BatchItemError'+ { -- | The error code associated with the batch request error.+ code :: Prelude.Maybe BatchItemErrorCode,+ -- | A message with the reason for the batch request error.+ message :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchItemError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'batchItemError_code' - The error code associated with the batch request error.+--+-- 'message', 'batchItemError_message' - A message with the reason for the batch request error.+newBatchItemError ::+ BatchItemError+newBatchItemError =+ BatchItemError'+ { code = Prelude.Nothing,+ message = Prelude.Nothing+ }++-- | The error code associated with the batch request error.+batchItemError_code :: Lens.Lens' BatchItemError (Prelude.Maybe BatchItemErrorCode)+batchItemError_code = Lens.lens (\BatchItemError' {code} -> code) (\s@BatchItemError' {} a -> s {code = a} :: BatchItemError)++-- | A message with the reason for the batch request error.+batchItemError_message :: Lens.Lens' BatchItemError (Prelude.Maybe Prelude.Text)+batchItemError_message = Lens.lens (\BatchItemError' {message} -> message) (\s@BatchItemError' {} a -> s {message = a} :: BatchItemError)++instance Data.FromJSON BatchItemError where+ parseJSON =+ Data.withObject+ "BatchItemError"+ ( \x ->+ BatchItemError'+ Prelude.<$> (x Data..:? "Code")+ Prelude.<*> (x Data..:? "Message")+ )++instance Prelude.Hashable BatchItemError where+ hashWithSalt _salt BatchItemError' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message++instance Prelude.NFData BatchItemError where+ rnf BatchItemError' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/Location/Types/BatchItemErrorCode.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchItemErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchItemErrorCode+ ( BatchItemErrorCode+ ( ..,+ BatchItemErrorCode_AccessDeniedError,+ BatchItemErrorCode_ConflictError,+ BatchItemErrorCode_InternalServerError,+ BatchItemErrorCode_ResourceNotFoundError,+ BatchItemErrorCode_ThrottlingError,+ BatchItemErrorCode_ValidationError+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype BatchItemErrorCode = BatchItemErrorCode'+ { fromBatchItemErrorCode ::+ 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 BatchItemErrorCode_AccessDeniedError :: BatchItemErrorCode+pattern BatchItemErrorCode_AccessDeniedError = BatchItemErrorCode' "AccessDeniedError"++pattern BatchItemErrorCode_ConflictError :: BatchItemErrorCode+pattern BatchItemErrorCode_ConflictError = BatchItemErrorCode' "ConflictError"++pattern BatchItemErrorCode_InternalServerError :: BatchItemErrorCode+pattern BatchItemErrorCode_InternalServerError = BatchItemErrorCode' "InternalServerError"++pattern BatchItemErrorCode_ResourceNotFoundError :: BatchItemErrorCode+pattern BatchItemErrorCode_ResourceNotFoundError = BatchItemErrorCode' "ResourceNotFoundError"++pattern BatchItemErrorCode_ThrottlingError :: BatchItemErrorCode+pattern BatchItemErrorCode_ThrottlingError = BatchItemErrorCode' "ThrottlingError"++pattern BatchItemErrorCode_ValidationError :: BatchItemErrorCode+pattern BatchItemErrorCode_ValidationError = BatchItemErrorCode' "ValidationError"++{-# COMPLETE+ BatchItemErrorCode_AccessDeniedError,+ BatchItemErrorCode_ConflictError,+ BatchItemErrorCode_InternalServerError,+ BatchItemErrorCode_ResourceNotFoundError,+ BatchItemErrorCode_ThrottlingError,+ BatchItemErrorCode_ValidationError,+ BatchItemErrorCode'+ #-}
+ gen/Amazonka/Location/Types/BatchPutGeofenceError.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchPutGeofenceError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchPutGeofenceError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for each geofence that failed to be stored in a+-- given geofence collection.+--+-- /See:/ 'newBatchPutGeofenceError' smart constructor.+data BatchPutGeofenceError = BatchPutGeofenceError'+ { -- | Contains details associated to the batch error.+ error :: BatchItemError,+ -- | The geofence associated with the error message.+ geofenceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutGeofenceError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'error', 'batchPutGeofenceError_error' - Contains details associated to the batch error.+--+-- 'geofenceId', 'batchPutGeofenceError_geofenceId' - The geofence associated with the error message.+newBatchPutGeofenceError ::+ -- | 'error'+ BatchItemError ->+ -- | 'geofenceId'+ Prelude.Text ->+ BatchPutGeofenceError+newBatchPutGeofenceError pError_ pGeofenceId_ =+ BatchPutGeofenceError'+ { error = pError_,+ geofenceId = pGeofenceId_+ }++-- | Contains details associated to the batch error.+batchPutGeofenceError_error :: Lens.Lens' BatchPutGeofenceError BatchItemError+batchPutGeofenceError_error = Lens.lens (\BatchPutGeofenceError' {error} -> error) (\s@BatchPutGeofenceError' {} a -> s {error = a} :: BatchPutGeofenceError)++-- | The geofence associated with the error message.+batchPutGeofenceError_geofenceId :: Lens.Lens' BatchPutGeofenceError Prelude.Text+batchPutGeofenceError_geofenceId = Lens.lens (\BatchPutGeofenceError' {geofenceId} -> geofenceId) (\s@BatchPutGeofenceError' {} a -> s {geofenceId = a} :: BatchPutGeofenceError)++instance Data.FromJSON BatchPutGeofenceError where+ parseJSON =+ Data.withObject+ "BatchPutGeofenceError"+ ( \x ->+ BatchPutGeofenceError'+ Prelude.<$> (x Data..: "Error")+ Prelude.<*> (x Data..: "GeofenceId")+ )++instance Prelude.Hashable BatchPutGeofenceError where+ hashWithSalt _salt BatchPutGeofenceError' {..} =+ _salt+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` geofenceId++instance Prelude.NFData BatchPutGeofenceError where+ rnf BatchPutGeofenceError' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf geofenceId
+ gen/Amazonka/Location/Types/BatchPutGeofenceRequestEntry.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchPutGeofenceRequestEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchPutGeofenceRequestEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.GeofenceGeometry+import qualified Amazonka.Prelude as Prelude++-- | Contains geofence geometry details.+--+-- /See:/ 'newBatchPutGeofenceRequestEntry' smart constructor.+data BatchPutGeofenceRequestEntry = BatchPutGeofenceRequestEntry'+ { -- | The identifier for the geofence to be stored in a given geofence+ -- collection.+ geofenceId :: Prelude.Text,+ -- | Contains the details of the position of the geofence. Can be either a+ -- polygon or a circle. Including both will return a validation error.+ --+ -- Each+ -- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+ -- can have a maximum of 1,000 vertices.+ geometry :: GeofenceGeometry+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutGeofenceRequestEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geofenceId', 'batchPutGeofenceRequestEntry_geofenceId' - The identifier for the geofence to be stored in a given geofence+-- collection.+--+-- 'geometry', 'batchPutGeofenceRequestEntry_geometry' - Contains the details of the position of the geofence. Can be either a+-- polygon or a circle. Including both will return a validation error.+--+-- Each+-- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+-- can have a maximum of 1,000 vertices.+newBatchPutGeofenceRequestEntry ::+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'geometry'+ GeofenceGeometry ->+ BatchPutGeofenceRequestEntry+newBatchPutGeofenceRequestEntry+ pGeofenceId_+ pGeometry_ =+ BatchPutGeofenceRequestEntry'+ { geofenceId =+ pGeofenceId_,+ geometry = pGeometry_+ }++-- | The identifier for the geofence to be stored in a given geofence+-- collection.+batchPutGeofenceRequestEntry_geofenceId :: Lens.Lens' BatchPutGeofenceRequestEntry Prelude.Text+batchPutGeofenceRequestEntry_geofenceId = Lens.lens (\BatchPutGeofenceRequestEntry' {geofenceId} -> geofenceId) (\s@BatchPutGeofenceRequestEntry' {} a -> s {geofenceId = a} :: BatchPutGeofenceRequestEntry)++-- | Contains the details of the position of the geofence. Can be either a+-- polygon or a circle. Including both will return a validation error.+--+-- Each+-- <https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html geofence polygon>+-- can have a maximum of 1,000 vertices.+batchPutGeofenceRequestEntry_geometry :: Lens.Lens' BatchPutGeofenceRequestEntry GeofenceGeometry+batchPutGeofenceRequestEntry_geometry = Lens.lens (\BatchPutGeofenceRequestEntry' {geometry} -> geometry) (\s@BatchPutGeofenceRequestEntry' {} a -> s {geometry = a} :: BatchPutGeofenceRequestEntry)++instance+ Prelude.Hashable+ BatchPutGeofenceRequestEntry+ where+ hashWithSalt _salt BatchPutGeofenceRequestEntry' {..} =+ _salt+ `Prelude.hashWithSalt` geofenceId+ `Prelude.hashWithSalt` geometry++instance Prelude.NFData BatchPutGeofenceRequestEntry where+ rnf BatchPutGeofenceRequestEntry' {..} =+ Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf geometry++instance Data.ToJSON BatchPutGeofenceRequestEntry where+ toJSON BatchPutGeofenceRequestEntry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("GeofenceId" Data..= geofenceId),+ Prelude.Just ("Geometry" Data..= geometry)+ ]+ )
+ gen/Amazonka/Location/Types/BatchPutGeofenceSuccess.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchPutGeofenceSuccess+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchPutGeofenceSuccess where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains a summary of each geofence that was successfully stored in a+-- given geofence collection.+--+-- /See:/ 'newBatchPutGeofenceSuccess' smart constructor.+data BatchPutGeofenceSuccess = BatchPutGeofenceSuccess'+ { -- | The timestamp for when the geofence was stored in a geofence collection+ -- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The geofence successfully stored in a geofence collection.+ geofenceId :: Prelude.Text,+ -- | The timestamp for when the geofence was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchPutGeofenceSuccess' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createTime', 'batchPutGeofenceSuccess_createTime' - The timestamp for when the geofence was stored in a geofence collection+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'geofenceId', 'batchPutGeofenceSuccess_geofenceId' - The geofence successfully stored in a geofence collection.+--+-- 'updateTime', 'batchPutGeofenceSuccess_updateTime' - The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newBatchPutGeofenceSuccess ::+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ BatchPutGeofenceSuccess+newBatchPutGeofenceSuccess+ pCreateTime_+ pGeofenceId_+ pUpdateTime_ =+ BatchPutGeofenceSuccess'+ { createTime =+ Data._Time Lens.# pCreateTime_,+ geofenceId = pGeofenceId_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The timestamp for when the geofence was stored in a geofence collection+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+batchPutGeofenceSuccess_createTime :: Lens.Lens' BatchPutGeofenceSuccess Prelude.UTCTime+batchPutGeofenceSuccess_createTime = Lens.lens (\BatchPutGeofenceSuccess' {createTime} -> createTime) (\s@BatchPutGeofenceSuccess' {} a -> s {createTime = a} :: BatchPutGeofenceSuccess) Prelude.. Data._Time++-- | The geofence successfully stored in a geofence collection.+batchPutGeofenceSuccess_geofenceId :: Lens.Lens' BatchPutGeofenceSuccess Prelude.Text+batchPutGeofenceSuccess_geofenceId = Lens.lens (\BatchPutGeofenceSuccess' {geofenceId} -> geofenceId) (\s@BatchPutGeofenceSuccess' {} a -> s {geofenceId = a} :: BatchPutGeofenceSuccess)++-- | The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+batchPutGeofenceSuccess_updateTime :: Lens.Lens' BatchPutGeofenceSuccess Prelude.UTCTime+batchPutGeofenceSuccess_updateTime = Lens.lens (\BatchPutGeofenceSuccess' {updateTime} -> updateTime) (\s@BatchPutGeofenceSuccess' {} a -> s {updateTime = a} :: BatchPutGeofenceSuccess) Prelude.. Data._Time++instance Data.FromJSON BatchPutGeofenceSuccess where+ parseJSON =+ Data.withObject+ "BatchPutGeofenceSuccess"+ ( \x ->+ BatchPutGeofenceSuccess'+ Prelude.<$> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "GeofenceId")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance Prelude.Hashable BatchPutGeofenceSuccess where+ hashWithSalt _salt BatchPutGeofenceSuccess' {..} =+ _salt+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` geofenceId+ `Prelude.hashWithSalt` updateTime++instance Prelude.NFData BatchPutGeofenceSuccess where+ rnf BatchPutGeofenceSuccess' {..} =+ Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/BatchUpdateDevicePositionError.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.BatchUpdateDevicePositionError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.BatchUpdateDevicePositionError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.BatchItemError+import qualified Amazonka.Prelude as Prelude++-- | Contains error details for each device that failed to update its+-- position.+--+-- /See:/ 'newBatchUpdateDevicePositionError' smart constructor.+data BatchUpdateDevicePositionError = BatchUpdateDevicePositionError'+ { -- | The device associated with the failed location update.+ deviceId :: Prelude.Text,+ -- | Contains details related to the error code such as the error code and+ -- error message.+ error :: BatchItemError,+ -- | The timestamp at which the device position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateDevicePositionError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'batchUpdateDevicePositionError_deviceId' - The device associated with the failed location update.+--+-- 'error', 'batchUpdateDevicePositionError_error' - Contains details related to the error code such as the error code and+-- error message.+--+-- 'sampleTime', 'batchUpdateDevicePositionError_sampleTime' - The timestamp at which the device position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newBatchUpdateDevicePositionError ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'error'+ BatchItemError ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ BatchUpdateDevicePositionError+newBatchUpdateDevicePositionError+ pDeviceId_+ pError_+ pSampleTime_ =+ BatchUpdateDevicePositionError'+ { deviceId =+ pDeviceId_,+ error = pError_,+ sampleTime = Data._Time Lens.# pSampleTime_+ }++-- | The device associated with the failed location update.+batchUpdateDevicePositionError_deviceId :: Lens.Lens' BatchUpdateDevicePositionError Prelude.Text+batchUpdateDevicePositionError_deviceId = Lens.lens (\BatchUpdateDevicePositionError' {deviceId} -> deviceId) (\s@BatchUpdateDevicePositionError' {} a -> s {deviceId = a} :: BatchUpdateDevicePositionError)++-- | Contains details related to the error code such as the error code and+-- error message.+batchUpdateDevicePositionError_error :: Lens.Lens' BatchUpdateDevicePositionError BatchItemError+batchUpdateDevicePositionError_error = Lens.lens (\BatchUpdateDevicePositionError' {error} -> error) (\s@BatchUpdateDevicePositionError' {} a -> s {error = a} :: BatchUpdateDevicePositionError)++-- | The timestamp at which the device position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+batchUpdateDevicePositionError_sampleTime :: Lens.Lens' BatchUpdateDevicePositionError Prelude.UTCTime+batchUpdateDevicePositionError_sampleTime = Lens.lens (\BatchUpdateDevicePositionError' {sampleTime} -> sampleTime) (\s@BatchUpdateDevicePositionError' {} a -> s {sampleTime = a} :: BatchUpdateDevicePositionError) Prelude.. Data._Time++instance Data.FromJSON BatchUpdateDevicePositionError where+ parseJSON =+ Data.withObject+ "BatchUpdateDevicePositionError"+ ( \x ->+ BatchUpdateDevicePositionError'+ Prelude.<$> (x Data..: "DeviceId")+ Prelude.<*> (x Data..: "Error")+ Prelude.<*> (x Data..: "SampleTime")+ )++instance+ Prelude.Hashable+ BatchUpdateDevicePositionError+ where+ hashWithSalt+ _salt+ BatchUpdateDevicePositionError' {..} =+ _salt+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` sampleTime++instance+ Prelude.NFData+ BatchUpdateDevicePositionError+ where+ rnf BatchUpdateDevicePositionError' {..} =+ Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf error+ `Prelude.seq` Prelude.rnf sampleTime
+ gen/Amazonka/Location/Types/CalculateRouteCarModeOptions.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.CalculateRouteCarModeOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.CalculateRouteCarModeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains details about additional route preferences for requests that+-- specify @TravelMode@ as @Car@.+--+-- /See:/ 'newCalculateRouteCarModeOptions' smart constructor.+data CalculateRouteCarModeOptions = CalculateRouteCarModeOptions'+ { -- | Avoids ferries when calculating routes.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ avoidFerries :: Prelude.Maybe Prelude.Bool,+ -- | Avoids tolls when calculating routes.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ avoidTolls :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteCarModeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'avoidFerries', 'calculateRouteCarModeOptions_avoidFerries' - Avoids ferries when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'avoidTolls', 'calculateRouteCarModeOptions_avoidTolls' - Avoids tolls when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+newCalculateRouteCarModeOptions ::+ CalculateRouteCarModeOptions+newCalculateRouteCarModeOptions =+ CalculateRouteCarModeOptions'+ { avoidFerries =+ Prelude.Nothing,+ avoidTolls = Prelude.Nothing+ }++-- | Avoids ferries when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRouteCarModeOptions_avoidFerries :: Lens.Lens' CalculateRouteCarModeOptions (Prelude.Maybe Prelude.Bool)+calculateRouteCarModeOptions_avoidFerries = Lens.lens (\CalculateRouteCarModeOptions' {avoidFerries} -> avoidFerries) (\s@CalculateRouteCarModeOptions' {} a -> s {avoidFerries = a} :: CalculateRouteCarModeOptions)++-- | Avoids tolls when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRouteCarModeOptions_avoidTolls :: Lens.Lens' CalculateRouteCarModeOptions (Prelude.Maybe Prelude.Bool)+calculateRouteCarModeOptions_avoidTolls = Lens.lens (\CalculateRouteCarModeOptions' {avoidTolls} -> avoidTolls) (\s@CalculateRouteCarModeOptions' {} a -> s {avoidTolls = a} :: CalculateRouteCarModeOptions)++instance+ Prelude.Hashable+ CalculateRouteCarModeOptions+ where+ hashWithSalt _salt CalculateRouteCarModeOptions' {..} =+ _salt+ `Prelude.hashWithSalt` avoidFerries+ `Prelude.hashWithSalt` avoidTolls++instance Prelude.NFData CalculateRouteCarModeOptions where+ rnf CalculateRouteCarModeOptions' {..} =+ Prelude.rnf avoidFerries+ `Prelude.seq` Prelude.rnf avoidTolls++instance Data.ToJSON CalculateRouteCarModeOptions where+ toJSON CalculateRouteCarModeOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AvoidFerries" Data..=) Prelude.<$> avoidFerries,+ ("AvoidTolls" Data..=) Prelude.<$> avoidTolls+ ]+ )
+ gen/Amazonka/Location/Types/CalculateRouteMatrixSummary.hs view
@@ -0,0 +1,152 @@+{-# 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.Location.Types.CalculateRouteMatrixSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.CalculateRouteMatrixSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.DistanceUnit+import qualified Amazonka.Prelude as Prelude++-- | A summary of the calculated route matrix.+--+-- /See:/ 'newCalculateRouteMatrixSummary' smart constructor.+data CalculateRouteMatrixSummary = CalculateRouteMatrixSummary'+ { -- | The data provider of traffic and road network data used to calculate the+ -- routes. Indicates one of the available providers:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The unit of measurement for route distances.+ distanceUnit :: DistanceUnit,+ -- | The count of error results in the route matrix. If this number is 0, all+ -- routes were calculated successfully.+ errorCount :: Prelude.Natural,+ -- | The count of cells in the route matrix. Equal to the number of+ -- @DeparturePositions@ multiplied by the number of @DestinationPositions@.+ routeCount :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteMatrixSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSource', 'calculateRouteMatrixSummary_dataSource' - The data provider of traffic and road network data used to calculate the+-- routes. Indicates one of the available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'distanceUnit', 'calculateRouteMatrixSummary_distanceUnit' - The unit of measurement for route distances.+--+-- 'errorCount', 'calculateRouteMatrixSummary_errorCount' - The count of error results in the route matrix. If this number is 0, all+-- routes were calculated successfully.+--+-- 'routeCount', 'calculateRouteMatrixSummary_routeCount' - The count of cells in the route matrix. Equal to the number of+-- @DeparturePositions@ multiplied by the number of @DestinationPositions@.+newCalculateRouteMatrixSummary ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'distanceUnit'+ DistanceUnit ->+ -- | 'errorCount'+ Prelude.Natural ->+ -- | 'routeCount'+ Prelude.Natural ->+ CalculateRouteMatrixSummary+newCalculateRouteMatrixSummary+ pDataSource_+ pDistanceUnit_+ pErrorCount_+ pRouteCount_ =+ CalculateRouteMatrixSummary'+ { dataSource =+ pDataSource_,+ distanceUnit = pDistanceUnit_,+ errorCount = pErrorCount_,+ routeCount = pRouteCount_+ }++-- | The data provider of traffic and road network data used to calculate the+-- routes. Indicates one of the available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+calculateRouteMatrixSummary_dataSource :: Lens.Lens' CalculateRouteMatrixSummary Prelude.Text+calculateRouteMatrixSummary_dataSource = Lens.lens (\CalculateRouteMatrixSummary' {dataSource} -> dataSource) (\s@CalculateRouteMatrixSummary' {} a -> s {dataSource = a} :: CalculateRouteMatrixSummary)++-- | The unit of measurement for route distances.+calculateRouteMatrixSummary_distanceUnit :: Lens.Lens' CalculateRouteMatrixSummary DistanceUnit+calculateRouteMatrixSummary_distanceUnit = Lens.lens (\CalculateRouteMatrixSummary' {distanceUnit} -> distanceUnit) (\s@CalculateRouteMatrixSummary' {} a -> s {distanceUnit = a} :: CalculateRouteMatrixSummary)++-- | The count of error results in the route matrix. If this number is 0, all+-- routes were calculated successfully.+calculateRouteMatrixSummary_errorCount :: Lens.Lens' CalculateRouteMatrixSummary Prelude.Natural+calculateRouteMatrixSummary_errorCount = Lens.lens (\CalculateRouteMatrixSummary' {errorCount} -> errorCount) (\s@CalculateRouteMatrixSummary' {} a -> s {errorCount = a} :: CalculateRouteMatrixSummary)++-- | The count of cells in the route matrix. Equal to the number of+-- @DeparturePositions@ multiplied by the number of @DestinationPositions@.+calculateRouteMatrixSummary_routeCount :: Lens.Lens' CalculateRouteMatrixSummary Prelude.Natural+calculateRouteMatrixSummary_routeCount = Lens.lens (\CalculateRouteMatrixSummary' {routeCount} -> routeCount) (\s@CalculateRouteMatrixSummary' {} a -> s {routeCount = a} :: CalculateRouteMatrixSummary)++instance Data.FromJSON CalculateRouteMatrixSummary where+ parseJSON =+ Data.withObject+ "CalculateRouteMatrixSummary"+ ( \x ->+ CalculateRouteMatrixSummary'+ Prelude.<$> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "DistanceUnit")+ Prelude.<*> (x Data..: "ErrorCount")+ Prelude.<*> (x Data..: "RouteCount")+ )++instance Prelude.Hashable CalculateRouteMatrixSummary where+ hashWithSalt _salt CalculateRouteMatrixSummary' {..} =+ _salt+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` distanceUnit+ `Prelude.hashWithSalt` errorCount+ `Prelude.hashWithSalt` routeCount++instance Prelude.NFData CalculateRouteMatrixSummary where+ rnf CalculateRouteMatrixSummary' {..} =+ Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf distanceUnit+ `Prelude.seq` Prelude.rnf errorCount+ `Prelude.seq` Prelude.rnf routeCount
+ gen/Amazonka/Location/Types/CalculateRouteSummary.hs view
@@ -0,0 +1,235 @@+{-# 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.Location.Types.CalculateRouteSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.CalculateRouteSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.DistanceUnit+import qualified Amazonka.Prelude as Prelude++-- | A summary of the calculated route.+--+-- /See:/ 'newCalculateRouteSummary' smart constructor.+data CalculateRouteSummary = CalculateRouteSummary'+ { -- | The data provider of traffic and road network data used to calculate the+ -- route. Indicates one of the available providers:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The total distance covered by the route. The sum of the distance+ -- travelled between every stop on the route.+ --+ -- If Esri is the data source for the route calculator, the route distance+ -- can’t be greater than 400 km. If the route exceeds 400 km, the response+ -- is a @400 RoutesValidationException@ error.+ distance :: Prelude.Double,+ -- | The unit of measurement for route distances.+ distanceUnit :: DistanceUnit,+ -- | The total travel time for the route measured in seconds. The sum of the+ -- travel time between every stop on the route.+ durationSeconds :: Prelude.Double,+ -- | Specifies a geographical box surrounding a route. Used to zoom into a+ -- route when displaying it in a map. For example,+ -- @[min x, min y, max x, max y]@.+ --+ -- The first 2 @bbox@ parameters describe the lower southwest corner:+ --+ -- - The first @bbox@ position is the X coordinate or longitude of the+ -- lower southwest corner.+ --+ -- - The second @bbox@ position is the Y coordinate or latitude of the+ -- lower southwest corner.+ --+ -- The next 2 @bbox@ parameters describe the upper northeast corner:+ --+ -- - The third @bbox@ position is the X coordinate, or longitude of the+ -- upper northeast corner.+ --+ -- - The fourth @bbox@ position is the Y coordinate, or latitude of the+ -- upper northeast corner.+ routeBBox :: Data.Sensitive (Prelude.NonEmpty Prelude.Double)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSource', 'calculateRouteSummary_dataSource' - The data provider of traffic and road network data used to calculate the+-- route. Indicates one of the available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'distance', 'calculateRouteSummary_distance' - The total distance covered by the route. The sum of the distance+-- travelled between every stop on the route.+--+-- If Esri is the data source for the route calculator, the route distance+-- can’t be greater than 400 km. If the route exceeds 400 km, the response+-- is a @400 RoutesValidationException@ error.+--+-- 'distanceUnit', 'calculateRouteSummary_distanceUnit' - The unit of measurement for route distances.+--+-- 'durationSeconds', 'calculateRouteSummary_durationSeconds' - The total travel time for the route measured in seconds. The sum of the+-- travel time between every stop on the route.+--+-- 'routeBBox', 'calculateRouteSummary_routeBBox' - Specifies a geographical box surrounding a route. Used to zoom into a+-- route when displaying it in a map. For example,+-- @[min x, min y, max x, max y]@.+--+-- The first 2 @bbox@ parameters describe the lower southwest corner:+--+-- - The first @bbox@ position is the X coordinate or longitude of the+-- lower southwest corner.+--+-- - The second @bbox@ position is the Y coordinate or latitude of the+-- lower southwest corner.+--+-- The next 2 @bbox@ parameters describe the upper northeast corner:+--+-- - The third @bbox@ position is the X coordinate, or longitude of the+-- upper northeast corner.+--+-- - The fourth @bbox@ position is the Y coordinate, or latitude of the+-- upper northeast corner.+newCalculateRouteSummary ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'distance'+ Prelude.Double ->+ -- | 'distanceUnit'+ DistanceUnit ->+ -- | 'durationSeconds'+ Prelude.Double ->+ -- | 'routeBBox'+ Prelude.NonEmpty Prelude.Double ->+ CalculateRouteSummary+newCalculateRouteSummary+ pDataSource_+ pDistance_+ pDistanceUnit_+ pDurationSeconds_+ pRouteBBox_ =+ CalculateRouteSummary'+ { dataSource = pDataSource_,+ distance = pDistance_,+ distanceUnit = pDistanceUnit_,+ durationSeconds = pDurationSeconds_,+ routeBBox =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pRouteBBox_+ }++-- | The data provider of traffic and road network data used to calculate the+-- route. Indicates one of the available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+calculateRouteSummary_dataSource :: Lens.Lens' CalculateRouteSummary Prelude.Text+calculateRouteSummary_dataSource = Lens.lens (\CalculateRouteSummary' {dataSource} -> dataSource) (\s@CalculateRouteSummary' {} a -> s {dataSource = a} :: CalculateRouteSummary)++-- | The total distance covered by the route. The sum of the distance+-- travelled between every stop on the route.+--+-- If Esri is the data source for the route calculator, the route distance+-- can’t be greater than 400 km. If the route exceeds 400 km, the response+-- is a @400 RoutesValidationException@ error.+calculateRouteSummary_distance :: Lens.Lens' CalculateRouteSummary Prelude.Double+calculateRouteSummary_distance = Lens.lens (\CalculateRouteSummary' {distance} -> distance) (\s@CalculateRouteSummary' {} a -> s {distance = a} :: CalculateRouteSummary)++-- | The unit of measurement for route distances.+calculateRouteSummary_distanceUnit :: Lens.Lens' CalculateRouteSummary DistanceUnit+calculateRouteSummary_distanceUnit = Lens.lens (\CalculateRouteSummary' {distanceUnit} -> distanceUnit) (\s@CalculateRouteSummary' {} a -> s {distanceUnit = a} :: CalculateRouteSummary)++-- | The total travel time for the route measured in seconds. The sum of the+-- travel time between every stop on the route.+calculateRouteSummary_durationSeconds :: Lens.Lens' CalculateRouteSummary Prelude.Double+calculateRouteSummary_durationSeconds = Lens.lens (\CalculateRouteSummary' {durationSeconds} -> durationSeconds) (\s@CalculateRouteSummary' {} a -> s {durationSeconds = a} :: CalculateRouteSummary)++-- | Specifies a geographical box surrounding a route. Used to zoom into a+-- route when displaying it in a map. For example,+-- @[min x, min y, max x, max y]@.+--+-- The first 2 @bbox@ parameters describe the lower southwest corner:+--+-- - The first @bbox@ position is the X coordinate or longitude of the+-- lower southwest corner.+--+-- - The second @bbox@ position is the Y coordinate or latitude of the+-- lower southwest corner.+--+-- The next 2 @bbox@ parameters describe the upper northeast corner:+--+-- - The third @bbox@ position is the X coordinate, or longitude of the+-- upper northeast corner.+--+-- - The fourth @bbox@ position is the Y coordinate, or latitude of the+-- upper northeast corner.+calculateRouteSummary_routeBBox :: Lens.Lens' CalculateRouteSummary (Prelude.NonEmpty Prelude.Double)+calculateRouteSummary_routeBBox = Lens.lens (\CalculateRouteSummary' {routeBBox} -> routeBBox) (\s@CalculateRouteSummary' {} a -> s {routeBBox = a} :: CalculateRouteSummary) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Data.FromJSON CalculateRouteSummary where+ parseJSON =+ Data.withObject+ "CalculateRouteSummary"+ ( \x ->+ CalculateRouteSummary'+ Prelude.<$> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Distance")+ Prelude.<*> (x Data..: "DistanceUnit")+ Prelude.<*> (x Data..: "DurationSeconds")+ Prelude.<*> (x Data..: "RouteBBox")+ )++instance Prelude.Hashable CalculateRouteSummary where+ hashWithSalt _salt CalculateRouteSummary' {..} =+ _salt+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` distanceUnit+ `Prelude.hashWithSalt` durationSeconds+ `Prelude.hashWithSalt` routeBBox++instance Prelude.NFData CalculateRouteSummary where+ rnf CalculateRouteSummary' {..} =+ Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf distance+ `Prelude.seq` Prelude.rnf distanceUnit+ `Prelude.seq` Prelude.rnf durationSeconds+ `Prelude.seq` Prelude.rnf routeBBox
+ gen/Amazonka/Location/Types/CalculateRouteTruckModeOptions.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.CalculateRouteTruckModeOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.CalculateRouteTruckModeOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.TruckDimensions+import Amazonka.Location.Types.TruckWeight+import qualified Amazonka.Prelude as Prelude++-- | Contains details about additional route preferences for requests that+-- specify @TravelMode@ as @Truck@.+--+-- /See:/ 'newCalculateRouteTruckModeOptions' smart constructor.+data CalculateRouteTruckModeOptions = CalculateRouteTruckModeOptions'+ { -- | Avoids ferries when calculating routes.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ avoidFerries :: Prelude.Maybe Prelude.Bool,+ -- | Avoids tolls when calculating routes.+ --+ -- Default Value: @false@+ --+ -- Valid Values: @false@ | @true@+ avoidTolls :: Prelude.Maybe Prelude.Bool,+ -- | Specifies the truck\'s dimension specifications including length,+ -- height, width, and unit of measurement. Used to avoid roads that can\'t+ -- support the truck\'s dimensions.+ dimensions :: Prelude.Maybe TruckDimensions,+ -- | Specifies the truck\'s weight specifications including total weight and+ -- unit of measurement. Used to avoid roads that can\'t support the+ -- truck\'s weight.+ weight :: Prelude.Maybe TruckWeight+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CalculateRouteTruckModeOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'avoidFerries', 'calculateRouteTruckModeOptions_avoidFerries' - Avoids ferries when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'avoidTolls', 'calculateRouteTruckModeOptions_avoidTolls' - Avoids tolls when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+--+-- 'dimensions', 'calculateRouteTruckModeOptions_dimensions' - Specifies the truck\'s dimension specifications including length,+-- height, width, and unit of measurement. Used to avoid roads that can\'t+-- support the truck\'s dimensions.+--+-- 'weight', 'calculateRouteTruckModeOptions_weight' - Specifies the truck\'s weight specifications including total weight and+-- unit of measurement. Used to avoid roads that can\'t support the+-- truck\'s weight.+newCalculateRouteTruckModeOptions ::+ CalculateRouteTruckModeOptions+newCalculateRouteTruckModeOptions =+ CalculateRouteTruckModeOptions'+ { avoidFerries =+ Prelude.Nothing,+ avoidTolls = Prelude.Nothing,+ dimensions = Prelude.Nothing,+ weight = Prelude.Nothing+ }++-- | Avoids ferries when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRouteTruckModeOptions_avoidFerries :: Lens.Lens' CalculateRouteTruckModeOptions (Prelude.Maybe Prelude.Bool)+calculateRouteTruckModeOptions_avoidFerries = Lens.lens (\CalculateRouteTruckModeOptions' {avoidFerries} -> avoidFerries) (\s@CalculateRouteTruckModeOptions' {} a -> s {avoidFerries = a} :: CalculateRouteTruckModeOptions)++-- | Avoids tolls when calculating routes.+--+-- Default Value: @false@+--+-- Valid Values: @false@ | @true@+calculateRouteTruckModeOptions_avoidTolls :: Lens.Lens' CalculateRouteTruckModeOptions (Prelude.Maybe Prelude.Bool)+calculateRouteTruckModeOptions_avoidTolls = Lens.lens (\CalculateRouteTruckModeOptions' {avoidTolls} -> avoidTolls) (\s@CalculateRouteTruckModeOptions' {} a -> s {avoidTolls = a} :: CalculateRouteTruckModeOptions)++-- | Specifies the truck\'s dimension specifications including length,+-- height, width, and unit of measurement. Used to avoid roads that can\'t+-- support the truck\'s dimensions.+calculateRouteTruckModeOptions_dimensions :: Lens.Lens' CalculateRouteTruckModeOptions (Prelude.Maybe TruckDimensions)+calculateRouteTruckModeOptions_dimensions = Lens.lens (\CalculateRouteTruckModeOptions' {dimensions} -> dimensions) (\s@CalculateRouteTruckModeOptions' {} a -> s {dimensions = a} :: CalculateRouteTruckModeOptions)++-- | Specifies the truck\'s weight specifications including total weight and+-- unit of measurement. Used to avoid roads that can\'t support the+-- truck\'s weight.+calculateRouteTruckModeOptions_weight :: Lens.Lens' CalculateRouteTruckModeOptions (Prelude.Maybe TruckWeight)+calculateRouteTruckModeOptions_weight = Lens.lens (\CalculateRouteTruckModeOptions' {weight} -> weight) (\s@CalculateRouteTruckModeOptions' {} a -> s {weight = a} :: CalculateRouteTruckModeOptions)++instance+ Prelude.Hashable+ CalculateRouteTruckModeOptions+ where+ hashWithSalt+ _salt+ CalculateRouteTruckModeOptions' {..} =+ _salt+ `Prelude.hashWithSalt` avoidFerries+ `Prelude.hashWithSalt` avoidTolls+ `Prelude.hashWithSalt` dimensions+ `Prelude.hashWithSalt` weight++instance+ Prelude.NFData+ CalculateRouteTruckModeOptions+ where+ rnf CalculateRouteTruckModeOptions' {..} =+ Prelude.rnf avoidFerries+ `Prelude.seq` Prelude.rnf avoidTolls+ `Prelude.seq` Prelude.rnf dimensions+ `Prelude.seq` Prelude.rnf weight++instance Data.ToJSON CalculateRouteTruckModeOptions where+ toJSON CalculateRouteTruckModeOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AvoidFerries" Data..=) Prelude.<$> avoidFerries,+ ("AvoidTolls" Data..=) Prelude.<$> avoidTolls,+ ("Dimensions" Data..=) Prelude.<$> dimensions,+ ("Weight" Data..=) Prelude.<$> weight+ ]+ )
+ gen/Amazonka/Location/Types/Circle.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.Location.Types.Circle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.Circle 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 circle on the earth, as defined by a center point and a radius.+--+-- /See:/ 'newCircle' smart constructor.+data Circle = Circle'+ { -- | A single point geometry, specifying the center of the circle, using+ -- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+ -- coordinates, in the form @[longitude, latitude]@.+ center :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The radius of the circle in meters. Must be greater than zero and no+ -- larger than 100,000 (100 kilometers).+ radius :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Circle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'center', 'circle_center' - A single point geometry, specifying the center of the circle, using+-- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+-- coordinates, in the form @[longitude, latitude]@.+--+-- 'radius', 'circle_radius' - The radius of the circle in meters. Must be greater than zero and no+-- larger than 100,000 (100 kilometers).+newCircle ::+ -- | 'center'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'radius'+ Prelude.Double ->+ Circle+newCircle pCenter_ pRadius_ =+ Circle'+ { center =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pCenter_,+ radius = pRadius_+ }++-- | A single point geometry, specifying the center of the circle, using+-- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+-- coordinates, in the form @[longitude, latitude]@.+circle_center :: Lens.Lens' Circle (Prelude.NonEmpty Prelude.Double)+circle_center = Lens.lens (\Circle' {center} -> center) (\s@Circle' {} a -> s {center = a} :: Circle) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The radius of the circle in meters. Must be greater than zero and no+-- larger than 100,000 (100 kilometers).+circle_radius :: Lens.Lens' Circle Prelude.Double+circle_radius = Lens.lens (\Circle' {radius} -> radius) (\s@Circle' {} a -> s {radius = a} :: Circle)++instance Data.FromJSON Circle where+ parseJSON =+ Data.withObject+ "Circle"+ ( \x ->+ Circle'+ Prelude.<$> (x Data..: "Center")+ Prelude.<*> (x Data..: "Radius")+ )++instance Prelude.Hashable Circle where+ hashWithSalt _salt Circle' {..} =+ _salt+ `Prelude.hashWithSalt` center+ `Prelude.hashWithSalt` radius++instance Prelude.NFData Circle where+ rnf Circle' {..} =+ Prelude.rnf center `Prelude.seq` Prelude.rnf radius++instance Data.ToJSON Circle where+ toJSON Circle' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Center" Data..= center),+ Prelude.Just ("Radius" Data..= radius)+ ]+ )
+ gen/Amazonka/Location/Types/DataSourceConfiguration.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.DataSourceConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.DataSourceConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.IntendedUse+import qualified Amazonka.Prelude as Prelude++-- | Specifies the data storage option chosen for requesting Places.+--+-- When using Amazon Location Places:+--+-- - If using HERE Technologies as a data provider, you can\'t store+-- results for locations in Japan by setting @IntendedUse@ to+-- @Storage@. parameter.+--+-- - Under the @MobileAssetTracking@ or @MobilAssetManagement@ pricing+-- plan, you can\'t store results from your place index resources by+-- setting @IntendedUse@ to @Storage@. This returns a validation+-- exception error.+--+-- For more information, see the+-- <https://aws.amazon.com/service-terms/ AWS Service Terms> for Amazon+-- Location Service.+--+-- /See:/ 'newDataSourceConfiguration' smart constructor.+data DataSourceConfiguration = DataSourceConfiguration'+ { -- | Specifies how the results of an operation will be stored by the caller.+ --+ -- Valid values include:+ --+ -- - @SingleUse@ specifies that the results won\'t be stored.+ --+ -- - @Storage@ specifies that the result can be cached or stored in a+ -- database.+ --+ -- Default value: @SingleUse@+ intendedUse :: Prelude.Maybe IntendedUse+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataSourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intendedUse', 'dataSourceConfiguration_intendedUse' - Specifies how the results of an operation will be stored by the caller.+--+-- Valid values include:+--+-- - @SingleUse@ specifies that the results won\'t be stored.+--+-- - @Storage@ specifies that the result can be cached or stored in a+-- database.+--+-- Default value: @SingleUse@+newDataSourceConfiguration ::+ DataSourceConfiguration+newDataSourceConfiguration =+ DataSourceConfiguration'+ { intendedUse =+ Prelude.Nothing+ }++-- | Specifies how the results of an operation will be stored by the caller.+--+-- Valid values include:+--+-- - @SingleUse@ specifies that the results won\'t be stored.+--+-- - @Storage@ specifies that the result can be cached or stored in a+-- database.+--+-- Default value: @SingleUse@+dataSourceConfiguration_intendedUse :: Lens.Lens' DataSourceConfiguration (Prelude.Maybe IntendedUse)+dataSourceConfiguration_intendedUse = Lens.lens (\DataSourceConfiguration' {intendedUse} -> intendedUse) (\s@DataSourceConfiguration' {} a -> s {intendedUse = a} :: DataSourceConfiguration)++instance Data.FromJSON DataSourceConfiguration where+ parseJSON =+ Data.withObject+ "DataSourceConfiguration"+ ( \x ->+ DataSourceConfiguration'+ Prelude.<$> (x Data..:? "IntendedUse")+ )++instance Prelude.Hashable DataSourceConfiguration where+ hashWithSalt _salt DataSourceConfiguration' {..} =+ _salt `Prelude.hashWithSalt` intendedUse++instance Prelude.NFData DataSourceConfiguration where+ rnf DataSourceConfiguration' {..} =+ Prelude.rnf intendedUse++instance Data.ToJSON DataSourceConfiguration where+ toJSON DataSourceConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("IntendedUse" Data..=) Prelude.<$> intendedUse]+ )
+ gen/Amazonka/Location/Types/DevicePosition.hs view
@@ -0,0 +1,160 @@+{-# 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.Location.Types.DevicePosition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.DevicePosition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PositionalAccuracy+import qualified Amazonka.Prelude as Prelude++-- | Contains the device position details.+--+-- /See:/ 'newDevicePosition' smart constructor.+data DevicePosition = DevicePosition'+ { -- | The accuracy of the device position.+ accuracy :: Prelude.Maybe PositionalAccuracy,+ -- | The device whose position you retrieved.+ deviceId :: Prelude.Maybe Prelude.Text,+ -- | The properties associated with the position.+ positionProperties :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The last known device position.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The timestamp for when the tracker resource received the device position+ -- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ receivedTime :: Data.ISO8601,+ -- | The timestamp at which the device\'s position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DevicePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accuracy', 'devicePosition_accuracy' - The accuracy of the device position.+--+-- 'deviceId', 'devicePosition_deviceId' - The device whose position you retrieved.+--+-- 'positionProperties', 'devicePosition_positionProperties' - The properties associated with the position.+--+-- 'position', 'devicePosition_position' - The last known device position.+--+-- 'receivedTime', 'devicePosition_receivedTime' - The timestamp for when the tracker resource received the device position+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'sampleTime', 'devicePosition_sampleTime' - The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newDevicePosition ::+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'receivedTime'+ Prelude.UTCTime ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ DevicePosition+newDevicePosition+ pPosition_+ pReceivedTime_+ pSampleTime_ =+ DevicePosition'+ { accuracy = Prelude.Nothing,+ deviceId = Prelude.Nothing,+ positionProperties = Prelude.Nothing,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_,+ receivedTime = Data._Time Lens.# pReceivedTime_,+ sampleTime = Data._Time Lens.# pSampleTime_+ }++-- | The accuracy of the device position.+devicePosition_accuracy :: Lens.Lens' DevicePosition (Prelude.Maybe PositionalAccuracy)+devicePosition_accuracy = Lens.lens (\DevicePosition' {accuracy} -> accuracy) (\s@DevicePosition' {} a -> s {accuracy = a} :: DevicePosition)++-- | The device whose position you retrieved.+devicePosition_deviceId :: Lens.Lens' DevicePosition (Prelude.Maybe Prelude.Text)+devicePosition_deviceId = Lens.lens (\DevicePosition' {deviceId} -> deviceId) (\s@DevicePosition' {} a -> s {deviceId = a} :: DevicePosition)++-- | The properties associated with the position.+devicePosition_positionProperties :: Lens.Lens' DevicePosition (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+devicePosition_positionProperties = Lens.lens (\DevicePosition' {positionProperties} -> positionProperties) (\s@DevicePosition' {} a -> s {positionProperties = a} :: DevicePosition) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The last known device position.+devicePosition_position :: Lens.Lens' DevicePosition (Prelude.NonEmpty Prelude.Double)+devicePosition_position = Lens.lens (\DevicePosition' {position} -> position) (\s@DevicePosition' {} a -> s {position = a} :: DevicePosition) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The timestamp for when the tracker resource received the device position+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+devicePosition_receivedTime :: Lens.Lens' DevicePosition Prelude.UTCTime+devicePosition_receivedTime = Lens.lens (\DevicePosition' {receivedTime} -> receivedTime) (\s@DevicePosition' {} a -> s {receivedTime = a} :: DevicePosition) Prelude.. Data._Time++-- | The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+devicePosition_sampleTime :: Lens.Lens' DevicePosition Prelude.UTCTime+devicePosition_sampleTime = Lens.lens (\DevicePosition' {sampleTime} -> sampleTime) (\s@DevicePosition' {} a -> s {sampleTime = a} :: DevicePosition) Prelude.. Data._Time++instance Data.FromJSON DevicePosition where+ parseJSON =+ Data.withObject+ "DevicePosition"+ ( \x ->+ DevicePosition'+ Prelude.<$> (x Data..:? "Accuracy")+ Prelude.<*> (x Data..:? "DeviceId")+ Prelude.<*> ( x+ Data..:? "PositionProperties"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "Position")+ Prelude.<*> (x Data..: "ReceivedTime")+ Prelude.<*> (x Data..: "SampleTime")+ )++instance Prelude.Hashable DevicePosition where+ hashWithSalt _salt DevicePosition' {..} =+ _salt+ `Prelude.hashWithSalt` accuracy+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` positionProperties+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` receivedTime+ `Prelude.hashWithSalt` sampleTime++instance Prelude.NFData DevicePosition where+ rnf DevicePosition' {..} =+ Prelude.rnf accuracy+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf positionProperties+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf receivedTime+ `Prelude.seq` Prelude.rnf sampleTime
+ gen/Amazonka/Location/Types/DevicePositionUpdate.hs view
@@ -0,0 +1,157 @@+{-# 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.Location.Types.DevicePositionUpdate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.DevicePositionUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PositionalAccuracy+import qualified Amazonka.Prelude as Prelude++-- | Contains the position update details for a device.+--+-- /See:/ 'newDevicePositionUpdate' smart constructor.+data DevicePositionUpdate = DevicePositionUpdate'+ { -- | The accuracy of the device position.+ accuracy :: Prelude.Maybe PositionalAccuracy,+ -- | Associates one of more properties with the position update. A property+ -- is a key-value pair stored with the position update and added to any+ -- geofence event the update may trigger.+ --+ -- Format: @\"key\" : \"value\"@+ positionProperties :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The device associated to the position update.+ deviceId :: Prelude.Text,+ -- | The latest device position defined in+ -- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 WGS 84>+ -- format: @[X or longitude, Y or latitude]@.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The timestamp at which the device\'s position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DevicePositionUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accuracy', 'devicePositionUpdate_accuracy' - The accuracy of the device position.+--+-- 'positionProperties', 'devicePositionUpdate_positionProperties' - Associates one of more properties with the position update. A property+-- is a key-value pair stored with the position update and added to any+-- geofence event the update may trigger.+--+-- Format: @\"key\" : \"value\"@+--+-- 'deviceId', 'devicePositionUpdate_deviceId' - The device associated to the position update.+--+-- 'position', 'devicePositionUpdate_position' - The latest device position defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 WGS 84>+-- format: @[X or longitude, Y or latitude]@.+--+-- 'sampleTime', 'devicePositionUpdate_sampleTime' - The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newDevicePositionUpdate ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ DevicePositionUpdate+newDevicePositionUpdate+ pDeviceId_+ pPosition_+ pSampleTime_ =+ DevicePositionUpdate'+ { accuracy = Prelude.Nothing,+ positionProperties = Prelude.Nothing,+ deviceId = pDeviceId_,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_,+ sampleTime = Data._Time Lens.# pSampleTime_+ }++-- | The accuracy of the device position.+devicePositionUpdate_accuracy :: Lens.Lens' DevicePositionUpdate (Prelude.Maybe PositionalAccuracy)+devicePositionUpdate_accuracy = Lens.lens (\DevicePositionUpdate' {accuracy} -> accuracy) (\s@DevicePositionUpdate' {} a -> s {accuracy = a} :: DevicePositionUpdate)++-- | Associates one of more properties with the position update. A property+-- is a key-value pair stored with the position update and added to any+-- geofence event the update may trigger.+--+-- Format: @\"key\" : \"value\"@+devicePositionUpdate_positionProperties :: Lens.Lens' DevicePositionUpdate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+devicePositionUpdate_positionProperties = Lens.lens (\DevicePositionUpdate' {positionProperties} -> positionProperties) (\s@DevicePositionUpdate' {} a -> s {positionProperties = a} :: DevicePositionUpdate) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The device associated to the position update.+devicePositionUpdate_deviceId :: Lens.Lens' DevicePositionUpdate Prelude.Text+devicePositionUpdate_deviceId = Lens.lens (\DevicePositionUpdate' {deviceId} -> deviceId) (\s@DevicePositionUpdate' {} a -> s {deviceId = a} :: DevicePositionUpdate)++-- | The latest device position defined in+-- <https://earth-info.nga.mil/index.php?dir=wgs84&action=wgs84 WGS 84>+-- format: @[X or longitude, Y or latitude]@.+devicePositionUpdate_position :: Lens.Lens' DevicePositionUpdate (Prelude.NonEmpty Prelude.Double)+devicePositionUpdate_position = Lens.lens (\DevicePositionUpdate' {position} -> position) (\s@DevicePositionUpdate' {} a -> s {position = a} :: DevicePositionUpdate) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+devicePositionUpdate_sampleTime :: Lens.Lens' DevicePositionUpdate Prelude.UTCTime+devicePositionUpdate_sampleTime = Lens.lens (\DevicePositionUpdate' {sampleTime} -> sampleTime) (\s@DevicePositionUpdate' {} a -> s {sampleTime = a} :: DevicePositionUpdate) Prelude.. Data._Time++instance Prelude.Hashable DevicePositionUpdate where+ hashWithSalt _salt DevicePositionUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` accuracy+ `Prelude.hashWithSalt` positionProperties+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` sampleTime++instance Prelude.NFData DevicePositionUpdate where+ rnf DevicePositionUpdate' {..} =+ Prelude.rnf accuracy+ `Prelude.seq` Prelude.rnf positionProperties+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf sampleTime++instance Data.ToJSON DevicePositionUpdate where+ toJSON DevicePositionUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Accuracy" Data..=) Prelude.<$> accuracy,+ ("PositionProperties" Data..=)+ Prelude.<$> positionProperties,+ Prelude.Just ("DeviceId" Data..= deviceId),+ Prelude.Just ("Position" Data..= position),+ Prelude.Just ("SampleTime" Data..= sampleTime)+ ]+ )
+ gen/Amazonka/Location/Types/DimensionUnit.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.Location.Types.DimensionUnit+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.DimensionUnit+ ( DimensionUnit+ ( ..,+ DimensionUnit_Feet,+ DimensionUnit_Meters+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DimensionUnit = DimensionUnit'+ { fromDimensionUnit ::+ 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 DimensionUnit_Feet :: DimensionUnit+pattern DimensionUnit_Feet = DimensionUnit' "Feet"++pattern DimensionUnit_Meters :: DimensionUnit+pattern DimensionUnit_Meters = DimensionUnit' "Meters"++{-# COMPLETE+ DimensionUnit_Feet,+ DimensionUnit_Meters,+ DimensionUnit'+ #-}
+ gen/Amazonka/Location/Types/DistanceUnit.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.Location.Types.DistanceUnit+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.DistanceUnit+ ( DistanceUnit+ ( ..,+ DistanceUnit_Kilometers,+ DistanceUnit_Miles+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DistanceUnit = DistanceUnit'+ { fromDistanceUnit ::+ 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 DistanceUnit_Kilometers :: DistanceUnit+pattern DistanceUnit_Kilometers = DistanceUnit' "Kilometers"++pattern DistanceUnit_Miles :: DistanceUnit+pattern DistanceUnit_Miles = DistanceUnit' "Miles"++{-# COMPLETE+ DistanceUnit_Kilometers,+ DistanceUnit_Miles,+ DistanceUnit'+ #-}
+ gen/Amazonka/Location/Types/GeofenceGeometry.hs view
@@ -0,0 +1,159 @@+{-# 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.Location.Types.GeofenceGeometry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.GeofenceGeometry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.Circle+import qualified Amazonka.Prelude as Prelude++-- | Contains the geofence geometry details.+--+-- A geofence geometry is made up of either a polygon or a circle. Can be+-- either a polygon or a circle. Including both will return a validation+-- error.+--+-- Amazon Location doesn\'t currently support polygons with holes,+-- multipolygons, polygons that are wound clockwise, or that cross the+-- antimeridian.+--+-- /See:/ 'newGeofenceGeometry' smart constructor.+data GeofenceGeometry = GeofenceGeometry'+ { -- | A circle on the earth, as defined by a center point and a radius.+ circle :: Prelude.Maybe (Data.Sensitive Circle),+ -- | A polygon is a list of linear rings which are each made up of a list of+ -- vertices.+ --+ -- Each vertex is a 2-dimensional point of the form:+ -- @[longitude, latitude]@. This is represented as an array of doubles of+ -- length 2 (so @[double, double]@).+ --+ -- An array of 4 or more vertices, where the first and last vertex are the+ -- same (to form a closed boundary), is called a linear ring. The linear+ -- ring vertices must be listed in counter-clockwise order around the+ -- ring’s interior. The linear ring is represented as an array of vertices,+ -- or an array of arrays of doubles (@[[double, double], ...]@).+ --+ -- A geofence consists of a single linear ring. To allow for future+ -- expansion, the Polygon parameter takes an array of linear rings, which+ -- is represented as an array of arrays of arrays of doubles+ -- (@[[[double, double], ...], ...]@).+ --+ -- A linear ring for use in geofences can consist of between 4 and 1,000+ -- vertices.+ polygon :: Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeofenceGeometry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'circle', 'geofenceGeometry_circle' - A circle on the earth, as defined by a center point and a radius.+--+-- 'polygon', 'geofenceGeometry_polygon' - A polygon is a list of linear rings which are each made up of a list of+-- vertices.+--+-- Each vertex is a 2-dimensional point of the form:+-- @[longitude, latitude]@. This is represented as an array of doubles of+-- length 2 (so @[double, double]@).+--+-- An array of 4 or more vertices, where the first and last vertex are the+-- same (to form a closed boundary), is called a linear ring. The linear+-- ring vertices must be listed in counter-clockwise order around the+-- ring’s interior. The linear ring is represented as an array of vertices,+-- or an array of arrays of doubles (@[[double, double], ...]@).+--+-- A geofence consists of a single linear ring. To allow for future+-- expansion, the Polygon parameter takes an array of linear rings, which+-- is represented as an array of arrays of arrays of doubles+-- (@[[[double, double], ...], ...]@).+--+-- A linear ring for use in geofences can consist of between 4 and 1,000+-- vertices.+newGeofenceGeometry ::+ GeofenceGeometry+newGeofenceGeometry =+ GeofenceGeometry'+ { circle = Prelude.Nothing,+ polygon = Prelude.Nothing+ }++-- | A circle on the earth, as defined by a center point and a radius.+geofenceGeometry_circle :: Lens.Lens' GeofenceGeometry (Prelude.Maybe Circle)+geofenceGeometry_circle = Lens.lens (\GeofenceGeometry' {circle} -> circle) (\s@GeofenceGeometry' {} a -> s {circle = a} :: GeofenceGeometry) Prelude.. Lens.mapping Data._Sensitive++-- | A polygon is a list of linear rings which are each made up of a list of+-- vertices.+--+-- Each vertex is a 2-dimensional point of the form:+-- @[longitude, latitude]@. This is represented as an array of doubles of+-- length 2 (so @[double, double]@).+--+-- An array of 4 or more vertices, where the first and last vertex are the+-- same (to form a closed boundary), is called a linear ring. The linear+-- ring vertices must be listed in counter-clockwise order around the+-- ring’s interior. The linear ring is represented as an array of vertices,+-- or an array of arrays of doubles (@[[double, double], ...]@).+--+-- A geofence consists of a single linear ring. To allow for future+-- expansion, the Polygon parameter takes an array of linear rings, which+-- is represented as an array of arrays of arrays of doubles+-- (@[[[double, double], ...], ...]@).+--+-- A linear ring for use in geofences can consist of between 4 and 1,000+-- vertices.+geofenceGeometry_polygon :: Lens.Lens' GeofenceGeometry (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))))+geofenceGeometry_polygon = Lens.lens (\GeofenceGeometry' {polygon} -> polygon) (\s@GeofenceGeometry' {} a -> s {polygon = a} :: GeofenceGeometry) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GeofenceGeometry where+ parseJSON =+ Data.withObject+ "GeofenceGeometry"+ ( \x ->+ GeofenceGeometry'+ Prelude.<$> (x Data..:? "Circle")+ Prelude.<*> (x Data..:? "Polygon")+ )++instance Prelude.Hashable GeofenceGeometry where+ hashWithSalt _salt GeofenceGeometry' {..} =+ _salt+ `Prelude.hashWithSalt` circle+ `Prelude.hashWithSalt` polygon++instance Prelude.NFData GeofenceGeometry where+ rnf GeofenceGeometry' {..} =+ Prelude.rnf circle+ `Prelude.seq` Prelude.rnf polygon++instance Data.ToJSON GeofenceGeometry where+ toJSON GeofenceGeometry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Circle" Data..=) Prelude.<$> circle,+ ("Polygon" Data..=) Prelude.<$> polygon+ ]+ )
+ gen/Amazonka/Location/Types/IntendedUse.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.Location.Types.IntendedUse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.IntendedUse+ ( IntendedUse+ ( ..,+ IntendedUse_SingleUse,+ IntendedUse_Storage+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IntendedUse = IntendedUse'+ { fromIntendedUse ::+ 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 IntendedUse_SingleUse :: IntendedUse+pattern IntendedUse_SingleUse = IntendedUse' "SingleUse"++pattern IntendedUse_Storage :: IntendedUse+pattern IntendedUse_Storage = IntendedUse' "Storage"++{-# COMPLETE+ IntendedUse_SingleUse,+ IntendedUse_Storage,+ IntendedUse'+ #-}
+ gen/Amazonka/Location/Types/Leg.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.Leg+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.Leg where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.LegGeometry+import Amazonka.Location.Types.Step+import qualified Amazonka.Prelude as Prelude++-- | Contains the calculated route\'s details for each path between a pair of+-- positions. The number of legs returned corresponds to one fewer than the+-- total number of positions in the request.+--+-- For example, a route with a departure position and destination position+-- returns one leg with the positions+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>:+--+-- - The @StartPosition@ is the departure position.+--+-- - The @EndPosition@ is the destination position.+--+-- A route with a waypoint between the departure and destination position+-- returns two legs with the positions snapped to a nearby road:+--+-- - Leg 1: The @StartPosition@ is the departure position . The+-- @EndPosition@ is the waypoint positon.+--+-- - Leg 2: The @StartPosition@ is the waypoint position. The+-- @EndPosition@ is the destination position.+--+-- /See:/ 'newLeg' smart constructor.+data Leg = Leg'+ { -- | Contains the calculated route\'s path as a linestring geometry.+ geometry :: Prelude.Maybe LegGeometry,+ -- | The distance between the leg\'s @StartPosition@ and @EndPosition@ along+ -- a calculated route.+ --+ -- - The default measurement is @Kilometers@ unless the request specifies+ -- a @DistanceUnit@ of @Miles@.+ distance :: Prelude.Double,+ -- | The estimated travel time between the leg\'s @StartPosition@ and+ -- @EndPosition@. The travel mode and departure time that you specify in+ -- the request determines the calculated time.+ durationSeconds :: Prelude.Double,+ -- | The terminating position of the leg. Follows the format+ -- @[longitude,latitude]@.+ --+ -- If the @EndPosition@ isn\'t located on a road, it\'s+ -- <https://docs.aws.amazon.com/location/latest/developerguide/nap-to-nearby-road.html snapped to a nearby road>.+ endPosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The starting position of the leg. Follows the format+ -- @[longitude,latitude]@.+ --+ -- If the @StartPosition@ isn\'t located on a road, it\'s+ -- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>.+ startPosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | Contains a list of steps, which represent subsections of a leg. Each+ -- step provides instructions for how to move to the next step in the leg+ -- such as the step\'s start position, end position, travel distance,+ -- travel duration, and geometry offset.+ steps :: [Step]+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Leg' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geometry', 'leg_geometry' - Contains the calculated route\'s path as a linestring geometry.+--+-- 'distance', 'leg_distance' - The distance between the leg\'s @StartPosition@ and @EndPosition@ along+-- a calculated route.+--+-- - The default measurement is @Kilometers@ unless the request specifies+-- a @DistanceUnit@ of @Miles@.+--+-- 'durationSeconds', 'leg_durationSeconds' - The estimated travel time between the leg\'s @StartPosition@ and+-- @EndPosition@. The travel mode and departure time that you specify in+-- the request determines the calculated time.+--+-- 'endPosition', 'leg_endPosition' - The terminating position of the leg. Follows the format+-- @[longitude,latitude]@.+--+-- If the @EndPosition@ isn\'t located on a road, it\'s+-- <https://docs.aws.amazon.com/location/latest/developerguide/nap-to-nearby-road.html snapped to a nearby road>.+--+-- 'startPosition', 'leg_startPosition' - The starting position of the leg. Follows the format+-- @[longitude,latitude]@.+--+-- If the @StartPosition@ isn\'t located on a road, it\'s+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>.+--+-- 'steps', 'leg_steps' - Contains a list of steps, which represent subsections of a leg. Each+-- step provides instructions for how to move to the next step in the leg+-- such as the step\'s start position, end position, travel distance,+-- travel duration, and geometry offset.+newLeg ::+ -- | 'distance'+ Prelude.Double ->+ -- | 'durationSeconds'+ Prelude.Double ->+ -- | 'endPosition'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'startPosition'+ Prelude.NonEmpty Prelude.Double ->+ Leg+newLeg+ pDistance_+ pDurationSeconds_+ pEndPosition_+ pStartPosition_ =+ Leg'+ { geometry = Prelude.Nothing,+ distance = pDistance_,+ durationSeconds = pDurationSeconds_,+ endPosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pEndPosition_,+ startPosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pStartPosition_,+ steps = Prelude.mempty+ }++-- | Contains the calculated route\'s path as a linestring geometry.+leg_geometry :: Lens.Lens' Leg (Prelude.Maybe LegGeometry)+leg_geometry = Lens.lens (\Leg' {geometry} -> geometry) (\s@Leg' {} a -> s {geometry = a} :: Leg)++-- | The distance between the leg\'s @StartPosition@ and @EndPosition@ along+-- a calculated route.+--+-- - The default measurement is @Kilometers@ unless the request specifies+-- a @DistanceUnit@ of @Miles@.+leg_distance :: Lens.Lens' Leg Prelude.Double+leg_distance = Lens.lens (\Leg' {distance} -> distance) (\s@Leg' {} a -> s {distance = a} :: Leg)++-- | The estimated travel time between the leg\'s @StartPosition@ and+-- @EndPosition@. The travel mode and departure time that you specify in+-- the request determines the calculated time.+leg_durationSeconds :: Lens.Lens' Leg Prelude.Double+leg_durationSeconds = Lens.lens (\Leg' {durationSeconds} -> durationSeconds) (\s@Leg' {} a -> s {durationSeconds = a} :: Leg)++-- | The terminating position of the leg. Follows the format+-- @[longitude,latitude]@.+--+-- If the @EndPosition@ isn\'t located on a road, it\'s+-- <https://docs.aws.amazon.com/location/latest/developerguide/nap-to-nearby-road.html snapped to a nearby road>.+leg_endPosition :: Lens.Lens' Leg (Prelude.NonEmpty Prelude.Double)+leg_endPosition = Lens.lens (\Leg' {endPosition} -> endPosition) (\s@Leg' {} a -> s {endPosition = a} :: Leg) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The starting position of the leg. Follows the format+-- @[longitude,latitude]@.+--+-- If the @StartPosition@ isn\'t located on a road, it\'s+-- <https://docs.aws.amazon.com/location/latest/developerguide/snap-to-nearby-road.html snapped to a nearby road>.+leg_startPosition :: Lens.Lens' Leg (Prelude.NonEmpty Prelude.Double)+leg_startPosition = Lens.lens (\Leg' {startPosition} -> startPosition) (\s@Leg' {} a -> s {startPosition = a} :: Leg) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | Contains a list of steps, which represent subsections of a leg. Each+-- step provides instructions for how to move to the next step in the leg+-- such as the step\'s start position, end position, travel distance,+-- travel duration, and geometry offset.+leg_steps :: Lens.Lens' Leg [Step]+leg_steps = Lens.lens (\Leg' {steps} -> steps) (\s@Leg' {} a -> s {steps = a} :: Leg) Prelude.. Lens.coerced++instance Data.FromJSON Leg where+ parseJSON =+ Data.withObject+ "Leg"+ ( \x ->+ Leg'+ Prelude.<$> (x Data..:? "Geometry")+ Prelude.<*> (x Data..: "Distance")+ Prelude.<*> (x Data..: "DurationSeconds")+ Prelude.<*> (x Data..: "EndPosition")+ Prelude.<*> (x Data..: "StartPosition")+ Prelude.<*> (x Data..:? "Steps" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Leg where+ hashWithSalt _salt Leg' {..} =+ _salt+ `Prelude.hashWithSalt` geometry+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` durationSeconds+ `Prelude.hashWithSalt` endPosition+ `Prelude.hashWithSalt` startPosition+ `Prelude.hashWithSalt` steps++instance Prelude.NFData Leg where+ rnf Leg' {..} =+ Prelude.rnf geometry+ `Prelude.seq` Prelude.rnf distance+ `Prelude.seq` Prelude.rnf durationSeconds+ `Prelude.seq` Prelude.rnf endPosition+ `Prelude.seq` Prelude.rnf startPosition+ `Prelude.seq` Prelude.rnf steps
+ gen/Amazonka/Location/Types/LegGeometry.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.Location.Types.LegGeometry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.LegGeometry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains the geometry details for each path between a pair of positions.+-- Used in plotting a route leg on a map.+--+-- /See:/ 'newLegGeometry' smart constructor.+data LegGeometry = LegGeometry'+ { -- | An ordered list of positions used to plot a route on a map.+ --+ -- The first position is closest to the start position for the leg, and the+ -- last position is the closest to the end position for the leg.+ --+ -- - For example,+ -- @[[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]@+ lineString :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double)))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LegGeometry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lineString', 'legGeometry_lineString' - An ordered list of positions used to plot a route on a map.+--+-- The first position is closest to the start position for the leg, and the+-- last position is the closest to the end position for the leg.+--+-- - For example,+-- @[[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]@+newLegGeometry ::+ LegGeometry+newLegGeometry =+ LegGeometry' {lineString = Prelude.Nothing}++-- | An ordered list of positions used to plot a route on a map.+--+-- The first position is closest to the start position for the leg, and the+-- last position is the closest to the end position for the leg.+--+-- - For example,+-- @[[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]@+legGeometry_lineString :: Lens.Lens' LegGeometry (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))+legGeometry_lineString = Lens.lens (\LegGeometry' {lineString} -> lineString) (\s@LegGeometry' {} a -> s {lineString = a} :: LegGeometry) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LegGeometry where+ parseJSON =+ Data.withObject+ "LegGeometry"+ ( \x ->+ LegGeometry' Prelude.<$> (x Data..:? "LineString")+ )++instance Prelude.Hashable LegGeometry where+ hashWithSalt _salt LegGeometry' {..} =+ _salt `Prelude.hashWithSalt` lineString++instance Prelude.NFData LegGeometry where+ rnf LegGeometry' {..} = Prelude.rnf lineString
+ gen/Amazonka/Location/Types/ListDevicePositionsResponseEntry.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.ListDevicePositionsResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListDevicePositionsResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PositionalAccuracy+import qualified Amazonka.Prelude as Prelude++-- | Contains the tracker resource details.+--+-- /See:/ 'newListDevicePositionsResponseEntry' smart constructor.+data ListDevicePositionsResponseEntry = ListDevicePositionsResponseEntry'+ { -- | The accuracy of the device position.+ accuracy :: Prelude.Maybe PositionalAccuracy,+ -- | The properties associated with the position.+ positionProperties :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The ID of the device for this position.+ deviceId :: Prelude.Text,+ -- | The last known device position. Empty if no positions currently stored.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The timestamp at which the device position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ sampleTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevicePositionsResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accuracy', 'listDevicePositionsResponseEntry_accuracy' - The accuracy of the device position.+--+-- 'positionProperties', 'listDevicePositionsResponseEntry_positionProperties' - The properties associated with the position.+--+-- 'deviceId', 'listDevicePositionsResponseEntry_deviceId' - The ID of the device for this position.+--+-- 'position', 'listDevicePositionsResponseEntry_position' - The last known device position. Empty if no positions currently stored.+--+-- 'sampleTime', 'listDevicePositionsResponseEntry_sampleTime' - The timestamp at which the device position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newListDevicePositionsResponseEntry ::+ -- | 'deviceId'+ Prelude.Text ->+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'sampleTime'+ Prelude.UTCTime ->+ ListDevicePositionsResponseEntry+newListDevicePositionsResponseEntry+ pDeviceId_+ pPosition_+ pSampleTime_ =+ ListDevicePositionsResponseEntry'+ { accuracy =+ Prelude.Nothing,+ positionProperties = Prelude.Nothing,+ deviceId = pDeviceId_,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_,+ sampleTime =+ Data._Time Lens.# pSampleTime_+ }++-- | The accuracy of the device position.+listDevicePositionsResponseEntry_accuracy :: Lens.Lens' ListDevicePositionsResponseEntry (Prelude.Maybe PositionalAccuracy)+listDevicePositionsResponseEntry_accuracy = Lens.lens (\ListDevicePositionsResponseEntry' {accuracy} -> accuracy) (\s@ListDevicePositionsResponseEntry' {} a -> s {accuracy = a} :: ListDevicePositionsResponseEntry)++-- | The properties associated with the position.+listDevicePositionsResponseEntry_positionProperties :: Lens.Lens' ListDevicePositionsResponseEntry (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listDevicePositionsResponseEntry_positionProperties = Lens.lens (\ListDevicePositionsResponseEntry' {positionProperties} -> positionProperties) (\s@ListDevicePositionsResponseEntry' {} a -> s {positionProperties = a} :: ListDevicePositionsResponseEntry) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the device for this position.+listDevicePositionsResponseEntry_deviceId :: Lens.Lens' ListDevicePositionsResponseEntry Prelude.Text+listDevicePositionsResponseEntry_deviceId = Lens.lens (\ListDevicePositionsResponseEntry' {deviceId} -> deviceId) (\s@ListDevicePositionsResponseEntry' {} a -> s {deviceId = a} :: ListDevicePositionsResponseEntry)++-- | The last known device position. Empty if no positions currently stored.+listDevicePositionsResponseEntry_position :: Lens.Lens' ListDevicePositionsResponseEntry (Prelude.NonEmpty Prelude.Double)+listDevicePositionsResponseEntry_position = Lens.lens (\ListDevicePositionsResponseEntry' {position} -> position) (\s@ListDevicePositionsResponseEntry' {} a -> s {position = a} :: ListDevicePositionsResponseEntry) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The timestamp at which the device position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listDevicePositionsResponseEntry_sampleTime :: Lens.Lens' ListDevicePositionsResponseEntry Prelude.UTCTime+listDevicePositionsResponseEntry_sampleTime = Lens.lens (\ListDevicePositionsResponseEntry' {sampleTime} -> sampleTime) (\s@ListDevicePositionsResponseEntry' {} a -> s {sampleTime = a} :: ListDevicePositionsResponseEntry) Prelude.. Data._Time++instance+ Data.FromJSON+ ListDevicePositionsResponseEntry+ where+ parseJSON =+ Data.withObject+ "ListDevicePositionsResponseEntry"+ ( \x ->+ ListDevicePositionsResponseEntry'+ Prelude.<$> (x Data..:? "Accuracy")+ Prelude.<*> ( x+ Data..:? "PositionProperties"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "DeviceId")+ Prelude.<*> (x Data..: "Position")+ Prelude.<*> (x Data..: "SampleTime")+ )++instance+ Prelude.Hashable+ ListDevicePositionsResponseEntry+ where+ hashWithSalt+ _salt+ ListDevicePositionsResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` accuracy+ `Prelude.hashWithSalt` positionProperties+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` sampleTime++instance+ Prelude.NFData+ ListDevicePositionsResponseEntry+ where+ rnf ListDevicePositionsResponseEntry' {..} =+ Prelude.rnf accuracy+ `Prelude.seq` Prelude.rnf positionProperties+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf sampleTime
+ gen/Amazonka/Location/Types/ListGeofenceCollectionsResponseEntry.hs view
@@ -0,0 +1,172 @@+{-# 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.Location.Types.ListGeofenceCollectionsResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListGeofenceCollectionsResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PricingPlan+import qualified Amazonka.Prelude as Prelude++-- | Contains the geofence collection details.+--+-- /See:/ 'newListGeofenceCollectionsResponseEntry' smart constructor.+data ListGeofenceCollectionsResponseEntry = ListGeofenceCollectionsResponseEntry'+ { -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | No longer used. Always returns an empty string.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | The name of the geofence collection.+ collectionName :: Prelude.Text,+ -- | The timestamp for when the geofence collection was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The description for the geofence collection+ description :: Prelude.Text,+ -- | Specifies a timestamp for when the resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofenceCollectionsResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'listGeofenceCollectionsResponseEntry_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'listGeofenceCollectionsResponseEntry_pricingPlanDataSource' - No longer used. Always returns an empty string.+--+-- 'collectionName', 'listGeofenceCollectionsResponseEntry_collectionName' - The name of the geofence collection.+--+-- 'createTime', 'listGeofenceCollectionsResponseEntry_createTime' - The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'description', 'listGeofenceCollectionsResponseEntry_description' - The description for the geofence collection+--+-- 'updateTime', 'listGeofenceCollectionsResponseEntry_updateTime' - Specifies a timestamp for when the resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newListGeofenceCollectionsResponseEntry ::+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'description'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListGeofenceCollectionsResponseEntry+newListGeofenceCollectionsResponseEntry+ pCollectionName_+ pCreateTime_+ pDescription_+ pUpdateTime_ =+ ListGeofenceCollectionsResponseEntry'+ { pricingPlan =+ Prelude.Nothing,+ pricingPlanDataSource =+ Prelude.Nothing,+ collectionName = pCollectionName_,+ createTime =+ Data._Time Lens.# pCreateTime_,+ description = pDescription_,+ updateTime =+ Data._Time Lens.# pUpdateTime_+ }++-- | No longer used. Always returns @RequestBasedUsage@.+listGeofenceCollectionsResponseEntry_pricingPlan :: Lens.Lens' ListGeofenceCollectionsResponseEntry (Prelude.Maybe PricingPlan)+listGeofenceCollectionsResponseEntry_pricingPlan = Lens.lens (\ListGeofenceCollectionsResponseEntry' {pricingPlan} -> pricingPlan) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {pricingPlan = a} :: ListGeofenceCollectionsResponseEntry)++-- | No longer used. Always returns an empty string.+listGeofenceCollectionsResponseEntry_pricingPlanDataSource :: Lens.Lens' ListGeofenceCollectionsResponseEntry (Prelude.Maybe Prelude.Text)+listGeofenceCollectionsResponseEntry_pricingPlanDataSource = Lens.lens (\ListGeofenceCollectionsResponseEntry' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {pricingPlanDataSource = a} :: ListGeofenceCollectionsResponseEntry)++-- | The name of the geofence collection.+listGeofenceCollectionsResponseEntry_collectionName :: Lens.Lens' ListGeofenceCollectionsResponseEntry Prelude.Text+listGeofenceCollectionsResponseEntry_collectionName = Lens.lens (\ListGeofenceCollectionsResponseEntry' {collectionName} -> collectionName) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {collectionName = a} :: ListGeofenceCollectionsResponseEntry)++-- | The timestamp for when the geofence collection was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+listGeofenceCollectionsResponseEntry_createTime :: Lens.Lens' ListGeofenceCollectionsResponseEntry Prelude.UTCTime+listGeofenceCollectionsResponseEntry_createTime = Lens.lens (\ListGeofenceCollectionsResponseEntry' {createTime} -> createTime) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {createTime = a} :: ListGeofenceCollectionsResponseEntry) Prelude.. Data._Time++-- | The description for the geofence collection+listGeofenceCollectionsResponseEntry_description :: Lens.Lens' ListGeofenceCollectionsResponseEntry Prelude.Text+listGeofenceCollectionsResponseEntry_description = Lens.lens (\ListGeofenceCollectionsResponseEntry' {description} -> description) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {description = a} :: ListGeofenceCollectionsResponseEntry)++-- | Specifies a timestamp for when the resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+listGeofenceCollectionsResponseEntry_updateTime :: Lens.Lens' ListGeofenceCollectionsResponseEntry Prelude.UTCTime+listGeofenceCollectionsResponseEntry_updateTime = Lens.lens (\ListGeofenceCollectionsResponseEntry' {updateTime} -> updateTime) (\s@ListGeofenceCollectionsResponseEntry' {} a -> s {updateTime = a} :: ListGeofenceCollectionsResponseEntry) Prelude.. Data._Time++instance+ Data.FromJSON+ ListGeofenceCollectionsResponseEntry+ where+ parseJSON =+ Data.withObject+ "ListGeofenceCollectionsResponseEntry"+ ( \x ->+ ListGeofenceCollectionsResponseEntry'+ Prelude.<$> (x Data..:? "PricingPlan")+ Prelude.<*> (x Data..:? "PricingPlanDataSource")+ Prelude.<*> (x Data..: "CollectionName")+ Prelude.<*> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "Description")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance+ Prelude.Hashable+ ListGeofenceCollectionsResponseEntry+ where+ hashWithSalt+ _salt+ ListGeofenceCollectionsResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` collectionName+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` updateTime++instance+ Prelude.NFData+ ListGeofenceCollectionsResponseEntry+ where+ rnf ListGeofenceCollectionsResponseEntry' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/ListGeofenceResponseEntry.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.ListGeofenceResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListGeofenceResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.GeofenceGeometry+import qualified Amazonka.Prelude as Prelude++-- | Contains a list of geofences stored in a given geofence collection.+--+-- /See:/ 'newListGeofenceResponseEntry' smart constructor.+data ListGeofenceResponseEntry = ListGeofenceResponseEntry'+ { -- | The timestamp for when the geofence was stored in a geofence collection+ -- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ createTime :: Data.ISO8601,+ -- | The geofence identifier.+ geofenceId :: Prelude.Text,+ -- | Contains the geofence geometry details describing a polygon or a circle.+ geometry :: GeofenceGeometry,+ -- | Identifies the state of the geofence. A geofence will hold one of the+ -- following states:+ --+ -- - @ACTIVE@ — The geofence has been indexed by the system.+ --+ -- - @PENDING@ — The geofence is being processed by the system.+ --+ -- - @FAILED@ — The geofence failed to be indexed by the system.+ --+ -- - @DELETED@ — The geofence has been deleted from the system index.+ --+ -- - @DELETING@ — The geofence is being deleted from the system index.+ status :: Prelude.Text,+ -- | The timestamp for when the geofence was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeofenceResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createTime', 'listGeofenceResponseEntry_createTime' - The timestamp for when the geofence was stored in a geofence collection+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+--+-- 'geofenceId', 'listGeofenceResponseEntry_geofenceId' - The geofence identifier.+--+-- 'geometry', 'listGeofenceResponseEntry_geometry' - Contains the geofence geometry details describing a polygon or a circle.+--+-- 'status', 'listGeofenceResponseEntry_status' - Identifies the state of the geofence. A geofence will hold one of the+-- following states:+--+-- - @ACTIVE@ — The geofence has been indexed by the system.+--+-- - @PENDING@ — The geofence is being processed by the system.+--+-- - @FAILED@ — The geofence failed to be indexed by the system.+--+-- - @DELETED@ — The geofence has been deleted from the system index.+--+-- - @DELETING@ — The geofence is being deleted from the system index.+--+-- 'updateTime', 'listGeofenceResponseEntry_updateTime' - The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newListGeofenceResponseEntry ::+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'geofenceId'+ Prelude.Text ->+ -- | 'geometry'+ GeofenceGeometry ->+ -- | 'status'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListGeofenceResponseEntry+newListGeofenceResponseEntry+ pCreateTime_+ pGeofenceId_+ pGeometry_+ pStatus_+ pUpdateTime_ =+ ListGeofenceResponseEntry'+ { createTime =+ Data._Time Lens.# pCreateTime_,+ geofenceId = pGeofenceId_,+ geometry = pGeometry_,+ status = pStatus_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The timestamp for when the geofence was stored in a geofence collection+-- in <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+listGeofenceResponseEntry_createTime :: Lens.Lens' ListGeofenceResponseEntry Prelude.UTCTime+listGeofenceResponseEntry_createTime = Lens.lens (\ListGeofenceResponseEntry' {createTime} -> createTime) (\s@ListGeofenceResponseEntry' {} a -> s {createTime = a} :: ListGeofenceResponseEntry) Prelude.. Data._Time++-- | The geofence identifier.+listGeofenceResponseEntry_geofenceId :: Lens.Lens' ListGeofenceResponseEntry Prelude.Text+listGeofenceResponseEntry_geofenceId = Lens.lens (\ListGeofenceResponseEntry' {geofenceId} -> geofenceId) (\s@ListGeofenceResponseEntry' {} a -> s {geofenceId = a} :: ListGeofenceResponseEntry)++-- | Contains the geofence geometry details describing a polygon or a circle.+listGeofenceResponseEntry_geometry :: Lens.Lens' ListGeofenceResponseEntry GeofenceGeometry+listGeofenceResponseEntry_geometry = Lens.lens (\ListGeofenceResponseEntry' {geometry} -> geometry) (\s@ListGeofenceResponseEntry' {} a -> s {geometry = a} :: ListGeofenceResponseEntry)++-- | Identifies the state of the geofence. A geofence will hold one of the+-- following states:+--+-- - @ACTIVE@ — The geofence has been indexed by the system.+--+-- - @PENDING@ — The geofence is being processed by the system.+--+-- - @FAILED@ — The geofence failed to be indexed by the system.+--+-- - @DELETED@ — The geofence has been deleted from the system index.+--+-- - @DELETING@ — The geofence is being deleted from the system index.+listGeofenceResponseEntry_status :: Lens.Lens' ListGeofenceResponseEntry Prelude.Text+listGeofenceResponseEntry_status = Lens.lens (\ListGeofenceResponseEntry' {status} -> status) (\s@ListGeofenceResponseEntry' {} a -> s {status = a} :: ListGeofenceResponseEntry)++-- | The timestamp for when the geofence was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+listGeofenceResponseEntry_updateTime :: Lens.Lens' ListGeofenceResponseEntry Prelude.UTCTime+listGeofenceResponseEntry_updateTime = Lens.lens (\ListGeofenceResponseEntry' {updateTime} -> updateTime) (\s@ListGeofenceResponseEntry' {} a -> s {updateTime = a} :: ListGeofenceResponseEntry) Prelude.. Data._Time++instance Data.FromJSON ListGeofenceResponseEntry where+ parseJSON =+ Data.withObject+ "ListGeofenceResponseEntry"+ ( \x ->+ ListGeofenceResponseEntry'+ Prelude.<$> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "GeofenceId")+ Prelude.<*> (x Data..: "Geometry")+ Prelude.<*> (x Data..: "Status")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance Prelude.Hashable ListGeofenceResponseEntry where+ hashWithSalt _salt ListGeofenceResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` geofenceId+ `Prelude.hashWithSalt` geometry+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` updateTime++instance Prelude.NFData ListGeofenceResponseEntry where+ rnf ListGeofenceResponseEntry' {..} =+ Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf geofenceId+ `Prelude.seq` Prelude.rnf geometry+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/ListMapsResponseEntry.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.Location.Types.ListMapsResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListMapsResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PricingPlan+import qualified Amazonka.Prelude as Prelude++-- | Contains details of an existing map resource in your AWS account.+--+-- /See:/ 'newListMapsResponseEntry' smart constructor.+data ListMapsResponseEntry = ListMapsResponseEntry'+ { -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The timestamp for when the map resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | Specifies the data provider for the associated map tiles.+ dataSource :: Prelude.Text,+ -- | The description for the map resource.+ description :: Prelude.Text,+ -- | The name of the associated map resource.+ mapName :: Prelude.Text,+ -- | The timestamp for when the map resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMapsResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'listMapsResponseEntry_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'createTime', 'listMapsResponseEntry_createTime' - The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'dataSource', 'listMapsResponseEntry_dataSource' - Specifies the data provider for the associated map tiles.+--+-- 'description', 'listMapsResponseEntry_description' - The description for the map resource.+--+-- 'mapName', 'listMapsResponseEntry_mapName' - The name of the associated map resource.+--+-- 'updateTime', 'listMapsResponseEntry_updateTime' - The timestamp for when the map resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newListMapsResponseEntry ::+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListMapsResponseEntry+newListMapsResponseEntry+ pCreateTime_+ pDataSource_+ pDescription_+ pMapName_+ pUpdateTime_ =+ ListMapsResponseEntry'+ { pricingPlan =+ Prelude.Nothing,+ createTime = Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ description = pDescription_,+ mapName = pMapName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | No longer used. Always returns @RequestBasedUsage@.+listMapsResponseEntry_pricingPlan :: Lens.Lens' ListMapsResponseEntry (Prelude.Maybe PricingPlan)+listMapsResponseEntry_pricingPlan = Lens.lens (\ListMapsResponseEntry' {pricingPlan} -> pricingPlan) (\s@ListMapsResponseEntry' {} a -> s {pricingPlan = a} :: ListMapsResponseEntry)++-- | The timestamp for when the map resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listMapsResponseEntry_createTime :: Lens.Lens' ListMapsResponseEntry Prelude.UTCTime+listMapsResponseEntry_createTime = Lens.lens (\ListMapsResponseEntry' {createTime} -> createTime) (\s@ListMapsResponseEntry' {} a -> s {createTime = a} :: ListMapsResponseEntry) Prelude.. Data._Time++-- | Specifies the data provider for the associated map tiles.+listMapsResponseEntry_dataSource :: Lens.Lens' ListMapsResponseEntry Prelude.Text+listMapsResponseEntry_dataSource = Lens.lens (\ListMapsResponseEntry' {dataSource} -> dataSource) (\s@ListMapsResponseEntry' {} a -> s {dataSource = a} :: ListMapsResponseEntry)++-- | The description for the map resource.+listMapsResponseEntry_description :: Lens.Lens' ListMapsResponseEntry Prelude.Text+listMapsResponseEntry_description = Lens.lens (\ListMapsResponseEntry' {description} -> description) (\s@ListMapsResponseEntry' {} a -> s {description = a} :: ListMapsResponseEntry)++-- | The name of the associated map resource.+listMapsResponseEntry_mapName :: Lens.Lens' ListMapsResponseEntry Prelude.Text+listMapsResponseEntry_mapName = Lens.lens (\ListMapsResponseEntry' {mapName} -> mapName) (\s@ListMapsResponseEntry' {} a -> s {mapName = a} :: ListMapsResponseEntry)++-- | The timestamp for when the map resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listMapsResponseEntry_updateTime :: Lens.Lens' ListMapsResponseEntry Prelude.UTCTime+listMapsResponseEntry_updateTime = Lens.lens (\ListMapsResponseEntry' {updateTime} -> updateTime) (\s@ListMapsResponseEntry' {} a -> s {updateTime = a} :: ListMapsResponseEntry) Prelude.. Data._Time++instance Data.FromJSON ListMapsResponseEntry where+ parseJSON =+ Data.withObject+ "ListMapsResponseEntry"+ ( \x ->+ ListMapsResponseEntry'+ Prelude.<$> (x Data..:? "PricingPlan")+ Prelude.<*> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Description")+ Prelude.<*> (x Data..: "MapName")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance Prelude.Hashable ListMapsResponseEntry where+ hashWithSalt _salt ListMapsResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` mapName+ `Prelude.hashWithSalt` updateTime++instance Prelude.NFData ListMapsResponseEntry where+ rnf ListMapsResponseEntry' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf mapName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/ListPlaceIndexesResponseEntry.hs view
@@ -0,0 +1,188 @@+{-# 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.Location.Types.ListPlaceIndexesResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListPlaceIndexesResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PricingPlan+import qualified Amazonka.Prelude as Prelude++-- | A place index resource listed in your AWS account.+--+-- /See:/ 'newListPlaceIndexesResponseEntry' smart constructor.+data ListPlaceIndexesResponseEntry = ListPlaceIndexesResponseEntry'+ { -- | No longer used. Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The timestamp for when the place index resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The data provider of geospatial data. Values can be one of the+ -- following:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The optional description for the place index resource.+ description :: Prelude.Text,+ -- | The name of the place index resource.+ indexName :: Prelude.Text,+ -- | The timestamp for when the place index resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlaceIndexesResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'listPlaceIndexesResponseEntry_pricingPlan' - No longer used. Always returns @RequestBasedUsage@.+--+-- 'createTime', 'listPlaceIndexesResponseEntry_createTime' - The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'dataSource', 'listPlaceIndexesResponseEntry_dataSource' - The data provider of geospatial data. Values can be one of the+-- following:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'description', 'listPlaceIndexesResponseEntry_description' - The optional description for the place index resource.+--+-- 'indexName', 'listPlaceIndexesResponseEntry_indexName' - The name of the place index resource.+--+-- 'updateTime', 'listPlaceIndexesResponseEntry_updateTime' - The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newListPlaceIndexesResponseEntry ::+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'indexName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListPlaceIndexesResponseEntry+newListPlaceIndexesResponseEntry+ pCreateTime_+ pDataSource_+ pDescription_+ pIndexName_+ pUpdateTime_ =+ ListPlaceIndexesResponseEntry'+ { pricingPlan =+ Prelude.Nothing,+ createTime = Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ description = pDescription_,+ indexName = pIndexName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | No longer used. Always returns @RequestBasedUsage@.+listPlaceIndexesResponseEntry_pricingPlan :: Lens.Lens' ListPlaceIndexesResponseEntry (Prelude.Maybe PricingPlan)+listPlaceIndexesResponseEntry_pricingPlan = Lens.lens (\ListPlaceIndexesResponseEntry' {pricingPlan} -> pricingPlan) (\s@ListPlaceIndexesResponseEntry' {} a -> s {pricingPlan = a} :: ListPlaceIndexesResponseEntry)++-- | The timestamp for when the place index resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listPlaceIndexesResponseEntry_createTime :: Lens.Lens' ListPlaceIndexesResponseEntry Prelude.UTCTime+listPlaceIndexesResponseEntry_createTime = Lens.lens (\ListPlaceIndexesResponseEntry' {createTime} -> createTime) (\s@ListPlaceIndexesResponseEntry' {} a -> s {createTime = a} :: ListPlaceIndexesResponseEntry) Prelude.. Data._Time++-- | The data provider of geospatial data. Values can be one of the+-- following:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+listPlaceIndexesResponseEntry_dataSource :: Lens.Lens' ListPlaceIndexesResponseEntry Prelude.Text+listPlaceIndexesResponseEntry_dataSource = Lens.lens (\ListPlaceIndexesResponseEntry' {dataSource} -> dataSource) (\s@ListPlaceIndexesResponseEntry' {} a -> s {dataSource = a} :: ListPlaceIndexesResponseEntry)++-- | The optional description for the place index resource.+listPlaceIndexesResponseEntry_description :: Lens.Lens' ListPlaceIndexesResponseEntry Prelude.Text+listPlaceIndexesResponseEntry_description = Lens.lens (\ListPlaceIndexesResponseEntry' {description} -> description) (\s@ListPlaceIndexesResponseEntry' {} a -> s {description = a} :: ListPlaceIndexesResponseEntry)++-- | The name of the place index resource.+listPlaceIndexesResponseEntry_indexName :: Lens.Lens' ListPlaceIndexesResponseEntry Prelude.Text+listPlaceIndexesResponseEntry_indexName = Lens.lens (\ListPlaceIndexesResponseEntry' {indexName} -> indexName) (\s@ListPlaceIndexesResponseEntry' {} a -> s {indexName = a} :: ListPlaceIndexesResponseEntry)++-- | The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listPlaceIndexesResponseEntry_updateTime :: Lens.Lens' ListPlaceIndexesResponseEntry Prelude.UTCTime+listPlaceIndexesResponseEntry_updateTime = Lens.lens (\ListPlaceIndexesResponseEntry' {updateTime} -> updateTime) (\s@ListPlaceIndexesResponseEntry' {} a -> s {updateTime = a} :: ListPlaceIndexesResponseEntry) Prelude.. Data._Time++instance Data.FromJSON ListPlaceIndexesResponseEntry where+ parseJSON =+ Data.withObject+ "ListPlaceIndexesResponseEntry"+ ( \x ->+ ListPlaceIndexesResponseEntry'+ Prelude.<$> (x Data..:? "PricingPlan")+ Prelude.<*> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Description")+ Prelude.<*> (x Data..: "IndexName")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance+ Prelude.Hashable+ ListPlaceIndexesResponseEntry+ where+ hashWithSalt _salt ListPlaceIndexesResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` indexName+ `Prelude.hashWithSalt` updateTime++instance Prelude.NFData ListPlaceIndexesResponseEntry where+ rnf ListPlaceIndexesResponseEntry' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/ListRouteCalculatorsResponseEntry.hs view
@@ -0,0 +1,210 @@+{-# 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.Location.Types.ListRouteCalculatorsResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListRouteCalculatorsResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PricingPlan+import qualified Amazonka.Prelude as Prelude++-- | A route calculator resource listed in your AWS account.+--+-- /See:/ 'newListRouteCalculatorsResponseEntry' smart constructor.+data ListRouteCalculatorsResponseEntry = ListRouteCalculatorsResponseEntry'+ { -- | Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The name of the route calculator resource.+ calculatorName :: Prelude.Text,+ -- | The timestamp when the route calculator resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ --+ -- - For example, @2020–07-2T12:15:20.000Z+01:00@+ createTime :: Data.ISO8601,+ -- | The data provider of traffic and road network data. Indicates one of the+ -- available providers:+ --+ -- - @Esri@+ --+ -- - @Here@+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The optional description of the route calculator resource.+ description :: Prelude.Text,+ -- | The timestamp when the route calculator resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ --+ -- - For example, @2020–07-2T12:15:20.000Z+01:00@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRouteCalculatorsResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'listRouteCalculatorsResponseEntry_pricingPlan' - Always returns @RequestBasedUsage@.+--+-- 'calculatorName', 'listRouteCalculatorsResponseEntry_calculatorName' - The name of the route calculator resource.+--+-- 'createTime', 'listRouteCalculatorsResponseEntry_createTime' - The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+--+-- 'dataSource', 'listRouteCalculatorsResponseEntry_dataSource' - The data provider of traffic and road network data. Indicates one of the+-- available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'description', 'listRouteCalculatorsResponseEntry_description' - The optional description of the route calculator resource.+--+-- 'updateTime', 'listRouteCalculatorsResponseEntry_updateTime' - The timestamp when the route calculator resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+newListRouteCalculatorsResponseEntry ::+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'description'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListRouteCalculatorsResponseEntry+newListRouteCalculatorsResponseEntry+ pCalculatorName_+ pCreateTime_+ pDataSource_+ pDescription_+ pUpdateTime_ =+ ListRouteCalculatorsResponseEntry'+ { pricingPlan =+ Prelude.Nothing,+ calculatorName = pCalculatorName_,+ createTime =+ Data._Time Lens.# pCreateTime_,+ dataSource = pDataSource_,+ description = pDescription_,+ updateTime =+ Data._Time Lens.# pUpdateTime_+ }++-- | Always returns @RequestBasedUsage@.+listRouteCalculatorsResponseEntry_pricingPlan :: Lens.Lens' ListRouteCalculatorsResponseEntry (Prelude.Maybe PricingPlan)+listRouteCalculatorsResponseEntry_pricingPlan = Lens.lens (\ListRouteCalculatorsResponseEntry' {pricingPlan} -> pricingPlan) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {pricingPlan = a} :: ListRouteCalculatorsResponseEntry)++-- | The name of the route calculator resource.+listRouteCalculatorsResponseEntry_calculatorName :: Lens.Lens' ListRouteCalculatorsResponseEntry Prelude.Text+listRouteCalculatorsResponseEntry_calculatorName = Lens.lens (\ListRouteCalculatorsResponseEntry' {calculatorName} -> calculatorName) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {calculatorName = a} :: ListRouteCalculatorsResponseEntry)++-- | The timestamp when the route calculator resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+listRouteCalculatorsResponseEntry_createTime :: Lens.Lens' ListRouteCalculatorsResponseEntry Prelude.UTCTime+listRouteCalculatorsResponseEntry_createTime = Lens.lens (\ListRouteCalculatorsResponseEntry' {createTime} -> createTime) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {createTime = a} :: ListRouteCalculatorsResponseEntry) Prelude.. Data._Time++-- | The data provider of traffic and road network data. Indicates one of the+-- available providers:+--+-- - @Esri@+--+-- - @Here@+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+listRouteCalculatorsResponseEntry_dataSource :: Lens.Lens' ListRouteCalculatorsResponseEntry Prelude.Text+listRouteCalculatorsResponseEntry_dataSource = Lens.lens (\ListRouteCalculatorsResponseEntry' {dataSource} -> dataSource) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {dataSource = a} :: ListRouteCalculatorsResponseEntry)++-- | The optional description of the route calculator resource.+listRouteCalculatorsResponseEntry_description :: Lens.Lens' ListRouteCalculatorsResponseEntry Prelude.Text+listRouteCalculatorsResponseEntry_description = Lens.lens (\ListRouteCalculatorsResponseEntry' {description} -> description) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {description = a} :: ListRouteCalculatorsResponseEntry)++-- | The timestamp when the route calculator resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- - For example, @2020–07-2T12:15:20.000Z+01:00@+listRouteCalculatorsResponseEntry_updateTime :: Lens.Lens' ListRouteCalculatorsResponseEntry Prelude.UTCTime+listRouteCalculatorsResponseEntry_updateTime = Lens.lens (\ListRouteCalculatorsResponseEntry' {updateTime} -> updateTime) (\s@ListRouteCalculatorsResponseEntry' {} a -> s {updateTime = a} :: ListRouteCalculatorsResponseEntry) Prelude.. Data._Time++instance+ Data.FromJSON+ ListRouteCalculatorsResponseEntry+ where+ parseJSON =+ Data.withObject+ "ListRouteCalculatorsResponseEntry"+ ( \x ->+ ListRouteCalculatorsResponseEntry'+ Prelude.<$> (x Data..:? "PricingPlan")+ Prelude.<*> (x Data..: "CalculatorName")+ Prelude.<*> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Description")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance+ Prelude.Hashable+ ListRouteCalculatorsResponseEntry+ where+ hashWithSalt+ _salt+ ListRouteCalculatorsResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` calculatorName+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` updateTime++instance+ Prelude.NFData+ ListRouteCalculatorsResponseEntry+ where+ rnf ListRouteCalculatorsResponseEntry' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/ListTrackersResponseEntry.hs view
@@ -0,0 +1,158 @@+{-# 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.Location.Types.ListTrackersResponseEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.ListTrackersResponseEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PricingPlan+import qualified Amazonka.Prelude as Prelude++-- | Contains the tracker resource details.+--+-- /See:/ 'newListTrackersResponseEntry' smart constructor.+data ListTrackersResponseEntry = ListTrackersResponseEntry'+ { -- | Always returns @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | No longer used. Always returns an empty string.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | The timestamp for when the tracker resource was created in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ createTime :: Data.ISO8601,+ -- | The description for the tracker resource.+ description :: Prelude.Text,+ -- | The name of the tracker resource.+ trackerName :: Prelude.Text,+ -- | The timestamp at which the device\'s position was determined. Uses+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTrackersResponseEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pricingPlan', 'listTrackersResponseEntry_pricingPlan' - Always returns @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'listTrackersResponseEntry_pricingPlanDataSource' - No longer used. Always returns an empty string.+--+-- 'createTime', 'listTrackersResponseEntry_createTime' - The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+--+-- 'description', 'listTrackersResponseEntry_description' - The description for the tracker resource.+--+-- 'trackerName', 'listTrackersResponseEntry_trackerName' - The name of the tracker resource.+--+-- 'updateTime', 'listTrackersResponseEntry_updateTime' - The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newListTrackersResponseEntry ::+ -- | 'createTime'+ Prelude.UTCTime ->+ -- | 'description'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ ListTrackersResponseEntry+newListTrackersResponseEntry+ pCreateTime_+ pDescription_+ pTrackerName_+ pUpdateTime_ =+ ListTrackersResponseEntry'+ { pricingPlan =+ Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ createTime = Data._Time Lens.# pCreateTime_,+ description = pDescription_,+ trackerName = pTrackerName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | Always returns @RequestBasedUsage@.+listTrackersResponseEntry_pricingPlan :: Lens.Lens' ListTrackersResponseEntry (Prelude.Maybe PricingPlan)+listTrackersResponseEntry_pricingPlan = Lens.lens (\ListTrackersResponseEntry' {pricingPlan} -> pricingPlan) (\s@ListTrackersResponseEntry' {} a -> s {pricingPlan = a} :: ListTrackersResponseEntry)++-- | No longer used. Always returns an empty string.+listTrackersResponseEntry_pricingPlanDataSource :: Lens.Lens' ListTrackersResponseEntry (Prelude.Maybe Prelude.Text)+listTrackersResponseEntry_pricingPlanDataSource = Lens.lens (\ListTrackersResponseEntry' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@ListTrackersResponseEntry' {} a -> s {pricingPlanDataSource = a} :: ListTrackersResponseEntry)++-- | The timestamp for when the tracker resource was created in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listTrackersResponseEntry_createTime :: Lens.Lens' ListTrackersResponseEntry Prelude.UTCTime+listTrackersResponseEntry_createTime = Lens.lens (\ListTrackersResponseEntry' {createTime} -> createTime) (\s@ListTrackersResponseEntry' {} a -> s {createTime = a} :: ListTrackersResponseEntry) Prelude.. Data._Time++-- | The description for the tracker resource.+listTrackersResponseEntry_description :: Lens.Lens' ListTrackersResponseEntry Prelude.Text+listTrackersResponseEntry_description = Lens.lens (\ListTrackersResponseEntry' {description} -> description) (\s@ListTrackersResponseEntry' {} a -> s {description = a} :: ListTrackersResponseEntry)++-- | The name of the tracker resource.+listTrackersResponseEntry_trackerName :: Lens.Lens' ListTrackersResponseEntry Prelude.Text+listTrackersResponseEntry_trackerName = Lens.lens (\ListTrackersResponseEntry' {trackerName} -> trackerName) (\s@ListTrackersResponseEntry' {} a -> s {trackerName = a} :: ListTrackersResponseEntry)++-- | The timestamp at which the device\'s position was determined. Uses+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+listTrackersResponseEntry_updateTime :: Lens.Lens' ListTrackersResponseEntry Prelude.UTCTime+listTrackersResponseEntry_updateTime = Lens.lens (\ListTrackersResponseEntry' {updateTime} -> updateTime) (\s@ListTrackersResponseEntry' {} a -> s {updateTime = a} :: ListTrackersResponseEntry) Prelude.. Data._Time++instance Data.FromJSON ListTrackersResponseEntry where+ parseJSON =+ Data.withObject+ "ListTrackersResponseEntry"+ ( \x ->+ ListTrackersResponseEntry'+ Prelude.<$> (x Data..:? "PricingPlan")+ Prelude.<*> (x Data..:? "PricingPlanDataSource")+ Prelude.<*> (x Data..: "CreateTime")+ Prelude.<*> (x Data..: "Description")+ Prelude.<*> (x Data..: "TrackerName")+ Prelude.<*> (x Data..: "UpdateTime")+ )++instance Prelude.Hashable ListTrackersResponseEntry where+ hashWithSalt _salt ListTrackersResponseEntry' {..} =+ _salt+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` createTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` trackerName+ `Prelude.hashWithSalt` updateTime++instance Prelude.NFData ListTrackersResponseEntry where+ rnf ListTrackersResponseEntry' {..} =+ Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf createTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf trackerName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/Types/MapConfiguration.hs view
@@ -0,0 +1,313 @@+{-# 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.Location.Types.MapConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.MapConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the map tile style selected from an available provider.+--+-- /See:/ 'newMapConfiguration' smart constructor.+data MapConfiguration = MapConfiguration'+ { -- | Specifies the map style selected from an available data provider.+ --+ -- Valid+ -- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri map styles>:+ --+ -- - @VectorEsriDarkGrayCanvas@ – The Esri Dark Gray Canvas map style. A+ -- vector basemap with a dark gray, neutral background with minimal+ -- colors, labels, and features that\'s designed to draw attention to+ -- your thematic content.+ --+ -- - @RasterEsriImagery@ – The Esri Imagery map style. A raster basemap+ -- that provides one meter or better satellite and aerial imagery in+ -- many parts of the world and lower resolution satellite imagery+ -- worldwide.+ --+ -- - @VectorEsriLightGrayCanvas@ – The Esri Light Gray Canvas map style,+ -- which provides a detailed vector basemap with a light gray, neutral+ -- background style with minimal colors, labels, and features that\'s+ -- designed to draw attention to your thematic content.+ --+ -- - @VectorEsriTopographic@ – The Esri Light map style, which provides a+ -- detailed vector basemap with a classic Esri map style.+ --+ -- - @VectorEsriStreets@ – The Esri World Streets map style, which+ -- provides a detailed vector basemap for the world symbolized with a+ -- classic Esri street map style. The vector tile layer is similar in+ -- content and style to the World Street Map raster map.+ --+ -- - @VectorEsriNavigation@ – The Esri World Navigation map style, which+ -- provides a detailed basemap for the world symbolized with a custom+ -- navigation map style that\'s designed for use during the day in+ -- mobile devices.+ --+ -- Valid+ -- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies map styles>:+ --+ -- - @VectorHereContrast@ – The HERE Contrast (Berlin) map style is a+ -- high contrast detailed base map of the world that blends 3D and 2D+ -- rendering.+ --+ -- The @VectorHereContrast@ style has been renamed from+ -- @VectorHereBerlin@. @VectorHereBerlin@ has been deprecated, but will+ -- continue to work in applications that use it.+ --+ -- - @VectorHereExplore@ – A default HERE map style containing a neutral,+ -- global map and its features including roads, buildings, landmarks,+ -- and water features. It also now includes a fully designed map of+ -- Japan.+ --+ -- - @VectorHereExploreTruck@ – A global map containing truck+ -- restrictions and attributes (e.g. width \/ height \/ HAZMAT)+ -- symbolized with highlighted segments and icons on top of HERE+ -- Explore to support use cases within transport and logistics.+ --+ -- - @RasterHereExploreSatellite@ – A global map containing high+ -- resolution satellite imagery.+ --+ -- - @HybridHereExploreSatellite@ – A global map displaying the road+ -- network, street names, and city labels over satellite imagery. This+ -- style will automatically retrieve both raster and vector tiles, and+ -- your charges will be based on total tiles retrieved.+ --+ -- Hybrid styles use both vector and raster tiles when rendering the+ -- map that you see. This means that more tiles are retrieved than when+ -- using either vector or raster tiles alone. Your charges will include+ -- all tiles retrieved.+ --+ -- Valid+ -- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview) map styles>:+ --+ -- - @VectorOpenDataStandardLight@ – The Open Data Standard Light+ -- (preview) map style provides a detailed basemap for the world+ -- suitable for website and mobile application use. The map includes+ -- highways major roads, minor roads, railways, water features, cities,+ -- parks, landmarks, building footprints, and administrative+ -- boundaries.+ --+ -- Open Data maps is in preview. We may add, change, or remove features+ -- before announcing general availability. For more information, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html#open-data-preview Open Data is in preview release>.+ style :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MapConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'style', 'mapConfiguration_style' - Specifies the map style selected from an available data provider.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri map styles>:+--+-- - @VectorEsriDarkGrayCanvas@ – The Esri Dark Gray Canvas map style. A+-- vector basemap with a dark gray, neutral background with minimal+-- colors, labels, and features that\'s designed to draw attention to+-- your thematic content.+--+-- - @RasterEsriImagery@ – The Esri Imagery map style. A raster basemap+-- that provides one meter or better satellite and aerial imagery in+-- many parts of the world and lower resolution satellite imagery+-- worldwide.+--+-- - @VectorEsriLightGrayCanvas@ – The Esri Light Gray Canvas map style,+-- which provides a detailed vector basemap with a light gray, neutral+-- background style with minimal colors, labels, and features that\'s+-- designed to draw attention to your thematic content.+--+-- - @VectorEsriTopographic@ – The Esri Light map style, which provides a+-- detailed vector basemap with a classic Esri map style.+--+-- - @VectorEsriStreets@ – The Esri World Streets map style, which+-- provides a detailed vector basemap for the world symbolized with a+-- classic Esri street map style. The vector tile layer is similar in+-- content and style to the World Street Map raster map.+--+-- - @VectorEsriNavigation@ – The Esri World Navigation map style, which+-- provides a detailed basemap for the world symbolized with a custom+-- navigation map style that\'s designed for use during the day in+-- mobile devices.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies map styles>:+--+-- - @VectorHereContrast@ – The HERE Contrast (Berlin) map style is a+-- high contrast detailed base map of the world that blends 3D and 2D+-- rendering.+--+-- The @VectorHereContrast@ style has been renamed from+-- @VectorHereBerlin@. @VectorHereBerlin@ has been deprecated, but will+-- continue to work in applications that use it.+--+-- - @VectorHereExplore@ – A default HERE map style containing a neutral,+-- global map and its features including roads, buildings, landmarks,+-- and water features. It also now includes a fully designed map of+-- Japan.+--+-- - @VectorHereExploreTruck@ – A global map containing truck+-- restrictions and attributes (e.g. width \/ height \/ HAZMAT)+-- symbolized with highlighted segments and icons on top of HERE+-- Explore to support use cases within transport and logistics.+--+-- - @RasterHereExploreSatellite@ – A global map containing high+-- resolution satellite imagery.+--+-- - @HybridHereExploreSatellite@ – A global map displaying the road+-- network, street names, and city labels over satellite imagery. This+-- style will automatically retrieve both raster and vector tiles, and+-- your charges will be based on total tiles retrieved.+--+-- Hybrid styles use both vector and raster tiles when rendering the+-- map that you see. This means that more tiles are retrieved than when+-- using either vector or raster tiles alone. Your charges will include+-- all tiles retrieved.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview) map styles>:+--+-- - @VectorOpenDataStandardLight@ – The Open Data Standard Light+-- (preview) map style provides a detailed basemap for the world+-- suitable for website and mobile application use. The map includes+-- highways major roads, minor roads, railways, water features, cities,+-- parks, landmarks, building footprints, and administrative+-- boundaries.+--+-- Open Data maps is in preview. We may add, change, or remove features+-- before announcing general availability. For more information, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html#open-data-preview Open Data is in preview release>.+newMapConfiguration ::+ -- | 'style'+ Prelude.Text ->+ MapConfiguration+newMapConfiguration pStyle_ =+ MapConfiguration' {style = pStyle_}++-- | Specifies the map style selected from an available data provider.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/esri.html Esri map styles>:+--+-- - @VectorEsriDarkGrayCanvas@ – The Esri Dark Gray Canvas map style. A+-- vector basemap with a dark gray, neutral background with minimal+-- colors, labels, and features that\'s designed to draw attention to+-- your thematic content.+--+-- - @RasterEsriImagery@ – The Esri Imagery map style. A raster basemap+-- that provides one meter or better satellite and aerial imagery in+-- many parts of the world and lower resolution satellite imagery+-- worldwide.+--+-- - @VectorEsriLightGrayCanvas@ – The Esri Light Gray Canvas map style,+-- which provides a detailed vector basemap with a light gray, neutral+-- background style with minimal colors, labels, and features that\'s+-- designed to draw attention to your thematic content.+--+-- - @VectorEsriTopographic@ – The Esri Light map style, which provides a+-- detailed vector basemap with a classic Esri map style.+--+-- - @VectorEsriStreets@ – The Esri World Streets map style, which+-- provides a detailed vector basemap for the world symbolized with a+-- classic Esri street map style. The vector tile layer is similar in+-- content and style to the World Street Map raster map.+--+-- - @VectorEsriNavigation@ – The Esri World Navigation map style, which+-- provides a detailed basemap for the world symbolized with a custom+-- navigation map style that\'s designed for use during the day in+-- mobile devices.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/HERE.html HERE Technologies map styles>:+--+-- - @VectorHereContrast@ – The HERE Contrast (Berlin) map style is a+-- high contrast detailed base map of the world that blends 3D and 2D+-- rendering.+--+-- The @VectorHereContrast@ style has been renamed from+-- @VectorHereBerlin@. @VectorHereBerlin@ has been deprecated, but will+-- continue to work in applications that use it.+--+-- - @VectorHereExplore@ – A default HERE map style containing a neutral,+-- global map and its features including roads, buildings, landmarks,+-- and water features. It also now includes a fully designed map of+-- Japan.+--+-- - @VectorHereExploreTruck@ – A global map containing truck+-- restrictions and attributes (e.g. width \/ height \/ HAZMAT)+-- symbolized with highlighted segments and icons on top of HERE+-- Explore to support use cases within transport and logistics.+--+-- - @RasterHereExploreSatellite@ – A global map containing high+-- resolution satellite imagery.+--+-- - @HybridHereExploreSatellite@ – A global map displaying the road+-- network, street names, and city labels over satellite imagery. This+-- style will automatically retrieve both raster and vector tiles, and+-- your charges will be based on total tiles retrieved.+--+-- Hybrid styles use both vector and raster tiles when rendering the+-- map that you see. This means that more tiles are retrieved than when+-- using either vector or raster tiles alone. Your charges will include+-- all tiles retrieved.+--+-- Valid+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html Open Data (Preview) map styles>:+--+-- - @VectorOpenDataStandardLight@ – The Open Data Standard Light+-- (preview) map style provides a detailed basemap for the world+-- suitable for website and mobile application use. The map includes+-- highways major roads, minor roads, railways, water features, cities,+-- parks, landmarks, building footprints, and administrative+-- boundaries.+--+-- Open Data maps is in preview. We may add, change, or remove features+-- before announcing general availability. For more information, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/open-data.html#open-data-preview Open Data is in preview release>.+mapConfiguration_style :: Lens.Lens' MapConfiguration Prelude.Text+mapConfiguration_style = Lens.lens (\MapConfiguration' {style} -> style) (\s@MapConfiguration' {} a -> s {style = a} :: MapConfiguration)++instance Data.FromJSON MapConfiguration where+ parseJSON =+ Data.withObject+ "MapConfiguration"+ ( \x ->+ MapConfiguration' Prelude.<$> (x Data..: "Style")+ )++instance Prelude.Hashable MapConfiguration where+ hashWithSalt _salt MapConfiguration' {..} =+ _salt `Prelude.hashWithSalt` style++instance Prelude.NFData MapConfiguration where+ rnf MapConfiguration' {..} = Prelude.rnf style++instance Data.ToJSON MapConfiguration where+ toJSON MapConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Style" Data..= style)]+ )
+ gen/Amazonka/Location/Types/Place.hs view
@@ -0,0 +1,304 @@+{-# 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.Location.Types.Place+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.Place where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.PlaceGeometry+import Amazonka.Location.Types.TimeZone+import qualified Amazonka.Prelude as Prelude++-- | Contains details about addresses or points of interest that match the+-- search criteria.+--+-- Not all details are included with all responses. Some details may only+-- be returned by specific data partners.+--+-- /See:/ 'newPlace' smart constructor.+data Place = Place'+ { -- | The numerical portion of an address, such as a building number.+ addressNumber :: Prelude.Maybe Prelude.Text,+ -- | A country\/region specified using+ -- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+ -- country\/region code. For example, @CAN@.+ country :: Prelude.Maybe Prelude.Text,+ -- | @True@ if the result is interpolated from other known places.+ --+ -- @False@ if the Place is a known place.+ --+ -- Not returned when the partner does not provide the information.+ --+ -- For example, returns @False@ for an address location that is found in+ -- the partner data, but returns @True@ if an address does not exist in the+ -- partner data and its location is calculated by interpolating between+ -- other known addresses.+ interpolated :: Prelude.Maybe Prelude.Bool,+ -- | The full name and address of the point of interest such as a city,+ -- region, or country. For example, @123 Any Street, Any Town, USA@.+ label :: Prelude.Maybe Prelude.Text,+ -- | A name for a local area, such as a city or town name. For example,+ -- @Toronto@.+ municipality :: Prelude.Maybe Prelude.Text,+ -- | The name of a community district. For example, @Downtown@.+ neighborhood :: Prelude.Maybe Prelude.Text,+ -- | A group of numbers and letters in a country-specific format, which+ -- accompanies the address for the purpose of identifying a location.+ postalCode :: Prelude.Maybe Prelude.Text,+ -- | A name for an area or geographical division, such as a province or state+ -- name. For example, @British Columbia@.+ region :: Prelude.Maybe Prelude.Text,+ -- | The name for a street or a road to identify a location. For example,+ -- @Main Street@.+ street :: Prelude.Maybe Prelude.Text,+ -- | A country, or an area that\'s part of a larger region. For example,+ -- @Metro Vancouver@.+ subRegion :: Prelude.Maybe Prelude.Text,+ -- | The time zone in which the @Place@ is located. Returned only when using+ -- HERE as the selected partner.+ timeZone :: Prelude.Maybe TimeZone,+ -- | For addresses with multiple units, the unit identifier. Can include+ -- numbers and letters, for example @3B@ or @Unit 123@.+ --+ -- Returned only for a place index that uses Esri as a data provider. Is+ -- not returned for @SearchPlaceIndexForPosition@.+ unitNumber :: Prelude.Maybe Prelude.Text,+ -- | For addresses with a @UnitNumber@, the type of unit. For example,+ -- @Apartment@.+ unitType :: Prelude.Maybe Prelude.Text,+ geometry :: PlaceGeometry+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Place' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addressNumber', 'place_addressNumber' - The numerical portion of an address, such as a building number.+--+-- 'country', 'place_country' - A country\/region specified using+-- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+-- country\/region code. For example, @CAN@.+--+-- 'interpolated', 'place_interpolated' - @True@ if the result is interpolated from other known places.+--+-- @False@ if the Place is a known place.+--+-- Not returned when the partner does not provide the information.+--+-- For example, returns @False@ for an address location that is found in+-- the partner data, but returns @True@ if an address does not exist in the+-- partner data and its location is calculated by interpolating between+-- other known addresses.+--+-- 'label', 'place_label' - The full name and address of the point of interest such as a city,+-- region, or country. For example, @123 Any Street, Any Town, USA@.+--+-- 'municipality', 'place_municipality' - A name for a local area, such as a city or town name. For example,+-- @Toronto@.+--+-- 'neighborhood', 'place_neighborhood' - The name of a community district. For example, @Downtown@.+--+-- 'postalCode', 'place_postalCode' - A group of numbers and letters in a country-specific format, which+-- accompanies the address for the purpose of identifying a location.+--+-- 'region', 'place_region' - A name for an area or geographical division, such as a province or state+-- name. For example, @British Columbia@.+--+-- 'street', 'place_street' - The name for a street or a road to identify a location. For example,+-- @Main Street@.+--+-- 'subRegion', 'place_subRegion' - A country, or an area that\'s part of a larger region. For example,+-- @Metro Vancouver@.+--+-- 'timeZone', 'place_timeZone' - The time zone in which the @Place@ is located. Returned only when using+-- HERE as the selected partner.+--+-- 'unitNumber', 'place_unitNumber' - For addresses with multiple units, the unit identifier. Can include+-- numbers and letters, for example @3B@ or @Unit 123@.+--+-- Returned only for a place index that uses Esri as a data provider. Is+-- not returned for @SearchPlaceIndexForPosition@.+--+-- 'unitType', 'place_unitType' - For addresses with a @UnitNumber@, the type of unit. For example,+-- @Apartment@.+--+-- 'geometry', 'place_geometry' - Undocumented member.+newPlace ::+ -- | 'geometry'+ PlaceGeometry ->+ Place+newPlace pGeometry_ =+ Place'+ { addressNumber = Prelude.Nothing,+ country = Prelude.Nothing,+ interpolated = Prelude.Nothing,+ label = Prelude.Nothing,+ municipality = Prelude.Nothing,+ neighborhood = Prelude.Nothing,+ postalCode = Prelude.Nothing,+ region = Prelude.Nothing,+ street = Prelude.Nothing,+ subRegion = Prelude.Nothing,+ timeZone = Prelude.Nothing,+ unitNumber = Prelude.Nothing,+ unitType = Prelude.Nothing,+ geometry = pGeometry_+ }++-- | The numerical portion of an address, such as a building number.+place_addressNumber :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_addressNumber = Lens.lens (\Place' {addressNumber} -> addressNumber) (\s@Place' {} a -> s {addressNumber = a} :: Place)++-- | A country\/region specified using+-- <https://www.iso.org/iso-3166-country-codes.html ISO 3166> 3-digit+-- country\/region code. For example, @CAN@.+place_country :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_country = Lens.lens (\Place' {country} -> country) (\s@Place' {} a -> s {country = a} :: Place)++-- | @True@ if the result is interpolated from other known places.+--+-- @False@ if the Place is a known place.+--+-- Not returned when the partner does not provide the information.+--+-- For example, returns @False@ for an address location that is found in+-- the partner data, but returns @True@ if an address does not exist in the+-- partner data and its location is calculated by interpolating between+-- other known addresses.+place_interpolated :: Lens.Lens' Place (Prelude.Maybe Prelude.Bool)+place_interpolated = Lens.lens (\Place' {interpolated} -> interpolated) (\s@Place' {} a -> s {interpolated = a} :: Place)++-- | The full name and address of the point of interest such as a city,+-- region, or country. For example, @123 Any Street, Any Town, USA@.+place_label :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_label = Lens.lens (\Place' {label} -> label) (\s@Place' {} a -> s {label = a} :: Place)++-- | A name for a local area, such as a city or town name. For example,+-- @Toronto@.+place_municipality :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_municipality = Lens.lens (\Place' {municipality} -> municipality) (\s@Place' {} a -> s {municipality = a} :: Place)++-- | The name of a community district. For example, @Downtown@.+place_neighborhood :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_neighborhood = Lens.lens (\Place' {neighborhood} -> neighborhood) (\s@Place' {} a -> s {neighborhood = a} :: Place)++-- | A group of numbers and letters in a country-specific format, which+-- accompanies the address for the purpose of identifying a location.+place_postalCode :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_postalCode = Lens.lens (\Place' {postalCode} -> postalCode) (\s@Place' {} a -> s {postalCode = a} :: Place)++-- | A name for an area or geographical division, such as a province or state+-- name. For example, @British Columbia@.+place_region :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_region = Lens.lens (\Place' {region} -> region) (\s@Place' {} a -> s {region = a} :: Place)++-- | The name for a street or a road to identify a location. For example,+-- @Main Street@.+place_street :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_street = Lens.lens (\Place' {street} -> street) (\s@Place' {} a -> s {street = a} :: Place)++-- | A country, or an area that\'s part of a larger region. For example,+-- @Metro Vancouver@.+place_subRegion :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_subRegion = Lens.lens (\Place' {subRegion} -> subRegion) (\s@Place' {} a -> s {subRegion = a} :: Place)++-- | The time zone in which the @Place@ is located. Returned only when using+-- HERE as the selected partner.+place_timeZone :: Lens.Lens' Place (Prelude.Maybe TimeZone)+place_timeZone = Lens.lens (\Place' {timeZone} -> timeZone) (\s@Place' {} a -> s {timeZone = a} :: Place)++-- | For addresses with multiple units, the unit identifier. Can include+-- numbers and letters, for example @3B@ or @Unit 123@.+--+-- Returned only for a place index that uses Esri as a data provider. Is+-- not returned for @SearchPlaceIndexForPosition@.+place_unitNumber :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_unitNumber = Lens.lens (\Place' {unitNumber} -> unitNumber) (\s@Place' {} a -> s {unitNumber = a} :: Place)++-- | For addresses with a @UnitNumber@, the type of unit. For example,+-- @Apartment@.+place_unitType :: Lens.Lens' Place (Prelude.Maybe Prelude.Text)+place_unitType = Lens.lens (\Place' {unitType} -> unitType) (\s@Place' {} a -> s {unitType = a} :: Place)++-- | Undocumented member.+place_geometry :: Lens.Lens' Place PlaceGeometry+place_geometry = Lens.lens (\Place' {geometry} -> geometry) (\s@Place' {} a -> s {geometry = a} :: Place)++instance Data.FromJSON Place where+ parseJSON =+ Data.withObject+ "Place"+ ( \x ->+ Place'+ Prelude.<$> (x Data..:? "AddressNumber")+ Prelude.<*> (x Data..:? "Country")+ Prelude.<*> (x Data..:? "Interpolated")+ Prelude.<*> (x Data..:? "Label")+ Prelude.<*> (x Data..:? "Municipality")+ Prelude.<*> (x Data..:? "Neighborhood")+ Prelude.<*> (x Data..:? "PostalCode")+ Prelude.<*> (x Data..:? "Region")+ Prelude.<*> (x Data..:? "Street")+ Prelude.<*> (x Data..:? "SubRegion")+ Prelude.<*> (x Data..:? "TimeZone")+ Prelude.<*> (x Data..:? "UnitNumber")+ Prelude.<*> (x Data..:? "UnitType")+ Prelude.<*> (x Data..: "Geometry")+ )++instance Prelude.Hashable Place where+ hashWithSalt _salt Place' {..} =+ _salt+ `Prelude.hashWithSalt` addressNumber+ `Prelude.hashWithSalt` country+ `Prelude.hashWithSalt` interpolated+ `Prelude.hashWithSalt` label+ `Prelude.hashWithSalt` municipality+ `Prelude.hashWithSalt` neighborhood+ `Prelude.hashWithSalt` postalCode+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` street+ `Prelude.hashWithSalt` subRegion+ `Prelude.hashWithSalt` timeZone+ `Prelude.hashWithSalt` unitNumber+ `Prelude.hashWithSalt` unitType+ `Prelude.hashWithSalt` geometry++instance Prelude.NFData Place where+ rnf Place' {..} =+ Prelude.rnf addressNumber+ `Prelude.seq` Prelude.rnf country+ `Prelude.seq` Prelude.rnf interpolated+ `Prelude.seq` Prelude.rnf label+ `Prelude.seq` Prelude.rnf municipality+ `Prelude.seq` Prelude.rnf neighborhood+ `Prelude.seq` Prelude.rnf postalCode+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf street+ `Prelude.seq` Prelude.rnf subRegion+ `Prelude.seq` Prelude.rnf timeZone+ `Prelude.seq` Prelude.rnf unitNumber+ `Prelude.seq` Prelude.rnf unitType+ `Prelude.seq` Prelude.rnf geometry
+ gen/Amazonka/Location/Types/PlaceGeometry.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.PlaceGeometry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.PlaceGeometry 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++-- | Places uses a point geometry to specify a location or a Place.+--+-- /See:/ 'newPlaceGeometry' smart constructor.+data PlaceGeometry = PlaceGeometry'+ { -- | A single point geometry specifies a location for a Place using+ -- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+ -- coordinates:+ --+ -- - /x/ — Specifies the x coordinate or longitude.+ --+ -- - /y/ — Specifies the y coordinate or latitude.+ point :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double))+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlaceGeometry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'point', 'placeGeometry_point' - A single point geometry specifies a location for a Place using+-- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+-- coordinates:+--+-- - /x/ — Specifies the x coordinate or longitude.+--+-- - /y/ — Specifies the y coordinate or latitude.+newPlaceGeometry ::+ PlaceGeometry+newPlaceGeometry =+ PlaceGeometry' {point = Prelude.Nothing}++-- | A single point geometry specifies a location for a Place using+-- <https://gisgeography.com/wgs84-world-geodetic-system/ WGS 84>+-- coordinates:+--+-- - /x/ — Specifies the x coordinate or longitude.+--+-- - /y/ — Specifies the y coordinate or latitude.+placeGeometry_point :: Lens.Lens' PlaceGeometry (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+placeGeometry_point = Lens.lens (\PlaceGeometry' {point} -> point) (\s@PlaceGeometry' {} a -> s {point = a} :: PlaceGeometry) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON PlaceGeometry where+ parseJSON =+ Data.withObject+ "PlaceGeometry"+ ( \x ->+ PlaceGeometry' Prelude.<$> (x Data..:? "Point")+ )++instance Prelude.Hashable PlaceGeometry where+ hashWithSalt _salt PlaceGeometry' {..} =+ _salt `Prelude.hashWithSalt` point++instance Prelude.NFData PlaceGeometry where+ rnf PlaceGeometry' {..} = Prelude.rnf point
+ gen/Amazonka/Location/Types/PositionFiltering.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.PositionFiltering+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.PositionFiltering+ ( PositionFiltering+ ( ..,+ PositionFiltering_AccuracyBased,+ PositionFiltering_DistanceBased,+ PositionFiltering_TimeBased+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PositionFiltering = PositionFiltering'+ { fromPositionFiltering ::+ 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 PositionFiltering_AccuracyBased :: PositionFiltering+pattern PositionFiltering_AccuracyBased = PositionFiltering' "AccuracyBased"++pattern PositionFiltering_DistanceBased :: PositionFiltering+pattern PositionFiltering_DistanceBased = PositionFiltering' "DistanceBased"++pattern PositionFiltering_TimeBased :: PositionFiltering+pattern PositionFiltering_TimeBased = PositionFiltering' "TimeBased"++{-# COMPLETE+ PositionFiltering_AccuracyBased,+ PositionFiltering_DistanceBased,+ PositionFiltering_TimeBased,+ PositionFiltering'+ #-}
+ gen/Amazonka/Location/Types/PositionalAccuracy.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.PositionalAccuracy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.PositionalAccuracy 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++-- | Defines the level of certainty of the position.+--+-- /See:/ 'newPositionalAccuracy' smart constructor.+data PositionalAccuracy = PositionalAccuracy'+ { -- | Estimated maximum distance, in meters, between the measured position and+ -- the true position of a device, along the Earth\'s surface.+ horizontal :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PositionalAccuracy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'horizontal', 'positionalAccuracy_horizontal' - Estimated maximum distance, in meters, between the measured position and+-- the true position of a device, along the Earth\'s surface.+newPositionalAccuracy ::+ -- | 'horizontal'+ Prelude.Double ->+ PositionalAccuracy+newPositionalAccuracy pHorizontal_ =+ PositionalAccuracy' {horizontal = pHorizontal_}++-- | Estimated maximum distance, in meters, between the measured position and+-- the true position of a device, along the Earth\'s surface.+positionalAccuracy_horizontal :: Lens.Lens' PositionalAccuracy Prelude.Double+positionalAccuracy_horizontal = Lens.lens (\PositionalAccuracy' {horizontal} -> horizontal) (\s@PositionalAccuracy' {} a -> s {horizontal = a} :: PositionalAccuracy)++instance Data.FromJSON PositionalAccuracy where+ parseJSON =+ Data.withObject+ "PositionalAccuracy"+ ( \x ->+ PositionalAccuracy'+ Prelude.<$> (x Data..: "Horizontal")+ )++instance Prelude.Hashable PositionalAccuracy where+ hashWithSalt _salt PositionalAccuracy' {..} =+ _salt `Prelude.hashWithSalt` horizontal++instance Prelude.NFData PositionalAccuracy where+ rnf PositionalAccuracy' {..} = Prelude.rnf horizontal++instance Data.ToJSON PositionalAccuracy where+ toJSON PositionalAccuracy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Horizontal" Data..= horizontal)]+ )
+ gen/Amazonka/Location/Types/PricingPlan.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.PricingPlan+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.PricingPlan+ ( PricingPlan+ ( ..,+ PricingPlan_MobileAssetManagement,+ PricingPlan_MobileAssetTracking,+ PricingPlan_RequestBasedUsage+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PricingPlan = PricingPlan'+ { fromPricingPlan ::+ 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 PricingPlan_MobileAssetManagement :: PricingPlan+pattern PricingPlan_MobileAssetManagement = PricingPlan' "MobileAssetManagement"++pattern PricingPlan_MobileAssetTracking :: PricingPlan+pattern PricingPlan_MobileAssetTracking = PricingPlan' "MobileAssetTracking"++pattern PricingPlan_RequestBasedUsage :: PricingPlan+pattern PricingPlan_RequestBasedUsage = PricingPlan' "RequestBasedUsage"++{-# COMPLETE+ PricingPlan_MobileAssetManagement,+ PricingPlan_MobileAssetTracking,+ PricingPlan_RequestBasedUsage,+ PricingPlan'+ #-}
+ gen/Amazonka/Location/Types/RouteMatrixEntry.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.RouteMatrixEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.RouteMatrixEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.RouteMatrixEntryError+import qualified Amazonka.Prelude as Prelude++-- | The result for the calculated route of one @DeparturePosition@+-- @DestinationPosition@ pair.+--+-- /See:/ 'newRouteMatrixEntry' smart constructor.+data RouteMatrixEntry = RouteMatrixEntry'+ { -- | The total distance of travel for the route.+ distance :: Prelude.Maybe Prelude.Double,+ -- | The expected duration of travel for the route.+ durationSeconds :: Prelude.Maybe Prelude.Double,+ -- | An error corresponding to the calculation of a route between the+ -- @DeparturePosition@ and @DestinationPosition@.+ error :: Prelude.Maybe RouteMatrixEntryError+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteMatrixEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'distance', 'routeMatrixEntry_distance' - The total distance of travel for the route.+--+-- 'durationSeconds', 'routeMatrixEntry_durationSeconds' - The expected duration of travel for the route.+--+-- 'error', 'routeMatrixEntry_error' - An error corresponding to the calculation of a route between the+-- @DeparturePosition@ and @DestinationPosition@.+newRouteMatrixEntry ::+ RouteMatrixEntry+newRouteMatrixEntry =+ RouteMatrixEntry'+ { distance = Prelude.Nothing,+ durationSeconds = Prelude.Nothing,+ error = Prelude.Nothing+ }++-- | The total distance of travel for the route.+routeMatrixEntry_distance :: Lens.Lens' RouteMatrixEntry (Prelude.Maybe Prelude.Double)+routeMatrixEntry_distance = Lens.lens (\RouteMatrixEntry' {distance} -> distance) (\s@RouteMatrixEntry' {} a -> s {distance = a} :: RouteMatrixEntry)++-- | The expected duration of travel for the route.+routeMatrixEntry_durationSeconds :: Lens.Lens' RouteMatrixEntry (Prelude.Maybe Prelude.Double)+routeMatrixEntry_durationSeconds = Lens.lens (\RouteMatrixEntry' {durationSeconds} -> durationSeconds) (\s@RouteMatrixEntry' {} a -> s {durationSeconds = a} :: RouteMatrixEntry)++-- | An error corresponding to the calculation of a route between the+-- @DeparturePosition@ and @DestinationPosition@.+routeMatrixEntry_error :: Lens.Lens' RouteMatrixEntry (Prelude.Maybe RouteMatrixEntryError)+routeMatrixEntry_error = Lens.lens (\RouteMatrixEntry' {error} -> error) (\s@RouteMatrixEntry' {} a -> s {error = a} :: RouteMatrixEntry)++instance Data.FromJSON RouteMatrixEntry where+ parseJSON =+ Data.withObject+ "RouteMatrixEntry"+ ( \x ->+ RouteMatrixEntry'+ Prelude.<$> (x Data..:? "Distance")+ Prelude.<*> (x Data..:? "DurationSeconds")+ Prelude.<*> (x Data..:? "Error")+ )++instance Prelude.Hashable RouteMatrixEntry where+ hashWithSalt _salt RouteMatrixEntry' {..} =+ _salt+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` durationSeconds+ `Prelude.hashWithSalt` error++instance Prelude.NFData RouteMatrixEntry where+ rnf RouteMatrixEntry' {..} =+ Prelude.rnf distance+ `Prelude.seq` Prelude.rnf durationSeconds+ `Prelude.seq` Prelude.rnf error
+ gen/Amazonka/Location/Types/RouteMatrixEntryError.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.RouteMatrixEntryError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.RouteMatrixEntryError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.RouteMatrixErrorCode+import qualified Amazonka.Prelude as Prelude++-- | An error corresponding to the calculation of a route between the+-- @DeparturePosition@ and @DestinationPosition@.+--+-- The error code can be one of the following:+--+-- - @RouteNotFound@ - Unable to find a valid route with the given+-- parameters.+--+-- - @RouteTooLong@ - Route calculation went beyond the maximum size of a+-- route and was terminated before completion.+--+-- - @PositionsNotFound@ - One or more of the input positions were not+-- found on the route network.+--+-- - @DestinationPositionNotFound@ - The destination position was not+-- found on the route network.+--+-- - @DeparturePositionNotFound@ - The departure position was not found+-- on the route network.+--+-- - @OtherValidationError@ - The given inputs were not valid or a route+-- was not found. More information is given in the error @Message@+--+-- /See:/ 'newRouteMatrixEntryError' smart constructor.+data RouteMatrixEntryError = RouteMatrixEntryError'+ { -- | A message about the error that occurred for the route calculation.+ message :: Prelude.Maybe Prelude.Text,+ -- | The type of error which occurred for the route calculation.+ code :: RouteMatrixErrorCode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteMatrixEntryError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'routeMatrixEntryError_message' - A message about the error that occurred for the route calculation.+--+-- 'code', 'routeMatrixEntryError_code' - The type of error which occurred for the route calculation.+newRouteMatrixEntryError ::+ -- | 'code'+ RouteMatrixErrorCode ->+ RouteMatrixEntryError+newRouteMatrixEntryError pCode_ =+ RouteMatrixEntryError'+ { message = Prelude.Nothing,+ code = pCode_+ }++-- | A message about the error that occurred for the route calculation.+routeMatrixEntryError_message :: Lens.Lens' RouteMatrixEntryError (Prelude.Maybe Prelude.Text)+routeMatrixEntryError_message = Lens.lens (\RouteMatrixEntryError' {message} -> message) (\s@RouteMatrixEntryError' {} a -> s {message = a} :: RouteMatrixEntryError)++-- | The type of error which occurred for the route calculation.+routeMatrixEntryError_code :: Lens.Lens' RouteMatrixEntryError RouteMatrixErrorCode+routeMatrixEntryError_code = Lens.lens (\RouteMatrixEntryError' {code} -> code) (\s@RouteMatrixEntryError' {} a -> s {code = a} :: RouteMatrixEntryError)++instance Data.FromJSON RouteMatrixEntryError where+ parseJSON =+ Data.withObject+ "RouteMatrixEntryError"+ ( \x ->+ RouteMatrixEntryError'+ Prelude.<$> (x Data..:? "Message")+ Prelude.<*> (x Data..: "Code")+ )++instance Prelude.Hashable RouteMatrixEntryError where+ hashWithSalt _salt RouteMatrixEntryError' {..} =+ _salt+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` code++instance Prelude.NFData RouteMatrixEntryError where+ rnf RouteMatrixEntryError' {..} =+ Prelude.rnf message `Prelude.seq` Prelude.rnf code
+ gen/Amazonka/Location/Types/RouteMatrixErrorCode.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.RouteMatrixErrorCode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.RouteMatrixErrorCode+ ( RouteMatrixErrorCode+ ( ..,+ RouteMatrixErrorCode_DeparturePositionNotFound,+ RouteMatrixErrorCode_DestinationPositionNotFound,+ RouteMatrixErrorCode_OtherValidationError,+ RouteMatrixErrorCode_PositionsNotFound,+ RouteMatrixErrorCode_RouteNotFound,+ RouteMatrixErrorCode_RouteTooLong+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteMatrixErrorCode = RouteMatrixErrorCode'+ { fromRouteMatrixErrorCode ::+ 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 RouteMatrixErrorCode_DeparturePositionNotFound :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_DeparturePositionNotFound = RouteMatrixErrorCode' "DeparturePositionNotFound"++pattern RouteMatrixErrorCode_DestinationPositionNotFound :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_DestinationPositionNotFound = RouteMatrixErrorCode' "DestinationPositionNotFound"++pattern RouteMatrixErrorCode_OtherValidationError :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_OtherValidationError = RouteMatrixErrorCode' "OtherValidationError"++pattern RouteMatrixErrorCode_PositionsNotFound :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_PositionsNotFound = RouteMatrixErrorCode' "PositionsNotFound"++pattern RouteMatrixErrorCode_RouteNotFound :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_RouteNotFound = RouteMatrixErrorCode' "RouteNotFound"++pattern RouteMatrixErrorCode_RouteTooLong :: RouteMatrixErrorCode+pattern RouteMatrixErrorCode_RouteTooLong = RouteMatrixErrorCode' "RouteTooLong"++{-# COMPLETE+ RouteMatrixErrorCode_DeparturePositionNotFound,+ RouteMatrixErrorCode_DestinationPositionNotFound,+ RouteMatrixErrorCode_OtherValidationError,+ RouteMatrixErrorCode_PositionsNotFound,+ RouteMatrixErrorCode_RouteNotFound,+ RouteMatrixErrorCode_RouteTooLong,+ RouteMatrixErrorCode'+ #-}
+ gen/Amazonka/Location/Types/SearchForPositionResult.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.SearchForPositionResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchForPositionResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.Place+import qualified Amazonka.Prelude as Prelude++-- | Contains a search result from a position search query that is run on a+-- place index resource.+--+-- /See:/ 'newSearchForPositionResult' smart constructor.+data SearchForPositionResult = SearchForPositionResult'+ { -- | The unique identifier of the place. You can use this with the @GetPlace@+ -- operation to find the place again later.+ --+ -- For @SearchPlaceIndexForPosition@ operations, the @PlaceId@ is returned+ -- only by place indexes that use HERE as a data provider.+ placeId :: Prelude.Maybe Prelude.Text,+ -- | The distance in meters of a great-circle arc between the query position+ -- and the result.+ --+ -- A great-circle arc is the shortest path on a sphere, in this case the+ -- Earth. This returns the shortest distance between two locations.+ distance :: Prelude.Double,+ -- | Details about the search result, such as its address and position.+ place :: Place+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchForPositionResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'placeId', 'searchForPositionResult_placeId' - The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForPosition@ operations, the @PlaceId@ is returned+-- only by place indexes that use HERE as a data provider.+--+-- 'distance', 'searchForPositionResult_distance' - The distance in meters of a great-circle arc between the query position+-- and the result.+--+-- A great-circle arc is the shortest path on a sphere, in this case the+-- Earth. This returns the shortest distance between two locations.+--+-- 'place', 'searchForPositionResult_place' - Details about the search result, such as its address and position.+newSearchForPositionResult ::+ -- | 'distance'+ Prelude.Double ->+ -- | 'place'+ Place ->+ SearchForPositionResult+newSearchForPositionResult pDistance_ pPlace_ =+ SearchForPositionResult'+ { placeId = Prelude.Nothing,+ distance = pDistance_,+ place = pPlace_+ }++-- | The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForPosition@ operations, the @PlaceId@ is returned+-- only by place indexes that use HERE as a data provider.+searchForPositionResult_placeId :: Lens.Lens' SearchForPositionResult (Prelude.Maybe Prelude.Text)+searchForPositionResult_placeId = Lens.lens (\SearchForPositionResult' {placeId} -> placeId) (\s@SearchForPositionResult' {} a -> s {placeId = a} :: SearchForPositionResult)++-- | The distance in meters of a great-circle arc between the query position+-- and the result.+--+-- A great-circle arc is the shortest path on a sphere, in this case the+-- Earth. This returns the shortest distance between two locations.+searchForPositionResult_distance :: Lens.Lens' SearchForPositionResult Prelude.Double+searchForPositionResult_distance = Lens.lens (\SearchForPositionResult' {distance} -> distance) (\s@SearchForPositionResult' {} a -> s {distance = a} :: SearchForPositionResult)++-- | Details about the search result, such as its address and position.+searchForPositionResult_place :: Lens.Lens' SearchForPositionResult Place+searchForPositionResult_place = Lens.lens (\SearchForPositionResult' {place} -> place) (\s@SearchForPositionResult' {} a -> s {place = a} :: SearchForPositionResult)++instance Data.FromJSON SearchForPositionResult where+ parseJSON =+ Data.withObject+ "SearchForPositionResult"+ ( \x ->+ SearchForPositionResult'+ Prelude.<$> (x Data..:? "PlaceId")+ Prelude.<*> (x Data..: "Distance")+ Prelude.<*> (x Data..: "Place")+ )++instance Prelude.Hashable SearchForPositionResult where+ hashWithSalt _salt SearchForPositionResult' {..} =+ _salt+ `Prelude.hashWithSalt` placeId+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` place++instance Prelude.NFData SearchForPositionResult where+ rnf SearchForPositionResult' {..} =+ Prelude.rnf placeId+ `Prelude.seq` Prelude.rnf distance+ `Prelude.seq` Prelude.rnf place
+ gen/Amazonka/Location/Types/SearchForSuggestionsResult.hs view
@@ -0,0 +1,102 @@+{-# 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.Location.Types.SearchForSuggestionsResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchForSuggestionsResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Contains a place suggestion resulting from a place suggestion query that+-- is run on a place index resource.+--+-- /See:/ 'newSearchForSuggestionsResult' smart constructor.+data SearchForSuggestionsResult = SearchForSuggestionsResult'+ { -- | The unique identifier of the place. You can use this with the @GetPlace@+ -- operation to find the place again later.+ --+ -- For @SearchPlaceIndexForSuggestions@ operations, the @PlaceId@ is+ -- returned by place indexes that use HERE or Esri as data providers.+ placeId :: Prelude.Maybe Prelude.Text,+ -- | The text of the place suggestion, typically formatted as an address+ -- string.+ text :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchForSuggestionsResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'placeId', 'searchForSuggestionsResult_placeId' - The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForSuggestions@ operations, the @PlaceId@ is+-- returned by place indexes that use HERE or Esri as data providers.+--+-- 'text', 'searchForSuggestionsResult_text' - The text of the place suggestion, typically formatted as an address+-- string.+newSearchForSuggestionsResult ::+ -- | 'text'+ Prelude.Text ->+ SearchForSuggestionsResult+newSearchForSuggestionsResult pText_ =+ SearchForSuggestionsResult'+ { placeId =+ Prelude.Nothing,+ text = pText_+ }++-- | The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForSuggestions@ operations, the @PlaceId@ is+-- returned by place indexes that use HERE or Esri as data providers.+searchForSuggestionsResult_placeId :: Lens.Lens' SearchForSuggestionsResult (Prelude.Maybe Prelude.Text)+searchForSuggestionsResult_placeId = Lens.lens (\SearchForSuggestionsResult' {placeId} -> placeId) (\s@SearchForSuggestionsResult' {} a -> s {placeId = a} :: SearchForSuggestionsResult)++-- | The text of the place suggestion, typically formatted as an address+-- string.+searchForSuggestionsResult_text :: Lens.Lens' SearchForSuggestionsResult Prelude.Text+searchForSuggestionsResult_text = Lens.lens (\SearchForSuggestionsResult' {text} -> text) (\s@SearchForSuggestionsResult' {} a -> s {text = a} :: SearchForSuggestionsResult)++instance Data.FromJSON SearchForSuggestionsResult where+ parseJSON =+ Data.withObject+ "SearchForSuggestionsResult"+ ( \x ->+ SearchForSuggestionsResult'+ Prelude.<$> (x Data..:? "PlaceId")+ Prelude.<*> (x Data..: "Text")+ )++instance Prelude.Hashable SearchForSuggestionsResult where+ hashWithSalt _salt SearchForSuggestionsResult' {..} =+ _salt+ `Prelude.hashWithSalt` placeId+ `Prelude.hashWithSalt` text++instance Prelude.NFData SearchForSuggestionsResult where+ rnf SearchForSuggestionsResult' {..} =+ Prelude.rnf placeId `Prelude.seq` Prelude.rnf text
+ gen/Amazonka/Location/Types/SearchForTextResult.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.Location.Types.SearchForTextResult+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchForTextResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.Place+import qualified Amazonka.Prelude as Prelude++-- | Contains a search result from a text search query that is run on a place+-- index resource.+--+-- /See:/ 'newSearchForTextResult' smart constructor.+data SearchForTextResult = SearchForTextResult'+ { -- | The distance in meters of a great-circle arc between the bias position+ -- specified and the result. @Distance@ will be returned only if a bias+ -- position was specified in the query.+ --+ -- A great-circle arc is the shortest path on a sphere, in this case the+ -- Earth. This returns the shortest distance between two locations.+ distance :: Prelude.Maybe Prelude.Double,+ -- | The unique identifier of the place. You can use this with the @GetPlace@+ -- operation to find the place again later.+ --+ -- For @SearchPlaceIndexForText@ operations, the @PlaceId@ is returned only+ -- by place indexes that use HERE as a data provider.+ placeId :: Prelude.Maybe Prelude.Text,+ -- | The relative confidence in the match for a result among the results+ -- returned. For example, if more fields for an address match (including+ -- house number, street, city, country\/region, and postal code), the+ -- relevance score is closer to 1.+ --+ -- Returned only when the partner selected is Esri.+ relevance :: Prelude.Maybe Prelude.Double,+ -- | Details about the search result, such as its address and position.+ place :: Place+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchForTextResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'distance', 'searchForTextResult_distance' - The distance in meters of a great-circle arc between the bias position+-- specified and the result. @Distance@ will be returned only if a bias+-- position was specified in the query.+--+-- A great-circle arc is the shortest path on a sphere, in this case the+-- Earth. This returns the shortest distance between two locations.+--+-- 'placeId', 'searchForTextResult_placeId' - The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForText@ operations, the @PlaceId@ is returned only+-- by place indexes that use HERE as a data provider.+--+-- 'relevance', 'searchForTextResult_relevance' - The relative confidence in the match for a result among the results+-- returned. For example, if more fields for an address match (including+-- house number, street, city, country\/region, and postal code), the+-- relevance score is closer to 1.+--+-- Returned only when the partner selected is Esri.+--+-- 'place', 'searchForTextResult_place' - Details about the search result, such as its address and position.+newSearchForTextResult ::+ -- | 'place'+ Place ->+ SearchForTextResult+newSearchForTextResult pPlace_ =+ SearchForTextResult'+ { distance = Prelude.Nothing,+ placeId = Prelude.Nothing,+ relevance = Prelude.Nothing,+ place = pPlace_+ }++-- | The distance in meters of a great-circle arc between the bias position+-- specified and the result. @Distance@ will be returned only if a bias+-- position was specified in the query.+--+-- A great-circle arc is the shortest path on a sphere, in this case the+-- Earth. This returns the shortest distance between two locations.+searchForTextResult_distance :: Lens.Lens' SearchForTextResult (Prelude.Maybe Prelude.Double)+searchForTextResult_distance = Lens.lens (\SearchForTextResult' {distance} -> distance) (\s@SearchForTextResult' {} a -> s {distance = a} :: SearchForTextResult)++-- | The unique identifier of the place. You can use this with the @GetPlace@+-- operation to find the place again later.+--+-- For @SearchPlaceIndexForText@ operations, the @PlaceId@ is returned only+-- by place indexes that use HERE as a data provider.+searchForTextResult_placeId :: Lens.Lens' SearchForTextResult (Prelude.Maybe Prelude.Text)+searchForTextResult_placeId = Lens.lens (\SearchForTextResult' {placeId} -> placeId) (\s@SearchForTextResult' {} a -> s {placeId = a} :: SearchForTextResult)++-- | The relative confidence in the match for a result among the results+-- returned. For example, if more fields for an address match (including+-- house number, street, city, country\/region, and postal code), the+-- relevance score is closer to 1.+--+-- Returned only when the partner selected is Esri.+searchForTextResult_relevance :: Lens.Lens' SearchForTextResult (Prelude.Maybe Prelude.Double)+searchForTextResult_relevance = Lens.lens (\SearchForTextResult' {relevance} -> relevance) (\s@SearchForTextResult' {} a -> s {relevance = a} :: SearchForTextResult)++-- | Details about the search result, such as its address and position.+searchForTextResult_place :: Lens.Lens' SearchForTextResult Place+searchForTextResult_place = Lens.lens (\SearchForTextResult' {place} -> place) (\s@SearchForTextResult' {} a -> s {place = a} :: SearchForTextResult)++instance Data.FromJSON SearchForTextResult where+ parseJSON =+ Data.withObject+ "SearchForTextResult"+ ( \x ->+ SearchForTextResult'+ Prelude.<$> (x Data..:? "Distance")+ Prelude.<*> (x Data..:? "PlaceId")+ Prelude.<*> (x Data..:? "Relevance")+ Prelude.<*> (x Data..: "Place")+ )++instance Prelude.Hashable SearchForTextResult where+ hashWithSalt _salt SearchForTextResult' {..} =+ _salt+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` placeId+ `Prelude.hashWithSalt` relevance+ `Prelude.hashWithSalt` place++instance Prelude.NFData SearchForTextResult where+ rnf SearchForTextResult' {..} =+ Prelude.rnf distance+ `Prelude.seq` Prelude.rnf placeId+ `Prelude.seq` Prelude.rnf relevance+ `Prelude.seq` Prelude.rnf place
+ gen/Amazonka/Location/Types/SearchPlaceIndexForPositionSummary.hs view
@@ -0,0 +1,171 @@+{-# 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.Location.Types.SearchPlaceIndexForPositionSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchPlaceIndexForPositionSummary 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 summary of the request sent by using @SearchPlaceIndexForPosition@.+--+-- /See:/ 'newSearchPlaceIndexForPositionSummary' smart constructor.+data SearchPlaceIndexForPositionSummary = SearchPlaceIndexForPositionSummary'+ { -- | The preferred language used to return results. Matches the language in+ -- the request. The value is a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ language :: Prelude.Maybe Prelude.Text,+ -- | Contains the optional result count limit that is specified in the+ -- request.+ --+ -- Default value: @50@+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The geospatial data provider attached to the place index resource+ -- specified in the request. Values can be one of the following:+ --+ -- - Esri+ --+ -- - Here+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The position specified in the request.+ position :: Data.Sensitive (Prelude.NonEmpty Prelude.Double)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForPositionSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'language', 'searchPlaceIndexForPositionSummary_language' - The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- 'maxResults', 'searchPlaceIndexForPositionSummary_maxResults' - Contains the optional result count limit that is specified in the+-- request.+--+-- Default value: @50@+--+-- 'dataSource', 'searchPlaceIndexForPositionSummary_dataSource' - The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'position', 'searchPlaceIndexForPositionSummary_position' - The position specified in the request.+newSearchPlaceIndexForPositionSummary ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'position'+ Prelude.NonEmpty Prelude.Double ->+ SearchPlaceIndexForPositionSummary+newSearchPlaceIndexForPositionSummary+ pDataSource_+ pPosition_ =+ SearchPlaceIndexForPositionSummary'+ { language =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ dataSource = pDataSource_,+ position =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pPosition_+ }++-- | The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+searchPlaceIndexForPositionSummary_language :: Lens.Lens' SearchPlaceIndexForPositionSummary (Prelude.Maybe Prelude.Text)+searchPlaceIndexForPositionSummary_language = Lens.lens (\SearchPlaceIndexForPositionSummary' {language} -> language) (\s@SearchPlaceIndexForPositionSummary' {} a -> s {language = a} :: SearchPlaceIndexForPositionSummary)++-- | Contains the optional result count limit that is specified in the+-- request.+--+-- Default value: @50@+searchPlaceIndexForPositionSummary_maxResults :: Lens.Lens' SearchPlaceIndexForPositionSummary (Prelude.Maybe Prelude.Natural)+searchPlaceIndexForPositionSummary_maxResults = Lens.lens (\SearchPlaceIndexForPositionSummary' {maxResults} -> maxResults) (\s@SearchPlaceIndexForPositionSummary' {} a -> s {maxResults = a} :: SearchPlaceIndexForPositionSummary)++-- | The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+searchPlaceIndexForPositionSummary_dataSource :: Lens.Lens' SearchPlaceIndexForPositionSummary Prelude.Text+searchPlaceIndexForPositionSummary_dataSource = Lens.lens (\SearchPlaceIndexForPositionSummary' {dataSource} -> dataSource) (\s@SearchPlaceIndexForPositionSummary' {} a -> s {dataSource = a} :: SearchPlaceIndexForPositionSummary)++-- | The position specified in the request.+searchPlaceIndexForPositionSummary_position :: Lens.Lens' SearchPlaceIndexForPositionSummary (Prelude.NonEmpty Prelude.Double)+searchPlaceIndexForPositionSummary_position = Lens.lens (\SearchPlaceIndexForPositionSummary' {position} -> position) (\s@SearchPlaceIndexForPositionSummary' {} a -> s {position = a} :: SearchPlaceIndexForPositionSummary) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance+ Data.FromJSON+ SearchPlaceIndexForPositionSummary+ where+ parseJSON =+ Data.withObject+ "SearchPlaceIndexForPositionSummary"+ ( \x ->+ SearchPlaceIndexForPositionSummary'+ Prelude.<$> (x Data..:? "Language")+ Prelude.<*> (x Data..:? "MaxResults")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Position")+ )++instance+ Prelude.Hashable+ SearchPlaceIndexForPositionSummary+ where+ hashWithSalt+ _salt+ SearchPlaceIndexForPositionSummary' {..} =+ _salt+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` position++instance+ Prelude.NFData+ SearchPlaceIndexForPositionSummary+ where+ rnf SearchPlaceIndexForPositionSummary' {..} =+ Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf position
+ gen/Amazonka/Location/Types/SearchPlaceIndexForSuggestionsSummary.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.SearchPlaceIndexForSuggestionsSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchPlaceIndexForSuggestionsSummary 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 summary of the request sent by using @SearchPlaceIndexForSuggestions@.+--+-- /See:/ 'newSearchPlaceIndexForSuggestionsSummary' smart constructor.+data SearchPlaceIndexForSuggestionsSummary = SearchPlaceIndexForSuggestionsSummary'+ { -- | Contains the coordinates for the optional bias position specified in the+ -- request.+ --+ -- This parameter contains a pair of numbers. The first number represents+ -- the X coordinate, or longitude; the second number represents the Y+ -- coordinate, or latitude.+ --+ -- For example, @[-123.1174, 49.2847]@ represents the position with+ -- longitude @-123.1174@ and latitude @49.2847@.+ biasPosition :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | Contains the coordinates for the optional bounding box specified in the+ -- request.+ filterBBox :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | Contains the optional country filter specified in the request.+ filterCountries :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The preferred language used to return results. Matches the language in+ -- the request. The value is a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ language :: Prelude.Maybe Prelude.Text,+ -- | Contains the optional result count limit specified in the request.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The geospatial data provider attached to the place index resource+ -- specified in the request. Values can be one of the following:+ --+ -- - Esri+ --+ -- - Here+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The free-form partial text input specified in the request.+ text :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForSuggestionsSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'biasPosition', 'searchPlaceIndexForSuggestionsSummary_biasPosition' - Contains the coordinates for the optional bias position specified in the+-- request.+--+-- This parameter contains a pair of numbers. The first number represents+-- the X coordinate, or longitude; the second number represents the Y+-- coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- 'filterBBox', 'searchPlaceIndexForSuggestionsSummary_filterBBox' - Contains the coordinates for the optional bounding box specified in the+-- request.+--+-- 'filterCountries', 'searchPlaceIndexForSuggestionsSummary_filterCountries' - Contains the optional country filter specified in the request.+--+-- 'language', 'searchPlaceIndexForSuggestionsSummary_language' - The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- 'maxResults', 'searchPlaceIndexForSuggestionsSummary_maxResults' - Contains the optional result count limit specified in the request.+--+-- 'dataSource', 'searchPlaceIndexForSuggestionsSummary_dataSource' - The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'text', 'searchPlaceIndexForSuggestionsSummary_text' - The free-form partial text input specified in the request.+newSearchPlaceIndexForSuggestionsSummary ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'text'+ Prelude.Text ->+ SearchPlaceIndexForSuggestionsSummary+newSearchPlaceIndexForSuggestionsSummary+ pDataSource_+ pText_ =+ SearchPlaceIndexForSuggestionsSummary'+ { biasPosition =+ Prelude.Nothing,+ filterBBox = Prelude.Nothing,+ filterCountries = Prelude.Nothing,+ language = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ dataSource = pDataSource_,+ text = Data._Sensitive Lens.# pText_+ }++-- | Contains the coordinates for the optional bias position specified in the+-- request.+--+-- This parameter contains a pair of numbers. The first number represents+-- the X coordinate, or longitude; the second number represents the Y+-- coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+searchPlaceIndexForSuggestionsSummary_biasPosition :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForSuggestionsSummary_biasPosition = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {biasPosition} -> biasPosition) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {biasPosition = a} :: SearchPlaceIndexForSuggestionsSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Contains the coordinates for the optional bounding box specified in the+-- request.+searchPlaceIndexForSuggestionsSummary_filterBBox :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForSuggestionsSummary_filterBBox = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {filterBBox} -> filterBBox) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {filterBBox = a} :: SearchPlaceIndexForSuggestionsSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Contains the optional country filter specified in the request.+searchPlaceIndexForSuggestionsSummary_filterCountries :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+searchPlaceIndexForSuggestionsSummary_filterCountries = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {filterCountries} -> filterCountries) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {filterCountries = a} :: SearchPlaceIndexForSuggestionsSummary) Prelude.. Lens.mapping Lens.coerced++-- | The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+searchPlaceIndexForSuggestionsSummary_language :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary (Prelude.Maybe Prelude.Text)+searchPlaceIndexForSuggestionsSummary_language = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {language} -> language) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {language = a} :: SearchPlaceIndexForSuggestionsSummary)++-- | Contains the optional result count limit specified in the request.+searchPlaceIndexForSuggestionsSummary_maxResults :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary (Prelude.Maybe Prelude.Int)+searchPlaceIndexForSuggestionsSummary_maxResults = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {maxResults} -> maxResults) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {maxResults = a} :: SearchPlaceIndexForSuggestionsSummary)++-- | The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+searchPlaceIndexForSuggestionsSummary_dataSource :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary Prelude.Text+searchPlaceIndexForSuggestionsSummary_dataSource = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {dataSource} -> dataSource) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {dataSource = a} :: SearchPlaceIndexForSuggestionsSummary)++-- | The free-form partial text input specified in the request.+searchPlaceIndexForSuggestionsSummary_text :: Lens.Lens' SearchPlaceIndexForSuggestionsSummary Prelude.Text+searchPlaceIndexForSuggestionsSummary_text = Lens.lens (\SearchPlaceIndexForSuggestionsSummary' {text} -> text) (\s@SearchPlaceIndexForSuggestionsSummary' {} a -> s {text = a} :: SearchPlaceIndexForSuggestionsSummary) Prelude.. Data._Sensitive++instance+ Data.FromJSON+ SearchPlaceIndexForSuggestionsSummary+ where+ parseJSON =+ Data.withObject+ "SearchPlaceIndexForSuggestionsSummary"+ ( \x ->+ SearchPlaceIndexForSuggestionsSummary'+ Prelude.<$> (x Data..:? "BiasPosition")+ Prelude.<*> (x Data..:? "FilterBBox")+ Prelude.<*> (x Data..:? "FilterCountries")+ Prelude.<*> (x Data..:? "Language")+ Prelude.<*> (x Data..:? "MaxResults")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Text")+ )++instance+ Prelude.Hashable+ SearchPlaceIndexForSuggestionsSummary+ where+ hashWithSalt+ _salt+ SearchPlaceIndexForSuggestionsSummary' {..} =+ _salt+ `Prelude.hashWithSalt` biasPosition+ `Prelude.hashWithSalt` filterBBox+ `Prelude.hashWithSalt` filterCountries+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` text++instance+ Prelude.NFData+ SearchPlaceIndexForSuggestionsSummary+ where+ rnf SearchPlaceIndexForSuggestionsSummary' {..} =+ Prelude.rnf biasPosition+ `Prelude.seq` Prelude.rnf filterBBox+ `Prelude.seq` Prelude.rnf filterCountries+ `Prelude.seq` Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf text
+ gen/Amazonka/Location/Types/SearchPlaceIndexForTextSummary.hs view
@@ -0,0 +1,238 @@+{-# 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.Location.Types.SearchPlaceIndexForTextSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.SearchPlaceIndexForTextSummary 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 summary of the request sent by using @SearchPlaceIndexForText@.+--+-- /See:/ 'newSearchPlaceIndexForTextSummary' smart constructor.+data SearchPlaceIndexForTextSummary = SearchPlaceIndexForTextSummary'+ { -- | Contains the coordinates for the optional bias position specified in the+ -- request.+ --+ -- This parameter contains a pair of numbers. The first number represents+ -- the X coordinate, or longitude; the second number represents the Y+ -- coordinate, or latitude.+ --+ -- For example, @[-123.1174, 49.2847]@ represents the position with+ -- longitude @-123.1174@ and latitude @49.2847@.+ biasPosition :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | Contains the coordinates for the optional bounding box specified in the+ -- request.+ filterBBox :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | Contains the optional country filter specified in the request.+ filterCountries :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The preferred language used to return results. Matches the language in+ -- the request. The value is a valid+ -- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+ -- @en@ for English.+ language :: Prelude.Maybe Prelude.Text,+ -- | Contains the optional result count limit specified in the request.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The bounding box that fully contains all search results.+ --+ -- If you specified the optional @FilterBBox@ parameter in the request,+ -- @ResultBBox@ is contained within @FilterBBox@.+ resultBBox :: Prelude.Maybe (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),+ -- | The geospatial data provider attached to the place index resource+ -- specified in the request. Values can be one of the following:+ --+ -- - Esri+ --+ -- - Here+ --+ -- For more information about data providers, see+ -- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+ dataSource :: Prelude.Text,+ -- | The search text specified in the request.+ text :: Data.Sensitive Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchPlaceIndexForTextSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'biasPosition', 'searchPlaceIndexForTextSummary_biasPosition' - Contains the coordinates for the optional bias position specified in the+-- request.+--+-- This parameter contains a pair of numbers. The first number represents+-- the X coordinate, or longitude; the second number represents the Y+-- coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+--+-- 'filterBBox', 'searchPlaceIndexForTextSummary_filterBBox' - Contains the coordinates for the optional bounding box specified in the+-- request.+--+-- 'filterCountries', 'searchPlaceIndexForTextSummary_filterCountries' - Contains the optional country filter specified in the request.+--+-- 'language', 'searchPlaceIndexForTextSummary_language' - The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+--+-- 'maxResults', 'searchPlaceIndexForTextSummary_maxResults' - Contains the optional result count limit specified in the request.+--+-- 'resultBBox', 'searchPlaceIndexForTextSummary_resultBBox' - The bounding box that fully contains all search results.+--+-- If you specified the optional @FilterBBox@ parameter in the request,+-- @ResultBBox@ is contained within @FilterBBox@.+--+-- 'dataSource', 'searchPlaceIndexForTextSummary_dataSource' - The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+--+-- 'text', 'searchPlaceIndexForTextSummary_text' - The search text specified in the request.+newSearchPlaceIndexForTextSummary ::+ -- | 'dataSource'+ Prelude.Text ->+ -- | 'text'+ Prelude.Text ->+ SearchPlaceIndexForTextSummary+newSearchPlaceIndexForTextSummary pDataSource_ pText_ =+ SearchPlaceIndexForTextSummary'+ { biasPosition =+ Prelude.Nothing,+ filterBBox = Prelude.Nothing,+ filterCountries = Prelude.Nothing,+ language = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ resultBBox = Prelude.Nothing,+ dataSource = pDataSource_,+ text = Data._Sensitive Lens.# pText_+ }++-- | Contains the coordinates for the optional bias position specified in the+-- request.+--+-- This parameter contains a pair of numbers. The first number represents+-- the X coordinate, or longitude; the second number represents the Y+-- coordinate, or latitude.+--+-- For example, @[-123.1174, 49.2847]@ represents the position with+-- longitude @-123.1174@ and latitude @49.2847@.+searchPlaceIndexForTextSummary_biasPosition :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForTextSummary_biasPosition = Lens.lens (\SearchPlaceIndexForTextSummary' {biasPosition} -> biasPosition) (\s@SearchPlaceIndexForTextSummary' {} a -> s {biasPosition = a} :: SearchPlaceIndexForTextSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Contains the coordinates for the optional bounding box specified in the+-- request.+searchPlaceIndexForTextSummary_filterBBox :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForTextSummary_filterBBox = Lens.lens (\SearchPlaceIndexForTextSummary' {filterBBox} -> filterBBox) (\s@SearchPlaceIndexForTextSummary' {} a -> s {filterBBox = a} :: SearchPlaceIndexForTextSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Contains the optional country filter specified in the request.+searchPlaceIndexForTextSummary_filterCountries :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+searchPlaceIndexForTextSummary_filterCountries = Lens.lens (\SearchPlaceIndexForTextSummary' {filterCountries} -> filterCountries) (\s@SearchPlaceIndexForTextSummary' {} a -> s {filterCountries = a} :: SearchPlaceIndexForTextSummary) Prelude.. Lens.mapping Lens.coerced++-- | The preferred language used to return results. Matches the language in+-- the request. The value is a valid+-- <https://tools.ietf.org/search/bcp47 BCP 47> language tag, for example,+-- @en@ for English.+searchPlaceIndexForTextSummary_language :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe Prelude.Text)+searchPlaceIndexForTextSummary_language = Lens.lens (\SearchPlaceIndexForTextSummary' {language} -> language) (\s@SearchPlaceIndexForTextSummary' {} a -> s {language = a} :: SearchPlaceIndexForTextSummary)++-- | Contains the optional result count limit specified in the request.+searchPlaceIndexForTextSummary_maxResults :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe Prelude.Natural)+searchPlaceIndexForTextSummary_maxResults = Lens.lens (\SearchPlaceIndexForTextSummary' {maxResults} -> maxResults) (\s@SearchPlaceIndexForTextSummary' {} a -> s {maxResults = a} :: SearchPlaceIndexForTextSummary)++-- | The bounding box that fully contains all search results.+--+-- If you specified the optional @FilterBBox@ parameter in the request,+-- @ResultBBox@ is contained within @FilterBBox@.+searchPlaceIndexForTextSummary_resultBBox :: Lens.Lens' SearchPlaceIndexForTextSummary (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+searchPlaceIndexForTextSummary_resultBBox = Lens.lens (\SearchPlaceIndexForTextSummary' {resultBBox} -> resultBBox) (\s@SearchPlaceIndexForTextSummary' {} a -> s {resultBBox = a} :: SearchPlaceIndexForTextSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The geospatial data provider attached to the place index resource+-- specified in the request. Values can be one of the following:+--+-- - Esri+--+-- - Here+--+-- For more information about data providers, see+-- <https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html Amazon Location Service data providers>.+searchPlaceIndexForTextSummary_dataSource :: Lens.Lens' SearchPlaceIndexForTextSummary Prelude.Text+searchPlaceIndexForTextSummary_dataSource = Lens.lens (\SearchPlaceIndexForTextSummary' {dataSource} -> dataSource) (\s@SearchPlaceIndexForTextSummary' {} a -> s {dataSource = a} :: SearchPlaceIndexForTextSummary)++-- | The search text specified in the request.+searchPlaceIndexForTextSummary_text :: Lens.Lens' SearchPlaceIndexForTextSummary Prelude.Text+searchPlaceIndexForTextSummary_text = Lens.lens (\SearchPlaceIndexForTextSummary' {text} -> text) (\s@SearchPlaceIndexForTextSummary' {} a -> s {text = a} :: SearchPlaceIndexForTextSummary) Prelude.. Data._Sensitive++instance Data.FromJSON SearchPlaceIndexForTextSummary where+ parseJSON =+ Data.withObject+ "SearchPlaceIndexForTextSummary"+ ( \x ->+ SearchPlaceIndexForTextSummary'+ Prelude.<$> (x Data..:? "BiasPosition")+ Prelude.<*> (x Data..:? "FilterBBox")+ Prelude.<*> (x Data..:? "FilterCountries")+ Prelude.<*> (x Data..:? "Language")+ Prelude.<*> (x Data..:? "MaxResults")+ Prelude.<*> (x Data..:? "ResultBBox")+ Prelude.<*> (x Data..: "DataSource")+ Prelude.<*> (x Data..: "Text")+ )++instance+ Prelude.Hashable+ SearchPlaceIndexForTextSummary+ where+ hashWithSalt+ _salt+ SearchPlaceIndexForTextSummary' {..} =+ _salt+ `Prelude.hashWithSalt` biasPosition+ `Prelude.hashWithSalt` filterBBox+ `Prelude.hashWithSalt` filterCountries+ `Prelude.hashWithSalt` language+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` resultBBox+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` text++instance+ Prelude.NFData+ SearchPlaceIndexForTextSummary+ where+ rnf SearchPlaceIndexForTextSummary' {..} =+ Prelude.rnf biasPosition+ `Prelude.seq` Prelude.rnf filterBBox+ `Prelude.seq` Prelude.rnf filterCountries+ `Prelude.seq` Prelude.rnf language+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf resultBBox+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf text
+ gen/Amazonka/Location/Types/Step.hs view
@@ -0,0 +1,169 @@+{-# 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.Location.Types.Step+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.Step 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++-- | Represents an element of a leg within a route. A step contains+-- instructions for how to move to the next step in the leg.+--+-- /See:/ 'newStep' smart constructor.+data Step = Step'+ { -- | Represents the start position, or index, in a sequence of steps within+ -- the leg\'s line string geometry. For example, the index of the first+ -- step in a leg geometry is @0@.+ --+ -- Included in the response for queries that set @IncludeLegGeometry@ to+ -- @True@.+ geometryOffset :: Prelude.Maybe Prelude.Natural,+ -- | The travel distance between the step\'s @StartPosition@ and+ -- @EndPosition@.+ distance :: Prelude.Double,+ -- | The estimated travel time, in seconds, from the step\'s @StartPosition@+ -- to the @EndPosition@. . The travel mode and departure time that you+ -- specify in the request determines the calculated time.+ durationSeconds :: Prelude.Double,+ -- | The end position of a step. If the position the last step in the leg,+ -- this position is the same as the end position of the leg.+ endPosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double),+ -- | The starting position of a step. If the position is the first step in+ -- the leg, this position is the same as the start position of the leg.+ startPosition :: Data.Sensitive (Prelude.NonEmpty Prelude.Double)+ }+ deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Step' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geometryOffset', 'step_geometryOffset' - Represents the start position, or index, in a sequence of steps within+-- the leg\'s line string geometry. For example, the index of the first+-- step in a leg geometry is @0@.+--+-- Included in the response for queries that set @IncludeLegGeometry@ to+-- @True@.+--+-- 'distance', 'step_distance' - The travel distance between the step\'s @StartPosition@ and+-- @EndPosition@.+--+-- 'durationSeconds', 'step_durationSeconds' - The estimated travel time, in seconds, from the step\'s @StartPosition@+-- to the @EndPosition@. . The travel mode and departure time that you+-- specify in the request determines the calculated time.+--+-- 'endPosition', 'step_endPosition' - The end position of a step. If the position the last step in the leg,+-- this position is the same as the end position of the leg.+--+-- 'startPosition', 'step_startPosition' - The starting position of a step. If the position is the first step in+-- the leg, this position is the same as the start position of the leg.+newStep ::+ -- | 'distance'+ Prelude.Double ->+ -- | 'durationSeconds'+ Prelude.Double ->+ -- | 'endPosition'+ Prelude.NonEmpty Prelude.Double ->+ -- | 'startPosition'+ Prelude.NonEmpty Prelude.Double ->+ Step+newStep+ pDistance_+ pDurationSeconds_+ pEndPosition_+ pStartPosition_ =+ Step'+ { geometryOffset = Prelude.Nothing,+ distance = pDistance_,+ durationSeconds = pDurationSeconds_,+ endPosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pEndPosition_,+ startPosition =+ Data._Sensitive+ Prelude.. Lens.coerced+ Lens.# pStartPosition_+ }++-- | Represents the start position, or index, in a sequence of steps within+-- the leg\'s line string geometry. For example, the index of the first+-- step in a leg geometry is @0@.+--+-- Included in the response for queries that set @IncludeLegGeometry@ to+-- @True@.+step_geometryOffset :: Lens.Lens' Step (Prelude.Maybe Prelude.Natural)+step_geometryOffset = Lens.lens (\Step' {geometryOffset} -> geometryOffset) (\s@Step' {} a -> s {geometryOffset = a} :: Step)++-- | The travel distance between the step\'s @StartPosition@ and+-- @EndPosition@.+step_distance :: Lens.Lens' Step Prelude.Double+step_distance = Lens.lens (\Step' {distance} -> distance) (\s@Step' {} a -> s {distance = a} :: Step)++-- | The estimated travel time, in seconds, from the step\'s @StartPosition@+-- to the @EndPosition@. . The travel mode and departure time that you+-- specify in the request determines the calculated time.+step_durationSeconds :: Lens.Lens' Step Prelude.Double+step_durationSeconds = Lens.lens (\Step' {durationSeconds} -> durationSeconds) (\s@Step' {} a -> s {durationSeconds = a} :: Step)++-- | The end position of a step. If the position the last step in the leg,+-- this position is the same as the end position of the leg.+step_endPosition :: Lens.Lens' Step (Prelude.NonEmpty Prelude.Double)+step_endPosition = Lens.lens (\Step' {endPosition} -> endPosition) (\s@Step' {} a -> s {endPosition = a} :: Step) Prelude.. Data._Sensitive Prelude.. Lens.coerced++-- | The starting position of a step. If the position is the first step in+-- the leg, this position is the same as the start position of the leg.+step_startPosition :: Lens.Lens' Step (Prelude.NonEmpty Prelude.Double)+step_startPosition = Lens.lens (\Step' {startPosition} -> startPosition) (\s@Step' {} a -> s {startPosition = a} :: Step) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Data.FromJSON Step where+ parseJSON =+ Data.withObject+ "Step"+ ( \x ->+ Step'+ Prelude.<$> (x Data..:? "GeometryOffset")+ Prelude.<*> (x Data..: "Distance")+ Prelude.<*> (x Data..: "DurationSeconds")+ Prelude.<*> (x Data..: "EndPosition")+ Prelude.<*> (x Data..: "StartPosition")+ )++instance Prelude.Hashable Step where+ hashWithSalt _salt Step' {..} =+ _salt+ `Prelude.hashWithSalt` geometryOffset+ `Prelude.hashWithSalt` distance+ `Prelude.hashWithSalt` durationSeconds+ `Prelude.hashWithSalt` endPosition+ `Prelude.hashWithSalt` startPosition++instance Prelude.NFData Step where+ rnf Step' {..} =+ Prelude.rnf geometryOffset+ `Prelude.seq` Prelude.rnf distance+ `Prelude.seq` Prelude.rnf durationSeconds+ `Prelude.seq` Prelude.rnf endPosition+ `Prelude.seq` Prelude.rnf startPosition
+ gen/Amazonka/Location/Types/TimeZone.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.TimeZone+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.TimeZone 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 a time zone. Includes the name of the time zone and+-- the offset from UTC in seconds.+--+-- /See:/ 'newTimeZone' smart constructor.+data TimeZone = TimeZone'+ { -- | The time zone\'s offset, in seconds, from UTC.+ offset :: Prelude.Maybe Prelude.Int,+ -- | The name of the time zone, following the+ -- <https://www.iana.org/time-zones IANA time zone standard>. For example,+ -- @America\/Los_Angeles@.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeZone' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offset', 'timeZone_offset' - The time zone\'s offset, in seconds, from UTC.+--+-- 'name', 'timeZone_name' - The name of the time zone, following the+-- <https://www.iana.org/time-zones IANA time zone standard>. For example,+-- @America\/Los_Angeles@.+newTimeZone ::+ -- | 'name'+ Prelude.Text ->+ TimeZone+newTimeZone pName_ =+ TimeZone' {offset = Prelude.Nothing, name = pName_}++-- | The time zone\'s offset, in seconds, from UTC.+timeZone_offset :: Lens.Lens' TimeZone (Prelude.Maybe Prelude.Int)+timeZone_offset = Lens.lens (\TimeZone' {offset} -> offset) (\s@TimeZone' {} a -> s {offset = a} :: TimeZone)++-- | The name of the time zone, following the+-- <https://www.iana.org/time-zones IANA time zone standard>. For example,+-- @America\/Los_Angeles@.+timeZone_name :: Lens.Lens' TimeZone Prelude.Text+timeZone_name = Lens.lens (\TimeZone' {name} -> name) (\s@TimeZone' {} a -> s {name = a} :: TimeZone)++instance Data.FromJSON TimeZone where+ parseJSON =+ Data.withObject+ "TimeZone"+ ( \x ->+ TimeZone'+ Prelude.<$> (x Data..:? "Offset")+ Prelude.<*> (x Data..: "Name")+ )++instance Prelude.Hashable TimeZone where+ hashWithSalt _salt TimeZone' {..} =+ _salt+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` name++instance Prelude.NFData TimeZone where+ rnf TimeZone' {..} =+ Prelude.rnf offset `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/Location/Types/TravelMode.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.Types.TravelMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.TravelMode+ ( TravelMode+ ( ..,+ TravelMode_Car,+ TravelMode_Truck,+ TravelMode_Walking+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TravelMode = TravelMode'+ { fromTravelMode ::+ 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 TravelMode_Car :: TravelMode+pattern TravelMode_Car = TravelMode' "Car"++pattern TravelMode_Truck :: TravelMode+pattern TravelMode_Truck = TravelMode' "Truck"++pattern TravelMode_Walking :: TravelMode+pattern TravelMode_Walking = TravelMode' "Walking"++{-# COMPLETE+ TravelMode_Car,+ TravelMode_Truck,+ TravelMode_Walking,+ TravelMode'+ #-}
+ gen/Amazonka/Location/Types/TruckDimensions.hs view
@@ -0,0 +1,162 @@+{-# 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.Location.Types.TruckDimensions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.TruckDimensions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.DimensionUnit+import qualified Amazonka.Prelude as Prelude++-- | Contains details about the truck dimensions in the unit of measurement+-- that you specify. Used to filter out roads that can\'t support or allow+-- the specified dimensions for requests that specify @TravelMode@ as+-- @Truck@.+--+-- /See:/ 'newTruckDimensions' smart constructor.+data TruckDimensions = TruckDimensions'+ { -- | The height of the truck.+ --+ -- - For example, @4.5@.+ --+ -- For routes calculated with a HERE resource, this value must be between 0+ -- and 50 meters.+ height :: Prelude.Maybe Prelude.Double,+ -- | The length of the truck.+ --+ -- - For example, @15.5@.+ --+ -- For routes calculated with a HERE resource, this value must be between 0+ -- and 300 meters.+ length :: Prelude.Maybe Prelude.Double,+ -- | Specifies the unit of measurement for the truck dimensions.+ --+ -- Default Value: @Meters@+ unit :: Prelude.Maybe DimensionUnit,+ -- | The width of the truck.+ --+ -- - For example, @4.5@.+ --+ -- For routes calculated with a HERE resource, this value must be between 0+ -- and 50 meters.+ width :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TruckDimensions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'height', 'truckDimensions_height' - The height of the truck.+--+-- - For example, @4.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 50 meters.+--+-- 'length', 'truckDimensions_length' - The length of the truck.+--+-- - For example, @15.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 300 meters.+--+-- 'unit', 'truckDimensions_unit' - Specifies the unit of measurement for the truck dimensions.+--+-- Default Value: @Meters@+--+-- 'width', 'truckDimensions_width' - The width of the truck.+--+-- - For example, @4.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 50 meters.+newTruckDimensions ::+ TruckDimensions+newTruckDimensions =+ TruckDimensions'+ { height = Prelude.Nothing,+ length = Prelude.Nothing,+ unit = Prelude.Nothing,+ width = Prelude.Nothing+ }++-- | The height of the truck.+--+-- - For example, @4.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 50 meters.+truckDimensions_height :: Lens.Lens' TruckDimensions (Prelude.Maybe Prelude.Double)+truckDimensions_height = Lens.lens (\TruckDimensions' {height} -> height) (\s@TruckDimensions' {} a -> s {height = a} :: TruckDimensions)++-- | The length of the truck.+--+-- - For example, @15.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 300 meters.+truckDimensions_length :: Lens.Lens' TruckDimensions (Prelude.Maybe Prelude.Double)+truckDimensions_length = Lens.lens (\TruckDimensions' {length} -> length) (\s@TruckDimensions' {} a -> s {length = a} :: TruckDimensions)++-- | Specifies the unit of measurement for the truck dimensions.+--+-- Default Value: @Meters@+truckDimensions_unit :: Lens.Lens' TruckDimensions (Prelude.Maybe DimensionUnit)+truckDimensions_unit = Lens.lens (\TruckDimensions' {unit} -> unit) (\s@TruckDimensions' {} a -> s {unit = a} :: TruckDimensions)++-- | The width of the truck.+--+-- - For example, @4.5@.+--+-- For routes calculated with a HERE resource, this value must be between 0+-- and 50 meters.+truckDimensions_width :: Lens.Lens' TruckDimensions (Prelude.Maybe Prelude.Double)+truckDimensions_width = Lens.lens (\TruckDimensions' {width} -> width) (\s@TruckDimensions' {} a -> s {width = a} :: TruckDimensions)++instance Prelude.Hashable TruckDimensions where+ hashWithSalt _salt TruckDimensions' {..} =+ _salt+ `Prelude.hashWithSalt` height+ `Prelude.hashWithSalt` length+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` width++instance Prelude.NFData TruckDimensions where+ rnf TruckDimensions' {..} =+ Prelude.rnf height+ `Prelude.seq` Prelude.rnf length+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf width++instance Data.ToJSON TruckDimensions where+ toJSON TruckDimensions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Height" Data..=) Prelude.<$> height,+ ("Length" Data..=) Prelude.<$> length,+ ("Unit" Data..=) Prelude.<$> unit,+ ("Width" Data..=) Prelude.<$> width+ ]+ )
+ gen/Amazonka/Location/Types/TruckWeight.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.Location.Types.TruckWeight+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.TruckWeight where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types.VehicleWeightUnit+import qualified Amazonka.Prelude as Prelude++-- | Contains details about the truck\'s weight specifications. Used to avoid+-- roads that can\'t support or allow the total weight for requests that+-- specify @TravelMode@ as @Truck@.+--+-- /See:/ 'newTruckWeight' smart constructor.+data TruckWeight = TruckWeight'+ { -- | The total weight of the truck.+ --+ -- - For example, @3500@.+ total :: Prelude.Maybe Prelude.Double,+ -- | The unit of measurement to use for the truck weight.+ --+ -- Default Value: @Kilograms@+ unit :: Prelude.Maybe VehicleWeightUnit+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TruckWeight' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'total', 'truckWeight_total' - The total weight of the truck.+--+-- - For example, @3500@.+--+-- 'unit', 'truckWeight_unit' - The unit of measurement to use for the truck weight.+--+-- Default Value: @Kilograms@+newTruckWeight ::+ TruckWeight+newTruckWeight =+ TruckWeight'+ { total = Prelude.Nothing,+ unit = Prelude.Nothing+ }++-- | The total weight of the truck.+--+-- - For example, @3500@.+truckWeight_total :: Lens.Lens' TruckWeight (Prelude.Maybe Prelude.Double)+truckWeight_total = Lens.lens (\TruckWeight' {total} -> total) (\s@TruckWeight' {} a -> s {total = a} :: TruckWeight)++-- | The unit of measurement to use for the truck weight.+--+-- Default Value: @Kilograms@+truckWeight_unit :: Lens.Lens' TruckWeight (Prelude.Maybe VehicleWeightUnit)+truckWeight_unit = Lens.lens (\TruckWeight' {unit} -> unit) (\s@TruckWeight' {} a -> s {unit = a} :: TruckWeight)++instance Prelude.Hashable TruckWeight where+ hashWithSalt _salt TruckWeight' {..} =+ _salt+ `Prelude.hashWithSalt` total+ `Prelude.hashWithSalt` unit++instance Prelude.NFData TruckWeight where+ rnf TruckWeight' {..} =+ Prelude.rnf total `Prelude.seq` Prelude.rnf unit++instance Data.ToJSON TruckWeight where+ toJSON TruckWeight' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Total" Data..=) Prelude.<$> total,+ ("Unit" Data..=) Prelude.<$> unit+ ]+ )
+ gen/Amazonka/Location/Types/VehicleWeightUnit.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.Location.Types.VehicleWeightUnit+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Location.Types.VehicleWeightUnit+ ( VehicleWeightUnit+ ( ..,+ VehicleWeightUnit_Kilograms,+ VehicleWeightUnit_Pounds+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VehicleWeightUnit = VehicleWeightUnit'+ { fromVehicleWeightUnit ::+ 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 VehicleWeightUnit_Kilograms :: VehicleWeightUnit+pattern VehicleWeightUnit_Kilograms = VehicleWeightUnit' "Kilograms"++pattern VehicleWeightUnit_Pounds :: VehicleWeightUnit+pattern VehicleWeightUnit_Pounds = VehicleWeightUnit' "Pounds"++{-# COMPLETE+ VehicleWeightUnit_Kilograms,+ VehicleWeightUnit_Pounds,+ VehicleWeightUnit'+ #-}
+ gen/Amazonka/Location/UntagResource.hs view
@@ -0,0 +1,175 @@+{-# 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.Location.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 the specified Amazon Location resource.+module Amazonka.Location.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.Location.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 resource from which you want to+ -- remove tags.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+ resourceArn :: Prelude.Text,+ -- | The list of tag keys to remove from the specified resource.+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource from which you want to+-- remove tags.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+--+-- 'tagKeys', 'untagResource_tagKeys' - The list of tag keys to remove from the specified resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The Amazon Resource Name (ARN) of the resource from which you want to+-- remove tags.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:resourcetype\/ExampleResource@+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The list of tag keys to remove from the specified resource.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/Location/UpdateGeofenceCollection.hs view
@@ -0,0 +1,272 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.UpdateGeofenceCollection+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified properties of a given geofence collection.+module Amazonka.Location.UpdateGeofenceCollection+ ( -- * Creating a Request+ UpdateGeofenceCollection (..),+ newUpdateGeofenceCollection,++ -- * Request Lenses+ updateGeofenceCollection_description,+ updateGeofenceCollection_pricingPlan,+ updateGeofenceCollection_pricingPlanDataSource,+ updateGeofenceCollection_collectionName,++ -- * Destructuring the Response+ UpdateGeofenceCollectionResponse (..),+ newUpdateGeofenceCollectionResponse,++ -- * Response Lenses+ updateGeofenceCollectionResponse_httpStatus,+ updateGeofenceCollectionResponse_collectionArn,+ updateGeofenceCollectionResponse_collectionName,+ updateGeofenceCollectionResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGeofenceCollection' smart constructor.+data UpdateGeofenceCollection = UpdateGeofenceCollection'+ { -- | Updates the description for the geofence collection.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | This parameter is no longer used.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | The name of the geofence collection to update.+ collectionName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGeofenceCollection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateGeofenceCollection_description' - Updates the description for the geofence collection.+--+-- 'pricingPlan', 'updateGeofenceCollection_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'updateGeofenceCollection_pricingPlanDataSource' - This parameter is no longer used.+--+-- 'collectionName', 'updateGeofenceCollection_collectionName' - The name of the geofence collection to update.+newUpdateGeofenceCollection ::+ -- | 'collectionName'+ Prelude.Text ->+ UpdateGeofenceCollection+newUpdateGeofenceCollection pCollectionName_ =+ UpdateGeofenceCollection'+ { description =+ Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ collectionName = pCollectionName_+ }++-- | Updates the description for the geofence collection.+updateGeofenceCollection_description :: Lens.Lens' UpdateGeofenceCollection (Prelude.Maybe Prelude.Text)+updateGeofenceCollection_description = Lens.lens (\UpdateGeofenceCollection' {description} -> description) (\s@UpdateGeofenceCollection' {} a -> s {description = a} :: UpdateGeofenceCollection)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+updateGeofenceCollection_pricingPlan :: Lens.Lens' UpdateGeofenceCollection (Prelude.Maybe PricingPlan)+updateGeofenceCollection_pricingPlan = Lens.lens (\UpdateGeofenceCollection' {pricingPlan} -> pricingPlan) (\s@UpdateGeofenceCollection' {} a -> s {pricingPlan = a} :: UpdateGeofenceCollection)++-- | This parameter is no longer used.+updateGeofenceCollection_pricingPlanDataSource :: Lens.Lens' UpdateGeofenceCollection (Prelude.Maybe Prelude.Text)+updateGeofenceCollection_pricingPlanDataSource = Lens.lens (\UpdateGeofenceCollection' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@UpdateGeofenceCollection' {} a -> s {pricingPlanDataSource = a} :: UpdateGeofenceCollection)++-- | The name of the geofence collection to update.+updateGeofenceCollection_collectionName :: Lens.Lens' UpdateGeofenceCollection Prelude.Text+updateGeofenceCollection_collectionName = Lens.lens (\UpdateGeofenceCollection' {collectionName} -> collectionName) (\s@UpdateGeofenceCollection' {} a -> s {collectionName = a} :: UpdateGeofenceCollection)++instance Core.AWSRequest UpdateGeofenceCollection where+ type+ AWSResponse UpdateGeofenceCollection =+ UpdateGeofenceCollectionResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateGeofenceCollectionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CollectionArn")+ Prelude.<*> (x Data..:> "CollectionName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable UpdateGeofenceCollection where+ hashWithSalt _salt UpdateGeofenceCollection' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` collectionName++instance Prelude.NFData UpdateGeofenceCollection where+ rnf UpdateGeofenceCollection' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf collectionName++instance Data.ToHeaders UpdateGeofenceCollection where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateGeofenceCollection where+ toJSON UpdateGeofenceCollection' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("PricingPlanDataSource" Data..=)+ Prelude.<$> pricingPlanDataSource+ ]+ )++instance Data.ToPath UpdateGeofenceCollection where+ toPath UpdateGeofenceCollection' {..} =+ Prelude.mconcat+ [ "/geofencing/v0/collections/",+ Data.toBS collectionName+ ]++instance Data.ToQuery UpdateGeofenceCollection where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGeofenceCollectionResponse' smart constructor.+data UpdateGeofenceCollectionResponse = UpdateGeofenceCollectionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the updated geofence collection. Used+ -- to specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+ collectionArn :: Prelude.Text,+ -- | The name of the updated geofence collection.+ collectionName :: Prelude.Text,+ -- | The time when the geofence collection was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGeofenceCollectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateGeofenceCollectionResponse_httpStatus' - The response's http status code.+--+-- 'collectionArn', 'updateGeofenceCollectionResponse_collectionArn' - The Amazon Resource Name (ARN) of the updated geofence collection. Used+-- to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+--+-- 'collectionName', 'updateGeofenceCollectionResponse_collectionName' - The name of the updated geofence collection.+--+-- 'updateTime', 'updateGeofenceCollectionResponse_updateTime' - The time when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+newUpdateGeofenceCollectionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'collectionArn'+ Prelude.Text ->+ -- | 'collectionName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ UpdateGeofenceCollectionResponse+newUpdateGeofenceCollectionResponse+ pHttpStatus_+ pCollectionArn_+ pCollectionName_+ pUpdateTime_ =+ UpdateGeofenceCollectionResponse'+ { httpStatus =+ pHttpStatus_,+ collectionArn = pCollectionArn_,+ collectionName = pCollectionName_,+ updateTime =+ Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+updateGeofenceCollectionResponse_httpStatus :: Lens.Lens' UpdateGeofenceCollectionResponse Prelude.Int+updateGeofenceCollectionResponse_httpStatus = Lens.lens (\UpdateGeofenceCollectionResponse' {httpStatus} -> httpStatus) (\s@UpdateGeofenceCollectionResponse' {} a -> s {httpStatus = a} :: UpdateGeofenceCollectionResponse)++-- | The Amazon Resource Name (ARN) of the updated geofence collection. Used+-- to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:geofence-collection\/ExampleGeofenceCollection@+updateGeofenceCollectionResponse_collectionArn :: Lens.Lens' UpdateGeofenceCollectionResponse Prelude.Text+updateGeofenceCollectionResponse_collectionArn = Lens.lens (\UpdateGeofenceCollectionResponse' {collectionArn} -> collectionArn) (\s@UpdateGeofenceCollectionResponse' {} a -> s {collectionArn = a} :: UpdateGeofenceCollectionResponse)++-- | The name of the updated geofence collection.+updateGeofenceCollectionResponse_collectionName :: Lens.Lens' UpdateGeofenceCollectionResponse Prelude.Text+updateGeofenceCollectionResponse_collectionName = Lens.lens (\UpdateGeofenceCollectionResponse' {collectionName} -> collectionName) (\s@UpdateGeofenceCollectionResponse' {} a -> s {collectionName = a} :: UpdateGeofenceCollectionResponse)++-- | The time when the geofence collection was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@+updateGeofenceCollectionResponse_updateTime :: Lens.Lens' UpdateGeofenceCollectionResponse Prelude.UTCTime+updateGeofenceCollectionResponse_updateTime = Lens.lens (\UpdateGeofenceCollectionResponse' {updateTime} -> updateTime) (\s@UpdateGeofenceCollectionResponse' {} a -> s {updateTime = a} :: UpdateGeofenceCollectionResponse) Prelude.. Data._Time++instance+ Prelude.NFData+ UpdateGeofenceCollectionResponse+ where+ rnf UpdateGeofenceCollectionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf collectionArn+ `Prelude.seq` Prelude.rnf collectionName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/UpdateMap.hs view
@@ -0,0 +1,245 @@+{-# 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.Location.UpdateMap+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified properties of a given map resource.+module Amazonka.Location.UpdateMap+ ( -- * Creating a Request+ UpdateMap (..),+ newUpdateMap,++ -- * Request Lenses+ updateMap_description,+ updateMap_pricingPlan,+ updateMap_mapName,++ -- * Destructuring the Response+ UpdateMapResponse (..),+ newUpdateMapResponse,++ -- * Response Lenses+ updateMapResponse_httpStatus,+ updateMapResponse_mapArn,+ updateMapResponse_mapName,+ updateMapResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMap' smart constructor.+data UpdateMap = UpdateMap'+ { -- | Updates the description for the map resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The name of the map resource to update.+ mapName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMap' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateMap_description' - Updates the description for the map resource.+--+-- 'pricingPlan', 'updateMap_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'mapName', 'updateMap_mapName' - The name of the map resource to update.+newUpdateMap ::+ -- | 'mapName'+ Prelude.Text ->+ UpdateMap+newUpdateMap pMapName_ =+ UpdateMap'+ { description = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ mapName = pMapName_+ }++-- | Updates the description for the map resource.+updateMap_description :: Lens.Lens' UpdateMap (Prelude.Maybe Prelude.Text)+updateMap_description = Lens.lens (\UpdateMap' {description} -> description) (\s@UpdateMap' {} a -> s {description = a} :: UpdateMap)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+updateMap_pricingPlan :: Lens.Lens' UpdateMap (Prelude.Maybe PricingPlan)+updateMap_pricingPlan = Lens.lens (\UpdateMap' {pricingPlan} -> pricingPlan) (\s@UpdateMap' {} a -> s {pricingPlan = a} :: UpdateMap)++-- | The name of the map resource to update.+updateMap_mapName :: Lens.Lens' UpdateMap Prelude.Text+updateMap_mapName = Lens.lens (\UpdateMap' {mapName} -> mapName) (\s@UpdateMap' {} a -> s {mapName = a} :: UpdateMap)++instance Core.AWSRequest UpdateMap where+ type AWSResponse UpdateMap = UpdateMapResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateMapResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "MapArn")+ Prelude.<*> (x Data..:> "MapName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable UpdateMap where+ hashWithSalt _salt UpdateMap' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` mapName++instance Prelude.NFData UpdateMap where+ rnf UpdateMap' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf mapName++instance Data.ToHeaders UpdateMap where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMap where+ toJSON UpdateMap' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan+ ]+ )++instance Data.ToPath UpdateMap where+ toPath UpdateMap' {..} =+ Prelude.mconcat+ ["/maps/v0/maps/", Data.toBS mapName]++instance Data.ToQuery UpdateMap where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMapResponse' smart constructor.+data UpdateMapResponse = UpdateMapResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the updated map resource. Used to+ -- specify a resource across AWS.+ --+ -- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+ mapArn :: Prelude.Text,+ -- | The name of the updated map resource.+ mapName :: Prelude.Text,+ -- | The timestamp for when the map resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMapResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateMapResponse_httpStatus' - The response's http status code.+--+-- 'mapArn', 'updateMapResponse_mapArn' - The Amazon Resource Name (ARN) of the updated map resource. Used to+-- specify a resource across AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+--+-- 'mapName', 'updateMapResponse_mapName' - The name of the updated map resource.+--+-- 'updateTime', 'updateMapResponse_updateTime' - The timestamp for when the map resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newUpdateMapResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'mapArn'+ Prelude.Text ->+ -- | 'mapName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ UpdateMapResponse+newUpdateMapResponse+ pHttpStatus_+ pMapArn_+ pMapName_+ pUpdateTime_ =+ UpdateMapResponse'+ { httpStatus = pHttpStatus_,+ mapArn = pMapArn_,+ mapName = pMapName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+updateMapResponse_httpStatus :: Lens.Lens' UpdateMapResponse Prelude.Int+updateMapResponse_httpStatus = Lens.lens (\UpdateMapResponse' {httpStatus} -> httpStatus) (\s@UpdateMapResponse' {} a -> s {httpStatus = a} :: UpdateMapResponse)++-- | The Amazon Resource Name (ARN) of the updated map resource. Used to+-- specify a resource across AWS.+--+-- - Format example: @arn:aws:geo:region:account-id:map\/ExampleMap@+updateMapResponse_mapArn :: Lens.Lens' UpdateMapResponse Prelude.Text+updateMapResponse_mapArn = Lens.lens (\UpdateMapResponse' {mapArn} -> mapArn) (\s@UpdateMapResponse' {} a -> s {mapArn = a} :: UpdateMapResponse)++-- | The name of the updated map resource.+updateMapResponse_mapName :: Lens.Lens' UpdateMapResponse Prelude.Text+updateMapResponse_mapName = Lens.lens (\UpdateMapResponse' {mapName} -> mapName) (\s@UpdateMapResponse' {} a -> s {mapName = a} :: UpdateMapResponse)++-- | The timestamp for when the map resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+updateMapResponse_updateTime :: Lens.Lens' UpdateMapResponse Prelude.UTCTime+updateMapResponse_updateTime = Lens.lens (\UpdateMapResponse' {updateTime} -> updateTime) (\s@UpdateMapResponse' {} a -> s {updateTime = a} :: UpdateMapResponse) Prelude.. Data._Time++instance Prelude.NFData UpdateMapResponse where+ rnf UpdateMapResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf mapArn+ `Prelude.seq` Prelude.rnf mapName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/UpdatePlaceIndex.hs view
@@ -0,0 +1,266 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.UpdatePlaceIndex+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified properties of a given place index resource.+module Amazonka.Location.UpdatePlaceIndex+ ( -- * Creating a Request+ UpdatePlaceIndex (..),+ newUpdatePlaceIndex,++ -- * Request Lenses+ updatePlaceIndex_dataSourceConfiguration,+ updatePlaceIndex_description,+ updatePlaceIndex_pricingPlan,+ updatePlaceIndex_indexName,++ -- * Destructuring the Response+ UpdatePlaceIndexResponse (..),+ newUpdatePlaceIndexResponse,++ -- * Response Lenses+ updatePlaceIndexResponse_httpStatus,+ updatePlaceIndexResponse_indexArn,+ updatePlaceIndexResponse_indexName,+ updatePlaceIndexResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePlaceIndex' smart constructor.+data UpdatePlaceIndex = UpdatePlaceIndex'+ { -- | Updates the data storage option for the place index resource.+ dataSourceConfiguration :: Prelude.Maybe DataSourceConfiguration,+ -- | Updates the description for the place index resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The name of the place index resource to update.+ indexName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePlaceIndex' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataSourceConfiguration', 'updatePlaceIndex_dataSourceConfiguration' - Updates the data storage option for the place index resource.+--+-- 'description', 'updatePlaceIndex_description' - Updates the description for the place index resource.+--+-- 'pricingPlan', 'updatePlaceIndex_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'indexName', 'updatePlaceIndex_indexName' - The name of the place index resource to update.+newUpdatePlaceIndex ::+ -- | 'indexName'+ Prelude.Text ->+ UpdatePlaceIndex+newUpdatePlaceIndex pIndexName_ =+ UpdatePlaceIndex'+ { dataSourceConfiguration =+ Prelude.Nothing,+ description = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ indexName = pIndexName_+ }++-- | Updates the data storage option for the place index resource.+updatePlaceIndex_dataSourceConfiguration :: Lens.Lens' UpdatePlaceIndex (Prelude.Maybe DataSourceConfiguration)+updatePlaceIndex_dataSourceConfiguration = Lens.lens (\UpdatePlaceIndex' {dataSourceConfiguration} -> dataSourceConfiguration) (\s@UpdatePlaceIndex' {} a -> s {dataSourceConfiguration = a} :: UpdatePlaceIndex)++-- | Updates the description for the place index resource.+updatePlaceIndex_description :: Lens.Lens' UpdatePlaceIndex (Prelude.Maybe Prelude.Text)+updatePlaceIndex_description = Lens.lens (\UpdatePlaceIndex' {description} -> description) (\s@UpdatePlaceIndex' {} a -> s {description = a} :: UpdatePlaceIndex)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+updatePlaceIndex_pricingPlan :: Lens.Lens' UpdatePlaceIndex (Prelude.Maybe PricingPlan)+updatePlaceIndex_pricingPlan = Lens.lens (\UpdatePlaceIndex' {pricingPlan} -> pricingPlan) (\s@UpdatePlaceIndex' {} a -> s {pricingPlan = a} :: UpdatePlaceIndex)++-- | The name of the place index resource to update.+updatePlaceIndex_indexName :: Lens.Lens' UpdatePlaceIndex Prelude.Text+updatePlaceIndex_indexName = Lens.lens (\UpdatePlaceIndex' {indexName} -> indexName) (\s@UpdatePlaceIndex' {} a -> s {indexName = a} :: UpdatePlaceIndex)++instance Core.AWSRequest UpdatePlaceIndex where+ type+ AWSResponse UpdatePlaceIndex =+ UpdatePlaceIndexResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdatePlaceIndexResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "IndexArn")+ Prelude.<*> (x Data..:> "IndexName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable UpdatePlaceIndex where+ hashWithSalt _salt UpdatePlaceIndex' {..} =+ _salt+ `Prelude.hashWithSalt` dataSourceConfiguration+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` indexName++instance Prelude.NFData UpdatePlaceIndex where+ rnf UpdatePlaceIndex' {..} =+ Prelude.rnf dataSourceConfiguration+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf indexName++instance Data.ToHeaders UpdatePlaceIndex where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdatePlaceIndex where+ toJSON UpdatePlaceIndex' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DataSourceConfiguration" Data..=)+ Prelude.<$> dataSourceConfiguration,+ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan+ ]+ )++instance Data.ToPath UpdatePlaceIndex where+ toPath UpdatePlaceIndex' {..} =+ Prelude.mconcat+ ["/places/v0/indexes/", Data.toBS indexName]++instance Data.ToQuery UpdatePlaceIndex where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdatePlaceIndexResponse' smart constructor.+data UpdatePlaceIndexResponse = UpdatePlaceIndexResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the upated place index resource. Used+ -- to specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:place- index\/ExamplePlaceIndex@+ indexArn :: Prelude.Text,+ -- | The name of the updated place index resource.+ indexName :: Prelude.Text,+ -- | The timestamp for when the place index resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePlaceIndexResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updatePlaceIndexResponse_httpStatus' - The response's http status code.+--+-- 'indexArn', 'updatePlaceIndexResponse_indexArn' - The Amazon Resource Name (ARN) of the upated place index resource. Used+-- to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place- index\/ExamplePlaceIndex@+--+-- 'indexName', 'updatePlaceIndexResponse_indexName' - The name of the updated place index resource.+--+-- 'updateTime', 'updatePlaceIndexResponse_updateTime' - The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newUpdatePlaceIndexResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'indexArn'+ Prelude.Text ->+ -- | 'indexName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ UpdatePlaceIndexResponse+newUpdatePlaceIndexResponse+ pHttpStatus_+ pIndexArn_+ pIndexName_+ pUpdateTime_ =+ UpdatePlaceIndexResponse'+ { httpStatus =+ pHttpStatus_,+ indexArn = pIndexArn_,+ indexName = pIndexName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+updatePlaceIndexResponse_httpStatus :: Lens.Lens' UpdatePlaceIndexResponse Prelude.Int+updatePlaceIndexResponse_httpStatus = Lens.lens (\UpdatePlaceIndexResponse' {httpStatus} -> httpStatus) (\s@UpdatePlaceIndexResponse' {} a -> s {httpStatus = a} :: UpdatePlaceIndexResponse)++-- | The Amazon Resource Name (ARN) of the upated place index resource. Used+-- to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:place- index\/ExamplePlaceIndex@+updatePlaceIndexResponse_indexArn :: Lens.Lens' UpdatePlaceIndexResponse Prelude.Text+updatePlaceIndexResponse_indexArn = Lens.lens (\UpdatePlaceIndexResponse' {indexArn} -> indexArn) (\s@UpdatePlaceIndexResponse' {} a -> s {indexArn = a} :: UpdatePlaceIndexResponse)++-- | The name of the updated place index resource.+updatePlaceIndexResponse_indexName :: Lens.Lens' UpdatePlaceIndexResponse Prelude.Text+updatePlaceIndexResponse_indexName = Lens.lens (\UpdatePlaceIndexResponse' {indexName} -> indexName) (\s@UpdatePlaceIndexResponse' {} a -> s {indexName = a} :: UpdatePlaceIndexResponse)++-- | The timestamp for when the place index resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+updatePlaceIndexResponse_updateTime :: Lens.Lens' UpdatePlaceIndexResponse Prelude.UTCTime+updatePlaceIndexResponse_updateTime = Lens.lens (\UpdatePlaceIndexResponse' {updateTime} -> updateTime) (\s@UpdatePlaceIndexResponse' {} a -> s {updateTime = a} :: UpdatePlaceIndexResponse) Prelude.. Data._Time++instance Prelude.NFData UpdatePlaceIndexResponse where+ rnf UpdatePlaceIndexResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf indexArn+ `Prelude.seq` Prelude.rnf indexName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/UpdateRouteCalculator.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.Location.UpdateRouteCalculator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified properties for a given route calculator resource.+module Amazonka.Location.UpdateRouteCalculator+ ( -- * Creating a Request+ UpdateRouteCalculator (..),+ newUpdateRouteCalculator,++ -- * Request Lenses+ updateRouteCalculator_description,+ updateRouteCalculator_pricingPlan,+ updateRouteCalculator_calculatorName,++ -- * Destructuring the Response+ UpdateRouteCalculatorResponse (..),+ newUpdateRouteCalculatorResponse,++ -- * Response Lenses+ updateRouteCalculatorResponse_httpStatus,+ updateRouteCalculatorResponse_calculatorArn,+ updateRouteCalculatorResponse_calculatorName,+ updateRouteCalculatorResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateRouteCalculator' smart constructor.+data UpdateRouteCalculator = UpdateRouteCalculator'+ { -- | Updates the description for the route calculator resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | The name of the route calculator resource to update.+ calculatorName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRouteCalculator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateRouteCalculator_description' - Updates the description for the route calculator resource.+--+-- 'pricingPlan', 'updateRouteCalculator_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'calculatorName', 'updateRouteCalculator_calculatorName' - The name of the route calculator resource to update.+newUpdateRouteCalculator ::+ -- | 'calculatorName'+ Prelude.Text ->+ UpdateRouteCalculator+newUpdateRouteCalculator pCalculatorName_ =+ UpdateRouteCalculator'+ { description =+ Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ calculatorName = pCalculatorName_+ }++-- | Updates the description for the route calculator resource.+updateRouteCalculator_description :: Lens.Lens' UpdateRouteCalculator (Prelude.Maybe Prelude.Text)+updateRouteCalculator_description = Lens.lens (\UpdateRouteCalculator' {description} -> description) (\s@UpdateRouteCalculator' {} a -> s {description = a} :: UpdateRouteCalculator)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+updateRouteCalculator_pricingPlan :: Lens.Lens' UpdateRouteCalculator (Prelude.Maybe PricingPlan)+updateRouteCalculator_pricingPlan = Lens.lens (\UpdateRouteCalculator' {pricingPlan} -> pricingPlan) (\s@UpdateRouteCalculator' {} a -> s {pricingPlan = a} :: UpdateRouteCalculator)++-- | The name of the route calculator resource to update.+updateRouteCalculator_calculatorName :: Lens.Lens' UpdateRouteCalculator Prelude.Text+updateRouteCalculator_calculatorName = Lens.lens (\UpdateRouteCalculator' {calculatorName} -> calculatorName) (\s@UpdateRouteCalculator' {} a -> s {calculatorName = a} :: UpdateRouteCalculator)++instance Core.AWSRequest UpdateRouteCalculator where+ type+ AWSResponse UpdateRouteCalculator =+ UpdateRouteCalculatorResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRouteCalculatorResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "CalculatorArn")+ Prelude.<*> (x Data..:> "CalculatorName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable UpdateRouteCalculator where+ hashWithSalt _salt UpdateRouteCalculator' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` calculatorName++instance Prelude.NFData UpdateRouteCalculator where+ rnf UpdateRouteCalculator' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf calculatorName++instance Data.ToHeaders UpdateRouteCalculator where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRouteCalculator where+ toJSON UpdateRouteCalculator' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan+ ]+ )++instance Data.ToPath UpdateRouteCalculator where+ toPath UpdateRouteCalculator' {..} =+ Prelude.mconcat+ ["/routes/v0/calculators/", Data.toBS calculatorName]++instance Data.ToQuery UpdateRouteCalculator where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRouteCalculatorResponse' smart constructor.+data UpdateRouteCalculatorResponse = UpdateRouteCalculatorResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the updated route calculator resource.+ -- Used to specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:route- calculator\/ExampleCalculator@+ calculatorArn :: Prelude.Text,+ -- | The name of the updated route calculator resource.+ calculatorName :: Prelude.Text,+ -- | The timestamp for when the route calculator was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRouteCalculatorResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateRouteCalculatorResponse_httpStatus' - The response's http status code.+--+-- 'calculatorArn', 'updateRouteCalculatorResponse_calculatorArn' - The Amazon Resource Name (ARN) of the updated route calculator resource.+-- Used to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route- calculator\/ExampleCalculator@+--+-- 'calculatorName', 'updateRouteCalculatorResponse_calculatorName' - The name of the updated route calculator resource.+--+-- 'updateTime', 'updateRouteCalculatorResponse_updateTime' - The timestamp for when the route calculator was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newUpdateRouteCalculatorResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'calculatorArn'+ Prelude.Text ->+ -- | 'calculatorName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ UpdateRouteCalculatorResponse+newUpdateRouteCalculatorResponse+ pHttpStatus_+ pCalculatorArn_+ pCalculatorName_+ pUpdateTime_ =+ UpdateRouteCalculatorResponse'+ { httpStatus =+ pHttpStatus_,+ calculatorArn = pCalculatorArn_,+ calculatorName = pCalculatorName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+updateRouteCalculatorResponse_httpStatus :: Lens.Lens' UpdateRouteCalculatorResponse Prelude.Int+updateRouteCalculatorResponse_httpStatus = Lens.lens (\UpdateRouteCalculatorResponse' {httpStatus} -> httpStatus) (\s@UpdateRouteCalculatorResponse' {} a -> s {httpStatus = a} :: UpdateRouteCalculatorResponse)++-- | The Amazon Resource Name (ARN) of the updated route calculator resource.+-- Used to specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:route- calculator\/ExampleCalculator@+updateRouteCalculatorResponse_calculatorArn :: Lens.Lens' UpdateRouteCalculatorResponse Prelude.Text+updateRouteCalculatorResponse_calculatorArn = Lens.lens (\UpdateRouteCalculatorResponse' {calculatorArn} -> calculatorArn) (\s@UpdateRouteCalculatorResponse' {} a -> s {calculatorArn = a} :: UpdateRouteCalculatorResponse)++-- | The name of the updated route calculator resource.+updateRouteCalculatorResponse_calculatorName :: Lens.Lens' UpdateRouteCalculatorResponse Prelude.Text+updateRouteCalculatorResponse_calculatorName = Lens.lens (\UpdateRouteCalculatorResponse' {calculatorName} -> calculatorName) (\s@UpdateRouteCalculatorResponse' {} a -> s {calculatorName = a} :: UpdateRouteCalculatorResponse)++-- | The timestamp for when the route calculator was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+updateRouteCalculatorResponse_updateTime :: Lens.Lens' UpdateRouteCalculatorResponse Prelude.UTCTime+updateRouteCalculatorResponse_updateTime = Lens.lens (\UpdateRouteCalculatorResponse' {updateTime} -> updateTime) (\s@UpdateRouteCalculatorResponse' {} a -> s {updateTime = a} :: UpdateRouteCalculatorResponse) Prelude.. Data._Time++instance Prelude.NFData UpdateRouteCalculatorResponse where+ rnf UpdateRouteCalculatorResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf calculatorArn+ `Prelude.seq` Prelude.rnf calculatorName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/UpdateTracker.hs view
@@ -0,0 +1,353 @@+{-# 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.Location.UpdateTracker+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified properties of a given tracker resource.+module Amazonka.Location.UpdateTracker+ ( -- * Creating a Request+ UpdateTracker (..),+ newUpdateTracker,++ -- * Request Lenses+ updateTracker_description,+ updateTracker_positionFiltering,+ updateTracker_pricingPlan,+ updateTracker_pricingPlanDataSource,+ updateTracker_trackerName,++ -- * Destructuring the Response+ UpdateTrackerResponse (..),+ newUpdateTrackerResponse,++ -- * Response Lenses+ updateTrackerResponse_httpStatus,+ updateTrackerResponse_trackerArn,+ updateTrackerResponse_trackerName,+ updateTrackerResponse_updateTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateTracker' smart constructor.+data UpdateTracker = UpdateTracker'+ { -- | Updates the description for the tracker resource.+ description :: Prelude.Maybe Prelude.Text,+ -- | Updates the position filtering for the tracker resource.+ --+ -- Valid values:+ --+ -- - @TimeBased@ - Location updates are evaluated against linked geofence+ -- collections, but not every location update is stored. If your update+ -- frequency is more often than 30 seconds, only one update per 30+ -- seconds is stored for each unique device ID.+ --+ -- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+ -- location updates are ignored. Location updates within this distance+ -- are neither evaluated against linked geofence collections, nor+ -- stored. This helps control costs by reducing the number of geofence+ -- evaluations and historical device positions to paginate through.+ -- Distance-based filtering can also reduce the effects of GPS noise+ -- when displaying device trajectories on a map.+ --+ -- - @AccuracyBased@ - If the device has moved less than the measured+ -- accuracy, location updates are ignored. For example, if two+ -- consecutive updates from a device have a horizontal accuracy of 5 m+ -- and 10 m, the second update is ignored if the device has moved less+ -- than 15 m. Ignored location updates are neither evaluated against+ -- linked geofence collections, nor stored. This helps educe the+ -- effects of GPS noise when displaying device trajectories on a map,+ -- and can help control costs by reducing the number of geofence+ -- evaluations.+ positionFiltering :: Prelude.Maybe PositionFiltering,+ -- | No longer used. If included, the only allowed value is+ -- @RequestBasedUsage@.+ pricingPlan :: Prelude.Maybe PricingPlan,+ -- | This parameter is no longer used.+ pricingPlanDataSource :: Prelude.Maybe Prelude.Text,+ -- | The name of the tracker resource to update.+ trackerName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTracker' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateTracker_description' - Updates the description for the tracker resource.+--+-- 'positionFiltering', 'updateTracker_positionFiltering' - Updates the position filtering for the tracker resource.+--+-- Valid values:+--+-- - @TimeBased@ - Location updates are evaluated against linked geofence+-- collections, but not every location update is stored. If your update+-- frequency is more often than 30 seconds, only one update per 30+-- seconds is stored for each unique device ID.+--+-- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+-- location updates are ignored. Location updates within this distance+-- are neither evaluated against linked geofence collections, nor+-- stored. This helps control costs by reducing the number of geofence+-- evaluations and historical device positions to paginate through.+-- Distance-based filtering can also reduce the effects of GPS noise+-- when displaying device trajectories on a map.+--+-- - @AccuracyBased@ - If the device has moved less than the measured+-- accuracy, location updates are ignored. For example, if two+-- consecutive updates from a device have a horizontal accuracy of 5 m+-- and 10 m, the second update is ignored if the device has moved less+-- than 15 m. Ignored location updates are neither evaluated against+-- linked geofence collections, nor stored. This helps educe the+-- effects of GPS noise when displaying device trajectories on a map,+-- and can help control costs by reducing the number of geofence+-- evaluations.+--+-- 'pricingPlan', 'updateTracker_pricingPlan' - No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+--+-- 'pricingPlanDataSource', 'updateTracker_pricingPlanDataSource' - This parameter is no longer used.+--+-- 'trackerName', 'updateTracker_trackerName' - The name of the tracker resource to update.+newUpdateTracker ::+ -- | 'trackerName'+ Prelude.Text ->+ UpdateTracker+newUpdateTracker pTrackerName_ =+ UpdateTracker'+ { description = Prelude.Nothing,+ positionFiltering = Prelude.Nothing,+ pricingPlan = Prelude.Nothing,+ pricingPlanDataSource = Prelude.Nothing,+ trackerName = pTrackerName_+ }++-- | Updates the description for the tracker resource.+updateTracker_description :: Lens.Lens' UpdateTracker (Prelude.Maybe Prelude.Text)+updateTracker_description = Lens.lens (\UpdateTracker' {description} -> description) (\s@UpdateTracker' {} a -> s {description = a} :: UpdateTracker)++-- | Updates the position filtering for the tracker resource.+--+-- Valid values:+--+-- - @TimeBased@ - Location updates are evaluated against linked geofence+-- collections, but not every location update is stored. If your update+-- frequency is more often than 30 seconds, only one update per 30+-- seconds is stored for each unique device ID.+--+-- - @DistanceBased@ - If the device has moved less than 30 m (98.4 ft),+-- location updates are ignored. Location updates within this distance+-- are neither evaluated against linked geofence collections, nor+-- stored. This helps control costs by reducing the number of geofence+-- evaluations and historical device positions to paginate through.+-- Distance-based filtering can also reduce the effects of GPS noise+-- when displaying device trajectories on a map.+--+-- - @AccuracyBased@ - If the device has moved less than the measured+-- accuracy, location updates are ignored. For example, if two+-- consecutive updates from a device have a horizontal accuracy of 5 m+-- and 10 m, the second update is ignored if the device has moved less+-- than 15 m. Ignored location updates are neither evaluated against+-- linked geofence collections, nor stored. This helps educe the+-- effects of GPS noise when displaying device trajectories on a map,+-- and can help control costs by reducing the number of geofence+-- evaluations.+updateTracker_positionFiltering :: Lens.Lens' UpdateTracker (Prelude.Maybe PositionFiltering)+updateTracker_positionFiltering = Lens.lens (\UpdateTracker' {positionFiltering} -> positionFiltering) (\s@UpdateTracker' {} a -> s {positionFiltering = a} :: UpdateTracker)++-- | No longer used. If included, the only allowed value is+-- @RequestBasedUsage@.+updateTracker_pricingPlan :: Lens.Lens' UpdateTracker (Prelude.Maybe PricingPlan)+updateTracker_pricingPlan = Lens.lens (\UpdateTracker' {pricingPlan} -> pricingPlan) (\s@UpdateTracker' {} a -> s {pricingPlan = a} :: UpdateTracker)++-- | This parameter is no longer used.+updateTracker_pricingPlanDataSource :: Lens.Lens' UpdateTracker (Prelude.Maybe Prelude.Text)+updateTracker_pricingPlanDataSource = Lens.lens (\UpdateTracker' {pricingPlanDataSource} -> pricingPlanDataSource) (\s@UpdateTracker' {} a -> s {pricingPlanDataSource = a} :: UpdateTracker)++-- | The name of the tracker resource to update.+updateTracker_trackerName :: Lens.Lens' UpdateTracker Prelude.Text+updateTracker_trackerName = Lens.lens (\UpdateTracker' {trackerName} -> trackerName) (\s@UpdateTracker' {} a -> s {trackerName = a} :: UpdateTracker)++instance Core.AWSRequest UpdateTracker where+ type+ AWSResponse UpdateTracker =+ UpdateTrackerResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateTrackerResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "TrackerArn")+ Prelude.<*> (x Data..:> "TrackerName")+ Prelude.<*> (x Data..:> "UpdateTime")+ )++instance Prelude.Hashable UpdateTracker where+ hashWithSalt _salt UpdateTracker' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` positionFiltering+ `Prelude.hashWithSalt` pricingPlan+ `Prelude.hashWithSalt` pricingPlanDataSource+ `Prelude.hashWithSalt` trackerName++instance Prelude.NFData UpdateTracker where+ rnf UpdateTracker' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf positionFiltering+ `Prelude.seq` Prelude.rnf pricingPlan+ `Prelude.seq` Prelude.rnf pricingPlanDataSource+ `Prelude.seq` Prelude.rnf trackerName++instance Data.ToHeaders UpdateTracker where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateTracker where+ toJSON UpdateTracker' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Description" Data..=) Prelude.<$> description,+ ("PositionFiltering" Data..=)+ Prelude.<$> positionFiltering,+ ("PricingPlan" Data..=) Prelude.<$> pricingPlan,+ ("PricingPlanDataSource" Data..=)+ Prelude.<$> pricingPlanDataSource+ ]+ )++instance Data.ToPath UpdateTracker where+ toPath UpdateTracker' {..} =+ Prelude.mconcat+ ["/tracking/v0/trackers/", Data.toBS trackerName]++instance Data.ToQuery UpdateTracker where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTrackerResponse' smart constructor.+data UpdateTrackerResponse = UpdateTrackerResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the updated tracker resource. Used to+ -- specify a resource across AWS.+ --+ -- - Format example:+ -- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+ trackerArn :: Prelude.Text,+ -- | The name of the updated tracker resource.+ trackerName :: Prelude.Text,+ -- | The timestamp for when the tracker resource was last updated in+ -- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+ -- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+ updateTime :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTrackerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateTrackerResponse_httpStatus' - The response's http status code.+--+-- 'trackerArn', 'updateTrackerResponse_trackerArn' - The Amazon Resource Name (ARN) of the updated tracker resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+--+-- 'trackerName', 'updateTrackerResponse_trackerName' - The name of the updated tracker resource.+--+-- 'updateTime', 'updateTrackerResponse_updateTime' - The timestamp for when the tracker resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+newUpdateTrackerResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'trackerArn'+ Prelude.Text ->+ -- | 'trackerName'+ Prelude.Text ->+ -- | 'updateTime'+ Prelude.UTCTime ->+ UpdateTrackerResponse+newUpdateTrackerResponse+ pHttpStatus_+ pTrackerArn_+ pTrackerName_+ pUpdateTime_ =+ UpdateTrackerResponse'+ { httpStatus = pHttpStatus_,+ trackerArn = pTrackerArn_,+ trackerName = pTrackerName_,+ updateTime = Data._Time Lens.# pUpdateTime_+ }++-- | The response's http status code.+updateTrackerResponse_httpStatus :: Lens.Lens' UpdateTrackerResponse Prelude.Int+updateTrackerResponse_httpStatus = Lens.lens (\UpdateTrackerResponse' {httpStatus} -> httpStatus) (\s@UpdateTrackerResponse' {} a -> s {httpStatus = a} :: UpdateTrackerResponse)++-- | The Amazon Resource Name (ARN) of the updated tracker resource. Used to+-- specify a resource across AWS.+--+-- - Format example:+-- @arn:aws:geo:region:account-id:tracker\/ExampleTracker@+updateTrackerResponse_trackerArn :: Lens.Lens' UpdateTrackerResponse Prelude.Text+updateTrackerResponse_trackerArn = Lens.lens (\UpdateTrackerResponse' {trackerArn} -> trackerArn) (\s@UpdateTrackerResponse' {} a -> s {trackerArn = a} :: UpdateTrackerResponse)++-- | The name of the updated tracker resource.+updateTrackerResponse_trackerName :: Lens.Lens' UpdateTrackerResponse Prelude.Text+updateTrackerResponse_trackerName = Lens.lens (\UpdateTrackerResponse' {trackerName} -> trackerName) (\s@UpdateTrackerResponse' {} a -> s {trackerName = a} :: UpdateTrackerResponse)++-- | The timestamp for when the tracker resource was last updated in+-- <https://www.iso.org/iso-8601-date-and-time-format.html ISO 8601>+-- format: @YYYY-MM-DDThh:mm:ss.sssZ@.+updateTrackerResponse_updateTime :: Lens.Lens' UpdateTrackerResponse Prelude.UTCTime+updateTrackerResponse_updateTime = Lens.lens (\UpdateTrackerResponse' {updateTime} -> updateTime) (\s@UpdateTrackerResponse' {} a -> s {updateTime = a} :: UpdateTrackerResponse) Prelude.. Data._Time++instance Prelude.NFData UpdateTrackerResponse where+ rnf UpdateTrackerResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf trackerArn+ `Prelude.seq` Prelude.rnf trackerName+ `Prelude.seq` Prelude.rnf updateTime
+ gen/Amazonka/Location/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.Location.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.Location.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Location.Lens+import Amazonka.Location.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.Location+import Test.Amazonka.Location.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "Location"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/Location.hs view
@@ -0,0 +1,1098 @@+{-# 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.Location+-- Copyright : (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.Location where++import Amazonka.Location+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Location.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"+-- [ requestAssociateTrackerConsumer $+-- newAssociateTrackerConsumer+--+-- , requestBatchDeleteDevicePositionHistory $+-- newBatchDeleteDevicePositionHistory+--+-- , requestBatchDeleteGeofence $+-- newBatchDeleteGeofence+--+-- , requestBatchEvaluateGeofences $+-- newBatchEvaluateGeofences+--+-- , requestBatchGetDevicePosition $+-- newBatchGetDevicePosition+--+-- , requestBatchPutGeofence $+-- newBatchPutGeofence+--+-- , requestBatchUpdateDevicePosition $+-- newBatchUpdateDevicePosition+--+-- , requestCalculateRoute $+-- newCalculateRoute+--+-- , requestCalculateRouteMatrix $+-- newCalculateRouteMatrix+--+-- , requestCreateGeofenceCollection $+-- newCreateGeofenceCollection+--+-- , requestCreateMap $+-- newCreateMap+--+-- , requestCreatePlaceIndex $+-- newCreatePlaceIndex+--+-- , requestCreateRouteCalculator $+-- newCreateRouteCalculator+--+-- , requestCreateTracker $+-- newCreateTracker+--+-- , requestDeleteGeofenceCollection $+-- newDeleteGeofenceCollection+--+-- , requestDeleteMap $+-- newDeleteMap+--+-- , requestDeletePlaceIndex $+-- newDeletePlaceIndex+--+-- , requestDeleteRouteCalculator $+-- newDeleteRouteCalculator+--+-- , requestDeleteTracker $+-- newDeleteTracker+--+-- , requestDescribeGeofenceCollection $+-- newDescribeGeofenceCollection+--+-- , requestDescribeMap $+-- newDescribeMap+--+-- , requestDescribePlaceIndex $+-- newDescribePlaceIndex+--+-- , requestDescribeRouteCalculator $+-- newDescribeRouteCalculator+--+-- , requestDescribeTracker $+-- newDescribeTracker+--+-- , requestDisassociateTrackerConsumer $+-- newDisassociateTrackerConsumer+--+-- , requestGetDevicePosition $+-- newGetDevicePosition+--+-- , requestGetDevicePositionHistory $+-- newGetDevicePositionHistory+--+-- , requestGetGeofence $+-- newGetGeofence+--+-- , requestGetMapGlyphs $+-- newGetMapGlyphs+--+-- , requestGetMapSprites $+-- newGetMapSprites+--+-- , requestGetMapStyleDescriptor $+-- newGetMapStyleDescriptor+--+-- , requestGetMapTile $+-- newGetMapTile+--+-- , requestGetPlace $+-- newGetPlace+--+-- , requestListDevicePositions $+-- newListDevicePositions+--+-- , requestListGeofenceCollections $+-- newListGeofenceCollections+--+-- , requestListGeofences $+-- newListGeofences+--+-- , requestListMaps $+-- newListMaps+--+-- , requestListPlaceIndexes $+-- newListPlaceIndexes+--+-- , requestListRouteCalculators $+-- newListRouteCalculators+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListTrackerConsumers $+-- newListTrackerConsumers+--+-- , requestListTrackers $+-- newListTrackers+--+-- , requestPutGeofence $+-- newPutGeofence+--+-- , requestSearchPlaceIndexForPosition $+-- newSearchPlaceIndexForPosition+--+-- , requestSearchPlaceIndexForSuggestions $+-- newSearchPlaceIndexForSuggestions+--+-- , requestSearchPlaceIndexForText $+-- newSearchPlaceIndexForText+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateGeofenceCollection $+-- newUpdateGeofenceCollection+--+-- , requestUpdateMap $+-- newUpdateMap+--+-- , requestUpdatePlaceIndex $+-- newUpdatePlaceIndex+--+-- , requestUpdateRouteCalculator $+-- newUpdateRouteCalculator+--+-- , requestUpdateTracker $+-- newUpdateTracker+--+-- ]++-- , testGroup "response"+-- [ responseAssociateTrackerConsumer $+-- newAssociateTrackerConsumerResponse+--+-- , responseBatchDeleteDevicePositionHistory $+-- newBatchDeleteDevicePositionHistoryResponse+--+-- , responseBatchDeleteGeofence $+-- newBatchDeleteGeofenceResponse+--+-- , responseBatchEvaluateGeofences $+-- newBatchEvaluateGeofencesResponse+--+-- , responseBatchGetDevicePosition $+-- newBatchGetDevicePositionResponse+--+-- , responseBatchPutGeofence $+-- newBatchPutGeofenceResponse+--+-- , responseBatchUpdateDevicePosition $+-- newBatchUpdateDevicePositionResponse+--+-- , responseCalculateRoute $+-- newCalculateRouteResponse+--+-- , responseCalculateRouteMatrix $+-- newCalculateRouteMatrixResponse+--+-- , responseCreateGeofenceCollection $+-- newCreateGeofenceCollectionResponse+--+-- , responseCreateMap $+-- newCreateMapResponse+--+-- , responseCreatePlaceIndex $+-- newCreatePlaceIndexResponse+--+-- , responseCreateRouteCalculator $+-- newCreateRouteCalculatorResponse+--+-- , responseCreateTracker $+-- newCreateTrackerResponse+--+-- , responseDeleteGeofenceCollection $+-- newDeleteGeofenceCollectionResponse+--+-- , responseDeleteMap $+-- newDeleteMapResponse+--+-- , responseDeletePlaceIndex $+-- newDeletePlaceIndexResponse+--+-- , responseDeleteRouteCalculator $+-- newDeleteRouteCalculatorResponse+--+-- , responseDeleteTracker $+-- newDeleteTrackerResponse+--+-- , responseDescribeGeofenceCollection $+-- newDescribeGeofenceCollectionResponse+--+-- , responseDescribeMap $+-- newDescribeMapResponse+--+-- , responseDescribePlaceIndex $+-- newDescribePlaceIndexResponse+--+-- , responseDescribeRouteCalculator $+-- newDescribeRouteCalculatorResponse+--+-- , responseDescribeTracker $+-- newDescribeTrackerResponse+--+-- , responseDisassociateTrackerConsumer $+-- newDisassociateTrackerConsumerResponse+--+-- , responseGetDevicePosition $+-- newGetDevicePositionResponse+--+-- , responseGetDevicePositionHistory $+-- newGetDevicePositionHistoryResponse+--+-- , responseGetGeofence $+-- newGetGeofenceResponse+--+-- , responseGetMapGlyphs $+-- newGetMapGlyphsResponse+--+-- , responseGetMapSprites $+-- newGetMapSpritesResponse+--+-- , responseGetMapStyleDescriptor $+-- newGetMapStyleDescriptorResponse+--+-- , responseGetMapTile $+-- newGetMapTileResponse+--+-- , responseGetPlace $+-- newGetPlaceResponse+--+-- , responseListDevicePositions $+-- newListDevicePositionsResponse+--+-- , responseListGeofenceCollections $+-- newListGeofenceCollectionsResponse+--+-- , responseListGeofences $+-- newListGeofencesResponse+--+-- , responseListMaps $+-- newListMapsResponse+--+-- , responseListPlaceIndexes $+-- newListPlaceIndexesResponse+--+-- , responseListRouteCalculators $+-- newListRouteCalculatorsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListTrackerConsumers $+-- newListTrackerConsumersResponse+--+-- , responseListTrackers $+-- newListTrackersResponse+--+-- , responsePutGeofence $+-- newPutGeofenceResponse+--+-- , responseSearchPlaceIndexForPosition $+-- newSearchPlaceIndexForPositionResponse+--+-- , responseSearchPlaceIndexForSuggestions $+-- newSearchPlaceIndexForSuggestionsResponse+--+-- , responseSearchPlaceIndexForText $+-- newSearchPlaceIndexForTextResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateGeofenceCollection $+-- newUpdateGeofenceCollectionResponse+--+-- , responseUpdateMap $+-- newUpdateMapResponse+--+-- , responseUpdatePlaceIndex $+-- newUpdatePlaceIndexResponse+--+-- , responseUpdateRouteCalculator $+-- newUpdateRouteCalculatorResponse+--+-- , responseUpdateTracker $+-- newUpdateTrackerResponse+--+-- ]+-- ]++-- Requests++requestAssociateTrackerConsumer :: AssociateTrackerConsumer -> TestTree+requestAssociateTrackerConsumer =+ req+ "AssociateTrackerConsumer"+ "fixture/AssociateTrackerConsumer.yaml"++requestBatchDeleteDevicePositionHistory :: BatchDeleteDevicePositionHistory -> TestTree+requestBatchDeleteDevicePositionHistory =+ req+ "BatchDeleteDevicePositionHistory"+ "fixture/BatchDeleteDevicePositionHistory.yaml"++requestBatchDeleteGeofence :: BatchDeleteGeofence -> TestTree+requestBatchDeleteGeofence =+ req+ "BatchDeleteGeofence"+ "fixture/BatchDeleteGeofence.yaml"++requestBatchEvaluateGeofences :: BatchEvaluateGeofences -> TestTree+requestBatchEvaluateGeofences =+ req+ "BatchEvaluateGeofences"+ "fixture/BatchEvaluateGeofences.yaml"++requestBatchGetDevicePosition :: BatchGetDevicePosition -> TestTree+requestBatchGetDevicePosition =+ req+ "BatchGetDevicePosition"+ "fixture/BatchGetDevicePosition.yaml"++requestBatchPutGeofence :: BatchPutGeofence -> TestTree+requestBatchPutGeofence =+ req+ "BatchPutGeofence"+ "fixture/BatchPutGeofence.yaml"++requestBatchUpdateDevicePosition :: BatchUpdateDevicePosition -> TestTree+requestBatchUpdateDevicePosition =+ req+ "BatchUpdateDevicePosition"+ "fixture/BatchUpdateDevicePosition.yaml"++requestCalculateRoute :: CalculateRoute -> TestTree+requestCalculateRoute =+ req+ "CalculateRoute"+ "fixture/CalculateRoute.yaml"++requestCalculateRouteMatrix :: CalculateRouteMatrix -> TestTree+requestCalculateRouteMatrix =+ req+ "CalculateRouteMatrix"+ "fixture/CalculateRouteMatrix.yaml"++requestCreateGeofenceCollection :: CreateGeofenceCollection -> TestTree+requestCreateGeofenceCollection =+ req+ "CreateGeofenceCollection"+ "fixture/CreateGeofenceCollection.yaml"++requestCreateMap :: CreateMap -> TestTree+requestCreateMap =+ req+ "CreateMap"+ "fixture/CreateMap.yaml"++requestCreatePlaceIndex :: CreatePlaceIndex -> TestTree+requestCreatePlaceIndex =+ req+ "CreatePlaceIndex"+ "fixture/CreatePlaceIndex.yaml"++requestCreateRouteCalculator :: CreateRouteCalculator -> TestTree+requestCreateRouteCalculator =+ req+ "CreateRouteCalculator"+ "fixture/CreateRouteCalculator.yaml"++requestCreateTracker :: CreateTracker -> TestTree+requestCreateTracker =+ req+ "CreateTracker"+ "fixture/CreateTracker.yaml"++requestDeleteGeofenceCollection :: DeleteGeofenceCollection -> TestTree+requestDeleteGeofenceCollection =+ req+ "DeleteGeofenceCollection"+ "fixture/DeleteGeofenceCollection.yaml"++requestDeleteMap :: DeleteMap -> TestTree+requestDeleteMap =+ req+ "DeleteMap"+ "fixture/DeleteMap.yaml"++requestDeletePlaceIndex :: DeletePlaceIndex -> TestTree+requestDeletePlaceIndex =+ req+ "DeletePlaceIndex"+ "fixture/DeletePlaceIndex.yaml"++requestDeleteRouteCalculator :: DeleteRouteCalculator -> TestTree+requestDeleteRouteCalculator =+ req+ "DeleteRouteCalculator"+ "fixture/DeleteRouteCalculator.yaml"++requestDeleteTracker :: DeleteTracker -> TestTree+requestDeleteTracker =+ req+ "DeleteTracker"+ "fixture/DeleteTracker.yaml"++requestDescribeGeofenceCollection :: DescribeGeofenceCollection -> TestTree+requestDescribeGeofenceCollection =+ req+ "DescribeGeofenceCollection"+ "fixture/DescribeGeofenceCollection.yaml"++requestDescribeMap :: DescribeMap -> TestTree+requestDescribeMap =+ req+ "DescribeMap"+ "fixture/DescribeMap.yaml"++requestDescribePlaceIndex :: DescribePlaceIndex -> TestTree+requestDescribePlaceIndex =+ req+ "DescribePlaceIndex"+ "fixture/DescribePlaceIndex.yaml"++requestDescribeRouteCalculator :: DescribeRouteCalculator -> TestTree+requestDescribeRouteCalculator =+ req+ "DescribeRouteCalculator"+ "fixture/DescribeRouteCalculator.yaml"++requestDescribeTracker :: DescribeTracker -> TestTree+requestDescribeTracker =+ req+ "DescribeTracker"+ "fixture/DescribeTracker.yaml"++requestDisassociateTrackerConsumer :: DisassociateTrackerConsumer -> TestTree+requestDisassociateTrackerConsumer =+ req+ "DisassociateTrackerConsumer"+ "fixture/DisassociateTrackerConsumer.yaml"++requestGetDevicePosition :: GetDevicePosition -> TestTree+requestGetDevicePosition =+ req+ "GetDevicePosition"+ "fixture/GetDevicePosition.yaml"++requestGetDevicePositionHistory :: GetDevicePositionHistory -> TestTree+requestGetDevicePositionHistory =+ req+ "GetDevicePositionHistory"+ "fixture/GetDevicePositionHistory.yaml"++requestGetGeofence :: GetGeofence -> TestTree+requestGetGeofence =+ req+ "GetGeofence"+ "fixture/GetGeofence.yaml"++requestGetMapGlyphs :: GetMapGlyphs -> TestTree+requestGetMapGlyphs =+ req+ "GetMapGlyphs"+ "fixture/GetMapGlyphs.yaml"++requestGetMapSprites :: GetMapSprites -> TestTree+requestGetMapSprites =+ req+ "GetMapSprites"+ "fixture/GetMapSprites.yaml"++requestGetMapStyleDescriptor :: GetMapStyleDescriptor -> TestTree+requestGetMapStyleDescriptor =+ req+ "GetMapStyleDescriptor"+ "fixture/GetMapStyleDescriptor.yaml"++requestGetMapTile :: GetMapTile -> TestTree+requestGetMapTile =+ req+ "GetMapTile"+ "fixture/GetMapTile.yaml"++requestGetPlace :: GetPlace -> TestTree+requestGetPlace =+ req+ "GetPlace"+ "fixture/GetPlace.yaml"++requestListDevicePositions :: ListDevicePositions -> TestTree+requestListDevicePositions =+ req+ "ListDevicePositions"+ "fixture/ListDevicePositions.yaml"++requestListGeofenceCollections :: ListGeofenceCollections -> TestTree+requestListGeofenceCollections =+ req+ "ListGeofenceCollections"+ "fixture/ListGeofenceCollections.yaml"++requestListGeofences :: ListGeofences -> TestTree+requestListGeofences =+ req+ "ListGeofences"+ "fixture/ListGeofences.yaml"++requestListMaps :: ListMaps -> TestTree+requestListMaps =+ req+ "ListMaps"+ "fixture/ListMaps.yaml"++requestListPlaceIndexes :: ListPlaceIndexes -> TestTree+requestListPlaceIndexes =+ req+ "ListPlaceIndexes"+ "fixture/ListPlaceIndexes.yaml"++requestListRouteCalculators :: ListRouteCalculators -> TestTree+requestListRouteCalculators =+ req+ "ListRouteCalculators"+ "fixture/ListRouteCalculators.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListTrackerConsumers :: ListTrackerConsumers -> TestTree+requestListTrackerConsumers =+ req+ "ListTrackerConsumers"+ "fixture/ListTrackerConsumers.yaml"++requestListTrackers :: ListTrackers -> TestTree+requestListTrackers =+ req+ "ListTrackers"+ "fixture/ListTrackers.yaml"++requestPutGeofence :: PutGeofence -> TestTree+requestPutGeofence =+ req+ "PutGeofence"+ "fixture/PutGeofence.yaml"++requestSearchPlaceIndexForPosition :: SearchPlaceIndexForPosition -> TestTree+requestSearchPlaceIndexForPosition =+ req+ "SearchPlaceIndexForPosition"+ "fixture/SearchPlaceIndexForPosition.yaml"++requestSearchPlaceIndexForSuggestions :: SearchPlaceIndexForSuggestions -> TestTree+requestSearchPlaceIndexForSuggestions =+ req+ "SearchPlaceIndexForSuggestions"+ "fixture/SearchPlaceIndexForSuggestions.yaml"++requestSearchPlaceIndexForText :: SearchPlaceIndexForText -> TestTree+requestSearchPlaceIndexForText =+ req+ "SearchPlaceIndexForText"+ "fixture/SearchPlaceIndexForText.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateGeofenceCollection :: UpdateGeofenceCollection -> TestTree+requestUpdateGeofenceCollection =+ req+ "UpdateGeofenceCollection"+ "fixture/UpdateGeofenceCollection.yaml"++requestUpdateMap :: UpdateMap -> TestTree+requestUpdateMap =+ req+ "UpdateMap"+ "fixture/UpdateMap.yaml"++requestUpdatePlaceIndex :: UpdatePlaceIndex -> TestTree+requestUpdatePlaceIndex =+ req+ "UpdatePlaceIndex"+ "fixture/UpdatePlaceIndex.yaml"++requestUpdateRouteCalculator :: UpdateRouteCalculator -> TestTree+requestUpdateRouteCalculator =+ req+ "UpdateRouteCalculator"+ "fixture/UpdateRouteCalculator.yaml"++requestUpdateTracker :: UpdateTracker -> TestTree+requestUpdateTracker =+ req+ "UpdateTracker"+ "fixture/UpdateTracker.yaml"++-- Responses++responseAssociateTrackerConsumer :: AssociateTrackerConsumerResponse -> TestTree+responseAssociateTrackerConsumer =+ res+ "AssociateTrackerConsumerResponse"+ "fixture/AssociateTrackerConsumerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateTrackerConsumer)++responseBatchDeleteDevicePositionHistory :: BatchDeleteDevicePositionHistoryResponse -> TestTree+responseBatchDeleteDevicePositionHistory =+ res+ "BatchDeleteDevicePositionHistoryResponse"+ "fixture/BatchDeleteDevicePositionHistoryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDeleteDevicePositionHistory)++responseBatchDeleteGeofence :: BatchDeleteGeofenceResponse -> TestTree+responseBatchDeleteGeofence =+ res+ "BatchDeleteGeofenceResponse"+ "fixture/BatchDeleteGeofenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDeleteGeofence)++responseBatchEvaluateGeofences :: BatchEvaluateGeofencesResponse -> TestTree+responseBatchEvaluateGeofences =+ res+ "BatchEvaluateGeofencesResponse"+ "fixture/BatchEvaluateGeofencesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchEvaluateGeofences)++responseBatchGetDevicePosition :: BatchGetDevicePositionResponse -> TestTree+responseBatchGetDevicePosition =+ res+ "BatchGetDevicePositionResponse"+ "fixture/BatchGetDevicePositionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetDevicePosition)++responseBatchPutGeofence :: BatchPutGeofenceResponse -> TestTree+responseBatchPutGeofence =+ res+ "BatchPutGeofenceResponse"+ "fixture/BatchPutGeofenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchPutGeofence)++responseBatchUpdateDevicePosition :: BatchUpdateDevicePositionResponse -> TestTree+responseBatchUpdateDevicePosition =+ res+ "BatchUpdateDevicePositionResponse"+ "fixture/BatchUpdateDevicePositionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchUpdateDevicePosition)++responseCalculateRoute :: CalculateRouteResponse -> TestTree+responseCalculateRoute =+ res+ "CalculateRouteResponse"+ "fixture/CalculateRouteResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CalculateRoute)++responseCalculateRouteMatrix :: CalculateRouteMatrixResponse -> TestTree+responseCalculateRouteMatrix =+ res+ "CalculateRouteMatrixResponse"+ "fixture/CalculateRouteMatrixResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CalculateRouteMatrix)++responseCreateGeofenceCollection :: CreateGeofenceCollectionResponse -> TestTree+responseCreateGeofenceCollection =+ res+ "CreateGeofenceCollectionResponse"+ "fixture/CreateGeofenceCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateGeofenceCollection)++responseCreateMap :: CreateMapResponse -> TestTree+responseCreateMap =+ res+ "CreateMapResponse"+ "fixture/CreateMapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateMap)++responseCreatePlaceIndex :: CreatePlaceIndexResponse -> TestTree+responseCreatePlaceIndex =+ res+ "CreatePlaceIndexResponse"+ "fixture/CreatePlaceIndexResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePlaceIndex)++responseCreateRouteCalculator :: CreateRouteCalculatorResponse -> TestTree+responseCreateRouteCalculator =+ res+ "CreateRouteCalculatorResponse"+ "fixture/CreateRouteCalculatorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateRouteCalculator)++responseCreateTracker :: CreateTrackerResponse -> TestTree+responseCreateTracker =+ res+ "CreateTrackerResponse"+ "fixture/CreateTrackerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateTracker)++responseDeleteGeofenceCollection :: DeleteGeofenceCollectionResponse -> TestTree+responseDeleteGeofenceCollection =+ res+ "DeleteGeofenceCollectionResponse"+ "fixture/DeleteGeofenceCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteGeofenceCollection)++responseDeleteMap :: DeleteMapResponse -> TestTree+responseDeleteMap =+ res+ "DeleteMapResponse"+ "fixture/DeleteMapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteMap)++responseDeletePlaceIndex :: DeletePlaceIndexResponse -> TestTree+responseDeletePlaceIndex =+ res+ "DeletePlaceIndexResponse"+ "fixture/DeletePlaceIndexResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePlaceIndex)++responseDeleteRouteCalculator :: DeleteRouteCalculatorResponse -> TestTree+responseDeleteRouteCalculator =+ res+ "DeleteRouteCalculatorResponse"+ "fixture/DeleteRouteCalculatorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteRouteCalculator)++responseDeleteTracker :: DeleteTrackerResponse -> TestTree+responseDeleteTracker =+ res+ "DeleteTrackerResponse"+ "fixture/DeleteTrackerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteTracker)++responseDescribeGeofenceCollection :: DescribeGeofenceCollectionResponse -> TestTree+responseDescribeGeofenceCollection =+ res+ "DescribeGeofenceCollectionResponse"+ "fixture/DescribeGeofenceCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeGeofenceCollection)++responseDescribeMap :: DescribeMapResponse -> TestTree+responseDescribeMap =+ res+ "DescribeMapResponse"+ "fixture/DescribeMapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeMap)++responseDescribePlaceIndex :: DescribePlaceIndexResponse -> TestTree+responseDescribePlaceIndex =+ res+ "DescribePlaceIndexResponse"+ "fixture/DescribePlaceIndexResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribePlaceIndex)++responseDescribeRouteCalculator :: DescribeRouteCalculatorResponse -> TestTree+responseDescribeRouteCalculator =+ res+ "DescribeRouteCalculatorResponse"+ "fixture/DescribeRouteCalculatorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeRouteCalculator)++responseDescribeTracker :: DescribeTrackerResponse -> TestTree+responseDescribeTracker =+ res+ "DescribeTrackerResponse"+ "fixture/DescribeTrackerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeTracker)++responseDisassociateTrackerConsumer :: DisassociateTrackerConsumerResponse -> TestTree+responseDisassociateTrackerConsumer =+ res+ "DisassociateTrackerConsumerResponse"+ "fixture/DisassociateTrackerConsumerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateTrackerConsumer)++responseGetDevicePosition :: GetDevicePositionResponse -> TestTree+responseGetDevicePosition =+ res+ "GetDevicePositionResponse"+ "fixture/GetDevicePositionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDevicePosition)++responseGetDevicePositionHistory :: GetDevicePositionHistoryResponse -> TestTree+responseGetDevicePositionHistory =+ res+ "GetDevicePositionHistoryResponse"+ "fixture/GetDevicePositionHistoryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDevicePositionHistory)++responseGetGeofence :: GetGeofenceResponse -> TestTree+responseGetGeofence =+ res+ "GetGeofenceResponse"+ "fixture/GetGeofenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetGeofence)++responseGetMapGlyphs :: GetMapGlyphsResponse -> TestTree+responseGetMapGlyphs =+ res+ "GetMapGlyphsResponse"+ "fixture/GetMapGlyphsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMapGlyphs)++responseGetMapSprites :: GetMapSpritesResponse -> TestTree+responseGetMapSprites =+ res+ "GetMapSpritesResponse"+ "fixture/GetMapSpritesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMapSprites)++responseGetMapStyleDescriptor :: GetMapStyleDescriptorResponse -> TestTree+responseGetMapStyleDescriptor =+ res+ "GetMapStyleDescriptorResponse"+ "fixture/GetMapStyleDescriptorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMapStyleDescriptor)++responseGetMapTile :: GetMapTileResponse -> TestTree+responseGetMapTile =+ res+ "GetMapTileResponse"+ "fixture/GetMapTileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMapTile)++responseGetPlace :: GetPlaceResponse -> TestTree+responseGetPlace =+ res+ "GetPlaceResponse"+ "fixture/GetPlaceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPlace)++responseListDevicePositions :: ListDevicePositionsResponse -> TestTree+responseListDevicePositions =+ res+ "ListDevicePositionsResponse"+ "fixture/ListDevicePositionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDevicePositions)++responseListGeofenceCollections :: ListGeofenceCollectionsResponse -> TestTree+responseListGeofenceCollections =+ res+ "ListGeofenceCollectionsResponse"+ "fixture/ListGeofenceCollectionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGeofenceCollections)++responseListGeofences :: ListGeofencesResponse -> TestTree+responseListGeofences =+ res+ "ListGeofencesResponse"+ "fixture/ListGeofencesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListGeofences)++responseListMaps :: ListMapsResponse -> TestTree+responseListMaps =+ res+ "ListMapsResponse"+ "fixture/ListMapsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListMaps)++responseListPlaceIndexes :: ListPlaceIndexesResponse -> TestTree+responseListPlaceIndexes =+ res+ "ListPlaceIndexesResponse"+ "fixture/ListPlaceIndexesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPlaceIndexes)++responseListRouteCalculators :: ListRouteCalculatorsResponse -> TestTree+responseListRouteCalculators =+ res+ "ListRouteCalculatorsResponse"+ "fixture/ListRouteCalculatorsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListRouteCalculators)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTrackerConsumers :: ListTrackerConsumersResponse -> TestTree+responseListTrackerConsumers =+ res+ "ListTrackerConsumersResponse"+ "fixture/ListTrackerConsumersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTrackerConsumers)++responseListTrackers :: ListTrackersResponse -> TestTree+responseListTrackers =+ res+ "ListTrackersResponse"+ "fixture/ListTrackersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTrackers)++responsePutGeofence :: PutGeofenceResponse -> TestTree+responsePutGeofence =+ res+ "PutGeofenceResponse"+ "fixture/PutGeofenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutGeofence)++responseSearchPlaceIndexForPosition :: SearchPlaceIndexForPositionResponse -> TestTree+responseSearchPlaceIndexForPosition =+ res+ "SearchPlaceIndexForPositionResponse"+ "fixture/SearchPlaceIndexForPositionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SearchPlaceIndexForPosition)++responseSearchPlaceIndexForSuggestions :: SearchPlaceIndexForSuggestionsResponse -> TestTree+responseSearchPlaceIndexForSuggestions =+ res+ "SearchPlaceIndexForSuggestionsResponse"+ "fixture/SearchPlaceIndexForSuggestionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SearchPlaceIndexForSuggestions)++responseSearchPlaceIndexForText :: SearchPlaceIndexForTextResponse -> TestTree+responseSearchPlaceIndexForText =+ res+ "SearchPlaceIndexForTextResponse"+ "fixture/SearchPlaceIndexForTextResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SearchPlaceIndexForText)++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)++responseUpdateGeofenceCollection :: UpdateGeofenceCollectionResponse -> TestTree+responseUpdateGeofenceCollection =+ res+ "UpdateGeofenceCollectionResponse"+ "fixture/UpdateGeofenceCollectionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateGeofenceCollection)++responseUpdateMap :: UpdateMapResponse -> TestTree+responseUpdateMap =+ res+ "UpdateMapResponse"+ "fixture/UpdateMapResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMap)++responseUpdatePlaceIndex :: UpdatePlaceIndexResponse -> TestTree+responseUpdatePlaceIndex =+ res+ "UpdatePlaceIndexResponse"+ "fixture/UpdatePlaceIndexResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdatePlaceIndex)++responseUpdateRouteCalculator :: UpdateRouteCalculatorResponse -> TestTree+responseUpdateRouteCalculator =+ res+ "UpdateRouteCalculatorResponse"+ "fixture/UpdateRouteCalculatorResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRouteCalculator)++responseUpdateTracker :: UpdateTrackerResponse -> TestTree+responseUpdateTracker =+ res+ "UpdateTrackerResponse"+ "fixture/UpdateTrackerResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateTracker)
+ test/Test/Amazonka/Location.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.Location+-- Copyright : (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.Location+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Location/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.Location.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.Location.Internal where