amazonka-iotfleetwise (empty) → 2.0
raw patch · 215 files changed
+22743/−0 lines, 215 filesdep +amazonka-coredep +amazonka-iotfleetwisedep +amazonka-test
Dependencies added: amazonka-core, amazonka-iotfleetwise, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-iotfleetwise.cabal +186/−0
- fixture/AssociateVehicleFleet.yaml +10/−0
- fixture/AssociateVehicleFleetResponse.proto +0/−0
- fixture/BatchCreateVehicle.yaml +10/−0
- fixture/BatchCreateVehicleResponse.proto +0/−0
- fixture/BatchUpdateVehicle.yaml +10/−0
- fixture/BatchUpdateVehicleResponse.proto +0/−0
- fixture/CreateCampaign.yaml +10/−0
- fixture/CreateCampaignResponse.proto +0/−0
- fixture/CreateDecoderManifest.yaml +10/−0
- fixture/CreateDecoderManifestResponse.proto +0/−0
- fixture/CreateFleet.yaml +10/−0
- fixture/CreateFleetResponse.proto +0/−0
- fixture/CreateModelManifest.yaml +10/−0
- fixture/CreateModelManifestResponse.proto +0/−0
- fixture/CreateSignalCatalog.yaml +10/−0
- fixture/CreateSignalCatalogResponse.proto +0/−0
- fixture/CreateVehicle.yaml +10/−0
- fixture/CreateVehicleResponse.proto +0/−0
- fixture/DeleteCampaign.yaml +10/−0
- fixture/DeleteCampaignResponse.proto +0/−0
- fixture/DeleteDecoderManifest.yaml +10/−0
- fixture/DeleteDecoderManifestResponse.proto +0/−0
- fixture/DeleteFleet.yaml +10/−0
- fixture/DeleteFleetResponse.proto +0/−0
- fixture/DeleteModelManifest.yaml +10/−0
- fixture/DeleteModelManifestResponse.proto +0/−0
- fixture/DeleteSignalCatalog.yaml +10/−0
- fixture/DeleteSignalCatalogResponse.proto +0/−0
- fixture/DeleteVehicle.yaml +10/−0
- fixture/DeleteVehicleResponse.proto +0/−0
- fixture/DisassociateVehicleFleet.yaml +10/−0
- fixture/DisassociateVehicleFleetResponse.proto +0/−0
- fixture/GetCampaign.yaml +10/−0
- fixture/GetCampaignResponse.proto +0/−0
- fixture/GetDecoderManifest.yaml +10/−0
- fixture/GetDecoderManifestResponse.proto +0/−0
- fixture/GetFleet.yaml +10/−0
- fixture/GetFleetResponse.proto +0/−0
- fixture/GetLoggingOptions.yaml +10/−0
- fixture/GetLoggingOptionsResponse.proto +0/−0
- fixture/GetModelManifest.yaml +10/−0
- fixture/GetModelManifestResponse.proto +0/−0
- fixture/GetRegisterAccountStatus.yaml +10/−0
- fixture/GetRegisterAccountStatusResponse.proto +0/−0
- fixture/GetSignalCatalog.yaml +10/−0
- fixture/GetSignalCatalogResponse.proto +0/−0
- fixture/GetVehicle.yaml +10/−0
- fixture/GetVehicleResponse.proto +0/−0
- fixture/GetVehicleStatus.yaml +10/−0
- fixture/GetVehicleStatusResponse.proto +0/−0
- fixture/ImportDecoderManifest.yaml +10/−0
- fixture/ImportDecoderManifestResponse.proto +0/−0
- fixture/ImportSignalCatalog.yaml +10/−0
- fixture/ImportSignalCatalogResponse.proto +0/−0
- fixture/ListCampaigns.yaml +10/−0
- fixture/ListCampaignsResponse.proto +0/−0
- fixture/ListDecoderManifestNetworkInterfaces.yaml +10/−0
- fixture/ListDecoderManifestNetworkInterfacesResponse.proto +0/−0
- fixture/ListDecoderManifestSignals.yaml +10/−0
- fixture/ListDecoderManifestSignalsResponse.proto +0/−0
- fixture/ListDecoderManifests.yaml +10/−0
- fixture/ListDecoderManifestsResponse.proto +0/−0
- fixture/ListFleets.yaml +10/−0
- fixture/ListFleetsForVehicle.yaml +10/−0
- fixture/ListFleetsForVehicleResponse.proto +0/−0
- fixture/ListFleetsResponse.proto +0/−0
- fixture/ListModelManifestNodes.yaml +10/−0
- fixture/ListModelManifestNodesResponse.proto +0/−0
- fixture/ListModelManifests.yaml +10/−0
- fixture/ListModelManifestsResponse.proto +0/−0
- fixture/ListSignalCatalogNodes.yaml +10/−0
- fixture/ListSignalCatalogNodesResponse.proto +0/−0
- fixture/ListSignalCatalogs.yaml +10/−0
- fixture/ListSignalCatalogsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListVehicles.yaml +10/−0
- fixture/ListVehiclesInFleet.yaml +10/−0
- fixture/ListVehiclesInFleetResponse.proto +0/−0
- fixture/ListVehiclesResponse.proto +0/−0
- fixture/PutLoggingOptions.yaml +10/−0
- fixture/PutLoggingOptionsResponse.proto +0/−0
- fixture/RegisterAccount.yaml +10/−0
- fixture/RegisterAccountResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateCampaign.yaml +10/−0
- fixture/UpdateCampaignResponse.proto +0/−0
- fixture/UpdateDecoderManifest.yaml +10/−0
- fixture/UpdateDecoderManifestResponse.proto +0/−0
- fixture/UpdateFleet.yaml +10/−0
- fixture/UpdateFleetResponse.proto +0/−0
- fixture/UpdateModelManifest.yaml +10/−0
- fixture/UpdateModelManifestResponse.proto +0/−0
- fixture/UpdateSignalCatalog.yaml +10/−0
- fixture/UpdateSignalCatalogResponse.proto +0/−0
- fixture/UpdateVehicle.yaml +10/−0
- fixture/UpdateVehicleResponse.proto +0/−0
- gen/Amazonka/IoTFleetWise.hs +647/−0
- gen/Amazonka/IoTFleetWise/AssociateVehicleFleet.hs +176/−0
- gen/Amazonka/IoTFleetWise/BatchCreateVehicle.hs +194/−0
- gen/Amazonka/IoTFleetWise/BatchUpdateVehicle.hs +197/−0
- gen/Amazonka/IoTFleetWise/CreateCampaign.hs +514/−0
- gen/Amazonka/IoTFleetWise/CreateDecoderManifest.hs +272/−0
- gen/Amazonka/IoTFleetWise/CreateFleet.hs +235/−0
- gen/Amazonka/IoTFleetWise/CreateModelManifest.hs +252/−0
- gen/Amazonka/IoTFleetWise/CreateSignalCatalog.hs +235/−0
- gen/Amazonka/IoTFleetWise/CreateVehicle.hs +297/−0
- gen/Amazonka/IoTFleetWise/DeleteCampaign.hs +186/−0
- gen/Amazonka/IoTFleetWise/DeleteDecoderManifest.hs +191/−0
- gen/Amazonka/IoTFleetWise/DeleteFleet.hs +183/−0
- gen/Amazonka/IoTFleetWise/DeleteModelManifest.hs +190/−0
- gen/Amazonka/IoTFleetWise/DeleteSignalCatalog.hs +190/−0
- gen/Amazonka/IoTFleetWise/DeleteVehicle.hs +189/−0
- gen/Amazonka/IoTFleetWise/DisassociateVehicleFleet.hs +185/−0
- gen/Amazonka/IoTFleetWise/GetCampaign.hs +413/−0
- gen/Amazonka/IoTFleetWise/GetDecoderManifest.hs +269/−0
- gen/Amazonka/IoTFleetWise/GetFleet.hs +248/−0
- gen/Amazonka/IoTFleetWise/GetLoggingOptions.hs +152/−0
- gen/Amazonka/IoTFleetWise/GetModelManifest.hs +263/−0
- gen/Amazonka/IoTFleetWise/GetRegisterAccountStatus.hs +289/−0
- gen/Amazonka/IoTFleetWise/GetSignalCatalog.hs +245/−0
- gen/Amazonka/IoTFleetWise/GetVehicle.hs +252/−0
- gen/Amazonka/IoTFleetWise/GetVehicleStatus.hs +260/−0
- gen/Amazonka/IoTFleetWise/ImportDecoderManifest.hs +212/−0
- gen/Amazonka/IoTFleetWise/ImportSignalCatalog.hs +238/−0
- gen/Amazonka/IoTFleetWise/Lens.hs +774/−0
- gen/Amazonka/IoTFleetWise/ListCampaigns.hs +266/−0
- gen/Amazonka/IoTFleetWise/ListDecoderManifestNetworkInterfaces.hs +291/−0
- gen/Amazonka/IoTFleetWise/ListDecoderManifestSignals.hs +265/−0
- gen/Amazonka/IoTFleetWise/ListDecoderManifests.hs +261/−0
- gen/Amazonka/IoTFleetWise/ListFleets.hs +243/−0
- gen/Amazonka/IoTFleetWise/ListFleetsForVehicle.hs +260/−0
- gen/Amazonka/IoTFleetWise/ListModelManifestNodes.hs +264/−0
- gen/Amazonka/IoTFleetWise/ListModelManifests.hs +261/−0
- gen/Amazonka/IoTFleetWise/ListSignalCatalogNodes.hs +264/−0
- gen/Amazonka/IoTFleetWise/ListSignalCatalogs.hs +247/−0
- gen/Amazonka/IoTFleetWise/ListTagsForResource.hs +169/−0
- gen/Amazonka/IoTFleetWise/ListVehicles.hs +264/−0
- gen/Amazonka/IoTFleetWise/ListVehiclesInFleet.hs +259/−0
- gen/Amazonka/IoTFleetWise/PutLoggingOptions.hs +164/−0
- gen/Amazonka/IoTFleetWise/RegisterAccount.hs +279/−0
- gen/Amazonka/IoTFleetWise/TagResource.hs +169/−0
- gen/Amazonka/IoTFleetWise/Types.hs +600/−0
- gen/Amazonka/IoTFleetWise/Types/Actuator.hs +185/−0
- gen/Amazonka/IoTFleetWise/Types/Attribute.hs +194/−0
- gen/Amazonka/IoTFleetWise/Types/Branch.hs +99/−0
- gen/Amazonka/IoTFleetWise/Types/CampaignStatus.hs +81/−0
- gen/Amazonka/IoTFleetWise/Types/CampaignSummary.hs +206/−0
- gen/Amazonka/IoTFleetWise/Types/CanDbcDefinition.hs +106/−0
- gen/Amazonka/IoTFleetWise/Types/CanInterface.hs +109/−0
- gen/Amazonka/IoTFleetWise/Types/CanSignal.hs +193/−0
- gen/Amazonka/IoTFleetWise/Types/CloudWatchLogDeliveryOptions.hs +100/−0
- gen/Amazonka/IoTFleetWise/Types/CollectionScheme.hs +104/−0
- gen/Amazonka/IoTFleetWise/Types/Compression.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/ConditionBasedCollectionScheme.hs +161/−0
- gen/Amazonka/IoTFleetWise/Types/CreateVehicleError.hs +96/−0
- gen/Amazonka/IoTFleetWise/Types/CreateVehicleRequestItem.hs +158/−0
- gen/Amazonka/IoTFleetWise/Types/CreateVehicleResponseItem.hs +96/−0
- gen/Amazonka/IoTFleetWise/Types/DecoderManifestSummary.hs +171/−0
- gen/Amazonka/IoTFleetWise/Types/DiagnosticsMode.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/FleetSummary.hs +153/−0
- gen/Amazonka/IoTFleetWise/Types/FormattedVss.hs +68/−0
- gen/Amazonka/IoTFleetWise/Types/IamRegistrationResponse.hs +109/−0
- gen/Amazonka/IoTFleetWise/Types/IamResources.hs +87/−0
- gen/Amazonka/IoTFleetWise/Types/LogType.hs +68/−0
- gen/Amazonka/IoTFleetWise/Types/ManifestStatus.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/ModelManifestSummary.hs +165/−0
- gen/Amazonka/IoTFleetWise/Types/NetworkFileDefinition.hs +70/−0
- gen/Amazonka/IoTFleetWise/Types/NetworkInterface.hs +145/−0
- gen/Amazonka/IoTFleetWise/Types/NetworkInterfaceType.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/Node.hs +141/−0
- gen/Amazonka/IoTFleetWise/Types/NodeCounts.hs +124/−0
- gen/Amazonka/IoTFleetWise/Types/NodeDataType.hs +196/−0
- gen/Amazonka/IoTFleetWise/Types/ObdInterface.hs +172/−0
- gen/Amazonka/IoTFleetWise/Types/ObdSignal.hs +207/−0
- gen/Amazonka/IoTFleetWise/Types/RegistrationStatus.hs +76/−0
- gen/Amazonka/IoTFleetWise/Types/Sensor.hs +171/−0
- gen/Amazonka/IoTFleetWise/Types/SignalCatalogSummary.hs +115/−0
- gen/Amazonka/IoTFleetWise/Types/SignalDecoder.hs +166/−0
- gen/Amazonka/IoTFleetWise/Types/SignalDecoderType.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/SignalInformation.hs +123/−0
- gen/Amazonka/IoTFleetWise/Types/SpoolingMode.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/Tag.hs +93/−0
- gen/Amazonka/IoTFleetWise/Types/TimeBasedCollectionScheme.hs +85/−0
- gen/Amazonka/IoTFleetWise/Types/TimestreamRegistrationResponse.hs +159/−0
- gen/Amazonka/IoTFleetWise/Types/TimestreamResources.hs +105/−0
- gen/Amazonka/IoTFleetWise/Types/TriggerMode.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/UpdateCampaignAction.hs +81/−0
- gen/Amazonka/IoTFleetWise/Types/UpdateMode.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/UpdateVehicleError.hs +96/−0
- gen/Amazonka/IoTFleetWise/Types/UpdateVehicleRequestItem.hs +150/−0
- gen/Amazonka/IoTFleetWise/Types/UpdateVehicleResponseItem.hs +84/−0
- gen/Amazonka/IoTFleetWise/Types/VehicleAssociationBehavior.hs +71/−0
- gen/Amazonka/IoTFleetWise/Types/VehicleState.hs +86/−0
- gen/Amazonka/IoTFleetWise/Types/VehicleStatus.hs +137/−0
- gen/Amazonka/IoTFleetWise/Types/VehicleSummary.hs +160/−0
- gen/Amazonka/IoTFleetWise/UntagResource.hs +171/−0
- gen/Amazonka/IoTFleetWise/UpdateCampaign.hs +314/−0
- gen/Amazonka/IoTFleetWise/UpdateDecoderManifest.hs +324/−0
- gen/Amazonka/IoTFleetWise/UpdateFleet.hs +198/−0
- gen/Amazonka/IoTFleetWise/UpdateModelManifest.hs +257/−0
- gen/Amazonka/IoTFleetWise/UpdateSignalCatalog.hs +247/−0
- gen/Amazonka/IoTFleetWise/UpdateVehicle.hs +258/−0
- gen/Amazonka/IoTFleetWise/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/IoTFleetWise.hs +1038/−0
- test/Test/Amazonka/IoTFleetWise.hs +20/−0
- test/Test/Amazonka/IoTFleetWise/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 IoT FleetWise SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-06-17@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-iotfleetwise)+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.IoTFleetWise](http://hackage.haskell.org/package/amazonka-iotfleetwise/docs/Amazonka-IoTFleetWise.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-iotfleetwise` 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-iotfleetwise.cabal view
@@ -0,0 +1,186 @@+cabal-version: 2.2+name: amazonka-iotfleetwise+version: 2.0+synopsis: Amazon IoT FleetWise 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 @2021-06-17@ 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.IoTFleetWise.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.IoTFleetWise" 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-iotfleetwise++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.IoTFleetWise+ Amazonka.IoTFleetWise.AssociateVehicleFleet+ Amazonka.IoTFleetWise.BatchCreateVehicle+ Amazonka.IoTFleetWise.BatchUpdateVehicle+ Amazonka.IoTFleetWise.CreateCampaign+ Amazonka.IoTFleetWise.CreateDecoderManifest+ Amazonka.IoTFleetWise.CreateFleet+ Amazonka.IoTFleetWise.CreateModelManifest+ Amazonka.IoTFleetWise.CreateSignalCatalog+ Amazonka.IoTFleetWise.CreateVehicle+ Amazonka.IoTFleetWise.DeleteCampaign+ Amazonka.IoTFleetWise.DeleteDecoderManifest+ Amazonka.IoTFleetWise.DeleteFleet+ Amazonka.IoTFleetWise.DeleteModelManifest+ Amazonka.IoTFleetWise.DeleteSignalCatalog+ Amazonka.IoTFleetWise.DeleteVehicle+ Amazonka.IoTFleetWise.DisassociateVehicleFleet+ Amazonka.IoTFleetWise.GetCampaign+ Amazonka.IoTFleetWise.GetDecoderManifest+ Amazonka.IoTFleetWise.GetFleet+ Amazonka.IoTFleetWise.GetLoggingOptions+ Amazonka.IoTFleetWise.GetModelManifest+ Amazonka.IoTFleetWise.GetRegisterAccountStatus+ Amazonka.IoTFleetWise.GetSignalCatalog+ Amazonka.IoTFleetWise.GetVehicle+ Amazonka.IoTFleetWise.GetVehicleStatus+ Amazonka.IoTFleetWise.ImportDecoderManifest+ Amazonka.IoTFleetWise.ImportSignalCatalog+ Amazonka.IoTFleetWise.Lens+ Amazonka.IoTFleetWise.ListCampaigns+ Amazonka.IoTFleetWise.ListDecoderManifestNetworkInterfaces+ Amazonka.IoTFleetWise.ListDecoderManifests+ Amazonka.IoTFleetWise.ListDecoderManifestSignals+ Amazonka.IoTFleetWise.ListFleets+ Amazonka.IoTFleetWise.ListFleetsForVehicle+ Amazonka.IoTFleetWise.ListModelManifestNodes+ Amazonka.IoTFleetWise.ListModelManifests+ Amazonka.IoTFleetWise.ListSignalCatalogNodes+ Amazonka.IoTFleetWise.ListSignalCatalogs+ Amazonka.IoTFleetWise.ListTagsForResource+ Amazonka.IoTFleetWise.ListVehicles+ Amazonka.IoTFleetWise.ListVehiclesInFleet+ Amazonka.IoTFleetWise.PutLoggingOptions+ Amazonka.IoTFleetWise.RegisterAccount+ Amazonka.IoTFleetWise.TagResource+ Amazonka.IoTFleetWise.Types+ Amazonka.IoTFleetWise.Types.Actuator+ Amazonka.IoTFleetWise.Types.Attribute+ Amazonka.IoTFleetWise.Types.Branch+ Amazonka.IoTFleetWise.Types.CampaignStatus+ Amazonka.IoTFleetWise.Types.CampaignSummary+ Amazonka.IoTFleetWise.Types.CanDbcDefinition+ Amazonka.IoTFleetWise.Types.CanInterface+ Amazonka.IoTFleetWise.Types.CanSignal+ Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions+ Amazonka.IoTFleetWise.Types.CollectionScheme+ Amazonka.IoTFleetWise.Types.Compression+ Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme+ Amazonka.IoTFleetWise.Types.CreateVehicleError+ Amazonka.IoTFleetWise.Types.CreateVehicleRequestItem+ Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem+ Amazonka.IoTFleetWise.Types.DecoderManifestSummary+ Amazonka.IoTFleetWise.Types.DiagnosticsMode+ Amazonka.IoTFleetWise.Types.FleetSummary+ Amazonka.IoTFleetWise.Types.FormattedVss+ Amazonka.IoTFleetWise.Types.IamRegistrationResponse+ Amazonka.IoTFleetWise.Types.IamResources+ Amazonka.IoTFleetWise.Types.LogType+ Amazonka.IoTFleetWise.Types.ManifestStatus+ Amazonka.IoTFleetWise.Types.ModelManifestSummary+ Amazonka.IoTFleetWise.Types.NetworkFileDefinition+ Amazonka.IoTFleetWise.Types.NetworkInterface+ Amazonka.IoTFleetWise.Types.NetworkInterfaceType+ Amazonka.IoTFleetWise.Types.Node+ Amazonka.IoTFleetWise.Types.NodeCounts+ Amazonka.IoTFleetWise.Types.NodeDataType+ Amazonka.IoTFleetWise.Types.ObdInterface+ Amazonka.IoTFleetWise.Types.ObdSignal+ Amazonka.IoTFleetWise.Types.RegistrationStatus+ Amazonka.IoTFleetWise.Types.Sensor+ Amazonka.IoTFleetWise.Types.SignalCatalogSummary+ Amazonka.IoTFleetWise.Types.SignalDecoder+ Amazonka.IoTFleetWise.Types.SignalDecoderType+ Amazonka.IoTFleetWise.Types.SignalInformation+ Amazonka.IoTFleetWise.Types.SpoolingMode+ Amazonka.IoTFleetWise.Types.Tag+ Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme+ Amazonka.IoTFleetWise.Types.TimestreamRegistrationResponse+ Amazonka.IoTFleetWise.Types.TimestreamResources+ Amazonka.IoTFleetWise.Types.TriggerMode+ Amazonka.IoTFleetWise.Types.UpdateCampaignAction+ Amazonka.IoTFleetWise.Types.UpdateMode+ Amazonka.IoTFleetWise.Types.UpdateVehicleError+ Amazonka.IoTFleetWise.Types.UpdateVehicleRequestItem+ Amazonka.IoTFleetWise.Types.UpdateVehicleResponseItem+ Amazonka.IoTFleetWise.Types.VehicleAssociationBehavior+ Amazonka.IoTFleetWise.Types.VehicleState+ Amazonka.IoTFleetWise.Types.VehicleStatus+ Amazonka.IoTFleetWise.Types.VehicleSummary+ Amazonka.IoTFleetWise.UntagResource+ Amazonka.IoTFleetWise.UpdateCampaign+ Amazonka.IoTFleetWise.UpdateDecoderManifest+ Amazonka.IoTFleetWise.UpdateFleet+ Amazonka.IoTFleetWise.UpdateModelManifest+ Amazonka.IoTFleetWise.UpdateSignalCatalog+ Amazonka.IoTFleetWise.UpdateVehicle+ Amazonka.IoTFleetWise.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-iotfleetwise-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.IoTFleetWise+ Test.Amazonka.IoTFleetWise+ Test.Amazonka.IoTFleetWise.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-iotfleetwise+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateVehicleFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/AssociateVehicleFleetResponse.proto view
+ fixture/BatchCreateVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/BatchCreateVehicleResponse.proto view
+ fixture/BatchUpdateVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/BatchUpdateVehicleResponse.proto view
+ fixture/CreateCampaign.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateCampaignResponse.proto view
+ fixture/CreateDecoderManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateDecoderManifestResponse.proto view
+ fixture/CreateFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateFleetResponse.proto view
+ fixture/CreateModelManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateModelManifestResponse.proto view
+ fixture/CreateSignalCatalog.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateSignalCatalogResponse.proto view
+ fixture/CreateVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/CreateVehicleResponse.proto view
+ fixture/DeleteCampaign.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteCampaignResponse.proto view
+ fixture/DeleteDecoderManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteDecoderManifestResponse.proto view
+ fixture/DeleteFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteFleetResponse.proto view
+ fixture/DeleteModelManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteModelManifestResponse.proto view
+ fixture/DeleteSignalCatalog.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteSignalCatalogResponse.proto view
+ fixture/DeleteVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DeleteVehicleResponse.proto view
+ fixture/DisassociateVehicleFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/DisassociateVehicleFleetResponse.proto view
+ fixture/GetCampaign.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetCampaignResponse.proto view
+ fixture/GetDecoderManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetDecoderManifestResponse.proto view
+ fixture/GetFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetFleetResponse.proto view
+ fixture/GetLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetLoggingOptionsResponse.proto view
+ fixture/GetModelManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetModelManifestResponse.proto view
+ fixture/GetRegisterAccountStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetRegisterAccountStatusResponse.proto view
+ fixture/GetSignalCatalog.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetSignalCatalogResponse.proto view
+ fixture/GetVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetVehicleResponse.proto view
+ fixture/GetVehicleStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/GetVehicleStatusResponse.proto view
+ fixture/ImportDecoderManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ImportDecoderManifestResponse.proto view
+ fixture/ImportSignalCatalog.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ImportSignalCatalogResponse.proto view
+ fixture/ListCampaigns.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListCampaignsResponse.proto view
+ fixture/ListDecoderManifestNetworkInterfaces.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListDecoderManifestNetworkInterfacesResponse.proto view
+ fixture/ListDecoderManifestSignals.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListDecoderManifestSignalsResponse.proto view
+ fixture/ListDecoderManifests.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListDecoderManifestsResponse.proto view
+ fixture/ListFleets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListFleetsForVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListFleetsForVehicleResponse.proto view
+ fixture/ListFleetsResponse.proto view
+ fixture/ListModelManifestNodes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListModelManifestNodesResponse.proto view
+ fixture/ListModelManifests.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListModelManifestsResponse.proto view
+ fixture/ListSignalCatalogNodes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListSignalCatalogNodesResponse.proto view
+ fixture/ListSignalCatalogs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListSignalCatalogsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListVehicles.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListVehiclesInFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/ListVehiclesInFleetResponse.proto view
+ fixture/ListVehiclesResponse.proto view
+ fixture/PutLoggingOptions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/PutLoggingOptionsResponse.proto view
+ fixture/RegisterAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/RegisterAccountResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateCampaign.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateCampaignResponse.proto view
+ fixture/UpdateDecoderManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateDecoderManifestResponse.proto view
+ fixture/UpdateFleet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateFleetResponse.proto view
+ fixture/UpdateModelManifest.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateModelManifestResponse.proto view
+ fixture/UpdateSignalCatalog.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateSignalCatalogResponse.proto view
+ fixture/UpdateVehicle.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/iotfleetwise/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: iotfleetwise.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/UpdateVehicleResponse.proto view
+ gen/Amazonka/IoTFleetWise.hs view
@@ -0,0 +1,647 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.IoTFleetWise+-- 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 @2021-06-17@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services IoT FleetWise is a fully managed service that you+-- can use to collect, model, and transfer vehicle data to the Amazon Web+-- Services cloud at scale. With Amazon Web Services IoT FleetWise, you can+-- standardize all of your vehicle data models, independent of the+-- in-vehicle communication architecture, and define data collection rules+-- to transfer only high-value data to the cloud.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/ What is Amazon Web Services IoT FleetWise?>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** DecoderManifestValidationException+ _DecoderManifestValidationException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** InvalidNodeException+ _InvalidNodeException,++ -- ** InvalidSignalsException+ _InvalidSignalsException,++ -- ** LimitExceededException+ _LimitExceededException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateVehicleFleet+ AssociateVehicleFleet (AssociateVehicleFleet'),+ newAssociateVehicleFleet,+ AssociateVehicleFleetResponse (AssociateVehicleFleetResponse'),+ newAssociateVehicleFleetResponse,++ -- ** BatchCreateVehicle+ BatchCreateVehicle (BatchCreateVehicle'),+ newBatchCreateVehicle,+ BatchCreateVehicleResponse (BatchCreateVehicleResponse'),+ newBatchCreateVehicleResponse,++ -- ** BatchUpdateVehicle+ BatchUpdateVehicle (BatchUpdateVehicle'),+ newBatchUpdateVehicle,+ BatchUpdateVehicleResponse (BatchUpdateVehicleResponse'),+ newBatchUpdateVehicleResponse,++ -- ** CreateCampaign+ CreateCampaign (CreateCampaign'),+ newCreateCampaign,+ CreateCampaignResponse (CreateCampaignResponse'),+ newCreateCampaignResponse,++ -- ** CreateDecoderManifest+ CreateDecoderManifest (CreateDecoderManifest'),+ newCreateDecoderManifest,+ CreateDecoderManifestResponse (CreateDecoderManifestResponse'),+ newCreateDecoderManifestResponse,++ -- ** CreateFleet+ CreateFleet (CreateFleet'),+ newCreateFleet,+ CreateFleetResponse (CreateFleetResponse'),+ newCreateFleetResponse,++ -- ** CreateModelManifest+ CreateModelManifest (CreateModelManifest'),+ newCreateModelManifest,+ CreateModelManifestResponse (CreateModelManifestResponse'),+ newCreateModelManifestResponse,++ -- ** CreateSignalCatalog+ CreateSignalCatalog (CreateSignalCatalog'),+ newCreateSignalCatalog,+ CreateSignalCatalogResponse (CreateSignalCatalogResponse'),+ newCreateSignalCatalogResponse,++ -- ** CreateVehicle+ CreateVehicle (CreateVehicle'),+ newCreateVehicle,+ CreateVehicleResponse (CreateVehicleResponse'),+ newCreateVehicleResponse,++ -- ** DeleteCampaign+ DeleteCampaign (DeleteCampaign'),+ newDeleteCampaign,+ DeleteCampaignResponse (DeleteCampaignResponse'),+ newDeleteCampaignResponse,++ -- ** DeleteDecoderManifest+ DeleteDecoderManifest (DeleteDecoderManifest'),+ newDeleteDecoderManifest,+ DeleteDecoderManifestResponse (DeleteDecoderManifestResponse'),+ newDeleteDecoderManifestResponse,++ -- ** DeleteFleet+ DeleteFleet (DeleteFleet'),+ newDeleteFleet,+ DeleteFleetResponse (DeleteFleetResponse'),+ newDeleteFleetResponse,++ -- ** DeleteModelManifest+ DeleteModelManifest (DeleteModelManifest'),+ newDeleteModelManifest,+ DeleteModelManifestResponse (DeleteModelManifestResponse'),+ newDeleteModelManifestResponse,++ -- ** DeleteSignalCatalog+ DeleteSignalCatalog (DeleteSignalCatalog'),+ newDeleteSignalCatalog,+ DeleteSignalCatalogResponse (DeleteSignalCatalogResponse'),+ newDeleteSignalCatalogResponse,++ -- ** DeleteVehicle+ DeleteVehicle (DeleteVehicle'),+ newDeleteVehicle,+ DeleteVehicleResponse (DeleteVehicleResponse'),+ newDeleteVehicleResponse,++ -- ** DisassociateVehicleFleet+ DisassociateVehicleFleet (DisassociateVehicleFleet'),+ newDisassociateVehicleFleet,+ DisassociateVehicleFleetResponse (DisassociateVehicleFleetResponse'),+ newDisassociateVehicleFleetResponse,++ -- ** GetCampaign+ GetCampaign (GetCampaign'),+ newGetCampaign,+ GetCampaignResponse (GetCampaignResponse'),+ newGetCampaignResponse,++ -- ** GetDecoderManifest+ GetDecoderManifest (GetDecoderManifest'),+ newGetDecoderManifest,+ GetDecoderManifestResponse (GetDecoderManifestResponse'),+ newGetDecoderManifestResponse,++ -- ** GetFleet+ GetFleet (GetFleet'),+ newGetFleet,+ GetFleetResponse (GetFleetResponse'),+ newGetFleetResponse,++ -- ** GetLoggingOptions+ GetLoggingOptions (GetLoggingOptions'),+ newGetLoggingOptions,+ GetLoggingOptionsResponse (GetLoggingOptionsResponse'),+ newGetLoggingOptionsResponse,++ -- ** GetModelManifest+ GetModelManifest (GetModelManifest'),+ newGetModelManifest,+ GetModelManifestResponse (GetModelManifestResponse'),+ newGetModelManifestResponse,++ -- ** GetRegisterAccountStatus+ GetRegisterAccountStatus (GetRegisterAccountStatus'),+ newGetRegisterAccountStatus,+ GetRegisterAccountStatusResponse (GetRegisterAccountStatusResponse'),+ newGetRegisterAccountStatusResponse,++ -- ** GetSignalCatalog+ GetSignalCatalog (GetSignalCatalog'),+ newGetSignalCatalog,+ GetSignalCatalogResponse (GetSignalCatalogResponse'),+ newGetSignalCatalogResponse,++ -- ** GetVehicle+ GetVehicle (GetVehicle'),+ newGetVehicle,+ GetVehicleResponse (GetVehicleResponse'),+ newGetVehicleResponse,++ -- ** GetVehicleStatus (Paginated)+ GetVehicleStatus (GetVehicleStatus'),+ newGetVehicleStatus,+ GetVehicleStatusResponse (GetVehicleStatusResponse'),+ newGetVehicleStatusResponse,++ -- ** ImportDecoderManifest+ ImportDecoderManifest (ImportDecoderManifest'),+ newImportDecoderManifest,+ ImportDecoderManifestResponse (ImportDecoderManifestResponse'),+ newImportDecoderManifestResponse,++ -- ** ImportSignalCatalog+ ImportSignalCatalog (ImportSignalCatalog'),+ newImportSignalCatalog,+ ImportSignalCatalogResponse (ImportSignalCatalogResponse'),+ newImportSignalCatalogResponse,++ -- ** ListCampaigns (Paginated)+ ListCampaigns (ListCampaigns'),+ newListCampaigns,+ ListCampaignsResponse (ListCampaignsResponse'),+ newListCampaignsResponse,++ -- ** ListDecoderManifestNetworkInterfaces (Paginated)+ ListDecoderManifestNetworkInterfaces (ListDecoderManifestNetworkInterfaces'),+ newListDecoderManifestNetworkInterfaces,+ ListDecoderManifestNetworkInterfacesResponse (ListDecoderManifestNetworkInterfacesResponse'),+ newListDecoderManifestNetworkInterfacesResponse,++ -- ** ListDecoderManifestSignals (Paginated)+ ListDecoderManifestSignals (ListDecoderManifestSignals'),+ newListDecoderManifestSignals,+ ListDecoderManifestSignalsResponse (ListDecoderManifestSignalsResponse'),+ newListDecoderManifestSignalsResponse,++ -- ** ListDecoderManifests (Paginated)+ ListDecoderManifests (ListDecoderManifests'),+ newListDecoderManifests,+ ListDecoderManifestsResponse (ListDecoderManifestsResponse'),+ newListDecoderManifestsResponse,++ -- ** ListFleets (Paginated)+ ListFleets (ListFleets'),+ newListFleets,+ ListFleetsResponse (ListFleetsResponse'),+ newListFleetsResponse,++ -- ** ListFleetsForVehicle (Paginated)+ ListFleetsForVehicle (ListFleetsForVehicle'),+ newListFleetsForVehicle,+ ListFleetsForVehicleResponse (ListFleetsForVehicleResponse'),+ newListFleetsForVehicleResponse,++ -- ** ListModelManifestNodes (Paginated)+ ListModelManifestNodes (ListModelManifestNodes'),+ newListModelManifestNodes,+ ListModelManifestNodesResponse (ListModelManifestNodesResponse'),+ newListModelManifestNodesResponse,++ -- ** ListModelManifests (Paginated)+ ListModelManifests (ListModelManifests'),+ newListModelManifests,+ ListModelManifestsResponse (ListModelManifestsResponse'),+ newListModelManifestsResponse,++ -- ** ListSignalCatalogNodes (Paginated)+ ListSignalCatalogNodes (ListSignalCatalogNodes'),+ newListSignalCatalogNodes,+ ListSignalCatalogNodesResponse (ListSignalCatalogNodesResponse'),+ newListSignalCatalogNodesResponse,++ -- ** ListSignalCatalogs (Paginated)+ ListSignalCatalogs (ListSignalCatalogs'),+ newListSignalCatalogs,+ ListSignalCatalogsResponse (ListSignalCatalogsResponse'),+ newListSignalCatalogsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListVehicles (Paginated)+ ListVehicles (ListVehicles'),+ newListVehicles,+ ListVehiclesResponse (ListVehiclesResponse'),+ newListVehiclesResponse,++ -- ** ListVehiclesInFleet (Paginated)+ ListVehiclesInFleet (ListVehiclesInFleet'),+ newListVehiclesInFleet,+ ListVehiclesInFleetResponse (ListVehiclesInFleetResponse'),+ newListVehiclesInFleetResponse,++ -- ** PutLoggingOptions+ PutLoggingOptions (PutLoggingOptions'),+ newPutLoggingOptions,+ PutLoggingOptionsResponse (PutLoggingOptionsResponse'),+ newPutLoggingOptionsResponse,++ -- ** RegisterAccount+ RegisterAccount (RegisterAccount'),+ newRegisterAccount,+ RegisterAccountResponse (RegisterAccountResponse'),+ newRegisterAccountResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateCampaign+ UpdateCampaign (UpdateCampaign'),+ newUpdateCampaign,+ UpdateCampaignResponse (UpdateCampaignResponse'),+ newUpdateCampaignResponse,++ -- ** UpdateDecoderManifest+ UpdateDecoderManifest (UpdateDecoderManifest'),+ newUpdateDecoderManifest,+ UpdateDecoderManifestResponse (UpdateDecoderManifestResponse'),+ newUpdateDecoderManifestResponse,++ -- ** UpdateFleet+ UpdateFleet (UpdateFleet'),+ newUpdateFleet,+ UpdateFleetResponse (UpdateFleetResponse'),+ newUpdateFleetResponse,++ -- ** UpdateModelManifest+ UpdateModelManifest (UpdateModelManifest'),+ newUpdateModelManifest,+ UpdateModelManifestResponse (UpdateModelManifestResponse'),+ newUpdateModelManifestResponse,++ -- ** UpdateSignalCatalog+ UpdateSignalCatalog (UpdateSignalCatalog'),+ newUpdateSignalCatalog,+ UpdateSignalCatalogResponse (UpdateSignalCatalogResponse'),+ newUpdateSignalCatalogResponse,++ -- ** UpdateVehicle+ UpdateVehicle (UpdateVehicle'),+ newUpdateVehicle,+ UpdateVehicleResponse (UpdateVehicleResponse'),+ newUpdateVehicleResponse,++ -- * Types++ -- ** CampaignStatus+ CampaignStatus (..),++ -- ** Compression+ Compression (..),++ -- ** DiagnosticsMode+ DiagnosticsMode (..),++ -- ** LogType+ LogType (..),++ -- ** ManifestStatus+ ManifestStatus (..),++ -- ** NetworkInterfaceType+ NetworkInterfaceType (..),++ -- ** NodeDataType+ NodeDataType (..),++ -- ** RegistrationStatus+ RegistrationStatus (..),++ -- ** SignalDecoderType+ SignalDecoderType (..),++ -- ** SpoolingMode+ SpoolingMode (..),++ -- ** TriggerMode+ TriggerMode (..),++ -- ** UpdateCampaignAction+ UpdateCampaignAction (..),++ -- ** UpdateMode+ UpdateMode (..),++ -- ** VehicleAssociationBehavior+ VehicleAssociationBehavior (..),++ -- ** VehicleState+ VehicleState (..),++ -- ** Actuator+ Actuator (Actuator'),+ newActuator,++ -- ** Attribute+ Attribute (Attribute'),+ newAttribute,++ -- ** Branch+ Branch (Branch'),+ newBranch,++ -- ** CampaignSummary+ CampaignSummary (CampaignSummary'),+ newCampaignSummary,++ -- ** CanDbcDefinition+ CanDbcDefinition (CanDbcDefinition'),+ newCanDbcDefinition,++ -- ** CanInterface+ CanInterface (CanInterface'),+ newCanInterface,++ -- ** CanSignal+ CanSignal (CanSignal'),+ newCanSignal,++ -- ** CloudWatchLogDeliveryOptions+ CloudWatchLogDeliveryOptions (CloudWatchLogDeliveryOptions'),+ newCloudWatchLogDeliveryOptions,++ -- ** CollectionScheme+ CollectionScheme (CollectionScheme'),+ newCollectionScheme,++ -- ** ConditionBasedCollectionScheme+ ConditionBasedCollectionScheme (ConditionBasedCollectionScheme'),+ newConditionBasedCollectionScheme,++ -- ** CreateVehicleError+ CreateVehicleError (CreateVehicleError'),+ newCreateVehicleError,++ -- ** CreateVehicleRequestItem+ CreateVehicleRequestItem (CreateVehicleRequestItem'),+ newCreateVehicleRequestItem,++ -- ** CreateVehicleResponseItem+ CreateVehicleResponseItem (CreateVehicleResponseItem'),+ newCreateVehicleResponseItem,++ -- ** DecoderManifestSummary+ DecoderManifestSummary (DecoderManifestSummary'),+ newDecoderManifestSummary,++ -- ** FleetSummary+ FleetSummary (FleetSummary'),+ newFleetSummary,++ -- ** FormattedVss+ FormattedVss (FormattedVss'),+ newFormattedVss,++ -- ** IamRegistrationResponse+ IamRegistrationResponse (IamRegistrationResponse'),+ newIamRegistrationResponse,++ -- ** IamResources+ IamResources (IamResources'),+ newIamResources,++ -- ** ModelManifestSummary+ ModelManifestSummary (ModelManifestSummary'),+ newModelManifestSummary,++ -- ** NetworkFileDefinition+ NetworkFileDefinition (NetworkFileDefinition'),+ newNetworkFileDefinition,++ -- ** NetworkInterface+ NetworkInterface (NetworkInterface'),+ newNetworkInterface,++ -- ** Node+ Node (Node'),+ newNode,++ -- ** NodeCounts+ NodeCounts (NodeCounts'),+ newNodeCounts,++ -- ** ObdInterface+ ObdInterface (ObdInterface'),+ newObdInterface,++ -- ** ObdSignal+ ObdSignal (ObdSignal'),+ newObdSignal,++ -- ** Sensor+ Sensor (Sensor'),+ newSensor,++ -- ** SignalCatalogSummary+ SignalCatalogSummary (SignalCatalogSummary'),+ newSignalCatalogSummary,++ -- ** SignalDecoder+ SignalDecoder (SignalDecoder'),+ newSignalDecoder,++ -- ** SignalInformation+ SignalInformation (SignalInformation'),+ newSignalInformation,++ -- ** Tag+ Tag (Tag'),+ newTag,++ -- ** TimeBasedCollectionScheme+ TimeBasedCollectionScheme (TimeBasedCollectionScheme'),+ newTimeBasedCollectionScheme,++ -- ** TimestreamRegistrationResponse+ TimestreamRegistrationResponse (TimestreamRegistrationResponse'),+ newTimestreamRegistrationResponse,++ -- ** TimestreamResources+ TimestreamResources (TimestreamResources'),+ newTimestreamResources,++ -- ** UpdateVehicleError+ UpdateVehicleError (UpdateVehicleError'),+ newUpdateVehicleError,++ -- ** UpdateVehicleRequestItem+ UpdateVehicleRequestItem (UpdateVehicleRequestItem'),+ newUpdateVehicleRequestItem,++ -- ** UpdateVehicleResponseItem+ UpdateVehicleResponseItem (UpdateVehicleResponseItem'),+ newUpdateVehicleResponseItem,++ -- ** VehicleStatus+ VehicleStatus (VehicleStatus'),+ newVehicleStatus,++ -- ** VehicleSummary+ VehicleSummary (VehicleSummary'),+ newVehicleSummary,+ )+where++import Amazonka.IoTFleetWise.AssociateVehicleFleet+import Amazonka.IoTFleetWise.BatchCreateVehicle+import Amazonka.IoTFleetWise.BatchUpdateVehicle+import Amazonka.IoTFleetWise.CreateCampaign+import Amazonka.IoTFleetWise.CreateDecoderManifest+import Amazonka.IoTFleetWise.CreateFleet+import Amazonka.IoTFleetWise.CreateModelManifest+import Amazonka.IoTFleetWise.CreateSignalCatalog+import Amazonka.IoTFleetWise.CreateVehicle+import Amazonka.IoTFleetWise.DeleteCampaign+import Amazonka.IoTFleetWise.DeleteDecoderManifest+import Amazonka.IoTFleetWise.DeleteFleet+import Amazonka.IoTFleetWise.DeleteModelManifest+import Amazonka.IoTFleetWise.DeleteSignalCatalog+import Amazonka.IoTFleetWise.DeleteVehicle+import Amazonka.IoTFleetWise.DisassociateVehicleFleet+import Amazonka.IoTFleetWise.GetCampaign+import Amazonka.IoTFleetWise.GetDecoderManifest+import Amazonka.IoTFleetWise.GetFleet+import Amazonka.IoTFleetWise.GetLoggingOptions+import Amazonka.IoTFleetWise.GetModelManifest+import Amazonka.IoTFleetWise.GetRegisterAccountStatus+import Amazonka.IoTFleetWise.GetSignalCatalog+import Amazonka.IoTFleetWise.GetVehicle+import Amazonka.IoTFleetWise.GetVehicleStatus+import Amazonka.IoTFleetWise.ImportDecoderManifest+import Amazonka.IoTFleetWise.ImportSignalCatalog+import Amazonka.IoTFleetWise.Lens+import Amazonka.IoTFleetWise.ListCampaigns+import Amazonka.IoTFleetWise.ListDecoderManifestNetworkInterfaces+import Amazonka.IoTFleetWise.ListDecoderManifestSignals+import Amazonka.IoTFleetWise.ListDecoderManifests+import Amazonka.IoTFleetWise.ListFleets+import Amazonka.IoTFleetWise.ListFleetsForVehicle+import Amazonka.IoTFleetWise.ListModelManifestNodes+import Amazonka.IoTFleetWise.ListModelManifests+import Amazonka.IoTFleetWise.ListSignalCatalogNodes+import Amazonka.IoTFleetWise.ListSignalCatalogs+import Amazonka.IoTFleetWise.ListTagsForResource+import Amazonka.IoTFleetWise.ListVehicles+import Amazonka.IoTFleetWise.ListVehiclesInFleet+import Amazonka.IoTFleetWise.PutLoggingOptions+import Amazonka.IoTFleetWise.RegisterAccount+import Amazonka.IoTFleetWise.TagResource+import Amazonka.IoTFleetWise.Types+import Amazonka.IoTFleetWise.UntagResource+import Amazonka.IoTFleetWise.UpdateCampaign+import Amazonka.IoTFleetWise.UpdateDecoderManifest+import Amazonka.IoTFleetWise.UpdateFleet+import Amazonka.IoTFleetWise.UpdateModelManifest+import Amazonka.IoTFleetWise.UpdateSignalCatalog+import Amazonka.IoTFleetWise.UpdateVehicle+import Amazonka.IoTFleetWise.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 'IoTFleetWise'.++-- $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/IoTFleetWise/AssociateVehicleFleet.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.AssociateVehicleFleet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds, or associates, a vehicle with a fleet.+module Amazonka.IoTFleetWise.AssociateVehicleFleet+ ( -- * Creating a Request+ AssociateVehicleFleet (..),+ newAssociateVehicleFleet,++ -- * Request Lenses+ associateVehicleFleet_vehicleName,+ associateVehicleFleet_fleetId,++ -- * Destructuring the Response+ AssociateVehicleFleetResponse (..),+ newAssociateVehicleFleetResponse,++ -- * Response Lenses+ associateVehicleFleetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateVehicleFleet' smart constructor.+data AssociateVehicleFleet = AssociateVehicleFleet'+ { -- | The unique ID of the vehicle to associate with the fleet.+ vehicleName :: Prelude.Text,+ -- | The ID of a fleet.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateVehicleFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicleName', 'associateVehicleFleet_vehicleName' - The unique ID of the vehicle to associate with the fleet.+--+-- 'fleetId', 'associateVehicleFleet_fleetId' - The ID of a fleet.+newAssociateVehicleFleet ::+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'fleetId'+ Prelude.Text ->+ AssociateVehicleFleet+newAssociateVehicleFleet pVehicleName_ pFleetId_ =+ AssociateVehicleFleet'+ { vehicleName = pVehicleName_,+ fleetId = pFleetId_+ }++-- | The unique ID of the vehicle to associate with the fleet.+associateVehicleFleet_vehicleName :: Lens.Lens' AssociateVehicleFleet Prelude.Text+associateVehicleFleet_vehicleName = Lens.lens (\AssociateVehicleFleet' {vehicleName} -> vehicleName) (\s@AssociateVehicleFleet' {} a -> s {vehicleName = a} :: AssociateVehicleFleet)++-- | The ID of a fleet.+associateVehicleFleet_fleetId :: Lens.Lens' AssociateVehicleFleet Prelude.Text+associateVehicleFleet_fleetId = Lens.lens (\AssociateVehicleFleet' {fleetId} -> fleetId) (\s@AssociateVehicleFleet' {} a -> s {fleetId = a} :: AssociateVehicleFleet)++instance Core.AWSRequest AssociateVehicleFleet where+ type+ AWSResponse AssociateVehicleFleet =+ AssociateVehicleFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AssociateVehicleFleetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AssociateVehicleFleet where+ hashWithSalt _salt AssociateVehicleFleet' {..} =+ _salt+ `Prelude.hashWithSalt` vehicleName+ `Prelude.hashWithSalt` fleetId++instance Prelude.NFData AssociateVehicleFleet where+ rnf AssociateVehicleFleet' {..} =+ Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf fleetId++instance Data.ToHeaders AssociateVehicleFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.AssociateVehicleFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AssociateVehicleFleet where+ toJSON AssociateVehicleFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("vehicleName" Data..= vehicleName),+ Prelude.Just ("fleetId" Data..= fleetId)+ ]+ )++instance Data.ToPath AssociateVehicleFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery AssociateVehicleFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateVehicleFleetResponse' smart constructor.+data AssociateVehicleFleetResponse = AssociateVehicleFleetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateVehicleFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateVehicleFleetResponse_httpStatus' - The response's http status code.+newAssociateVehicleFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateVehicleFleetResponse+newAssociateVehicleFleetResponse pHttpStatus_ =+ AssociateVehicleFleetResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+associateVehicleFleetResponse_httpStatus :: Lens.Lens' AssociateVehicleFleetResponse Prelude.Int+associateVehicleFleetResponse_httpStatus = Lens.lens (\AssociateVehicleFleetResponse' {httpStatus} -> httpStatus) (\s@AssociateVehicleFleetResponse' {} a -> s {httpStatus = a} :: AssociateVehicleFleetResponse)++instance Prelude.NFData AssociateVehicleFleetResponse where+ rnf AssociateVehicleFleetResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/BatchCreateVehicle.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.BatchCreateVehicle+-- 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 group, or batch, of vehicles.+--+-- You must specify a decoder manifest and a vehicle model (model manifest)+-- for each vehicle.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicles-cli.html Create multiple vehicles (AWS CLI)>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.BatchCreateVehicle+ ( -- * Creating a Request+ BatchCreateVehicle (..),+ newBatchCreateVehicle,++ -- * Request Lenses+ batchCreateVehicle_vehicles,++ -- * Destructuring the Response+ BatchCreateVehicleResponse (..),+ newBatchCreateVehicleResponse,++ -- * Response Lenses+ batchCreateVehicleResponse_errors,+ batchCreateVehicleResponse_vehicles,+ batchCreateVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchCreateVehicle' smart constructor.+data BatchCreateVehicle = BatchCreateVehicle'+ { -- | A list of information about each vehicle to create. For more+ -- information, see the API data type.+ vehicles :: [CreateVehicleRequestItem]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicles', 'batchCreateVehicle_vehicles' - A list of information about each vehicle to create. For more+-- information, see the API data type.+newBatchCreateVehicle ::+ BatchCreateVehicle+newBatchCreateVehicle =+ BatchCreateVehicle' {vehicles = Prelude.mempty}++-- | A list of information about each vehicle to create. For more+-- information, see the API data type.+batchCreateVehicle_vehicles :: Lens.Lens' BatchCreateVehicle [CreateVehicleRequestItem]+batchCreateVehicle_vehicles = Lens.lens (\BatchCreateVehicle' {vehicles} -> vehicles) (\s@BatchCreateVehicle' {} a -> s {vehicles = a} :: BatchCreateVehicle) Prelude.. Lens.coerced++instance Core.AWSRequest BatchCreateVehicle where+ type+ AWSResponse BatchCreateVehicle =+ BatchCreateVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchCreateVehicleResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "vehicles" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchCreateVehicle where+ hashWithSalt _salt BatchCreateVehicle' {..} =+ _salt `Prelude.hashWithSalt` vehicles++instance Prelude.NFData BatchCreateVehicle where+ rnf BatchCreateVehicle' {..} = Prelude.rnf vehicles++instance Data.ToHeaders BatchCreateVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.BatchCreateVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchCreateVehicle where+ toJSON BatchCreateVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("vehicles" Data..= vehicles)]+ )++instance Data.ToPath BatchCreateVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery BatchCreateVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchCreateVehicleResponse' smart constructor.+data BatchCreateVehicleResponse = BatchCreateVehicleResponse'+ { -- | A list of information about creation errors, or an empty list if there+ -- aren\'t any errors.+ errors :: Prelude.Maybe [CreateVehicleError],+ -- | A list of information about a batch of created vehicles. For more+ -- information, see the API data type.+ vehicles :: Prelude.Maybe [CreateVehicleResponseItem],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errors', 'batchCreateVehicleResponse_errors' - A list of information about creation errors, or an empty list if there+-- aren\'t any errors.+--+-- 'vehicles', 'batchCreateVehicleResponse_vehicles' - A list of information about a batch of created vehicles. For more+-- information, see the API data type.+--+-- 'httpStatus', 'batchCreateVehicleResponse_httpStatus' - The response's http status code.+newBatchCreateVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchCreateVehicleResponse+newBatchCreateVehicleResponse pHttpStatus_ =+ BatchCreateVehicleResponse'+ { errors =+ Prelude.Nothing,+ vehicles = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of information about creation errors, or an empty list if there+-- aren\'t any errors.+batchCreateVehicleResponse_errors :: Lens.Lens' BatchCreateVehicleResponse (Prelude.Maybe [CreateVehicleError])+batchCreateVehicleResponse_errors = Lens.lens (\BatchCreateVehicleResponse' {errors} -> errors) (\s@BatchCreateVehicleResponse' {} a -> s {errors = a} :: BatchCreateVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about a batch of created vehicles. For more+-- information, see the API data type.+batchCreateVehicleResponse_vehicles :: Lens.Lens' BatchCreateVehicleResponse (Prelude.Maybe [CreateVehicleResponseItem])+batchCreateVehicleResponse_vehicles = Lens.lens (\BatchCreateVehicleResponse' {vehicles} -> vehicles) (\s@BatchCreateVehicleResponse' {} a -> s {vehicles = a} :: BatchCreateVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchCreateVehicleResponse_httpStatus :: Lens.Lens' BatchCreateVehicleResponse Prelude.Int+batchCreateVehicleResponse_httpStatus = Lens.lens (\BatchCreateVehicleResponse' {httpStatus} -> httpStatus) (\s@BatchCreateVehicleResponse' {} a -> s {httpStatus = a} :: BatchCreateVehicleResponse)++instance Prelude.NFData BatchCreateVehicleResponse where+ rnf BatchCreateVehicleResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf vehicles+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/BatchUpdateVehicle.hs view
@@ -0,0 +1,197 @@+{-# 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.IoTFleetWise.BatchUpdateVehicle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a group, or batch, of vehicles.+--+-- You must specify a decoder manifest and a vehicle model (model manifest)+-- for each vehicle.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-vehicles-cli.html Update multiple vehicles (AWS CLI)>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.BatchUpdateVehicle+ ( -- * Creating a Request+ BatchUpdateVehicle (..),+ newBatchUpdateVehicle,++ -- * Request Lenses+ batchUpdateVehicle_vehicles,++ -- * Destructuring the Response+ BatchUpdateVehicleResponse (..),+ newBatchUpdateVehicleResponse,++ -- * Response Lenses+ batchUpdateVehicleResponse_errors,+ batchUpdateVehicleResponse_vehicles,+ batchUpdateVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchUpdateVehicle' smart constructor.+data BatchUpdateVehicle = BatchUpdateVehicle'+ { -- | A list of information about the vehicles to update. For more+ -- information, see the API data type.+ vehicles :: [UpdateVehicleRequestItem]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicles', 'batchUpdateVehicle_vehicles' - A list of information about the vehicles to update. For more+-- information, see the API data type.+newBatchUpdateVehicle ::+ BatchUpdateVehicle+newBatchUpdateVehicle =+ BatchUpdateVehicle' {vehicles = Prelude.mempty}++-- | A list of information about the vehicles to update. For more+-- information, see the API data type.+batchUpdateVehicle_vehicles :: Lens.Lens' BatchUpdateVehicle [UpdateVehicleRequestItem]+batchUpdateVehicle_vehicles = Lens.lens (\BatchUpdateVehicle' {vehicles} -> vehicles) (\s@BatchUpdateVehicle' {} a -> s {vehicles = a} :: BatchUpdateVehicle) Prelude.. Lens.coerced++instance Core.AWSRequest BatchUpdateVehicle where+ type+ AWSResponse BatchUpdateVehicle =+ BatchUpdateVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchUpdateVehicleResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "vehicles" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable BatchUpdateVehicle where+ hashWithSalt _salt BatchUpdateVehicle' {..} =+ _salt `Prelude.hashWithSalt` vehicles++instance Prelude.NFData BatchUpdateVehicle where+ rnf BatchUpdateVehicle' {..} = Prelude.rnf vehicles++instance Data.ToHeaders BatchUpdateVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.BatchUpdateVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchUpdateVehicle where+ toJSON BatchUpdateVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("vehicles" Data..= vehicles)]+ )++instance Data.ToPath BatchUpdateVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery BatchUpdateVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchUpdateVehicleResponse' smart constructor.+data BatchUpdateVehicleResponse = BatchUpdateVehicleResponse'+ { -- | A list of information about errors returned while updating a batch of+ -- vehicles, or, if there aren\'t any errors, an empty list.+ errors :: Prelude.Maybe [UpdateVehicleError],+ -- | A list of information about the batch of updated vehicles.+ --+ -- This list contains only unique IDs for the vehicles that were updated.+ vehicles :: Prelude.Maybe [UpdateVehicleResponseItem],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchUpdateVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errors', 'batchUpdateVehicleResponse_errors' - A list of information about errors returned while updating a batch of+-- vehicles, or, if there aren\'t any errors, an empty list.+--+-- 'vehicles', 'batchUpdateVehicleResponse_vehicles' - A list of information about the batch of updated vehicles.+--+-- This list contains only unique IDs for the vehicles that were updated.+--+-- 'httpStatus', 'batchUpdateVehicleResponse_httpStatus' - The response's http status code.+newBatchUpdateVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchUpdateVehicleResponse+newBatchUpdateVehicleResponse pHttpStatus_ =+ BatchUpdateVehicleResponse'+ { errors =+ Prelude.Nothing,+ vehicles = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of information about errors returned while updating a batch of+-- vehicles, or, if there aren\'t any errors, an empty list.+batchUpdateVehicleResponse_errors :: Lens.Lens' BatchUpdateVehicleResponse (Prelude.Maybe [UpdateVehicleError])+batchUpdateVehicleResponse_errors = Lens.lens (\BatchUpdateVehicleResponse' {errors} -> errors) (\s@BatchUpdateVehicleResponse' {} a -> s {errors = a} :: BatchUpdateVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about the batch of updated vehicles.+--+-- This list contains only unique IDs for the vehicles that were updated.+batchUpdateVehicleResponse_vehicles :: Lens.Lens' BatchUpdateVehicleResponse (Prelude.Maybe [UpdateVehicleResponseItem])+batchUpdateVehicleResponse_vehicles = Lens.lens (\BatchUpdateVehicleResponse' {vehicles} -> vehicles) (\s@BatchUpdateVehicleResponse' {} a -> s {vehicles = a} :: BatchUpdateVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchUpdateVehicleResponse_httpStatus :: Lens.Lens' BatchUpdateVehicleResponse Prelude.Int+batchUpdateVehicleResponse_httpStatus = Lens.lens (\BatchUpdateVehicleResponse' {httpStatus} -> httpStatus) (\s@BatchUpdateVehicleResponse' {} a -> s {httpStatus = a} :: BatchUpdateVehicleResponse)++instance Prelude.NFData BatchUpdateVehicleResponse where+ rnf BatchUpdateVehicleResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf vehicles+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/CreateCampaign.hs view
@@ -0,0 +1,514 @@+{-# 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.IoTFleetWise.CreateCampaign+-- 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 orchestration of data collection rules. The Amazon Web+-- Services IoT FleetWise Edge Agent software running in vehicles uses+-- campaigns to decide how to collect and transfer data to the cloud. You+-- create campaigns in the cloud. After you or your team approve campaigns,+-- Amazon Web Services IoT FleetWise automatically deploys them to+-- vehicles.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html Collect and transfer data with campaigns>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.CreateCampaign+ ( -- * Creating a Request+ CreateCampaign (..),+ newCreateCampaign,++ -- * Request Lenses+ createCampaign_compression,+ createCampaign_dataExtraDimensions,+ createCampaign_description,+ createCampaign_diagnosticsMode,+ createCampaign_expiryTime,+ createCampaign_postTriggerCollectionDuration,+ createCampaign_priority,+ createCampaign_signalsToCollect,+ createCampaign_spoolingMode,+ createCampaign_startTime,+ createCampaign_tags,+ createCampaign_name,+ createCampaign_signalCatalogArn,+ createCampaign_targetArn,+ createCampaign_collectionScheme,++ -- * Destructuring the Response+ CreateCampaignResponse (..),+ newCreateCampaignResponse,++ -- * Response Lenses+ createCampaignResponse_arn,+ createCampaignResponse_name,+ createCampaignResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCampaign' smart constructor.+data CreateCampaign = CreateCampaign'+ { -- | (Optional) Whether to compress signals before transmitting data to+ -- Amazon Web Services IoT FleetWise. If you don\'t want to compress the+ -- signals, use @OFF@. If it\'s not specified, @SNAPPY@ is used.+ --+ -- Default: @SNAPPY@+ compression :: Prelude.Maybe Compression,+ -- | (Optional) A list of vehicle attributes to associate with a campaign.+ --+ -- Enrich the data with specified vehicle attributes. For example, add+ -- @make@ and @model@ to the campaign, and Amazon Web Services IoT+ -- FleetWise will associate the data with those attributes as dimensions in+ -- Amazon Timestream. You can then query the data against @make@ and+ -- @model@.+ --+ -- Default: An empty array+ dataExtraDimensions :: Prelude.Maybe [Prelude.Text],+ -- | An optional description of the campaign to help identify its purpose.+ description :: Prelude.Maybe Prelude.Text,+ -- | (Optional) Option for a vehicle to send diagnostic trouble codes to+ -- Amazon Web Services IoT FleetWise. If you want to send diagnostic+ -- trouble codes, use @SEND_ACTIVE_DTCS@. If it\'s not specified, @OFF@ is+ -- used.+ --+ -- Default: @OFF@+ diagnosticsMode :: Prelude.Maybe DiagnosticsMode,+ -- | (Optional) The time the campaign expires, in seconds since epoch+ -- (January 1, 1970 at midnight UTC time). Vehicle data won\'t be collected+ -- after the campaign expires.+ --+ -- Default: 253402214400 (December 31, 9999, 00:00:00 UTC)+ expiryTime :: Prelude.Maybe Data.POSIX,+ -- | (Optional) How long (in milliseconds) to collect raw data after a+ -- triggering event initiates the collection. If it\'s not specified, @0@+ -- is used.+ --+ -- Default: @0@+ postTriggerCollectionDuration :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) A number indicating the priority of one campaign over another+ -- campaign for a certain vehicle or fleet. A campaign with the lowest+ -- value is deployed to vehicles before any other campaigns. If it\'s not+ -- specified, @0@ is used.+ --+ -- Default: @0@+ priority :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) A list of information about signals to collect.+ signalsToCollect :: Prelude.Maybe [SignalInformation],+ -- | (Optional) Whether to store collected data after a vehicle lost a+ -- connection with the cloud. After a connection is re-established, the+ -- data is automatically forwarded to Amazon Web Services IoT FleetWise. If+ -- you want to store collected data when a vehicle loses connection with+ -- the cloud, use @TO_DISK@. If it\'s not specified, @OFF@ is used.+ --+ -- Default: @OFF@+ spoolingMode :: Prelude.Maybe SpoolingMode,+ -- | (Optional) The time, in milliseconds, to deliver a campaign after it was+ -- approved. If it\'s not specified, @0@ is used.+ --+ -- Default: @0@+ startTime :: Prelude.Maybe Data.POSIX,+ -- | Metadata that can be used to manage the campaign.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the campaign to create.+ name :: Prelude.Text,+ -- | (Optional) The Amazon Resource Name (ARN) of the signal catalog to+ -- associate with the campaign.+ signalCatalogArn :: Prelude.Text,+ -- | The ARN of the vehicle or fleet to deploy a campaign to.+ targetArn :: Prelude.Text,+ -- | The data collection scheme associated with the campaign. You can specify+ -- a scheme that collects data based on time or an event.+ collectionScheme :: CollectionScheme+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'compression', 'createCampaign_compression' - (Optional) Whether to compress signals before transmitting data to+-- Amazon Web Services IoT FleetWise. If you don\'t want to compress the+-- signals, use @OFF@. If it\'s not specified, @SNAPPY@ is used.+--+-- Default: @SNAPPY@+--+-- 'dataExtraDimensions', 'createCampaign_dataExtraDimensions' - (Optional) A list of vehicle attributes to associate with a campaign.+--+-- Enrich the data with specified vehicle attributes. For example, add+-- @make@ and @model@ to the campaign, and Amazon Web Services IoT+-- FleetWise will associate the data with those attributes as dimensions in+-- Amazon Timestream. You can then query the data against @make@ and+-- @model@.+--+-- Default: An empty array+--+-- 'description', 'createCampaign_description' - An optional description of the campaign to help identify its purpose.+--+-- 'diagnosticsMode', 'createCampaign_diagnosticsMode' - (Optional) Option for a vehicle to send diagnostic trouble codes to+-- Amazon Web Services IoT FleetWise. If you want to send diagnostic+-- trouble codes, use @SEND_ACTIVE_DTCS@. If it\'s not specified, @OFF@ is+-- used.+--+-- Default: @OFF@+--+-- 'expiryTime', 'createCampaign_expiryTime' - (Optional) The time the campaign expires, in seconds since epoch+-- (January 1, 1970 at midnight UTC time). Vehicle data won\'t be collected+-- after the campaign expires.+--+-- Default: 253402214400 (December 31, 9999, 00:00:00 UTC)+--+-- 'postTriggerCollectionDuration', 'createCampaign_postTriggerCollectionDuration' - (Optional) How long (in milliseconds) to collect raw data after a+-- triggering event initiates the collection. If it\'s not specified, @0@+-- is used.+--+-- Default: @0@+--+-- 'priority', 'createCampaign_priority' - (Optional) A number indicating the priority of one campaign over another+-- campaign for a certain vehicle or fleet. A campaign with the lowest+-- value is deployed to vehicles before any other campaigns. If it\'s not+-- specified, @0@ is used.+--+-- Default: @0@+--+-- 'signalsToCollect', 'createCampaign_signalsToCollect' - (Optional) A list of information about signals to collect.+--+-- 'spoolingMode', 'createCampaign_spoolingMode' - (Optional) Whether to store collected data after a vehicle lost a+-- connection with the cloud. After a connection is re-established, the+-- data is automatically forwarded to Amazon Web Services IoT FleetWise. If+-- you want to store collected data when a vehicle loses connection with+-- the cloud, use @TO_DISK@. If it\'s not specified, @OFF@ is used.+--+-- Default: @OFF@+--+-- 'startTime', 'createCampaign_startTime' - (Optional) The time, in milliseconds, to deliver a campaign after it was+-- approved. If it\'s not specified, @0@ is used.+--+-- Default: @0@+--+-- 'tags', 'createCampaign_tags' - Metadata that can be used to manage the campaign.+--+-- 'name', 'createCampaign_name' - The name of the campaign to create.+--+-- 'signalCatalogArn', 'createCampaign_signalCatalogArn' - (Optional) The Amazon Resource Name (ARN) of the signal catalog to+-- associate with the campaign.+--+-- 'targetArn', 'createCampaign_targetArn' - The ARN of the vehicle or fleet to deploy a campaign to.+--+-- 'collectionScheme', 'createCampaign_collectionScheme' - The data collection scheme associated with the campaign. You can specify+-- a scheme that collects data based on time or an event.+newCreateCampaign ::+ -- | 'name'+ Prelude.Text ->+ -- | 'signalCatalogArn'+ Prelude.Text ->+ -- | 'targetArn'+ Prelude.Text ->+ -- | 'collectionScheme'+ CollectionScheme ->+ CreateCampaign+newCreateCampaign+ pName_+ pSignalCatalogArn_+ pTargetArn_+ pCollectionScheme_ =+ CreateCampaign'+ { compression = Prelude.Nothing,+ dataExtraDimensions = Prelude.Nothing,+ description = Prelude.Nothing,+ diagnosticsMode = Prelude.Nothing,+ expiryTime = Prelude.Nothing,+ postTriggerCollectionDuration = Prelude.Nothing,+ priority = Prelude.Nothing,+ signalsToCollect = Prelude.Nothing,+ spoolingMode = Prelude.Nothing,+ startTime = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ signalCatalogArn = pSignalCatalogArn_,+ targetArn = pTargetArn_,+ collectionScheme = pCollectionScheme_+ }++-- | (Optional) Whether to compress signals before transmitting data to+-- Amazon Web Services IoT FleetWise. If you don\'t want to compress the+-- signals, use @OFF@. If it\'s not specified, @SNAPPY@ is used.+--+-- Default: @SNAPPY@+createCampaign_compression :: Lens.Lens' CreateCampaign (Prelude.Maybe Compression)+createCampaign_compression = Lens.lens (\CreateCampaign' {compression} -> compression) (\s@CreateCampaign' {} a -> s {compression = a} :: CreateCampaign)++-- | (Optional) A list of vehicle attributes to associate with a campaign.+--+-- Enrich the data with specified vehicle attributes. For example, add+-- @make@ and @model@ to the campaign, and Amazon Web Services IoT+-- FleetWise will associate the data with those attributes as dimensions in+-- Amazon Timestream. You can then query the data against @make@ and+-- @model@.+--+-- Default: An empty array+createCampaign_dataExtraDimensions :: Lens.Lens' CreateCampaign (Prelude.Maybe [Prelude.Text])+createCampaign_dataExtraDimensions = Lens.lens (\CreateCampaign' {dataExtraDimensions} -> dataExtraDimensions) (\s@CreateCampaign' {} a -> s {dataExtraDimensions = a} :: CreateCampaign) Prelude.. Lens.mapping Lens.coerced++-- | An optional description of the campaign to help identify its purpose.+createCampaign_description :: Lens.Lens' CreateCampaign (Prelude.Maybe Prelude.Text)+createCampaign_description = Lens.lens (\CreateCampaign' {description} -> description) (\s@CreateCampaign' {} a -> s {description = a} :: CreateCampaign)++-- | (Optional) Option for a vehicle to send diagnostic trouble codes to+-- Amazon Web Services IoT FleetWise. If you want to send diagnostic+-- trouble codes, use @SEND_ACTIVE_DTCS@. If it\'s not specified, @OFF@ is+-- used.+--+-- Default: @OFF@+createCampaign_diagnosticsMode :: Lens.Lens' CreateCampaign (Prelude.Maybe DiagnosticsMode)+createCampaign_diagnosticsMode = Lens.lens (\CreateCampaign' {diagnosticsMode} -> diagnosticsMode) (\s@CreateCampaign' {} a -> s {diagnosticsMode = a} :: CreateCampaign)++-- | (Optional) The time the campaign expires, in seconds since epoch+-- (January 1, 1970 at midnight UTC time). Vehicle data won\'t be collected+-- after the campaign expires.+--+-- Default: 253402214400 (December 31, 9999, 00:00:00 UTC)+createCampaign_expiryTime :: Lens.Lens' CreateCampaign (Prelude.Maybe Prelude.UTCTime)+createCampaign_expiryTime = Lens.lens (\CreateCampaign' {expiryTime} -> expiryTime) (\s@CreateCampaign' {} a -> s {expiryTime = a} :: CreateCampaign) Prelude.. Lens.mapping Data._Time++-- | (Optional) How long (in milliseconds) to collect raw data after a+-- triggering event initiates the collection. If it\'s not specified, @0@+-- is used.+--+-- Default: @0@+createCampaign_postTriggerCollectionDuration :: Lens.Lens' CreateCampaign (Prelude.Maybe Prelude.Natural)+createCampaign_postTriggerCollectionDuration = Lens.lens (\CreateCampaign' {postTriggerCollectionDuration} -> postTriggerCollectionDuration) (\s@CreateCampaign' {} a -> s {postTriggerCollectionDuration = a} :: CreateCampaign)++-- | (Optional) A number indicating the priority of one campaign over another+-- campaign for a certain vehicle or fleet. A campaign with the lowest+-- value is deployed to vehicles before any other campaigns. If it\'s not+-- specified, @0@ is used.+--+-- Default: @0@+createCampaign_priority :: Lens.Lens' CreateCampaign (Prelude.Maybe Prelude.Natural)+createCampaign_priority = Lens.lens (\CreateCampaign' {priority} -> priority) (\s@CreateCampaign' {} a -> s {priority = a} :: CreateCampaign)++-- | (Optional) A list of information about signals to collect.+createCampaign_signalsToCollect :: Lens.Lens' CreateCampaign (Prelude.Maybe [SignalInformation])+createCampaign_signalsToCollect = Lens.lens (\CreateCampaign' {signalsToCollect} -> signalsToCollect) (\s@CreateCampaign' {} a -> s {signalsToCollect = a} :: CreateCampaign) Prelude.. Lens.mapping Lens.coerced++-- | (Optional) Whether to store collected data after a vehicle lost a+-- connection with the cloud. After a connection is re-established, the+-- data is automatically forwarded to Amazon Web Services IoT FleetWise. If+-- you want to store collected data when a vehicle loses connection with+-- the cloud, use @TO_DISK@. If it\'s not specified, @OFF@ is used.+--+-- Default: @OFF@+createCampaign_spoolingMode :: Lens.Lens' CreateCampaign (Prelude.Maybe SpoolingMode)+createCampaign_spoolingMode = Lens.lens (\CreateCampaign' {spoolingMode} -> spoolingMode) (\s@CreateCampaign' {} a -> s {spoolingMode = a} :: CreateCampaign)++-- | (Optional) The time, in milliseconds, to deliver a campaign after it was+-- approved. If it\'s not specified, @0@ is used.+--+-- Default: @0@+createCampaign_startTime :: Lens.Lens' CreateCampaign (Prelude.Maybe Prelude.UTCTime)+createCampaign_startTime = Lens.lens (\CreateCampaign' {startTime} -> startTime) (\s@CreateCampaign' {} a -> s {startTime = a} :: CreateCampaign) Prelude.. Lens.mapping Data._Time++-- | Metadata that can be used to manage the campaign.+createCampaign_tags :: Lens.Lens' CreateCampaign (Prelude.Maybe [Tag])+createCampaign_tags = Lens.lens (\CreateCampaign' {tags} -> tags) (\s@CreateCampaign' {} a -> s {tags = a} :: CreateCampaign) Prelude.. Lens.mapping Lens.coerced++-- | The name of the campaign to create.+createCampaign_name :: Lens.Lens' CreateCampaign Prelude.Text+createCampaign_name = Lens.lens (\CreateCampaign' {name} -> name) (\s@CreateCampaign' {} a -> s {name = a} :: CreateCampaign)++-- | (Optional) The Amazon Resource Name (ARN) of the signal catalog to+-- associate with the campaign.+createCampaign_signalCatalogArn :: Lens.Lens' CreateCampaign Prelude.Text+createCampaign_signalCatalogArn = Lens.lens (\CreateCampaign' {signalCatalogArn} -> signalCatalogArn) (\s@CreateCampaign' {} a -> s {signalCatalogArn = a} :: CreateCampaign)++-- | The ARN of the vehicle or fleet to deploy a campaign to.+createCampaign_targetArn :: Lens.Lens' CreateCampaign Prelude.Text+createCampaign_targetArn = Lens.lens (\CreateCampaign' {targetArn} -> targetArn) (\s@CreateCampaign' {} a -> s {targetArn = a} :: CreateCampaign)++-- | The data collection scheme associated with the campaign. You can specify+-- a scheme that collects data based on time or an event.+createCampaign_collectionScheme :: Lens.Lens' CreateCampaign CollectionScheme+createCampaign_collectionScheme = Lens.lens (\CreateCampaign' {collectionScheme} -> collectionScheme) (\s@CreateCampaign' {} a -> s {collectionScheme = a} :: CreateCampaign)++instance Core.AWSRequest CreateCampaign where+ type+ AWSResponse CreateCampaign =+ CreateCampaignResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateCampaignResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateCampaign where+ hashWithSalt _salt CreateCampaign' {..} =+ _salt+ `Prelude.hashWithSalt` compression+ `Prelude.hashWithSalt` dataExtraDimensions+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` diagnosticsMode+ `Prelude.hashWithSalt` expiryTime+ `Prelude.hashWithSalt` postTriggerCollectionDuration+ `Prelude.hashWithSalt` priority+ `Prelude.hashWithSalt` signalsToCollect+ `Prelude.hashWithSalt` spoolingMode+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` signalCatalogArn+ `Prelude.hashWithSalt` targetArn+ `Prelude.hashWithSalt` collectionScheme++instance Prelude.NFData CreateCampaign where+ rnf CreateCampaign' {..} =+ Prelude.rnf compression+ `Prelude.seq` Prelude.rnf dataExtraDimensions+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf diagnosticsMode+ `Prelude.seq` Prelude.rnf expiryTime+ `Prelude.seq` Prelude.rnf postTriggerCollectionDuration+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf signalsToCollect+ `Prelude.seq` Prelude.rnf spoolingMode+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf targetArn+ `Prelude.seq` Prelude.rnf collectionScheme++instance Data.ToHeaders CreateCampaign where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateCampaign" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateCampaign where+ toJSON CreateCampaign' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("compression" Data..=) Prelude.<$> compression,+ ("dataExtraDimensions" Data..=)+ Prelude.<$> dataExtraDimensions,+ ("description" Data..=) Prelude.<$> description,+ ("diagnosticsMode" Data..=)+ Prelude.<$> diagnosticsMode,+ ("expiryTime" Data..=) Prelude.<$> expiryTime,+ ("postTriggerCollectionDuration" Data..=)+ Prelude.<$> postTriggerCollectionDuration,+ ("priority" Data..=) Prelude.<$> priority,+ ("signalsToCollect" Data..=)+ Prelude.<$> signalsToCollect,+ ("spoolingMode" Data..=) Prelude.<$> spoolingMode,+ ("startTime" Data..=) Prelude.<$> startTime,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("signalCatalogArn" Data..= signalCatalogArn),+ Prelude.Just ("targetArn" Data..= targetArn),+ Prelude.Just+ ("collectionScheme" Data..= collectionScheme)+ ]+ )++instance Data.ToPath CreateCampaign where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateCampaign where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCampaignResponse' smart constructor.+data CreateCampaignResponse = CreateCampaignResponse'+ { -- | The ARN of the created campaign.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the created campaign.+ name :: 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 'CreateCampaignResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createCampaignResponse_arn' - The ARN of the created campaign.+--+-- 'name', 'createCampaignResponse_name' - The name of the created campaign.+--+-- 'httpStatus', 'createCampaignResponse_httpStatus' - The response's http status code.+newCreateCampaignResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateCampaignResponse+newCreateCampaignResponse pHttpStatus_ =+ CreateCampaignResponse'+ { arn = Prelude.Nothing,+ name = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the created campaign.+createCampaignResponse_arn :: Lens.Lens' CreateCampaignResponse (Prelude.Maybe Prelude.Text)+createCampaignResponse_arn = Lens.lens (\CreateCampaignResponse' {arn} -> arn) (\s@CreateCampaignResponse' {} a -> s {arn = a} :: CreateCampaignResponse)++-- | The name of the created campaign.+createCampaignResponse_name :: Lens.Lens' CreateCampaignResponse (Prelude.Maybe Prelude.Text)+createCampaignResponse_name = Lens.lens (\CreateCampaignResponse' {name} -> name) (\s@CreateCampaignResponse' {} a -> s {name = a} :: CreateCampaignResponse)++-- | The response's http status code.+createCampaignResponse_httpStatus :: Lens.Lens' CreateCampaignResponse Prelude.Int+createCampaignResponse_httpStatus = Lens.lens (\CreateCampaignResponse' {httpStatus} -> httpStatus) (\s@CreateCampaignResponse' {} a -> s {httpStatus = a} :: CreateCampaignResponse)++instance Prelude.NFData CreateCampaignResponse where+ rnf CreateCampaignResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/CreateDecoderManifest.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.IoTFleetWise.CreateDecoderManifest+-- 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 the decoder manifest associated with a model manifest. To create+-- a decoder manifest, the following must be true:+--+-- - Every signal decoder has a unique name.+--+-- - Each signal decoder is associated with a network interface.+--+-- - Each network interface has a unique ID.+--+-- - The signal decoders are specified in the model manifest.+module Amazonka.IoTFleetWise.CreateDecoderManifest+ ( -- * Creating a Request+ CreateDecoderManifest (..),+ newCreateDecoderManifest,++ -- * Request Lenses+ createDecoderManifest_description,+ createDecoderManifest_networkInterfaces,+ createDecoderManifest_signalDecoders,+ createDecoderManifest_tags,+ createDecoderManifest_name,+ createDecoderManifest_modelManifestArn,++ -- * Destructuring the Response+ CreateDecoderManifestResponse (..),+ newCreateDecoderManifestResponse,++ -- * Response Lenses+ createDecoderManifestResponse_httpStatus,+ createDecoderManifestResponse_name,+ createDecoderManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDecoderManifest' smart constructor.+data CreateDecoderManifest = CreateDecoderManifest'+ { -- | A brief description of the decoder manifest.+ description :: Prelude.Maybe Prelude.Text,+ -- | A list of information about available network interfaces.+ networkInterfaces :: Prelude.Maybe (Prelude.NonEmpty NetworkInterface),+ -- | A list of information about signal decoders.+ signalDecoders :: Prelude.Maybe (Prelude.NonEmpty SignalDecoder),+ -- | Metadata that can be used to manage the decoder manifest.+ tags :: Prelude.Maybe [Tag],+ -- | The unique name of the decoder manifest to create.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the vehicle model (model manifest).+ modelManifestArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDecoderManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDecoderManifest_description' - A brief description of the decoder manifest.+--+-- 'networkInterfaces', 'createDecoderManifest_networkInterfaces' - A list of information about available network interfaces.+--+-- 'signalDecoders', 'createDecoderManifest_signalDecoders' - A list of information about signal decoders.+--+-- 'tags', 'createDecoderManifest_tags' - Metadata that can be used to manage the decoder manifest.+--+-- 'name', 'createDecoderManifest_name' - The unique name of the decoder manifest to create.+--+-- 'modelManifestArn', 'createDecoderManifest_modelManifestArn' - The Amazon Resource Name (ARN) of the vehicle model (model manifest).+newCreateDecoderManifest ::+ -- | 'name'+ Prelude.Text ->+ -- | 'modelManifestArn'+ Prelude.Text ->+ CreateDecoderManifest+newCreateDecoderManifest pName_ pModelManifestArn_ =+ CreateDecoderManifest'+ { description =+ Prelude.Nothing,+ networkInterfaces = Prelude.Nothing,+ signalDecoders = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ modelManifestArn = pModelManifestArn_+ }++-- | A brief description of the decoder manifest.+createDecoderManifest_description :: Lens.Lens' CreateDecoderManifest (Prelude.Maybe Prelude.Text)+createDecoderManifest_description = Lens.lens (\CreateDecoderManifest' {description} -> description) (\s@CreateDecoderManifest' {} a -> s {description = a} :: CreateDecoderManifest)++-- | A list of information about available network interfaces.+createDecoderManifest_networkInterfaces :: Lens.Lens' CreateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty NetworkInterface))+createDecoderManifest_networkInterfaces = Lens.lens (\CreateDecoderManifest' {networkInterfaces} -> networkInterfaces) (\s@CreateDecoderManifest' {} a -> s {networkInterfaces = a} :: CreateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about signal decoders.+createDecoderManifest_signalDecoders :: Lens.Lens' CreateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty SignalDecoder))+createDecoderManifest_signalDecoders = Lens.lens (\CreateDecoderManifest' {signalDecoders} -> signalDecoders) (\s@CreateDecoderManifest' {} a -> s {signalDecoders = a} :: CreateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | Metadata that can be used to manage the decoder manifest.+createDecoderManifest_tags :: Lens.Lens' CreateDecoderManifest (Prelude.Maybe [Tag])+createDecoderManifest_tags = Lens.lens (\CreateDecoderManifest' {tags} -> tags) (\s@CreateDecoderManifest' {} a -> s {tags = a} :: CreateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | The unique name of the decoder manifest to create.+createDecoderManifest_name :: Lens.Lens' CreateDecoderManifest Prelude.Text+createDecoderManifest_name = Lens.lens (\CreateDecoderManifest' {name} -> name) (\s@CreateDecoderManifest' {} a -> s {name = a} :: CreateDecoderManifest)++-- | The Amazon Resource Name (ARN) of the vehicle model (model manifest).+createDecoderManifest_modelManifestArn :: Lens.Lens' CreateDecoderManifest Prelude.Text+createDecoderManifest_modelManifestArn = Lens.lens (\CreateDecoderManifest' {modelManifestArn} -> modelManifestArn) (\s@CreateDecoderManifest' {} a -> s {modelManifestArn = a} :: CreateDecoderManifest)++instance Core.AWSRequest CreateDecoderManifest where+ type+ AWSResponse CreateDecoderManifest =+ CreateDecoderManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateDecoderManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable CreateDecoderManifest where+ hashWithSalt _salt CreateDecoderManifest' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` networkInterfaces+ `Prelude.hashWithSalt` signalDecoders+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` modelManifestArn++instance Prelude.NFData CreateDecoderManifest where+ rnf CreateDecoderManifest' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf networkInterfaces+ `Prelude.seq` Prelude.rnf signalDecoders+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf modelManifestArn++instance Data.ToHeaders CreateDecoderManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateDecoderManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDecoderManifest where+ toJSON CreateDecoderManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("networkInterfaces" Data..=)+ Prelude.<$> networkInterfaces,+ ("signalDecoders" Data..=)+ Prelude.<$> signalDecoders,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("modelManifestArn" Data..= modelManifestArn)+ ]+ )++instance Data.ToPath CreateDecoderManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateDecoderManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDecoderManifestResponse' smart constructor.+data CreateDecoderManifestResponse = CreateDecoderManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the created decoder manifest.+ name :: Prelude.Text,+ -- | The ARN of the created decoder manifest.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDecoderManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDecoderManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'createDecoderManifestResponse_name' - The name of the created decoder manifest.+--+-- 'arn', 'createDecoderManifestResponse_arn' - The ARN of the created decoder manifest.+newCreateDecoderManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ CreateDecoderManifestResponse+newCreateDecoderManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ CreateDecoderManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+createDecoderManifestResponse_httpStatus :: Lens.Lens' CreateDecoderManifestResponse Prelude.Int+createDecoderManifestResponse_httpStatus = Lens.lens (\CreateDecoderManifestResponse' {httpStatus} -> httpStatus) (\s@CreateDecoderManifestResponse' {} a -> s {httpStatus = a} :: CreateDecoderManifestResponse)++-- | The name of the created decoder manifest.+createDecoderManifestResponse_name :: Lens.Lens' CreateDecoderManifestResponse Prelude.Text+createDecoderManifestResponse_name = Lens.lens (\CreateDecoderManifestResponse' {name} -> name) (\s@CreateDecoderManifestResponse' {} a -> s {name = a} :: CreateDecoderManifestResponse)++-- | The ARN of the created decoder manifest.+createDecoderManifestResponse_arn :: Lens.Lens' CreateDecoderManifestResponse Prelude.Text+createDecoderManifestResponse_arn = Lens.lens (\CreateDecoderManifestResponse' {arn} -> arn) (\s@CreateDecoderManifestResponse' {} a -> s {arn = a} :: CreateDecoderManifestResponse)++instance Prelude.NFData CreateDecoderManifestResponse where+ rnf CreateDecoderManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/CreateFleet.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.IoTFleetWise.CreateFleet+-- 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 fleet that represents a group of vehicles.+--+-- You must create both a signal catalog and vehicles before you can create+-- a fleet.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleets.html Fleets>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.CreateFleet+ ( -- * Creating a Request+ CreateFleet (..),+ newCreateFleet,++ -- * Request Lenses+ createFleet_description,+ createFleet_tags,+ createFleet_fleetId,+ createFleet_signalCatalogArn,++ -- * Destructuring the Response+ CreateFleetResponse (..),+ newCreateFleetResponse,++ -- * Response Lenses+ createFleetResponse_httpStatus,+ createFleetResponse_id,+ createFleetResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFleet' smart constructor.+data CreateFleet = CreateFleet'+ { -- | A brief description of the fleet to create.+ description :: Prelude.Maybe Prelude.Text,+ -- | Metadata that can be used to manage the fleet.+ tags :: Prelude.Maybe [Tag],+ -- | The unique ID of the fleet to create.+ fleetId :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of a signal catalog.+ signalCatalogArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFleet_description' - A brief description of the fleet to create.+--+-- 'tags', 'createFleet_tags' - Metadata that can be used to manage the fleet.+--+-- 'fleetId', 'createFleet_fleetId' - The unique ID of the fleet to create.+--+-- 'signalCatalogArn', 'createFleet_signalCatalogArn' - The Amazon Resource Name (ARN) of a signal catalog.+newCreateFleet ::+ -- | 'fleetId'+ Prelude.Text ->+ -- | 'signalCatalogArn'+ Prelude.Text ->+ CreateFleet+newCreateFleet pFleetId_ pSignalCatalogArn_ =+ CreateFleet'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ fleetId = pFleetId_,+ signalCatalogArn = pSignalCatalogArn_+ }++-- | A brief description of the fleet to create.+createFleet_description :: Lens.Lens' CreateFleet (Prelude.Maybe Prelude.Text)+createFleet_description = Lens.lens (\CreateFleet' {description} -> description) (\s@CreateFleet' {} a -> s {description = a} :: CreateFleet)++-- | Metadata that can be used to manage the fleet.+createFleet_tags :: Lens.Lens' CreateFleet (Prelude.Maybe [Tag])+createFleet_tags = Lens.lens (\CreateFleet' {tags} -> tags) (\s@CreateFleet' {} a -> s {tags = a} :: CreateFleet) Prelude.. Lens.mapping Lens.coerced++-- | The unique ID of the fleet to create.+createFleet_fleetId :: Lens.Lens' CreateFleet Prelude.Text+createFleet_fleetId = Lens.lens (\CreateFleet' {fleetId} -> fleetId) (\s@CreateFleet' {} a -> s {fleetId = a} :: CreateFleet)++-- | The Amazon Resource Name (ARN) of a signal catalog.+createFleet_signalCatalogArn :: Lens.Lens' CreateFleet Prelude.Text+createFleet_signalCatalogArn = Lens.lens (\CreateFleet' {signalCatalogArn} -> signalCatalogArn) (\s@CreateFleet' {} a -> s {signalCatalogArn = a} :: CreateFleet)++instance Core.AWSRequest CreateFleet where+ type AWSResponse CreateFleet = CreateFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFleetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "id")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable CreateFleet where+ hashWithSalt _salt CreateFleet' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` fleetId+ `Prelude.hashWithSalt` signalCatalogArn++instance Prelude.NFData CreateFleet where+ rnf CreateFleet' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf fleetId+ `Prelude.seq` Prelude.rnf signalCatalogArn++instance Data.ToHeaders CreateFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFleet where+ toJSON CreateFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("fleetId" Data..= fleetId),+ Prelude.Just+ ("signalCatalogArn" Data..= signalCatalogArn)+ ]+ )++instance Data.ToPath CreateFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFleetResponse' smart constructor.+data CreateFleetResponse = CreateFleetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the created fleet.+ id :: Prelude.Text,+ -- | The ARN of the created fleet.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFleetResponse_httpStatus' - The response's http status code.+--+-- 'id', 'createFleetResponse_id' - The ID of the created fleet.+--+-- 'arn', 'createFleetResponse_arn' - The ARN of the created fleet.+newCreateFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ CreateFleetResponse+newCreateFleetResponse pHttpStatus_ pId_ pArn_ =+ CreateFleetResponse'+ { httpStatus = pHttpStatus_,+ id = pId_,+ arn = pArn_+ }++-- | The response's http status code.+createFleetResponse_httpStatus :: Lens.Lens' CreateFleetResponse Prelude.Int+createFleetResponse_httpStatus = Lens.lens (\CreateFleetResponse' {httpStatus} -> httpStatus) (\s@CreateFleetResponse' {} a -> s {httpStatus = a} :: CreateFleetResponse)++-- | The ID of the created fleet.+createFleetResponse_id :: Lens.Lens' CreateFleetResponse Prelude.Text+createFleetResponse_id = Lens.lens (\CreateFleetResponse' {id} -> id) (\s@CreateFleetResponse' {} a -> s {id = a} :: CreateFleetResponse)++-- | The ARN of the created fleet.+createFleetResponse_arn :: Lens.Lens' CreateFleetResponse Prelude.Text+createFleetResponse_arn = Lens.lens (\CreateFleetResponse' {arn} -> arn) (\s@CreateFleetResponse' {} a -> s {arn = a} :: CreateFleetResponse)++instance Prelude.NFData CreateFleetResponse where+ rnf CreateFleetResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/CreateModelManifest.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.IoTFleetWise.CreateModelManifest+-- 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 vehicle model (model manifest) that specifies signals+-- (attributes, branches, sensors, and actuators).+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/vehicle-models.html Vehicle models>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.CreateModelManifest+ ( -- * Creating a Request+ CreateModelManifest (..),+ newCreateModelManifest,++ -- * Request Lenses+ createModelManifest_description,+ createModelManifest_tags,+ createModelManifest_name,+ createModelManifest_nodes,+ createModelManifest_signalCatalogArn,++ -- * Destructuring the Response+ CreateModelManifestResponse (..),+ newCreateModelManifestResponse,++ -- * Response Lenses+ createModelManifestResponse_httpStatus,+ createModelManifestResponse_name,+ createModelManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateModelManifest' smart constructor.+data CreateModelManifest = CreateModelManifest'+ { -- | A brief description of the vehicle model.+ description :: Prelude.Maybe Prelude.Text,+ -- | Metadata that can be used to manage the vehicle model.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the vehicle model to create.+ name :: Prelude.Text,+ -- | A list of nodes, which are a general abstraction of signals.+ nodes :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) of a signal catalog.+ signalCatalogArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateModelManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createModelManifest_description' - A brief description of the vehicle model.+--+-- 'tags', 'createModelManifest_tags' - Metadata that can be used to manage the vehicle model.+--+-- 'name', 'createModelManifest_name' - The name of the vehicle model to create.+--+-- 'nodes', 'createModelManifest_nodes' - A list of nodes, which are a general abstraction of signals.+--+-- 'signalCatalogArn', 'createModelManifest_signalCatalogArn' - The Amazon Resource Name (ARN) of a signal catalog.+newCreateModelManifest ::+ -- | 'name'+ Prelude.Text ->+ -- | 'signalCatalogArn'+ Prelude.Text ->+ CreateModelManifest+newCreateModelManifest pName_ pSignalCatalogArn_ =+ CreateModelManifest'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ nodes = Prelude.mempty,+ signalCatalogArn = pSignalCatalogArn_+ }++-- | A brief description of the vehicle model.+createModelManifest_description :: Lens.Lens' CreateModelManifest (Prelude.Maybe Prelude.Text)+createModelManifest_description = Lens.lens (\CreateModelManifest' {description} -> description) (\s@CreateModelManifest' {} a -> s {description = a} :: CreateModelManifest)++-- | Metadata that can be used to manage the vehicle model.+createModelManifest_tags :: Lens.Lens' CreateModelManifest (Prelude.Maybe [Tag])+createModelManifest_tags = Lens.lens (\CreateModelManifest' {tags} -> tags) (\s@CreateModelManifest' {} a -> s {tags = a} :: CreateModelManifest) Prelude.. Lens.mapping Lens.coerced++-- | The name of the vehicle model to create.+createModelManifest_name :: Lens.Lens' CreateModelManifest Prelude.Text+createModelManifest_name = Lens.lens (\CreateModelManifest' {name} -> name) (\s@CreateModelManifest' {} a -> s {name = a} :: CreateModelManifest)++-- | A list of nodes, which are a general abstraction of signals.+createModelManifest_nodes :: Lens.Lens' CreateModelManifest [Prelude.Text]+createModelManifest_nodes = Lens.lens (\CreateModelManifest' {nodes} -> nodes) (\s@CreateModelManifest' {} a -> s {nodes = a} :: CreateModelManifest) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of a signal catalog.+createModelManifest_signalCatalogArn :: Lens.Lens' CreateModelManifest Prelude.Text+createModelManifest_signalCatalogArn = Lens.lens (\CreateModelManifest' {signalCatalogArn} -> signalCatalogArn) (\s@CreateModelManifest' {} a -> s {signalCatalogArn = a} :: CreateModelManifest)++instance Core.AWSRequest CreateModelManifest where+ type+ AWSResponse CreateModelManifest =+ CreateModelManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateModelManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable CreateModelManifest where+ hashWithSalt _salt CreateModelManifest' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nodes+ `Prelude.hashWithSalt` signalCatalogArn++instance Prelude.NFData CreateModelManifest where+ rnf CreateModelManifest' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf nodes+ `Prelude.seq` Prelude.rnf signalCatalogArn++instance Data.ToHeaders CreateModelManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateModelManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateModelManifest where+ toJSON CreateModelManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("nodes" Data..= nodes),+ Prelude.Just+ ("signalCatalogArn" Data..= signalCatalogArn)+ ]+ )++instance Data.ToPath CreateModelManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateModelManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateModelManifestResponse' smart constructor.+data CreateModelManifestResponse = CreateModelManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the created vehicle model.+ name :: Prelude.Text,+ -- | The ARN of the created vehicle model.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateModelManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createModelManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'createModelManifestResponse_name' - The name of the created vehicle model.+--+-- 'arn', 'createModelManifestResponse_arn' - The ARN of the created vehicle model.+newCreateModelManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ CreateModelManifestResponse+newCreateModelManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ CreateModelManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+createModelManifestResponse_httpStatus :: Lens.Lens' CreateModelManifestResponse Prelude.Int+createModelManifestResponse_httpStatus = Lens.lens (\CreateModelManifestResponse' {httpStatus} -> httpStatus) (\s@CreateModelManifestResponse' {} a -> s {httpStatus = a} :: CreateModelManifestResponse)++-- | The name of the created vehicle model.+createModelManifestResponse_name :: Lens.Lens' CreateModelManifestResponse Prelude.Text+createModelManifestResponse_name = Lens.lens (\CreateModelManifestResponse' {name} -> name) (\s@CreateModelManifestResponse' {} a -> s {name = a} :: CreateModelManifestResponse)++-- | The ARN of the created vehicle model.+createModelManifestResponse_arn :: Lens.Lens' CreateModelManifestResponse Prelude.Text+createModelManifestResponse_arn = Lens.lens (\CreateModelManifestResponse' {arn} -> arn) (\s@CreateModelManifestResponse' {} a -> s {arn = a} :: CreateModelManifestResponse)++instance Prelude.NFData CreateModelManifestResponse where+ rnf CreateModelManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/CreateSignalCatalog.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.IoTFleetWise.CreateSignalCatalog+-- 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 collection of standardized signals that can be reused to+-- create vehicle models.+module Amazonka.IoTFleetWise.CreateSignalCatalog+ ( -- * Creating a Request+ CreateSignalCatalog (..),+ newCreateSignalCatalog,++ -- * Request Lenses+ createSignalCatalog_description,+ createSignalCatalog_nodes,+ createSignalCatalog_tags,+ createSignalCatalog_name,++ -- * Destructuring the Response+ CreateSignalCatalogResponse (..),+ newCreateSignalCatalogResponse,++ -- * Response Lenses+ createSignalCatalogResponse_httpStatus,+ createSignalCatalogResponse_name,+ createSignalCatalogResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSignalCatalog' smart constructor.+data CreateSignalCatalog = CreateSignalCatalog'+ { -- | A brief description of the signal catalog.+ description :: Prelude.Maybe Prelude.Text,+ -- | A list of information about nodes, which are a general abstraction of+ -- signals. For more information, see the API data type.+ nodes :: Prelude.Maybe [Node],+ -- | Metadata that can be used to manage the signal catalog.+ tags :: Prelude.Maybe [Tag],+ -- | The name of the signal catalog to create.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSignalCatalog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createSignalCatalog_description' - A brief description of the signal catalog.+--+-- 'nodes', 'createSignalCatalog_nodes' - A list of information about nodes, which are a general abstraction of+-- signals. For more information, see the API data type.+--+-- 'tags', 'createSignalCatalog_tags' - Metadata that can be used to manage the signal catalog.+--+-- 'name', 'createSignalCatalog_name' - The name of the signal catalog to create.+newCreateSignalCatalog ::+ -- | 'name'+ Prelude.Text ->+ CreateSignalCatalog+newCreateSignalCatalog pName_ =+ CreateSignalCatalog'+ { description = Prelude.Nothing,+ nodes = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_+ }++-- | A brief description of the signal catalog.+createSignalCatalog_description :: Lens.Lens' CreateSignalCatalog (Prelude.Maybe Prelude.Text)+createSignalCatalog_description = Lens.lens (\CreateSignalCatalog' {description} -> description) (\s@CreateSignalCatalog' {} a -> s {description = a} :: CreateSignalCatalog)++-- | A list of information about nodes, which are a general abstraction of+-- signals. For more information, see the API data type.+createSignalCatalog_nodes :: Lens.Lens' CreateSignalCatalog (Prelude.Maybe [Node])+createSignalCatalog_nodes = Lens.lens (\CreateSignalCatalog' {nodes} -> nodes) (\s@CreateSignalCatalog' {} a -> s {nodes = a} :: CreateSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | Metadata that can be used to manage the signal catalog.+createSignalCatalog_tags :: Lens.Lens' CreateSignalCatalog (Prelude.Maybe [Tag])+createSignalCatalog_tags = Lens.lens (\CreateSignalCatalog' {tags} -> tags) (\s@CreateSignalCatalog' {} a -> s {tags = a} :: CreateSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | The name of the signal catalog to create.+createSignalCatalog_name :: Lens.Lens' CreateSignalCatalog Prelude.Text+createSignalCatalog_name = Lens.lens (\CreateSignalCatalog' {name} -> name) (\s@CreateSignalCatalog' {} a -> s {name = a} :: CreateSignalCatalog)++instance Core.AWSRequest CreateSignalCatalog where+ type+ AWSResponse CreateSignalCatalog =+ CreateSignalCatalogResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSignalCatalogResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable CreateSignalCatalog where+ hashWithSalt _salt CreateSignalCatalog' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` nodes+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateSignalCatalog where+ rnf CreateSignalCatalog' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf nodes+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateSignalCatalog where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateSignalCatalog" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSignalCatalog where+ toJSON CreateSignalCatalog' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("nodes" Data..=) Prelude.<$> nodes,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateSignalCatalog where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateSignalCatalog where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSignalCatalogResponse' smart constructor.+data CreateSignalCatalogResponse = CreateSignalCatalogResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the created signal catalog.+ name :: Prelude.Text,+ -- | The ARN of the created signal catalog.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSignalCatalogResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createSignalCatalogResponse_httpStatus' - The response's http status code.+--+-- 'name', 'createSignalCatalogResponse_name' - The name of the created signal catalog.+--+-- 'arn', 'createSignalCatalogResponse_arn' - The ARN of the created signal catalog.+newCreateSignalCatalogResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ CreateSignalCatalogResponse+newCreateSignalCatalogResponse+ pHttpStatus_+ pName_+ pArn_ =+ CreateSignalCatalogResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+createSignalCatalogResponse_httpStatus :: Lens.Lens' CreateSignalCatalogResponse Prelude.Int+createSignalCatalogResponse_httpStatus = Lens.lens (\CreateSignalCatalogResponse' {httpStatus} -> httpStatus) (\s@CreateSignalCatalogResponse' {} a -> s {httpStatus = a} :: CreateSignalCatalogResponse)++-- | The name of the created signal catalog.+createSignalCatalogResponse_name :: Lens.Lens' CreateSignalCatalogResponse Prelude.Text+createSignalCatalogResponse_name = Lens.lens (\CreateSignalCatalogResponse' {name} -> name) (\s@CreateSignalCatalogResponse' {} a -> s {name = a} :: CreateSignalCatalogResponse)++-- | The ARN of the created signal catalog.+createSignalCatalogResponse_arn :: Lens.Lens' CreateSignalCatalogResponse Prelude.Text+createSignalCatalogResponse_arn = Lens.lens (\CreateSignalCatalogResponse' {arn} -> arn) (\s@CreateSignalCatalogResponse' {} a -> s {arn = a} :: CreateSignalCatalogResponse)++instance Prelude.NFData CreateSignalCatalogResponse where+ rnf CreateSignalCatalogResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/CreateVehicle.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.CreateVehicle+-- 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 vehicle, which is an instance of a vehicle model (model+-- manifest). Vehicles created from the same vehicle model consist of the+-- same signals inherited from the vehicle model.+--+-- If you have an existing Amazon Web Services IoT Thing, you can use+-- Amazon Web Services IoT FleetWise to create a vehicle and collect data+-- from your thing.+--+-- For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-cli.html Create a vehicle (AWS CLI)>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+module Amazonka.IoTFleetWise.CreateVehicle+ ( -- * Creating a Request+ CreateVehicle (..),+ newCreateVehicle,++ -- * Request Lenses+ createVehicle_associationBehavior,+ createVehicle_attributes,+ createVehicle_tags,+ createVehicle_vehicleName,+ createVehicle_modelManifestArn,+ createVehicle_decoderManifestArn,++ -- * Destructuring the Response+ CreateVehicleResponse (..),+ newCreateVehicleResponse,++ -- * Response Lenses+ createVehicleResponse_arn,+ createVehicleResponse_thingArn,+ createVehicleResponse_vehicleName,+ createVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVehicle' smart constructor.+data CreateVehicle = CreateVehicle'+ { -- | An option to create a new Amazon Web Services IoT thing when creating a+ -- vehicle, or to validate an existing Amazon Web Services IoT thing as a+ -- vehicle.+ --+ -- Default:+ associationBehavior :: Prelude.Maybe VehicleAssociationBehavior,+ -- | Static information about a vehicle in a key-value pair. For example:+ -- @\"engineType\"@ : @\"1.3 L R2\"@+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Metadata that can be used to manage the vehicle.+ tags :: Prelude.Maybe [Tag],+ -- | The unique ID of the vehicle to create.+ vehicleName :: Prelude.Text,+ -- | The Amazon Resource Name ARN of a vehicle model.+ modelManifestArn :: Prelude.Text,+ -- | The ARN of a decoder manifest.+ decoderManifestArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationBehavior', 'createVehicle_associationBehavior' - An option to create a new Amazon Web Services IoT thing when creating a+-- vehicle, or to validate an existing Amazon Web Services IoT thing as a+-- vehicle.+--+-- Default:+--+-- 'attributes', 'createVehicle_attributes' - Static information about a vehicle in a key-value pair. For example:+-- @\"engineType\"@ : @\"1.3 L R2\"@+--+-- 'tags', 'createVehicle_tags' - Metadata that can be used to manage the vehicle.+--+-- 'vehicleName', 'createVehicle_vehicleName' - The unique ID of the vehicle to create.+--+-- 'modelManifestArn', 'createVehicle_modelManifestArn' - The Amazon Resource Name ARN of a vehicle model.+--+-- 'decoderManifestArn', 'createVehicle_decoderManifestArn' - The ARN of a decoder manifest.+newCreateVehicle ::+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'modelManifestArn'+ Prelude.Text ->+ -- | 'decoderManifestArn'+ Prelude.Text ->+ CreateVehicle+newCreateVehicle+ pVehicleName_+ pModelManifestArn_+ pDecoderManifestArn_ =+ CreateVehicle'+ { associationBehavior =+ Prelude.Nothing,+ attributes = Prelude.Nothing,+ tags = Prelude.Nothing,+ vehicleName = pVehicleName_,+ modelManifestArn = pModelManifestArn_,+ decoderManifestArn = pDecoderManifestArn_+ }++-- | An option to create a new Amazon Web Services IoT thing when creating a+-- vehicle, or to validate an existing Amazon Web Services IoT thing as a+-- vehicle.+--+-- Default:+createVehicle_associationBehavior :: Lens.Lens' CreateVehicle (Prelude.Maybe VehicleAssociationBehavior)+createVehicle_associationBehavior = Lens.lens (\CreateVehicle' {associationBehavior} -> associationBehavior) (\s@CreateVehicle' {} a -> s {associationBehavior = a} :: CreateVehicle)++-- | Static information about a vehicle in a key-value pair. For example:+-- @\"engineType\"@ : @\"1.3 L R2\"@+createVehicle_attributes :: Lens.Lens' CreateVehicle (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createVehicle_attributes = Lens.lens (\CreateVehicle' {attributes} -> attributes) (\s@CreateVehicle' {} a -> s {attributes = a} :: CreateVehicle) Prelude.. Lens.mapping Lens.coerced++-- | Metadata that can be used to manage the vehicle.+createVehicle_tags :: Lens.Lens' CreateVehicle (Prelude.Maybe [Tag])+createVehicle_tags = Lens.lens (\CreateVehicle' {tags} -> tags) (\s@CreateVehicle' {} a -> s {tags = a} :: CreateVehicle) Prelude.. Lens.mapping Lens.coerced++-- | The unique ID of the vehicle to create.+createVehicle_vehicleName :: Lens.Lens' CreateVehicle Prelude.Text+createVehicle_vehicleName = Lens.lens (\CreateVehicle' {vehicleName} -> vehicleName) (\s@CreateVehicle' {} a -> s {vehicleName = a} :: CreateVehicle)++-- | The Amazon Resource Name ARN of a vehicle model.+createVehicle_modelManifestArn :: Lens.Lens' CreateVehicle Prelude.Text+createVehicle_modelManifestArn = Lens.lens (\CreateVehicle' {modelManifestArn} -> modelManifestArn) (\s@CreateVehicle' {} a -> s {modelManifestArn = a} :: CreateVehicle)++-- | The ARN of a decoder manifest.+createVehicle_decoderManifestArn :: Lens.Lens' CreateVehicle Prelude.Text+createVehicle_decoderManifestArn = Lens.lens (\CreateVehicle' {decoderManifestArn} -> decoderManifestArn) (\s@CreateVehicle' {} a -> s {decoderManifestArn = a} :: CreateVehicle)++instance Core.AWSRequest CreateVehicle where+ type+ AWSResponse CreateVehicle =+ CreateVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVehicleResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "thingArn")+ Prelude.<*> (x Data..?> "vehicleName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVehicle where+ hashWithSalt _salt CreateVehicle' {..} =+ _salt+ `Prelude.hashWithSalt` associationBehavior+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vehicleName+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` decoderManifestArn++instance Prelude.NFData CreateVehicle where+ rnf CreateVehicle' {..} =+ Prelude.rnf associationBehavior+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf decoderManifestArn++instance Data.ToHeaders CreateVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.CreateVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVehicle where+ toJSON CreateVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("associationBehavior" Data..=)+ Prelude.<$> associationBehavior,+ ("attributes" Data..=) Prelude.<$> attributes,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("vehicleName" Data..= vehicleName),+ Prelude.Just+ ("modelManifestArn" Data..= modelManifestArn),+ Prelude.Just+ ("decoderManifestArn" Data..= decoderManifestArn)+ ]+ )++instance Data.ToPath CreateVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery CreateVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVehicleResponse' smart constructor.+data CreateVehicleResponse = CreateVehicleResponse'+ { -- | The ARN of the created vehicle.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a created or validated Amazon Web Services IoT thing.+ thingArn :: Prelude.Maybe Prelude.Text,+ -- | The unique ID of the created vehicle.+ vehicleName :: 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 'CreateVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createVehicleResponse_arn' - The ARN of the created vehicle.+--+-- 'thingArn', 'createVehicleResponse_thingArn' - The ARN of a created or validated Amazon Web Services IoT thing.+--+-- 'vehicleName', 'createVehicleResponse_vehicleName' - The unique ID of the created vehicle.+--+-- 'httpStatus', 'createVehicleResponse_httpStatus' - The response's http status code.+newCreateVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVehicleResponse+newCreateVehicleResponse pHttpStatus_ =+ CreateVehicleResponse'+ { arn = Prelude.Nothing,+ thingArn = Prelude.Nothing,+ vehicleName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the created vehicle.+createVehicleResponse_arn :: Lens.Lens' CreateVehicleResponse (Prelude.Maybe Prelude.Text)+createVehicleResponse_arn = Lens.lens (\CreateVehicleResponse' {arn} -> arn) (\s@CreateVehicleResponse' {} a -> s {arn = a} :: CreateVehicleResponse)++-- | The ARN of a created or validated Amazon Web Services IoT thing.+createVehicleResponse_thingArn :: Lens.Lens' CreateVehicleResponse (Prelude.Maybe Prelude.Text)+createVehicleResponse_thingArn = Lens.lens (\CreateVehicleResponse' {thingArn} -> thingArn) (\s@CreateVehicleResponse' {} a -> s {thingArn = a} :: CreateVehicleResponse)++-- | The unique ID of the created vehicle.+createVehicleResponse_vehicleName :: Lens.Lens' CreateVehicleResponse (Prelude.Maybe Prelude.Text)+createVehicleResponse_vehicleName = Lens.lens (\CreateVehicleResponse' {vehicleName} -> vehicleName) (\s@CreateVehicleResponse' {} a -> s {vehicleName = a} :: CreateVehicleResponse)++-- | The response's http status code.+createVehicleResponse_httpStatus :: Lens.Lens' CreateVehicleResponse Prelude.Int+createVehicleResponse_httpStatus = Lens.lens (\CreateVehicleResponse' {httpStatus} -> httpStatus) (\s@CreateVehicleResponse' {} a -> s {httpStatus = a} :: CreateVehicleResponse)++instance Prelude.NFData CreateVehicleResponse where+ rnf CreateVehicleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf thingArn+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/DeleteCampaign.hs view
@@ -0,0 +1,186 @@+{-# 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.IoTFleetWise.DeleteCampaign+-- 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 data collection campaign. Deleting a campaign suspends all+-- data collection and removes it from any vehicles.+module Amazonka.IoTFleetWise.DeleteCampaign+ ( -- * Creating a Request+ DeleteCampaign (..),+ newDeleteCampaign,++ -- * Request Lenses+ deleteCampaign_name,++ -- * Destructuring the Response+ DeleteCampaignResponse (..),+ newDeleteCampaignResponse,++ -- * Response Lenses+ deleteCampaignResponse_arn,+ deleteCampaignResponse_name,+ deleteCampaignResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCampaign' smart constructor.+data DeleteCampaign = DeleteCampaign'+ { -- | The name of the campaign to delete.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteCampaign_name' - The name of the campaign to delete.+newDeleteCampaign ::+ -- | 'name'+ Prelude.Text ->+ DeleteCampaign+newDeleteCampaign pName_ =+ DeleteCampaign' {name = pName_}++-- | The name of the campaign to delete.+deleteCampaign_name :: Lens.Lens' DeleteCampaign Prelude.Text+deleteCampaign_name = Lens.lens (\DeleteCampaign' {name} -> name) (\s@DeleteCampaign' {} a -> s {name = a} :: DeleteCampaign)++instance Core.AWSRequest DeleteCampaign where+ type+ AWSResponse DeleteCampaign =+ DeleteCampaignResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteCampaignResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteCampaign where+ hashWithSalt _salt DeleteCampaign' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteCampaign where+ rnf DeleteCampaign' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteCampaign where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteCampaign" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteCampaign where+ toJSON DeleteCampaign' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath DeleteCampaign where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteCampaign where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCampaignResponse' smart constructor.+data DeleteCampaignResponse = DeleteCampaignResponse'+ { -- | The Amazon Resource Name (ARN) of the deleted campaign.+ --+ -- The ARN isn’t returned if a campaign doesn’t exist.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the deleted campaign.+ name :: 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 'DeleteCampaignResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteCampaignResponse_arn' - The Amazon Resource Name (ARN) of the deleted campaign.+--+-- The ARN isn’t returned if a campaign doesn’t exist.+--+-- 'name', 'deleteCampaignResponse_name' - The name of the deleted campaign.+--+-- 'httpStatus', 'deleteCampaignResponse_httpStatus' - The response's http status code.+newDeleteCampaignResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteCampaignResponse+newDeleteCampaignResponse pHttpStatus_ =+ DeleteCampaignResponse'+ { arn = Prelude.Nothing,+ name = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the deleted campaign.+--+-- The ARN isn’t returned if a campaign doesn’t exist.+deleteCampaignResponse_arn :: Lens.Lens' DeleteCampaignResponse (Prelude.Maybe Prelude.Text)+deleteCampaignResponse_arn = Lens.lens (\DeleteCampaignResponse' {arn} -> arn) (\s@DeleteCampaignResponse' {} a -> s {arn = a} :: DeleteCampaignResponse)++-- | The name of the deleted campaign.+deleteCampaignResponse_name :: Lens.Lens' DeleteCampaignResponse (Prelude.Maybe Prelude.Text)+deleteCampaignResponse_name = Lens.lens (\DeleteCampaignResponse' {name} -> name) (\s@DeleteCampaignResponse' {} a -> s {name = a} :: DeleteCampaignResponse)++-- | The response's http status code.+deleteCampaignResponse_httpStatus :: Lens.Lens' DeleteCampaignResponse Prelude.Int+deleteCampaignResponse_httpStatus = Lens.lens (\DeleteCampaignResponse' {httpStatus} -> httpStatus) (\s@DeleteCampaignResponse' {} a -> s {httpStatus = a} :: DeleteCampaignResponse)++instance Prelude.NFData DeleteCampaignResponse where+ rnf DeleteCampaignResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/DeleteDecoderManifest.hs view
@@ -0,0 +1,191 @@+{-# 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.IoTFleetWise.DeleteDecoderManifest+-- 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 decoder manifest. You can\'t delete a decoder manifest if it+-- has vehicles associated with it.+--+-- If the decoder manifest is successfully deleted, Amazon Web Services IoT+-- FleetWise sends back an HTTP 200 response with an empty body.+module Amazonka.IoTFleetWise.DeleteDecoderManifest+ ( -- * Creating a Request+ DeleteDecoderManifest (..),+ newDeleteDecoderManifest,++ -- * Request Lenses+ deleteDecoderManifest_name,++ -- * Destructuring the Response+ DeleteDecoderManifestResponse (..),+ newDeleteDecoderManifestResponse,++ -- * Response Lenses+ deleteDecoderManifestResponse_httpStatus,+ deleteDecoderManifestResponse_name,+ deleteDecoderManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDecoderManifest' smart constructor.+data DeleteDecoderManifest = DeleteDecoderManifest'+ { -- | The name of the decoder manifest to delete.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDecoderManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteDecoderManifest_name' - The name of the decoder manifest to delete.+newDeleteDecoderManifest ::+ -- | 'name'+ Prelude.Text ->+ DeleteDecoderManifest+newDeleteDecoderManifest pName_ =+ DeleteDecoderManifest' {name = pName_}++-- | The name of the decoder manifest to delete.+deleteDecoderManifest_name :: Lens.Lens' DeleteDecoderManifest Prelude.Text+deleteDecoderManifest_name = Lens.lens (\DeleteDecoderManifest' {name} -> name) (\s@DeleteDecoderManifest' {} a -> s {name = a} :: DeleteDecoderManifest)++instance Core.AWSRequest DeleteDecoderManifest where+ type+ AWSResponse DeleteDecoderManifest =+ DeleteDecoderManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteDecoderManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable DeleteDecoderManifest where+ hashWithSalt _salt DeleteDecoderManifest' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteDecoderManifest where+ rnf DeleteDecoderManifest' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteDecoderManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteDecoderManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteDecoderManifest where+ toJSON DeleteDecoderManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath DeleteDecoderManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteDecoderManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDecoderManifestResponse' smart constructor.+data DeleteDecoderManifestResponse = DeleteDecoderManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the deleted decoder manifest.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the deleted decoder manifest.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDecoderManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDecoderManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'deleteDecoderManifestResponse_name' - The name of the deleted decoder manifest.+--+-- 'arn', 'deleteDecoderManifestResponse_arn' - The Amazon Resource Name (ARN) of the deleted decoder manifest.+newDeleteDecoderManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ DeleteDecoderManifestResponse+newDeleteDecoderManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ DeleteDecoderManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+deleteDecoderManifestResponse_httpStatus :: Lens.Lens' DeleteDecoderManifestResponse Prelude.Int+deleteDecoderManifestResponse_httpStatus = Lens.lens (\DeleteDecoderManifestResponse' {httpStatus} -> httpStatus) (\s@DeleteDecoderManifestResponse' {} a -> s {httpStatus = a} :: DeleteDecoderManifestResponse)++-- | The name of the deleted decoder manifest.+deleteDecoderManifestResponse_name :: Lens.Lens' DeleteDecoderManifestResponse Prelude.Text+deleteDecoderManifestResponse_name = Lens.lens (\DeleteDecoderManifestResponse' {name} -> name) (\s@DeleteDecoderManifestResponse' {} a -> s {name = a} :: DeleteDecoderManifestResponse)++-- | The Amazon Resource Name (ARN) of the deleted decoder manifest.+deleteDecoderManifestResponse_arn :: Lens.Lens' DeleteDecoderManifestResponse Prelude.Text+deleteDecoderManifestResponse_arn = Lens.lens (\DeleteDecoderManifestResponse' {arn} -> arn) (\s@DeleteDecoderManifestResponse' {} a -> s {arn = a} :: DeleteDecoderManifestResponse)++instance Prelude.NFData DeleteDecoderManifestResponse where+ rnf DeleteDecoderManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/DeleteFleet.hs view
@@ -0,0 +1,183 @@+{-# 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.IoTFleetWise.DeleteFleet+-- 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 fleet. Before you delete a fleet, all vehicles must be+-- dissociated from the fleet. For more information, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html Delete a fleet (AWS CLI)>+-- in the /Amazon Web Services IoT FleetWise Developer Guide/.+--+-- If the fleet is successfully deleted, Amazon Web Services IoT FleetWise+-- sends back an HTTP 200 response with an empty body.+module Amazonka.IoTFleetWise.DeleteFleet+ ( -- * Creating a Request+ DeleteFleet (..),+ newDeleteFleet,++ -- * Request Lenses+ deleteFleet_fleetId,++ -- * Destructuring the Response+ DeleteFleetResponse (..),+ newDeleteFleetResponse,++ -- * Response Lenses+ deleteFleetResponse_arn,+ deleteFleetResponse_id,+ deleteFleetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFleet' smart constructor.+data DeleteFleet = DeleteFleet'+ { -- | The ID of the fleet to delete.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fleetId', 'deleteFleet_fleetId' - The ID of the fleet to delete.+newDeleteFleet ::+ -- | 'fleetId'+ Prelude.Text ->+ DeleteFleet+newDeleteFleet pFleetId_ =+ DeleteFleet' {fleetId = pFleetId_}++-- | The ID of the fleet to delete.+deleteFleet_fleetId :: Lens.Lens' DeleteFleet Prelude.Text+deleteFleet_fleetId = Lens.lens (\DeleteFleet' {fleetId} -> fleetId) (\s@DeleteFleet' {} a -> s {fleetId = a} :: DeleteFleet)++instance Core.AWSRequest DeleteFleet where+ type AWSResponse DeleteFleet = DeleteFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFleetResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFleet where+ hashWithSalt _salt DeleteFleet' {..} =+ _salt `Prelude.hashWithSalt` fleetId++instance Prelude.NFData DeleteFleet where+ rnf DeleteFleet' {..} = Prelude.rnf fleetId++instance Data.ToHeaders DeleteFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteFleet where+ toJSON DeleteFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("fleetId" Data..= fleetId)]+ )++instance Data.ToPath DeleteFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFleetResponse' smart constructor.+data DeleteFleetResponse = DeleteFleetResponse'+ { -- | The Amazon Resource Name (ARN) of the deleted fleet.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the deleted fleet.+ id :: 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 'DeleteFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteFleetResponse_arn' - The Amazon Resource Name (ARN) of the deleted fleet.+--+-- 'id', 'deleteFleetResponse_id' - The ID of the deleted fleet.+--+-- 'httpStatus', 'deleteFleetResponse_httpStatus' - The response's http status code.+newDeleteFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFleetResponse+newDeleteFleetResponse pHttpStatus_ =+ DeleteFleetResponse'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the deleted fleet.+deleteFleetResponse_arn :: Lens.Lens' DeleteFleetResponse (Prelude.Maybe Prelude.Text)+deleteFleetResponse_arn = Lens.lens (\DeleteFleetResponse' {arn} -> arn) (\s@DeleteFleetResponse' {} a -> s {arn = a} :: DeleteFleetResponse)++-- | The ID of the deleted fleet.+deleteFleetResponse_id :: Lens.Lens' DeleteFleetResponse (Prelude.Maybe Prelude.Text)+deleteFleetResponse_id = Lens.lens (\DeleteFleetResponse' {id} -> id) (\s@DeleteFleetResponse' {} a -> s {id = a} :: DeleteFleetResponse)++-- | The response's http status code.+deleteFleetResponse_httpStatus :: Lens.Lens' DeleteFleetResponse Prelude.Int+deleteFleetResponse_httpStatus = Lens.lens (\DeleteFleetResponse' {httpStatus} -> httpStatus) (\s@DeleteFleetResponse' {} a -> s {httpStatus = a} :: DeleteFleetResponse)++instance Prelude.NFData DeleteFleetResponse where+ rnf DeleteFleetResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/DeleteModelManifest.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.IoTFleetWise.DeleteModelManifest+-- 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 vehicle model (model manifest).+--+-- If the vehicle model is successfully deleted, Amazon Web Services IoT+-- FleetWise sends back an HTTP 200 response with an empty body.+module Amazonka.IoTFleetWise.DeleteModelManifest+ ( -- * Creating a Request+ DeleteModelManifest (..),+ newDeleteModelManifest,++ -- * Request Lenses+ deleteModelManifest_name,++ -- * Destructuring the Response+ DeleteModelManifestResponse (..),+ newDeleteModelManifestResponse,++ -- * Response Lenses+ deleteModelManifestResponse_httpStatus,+ deleteModelManifestResponse_name,+ deleteModelManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteModelManifest' smart constructor.+data DeleteModelManifest = DeleteModelManifest'+ { -- | The name of the model manifest to delete.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteModelManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteModelManifest_name' - The name of the model manifest to delete.+newDeleteModelManifest ::+ -- | 'name'+ Prelude.Text ->+ DeleteModelManifest+newDeleteModelManifest pName_ =+ DeleteModelManifest' {name = pName_}++-- | The name of the model manifest to delete.+deleteModelManifest_name :: Lens.Lens' DeleteModelManifest Prelude.Text+deleteModelManifest_name = Lens.lens (\DeleteModelManifest' {name} -> name) (\s@DeleteModelManifest' {} a -> s {name = a} :: DeleteModelManifest)++instance Core.AWSRequest DeleteModelManifest where+ type+ AWSResponse DeleteModelManifest =+ DeleteModelManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteModelManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable DeleteModelManifest where+ hashWithSalt _salt DeleteModelManifest' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteModelManifest where+ rnf DeleteModelManifest' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteModelManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteModelManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteModelManifest where+ toJSON DeleteModelManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath DeleteModelManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteModelManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteModelManifestResponse' smart constructor.+data DeleteModelManifestResponse = DeleteModelManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the deleted model manifest.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the deleted model manifest.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteModelManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteModelManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'deleteModelManifestResponse_name' - The name of the deleted model manifest.+--+-- 'arn', 'deleteModelManifestResponse_arn' - The Amazon Resource Name (ARN) of the deleted model manifest.+newDeleteModelManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ DeleteModelManifestResponse+newDeleteModelManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ DeleteModelManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+deleteModelManifestResponse_httpStatus :: Lens.Lens' DeleteModelManifestResponse Prelude.Int+deleteModelManifestResponse_httpStatus = Lens.lens (\DeleteModelManifestResponse' {httpStatus} -> httpStatus) (\s@DeleteModelManifestResponse' {} a -> s {httpStatus = a} :: DeleteModelManifestResponse)++-- | The name of the deleted model manifest.+deleteModelManifestResponse_name :: Lens.Lens' DeleteModelManifestResponse Prelude.Text+deleteModelManifestResponse_name = Lens.lens (\DeleteModelManifestResponse' {name} -> name) (\s@DeleteModelManifestResponse' {} a -> s {name = a} :: DeleteModelManifestResponse)++-- | The Amazon Resource Name (ARN) of the deleted model manifest.+deleteModelManifestResponse_arn :: Lens.Lens' DeleteModelManifestResponse Prelude.Text+deleteModelManifestResponse_arn = Lens.lens (\DeleteModelManifestResponse' {arn} -> arn) (\s@DeleteModelManifestResponse' {} a -> s {arn = a} :: DeleteModelManifestResponse)++instance Prelude.NFData DeleteModelManifestResponse where+ rnf DeleteModelManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/DeleteSignalCatalog.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.IoTFleetWise.DeleteSignalCatalog+-- 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 signal catalog.+--+-- If the signal catalog is successfully deleted, Amazon Web Services IoT+-- FleetWise sends back an HTTP 200 response with an empty body.+module Amazonka.IoTFleetWise.DeleteSignalCatalog+ ( -- * Creating a Request+ DeleteSignalCatalog (..),+ newDeleteSignalCatalog,++ -- * Request Lenses+ deleteSignalCatalog_name,++ -- * Destructuring the Response+ DeleteSignalCatalogResponse (..),+ newDeleteSignalCatalogResponse,++ -- * Response Lenses+ deleteSignalCatalogResponse_httpStatus,+ deleteSignalCatalogResponse_name,+ deleteSignalCatalogResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSignalCatalog' smart constructor.+data DeleteSignalCatalog = DeleteSignalCatalog'+ { -- | The name of the signal catalog to delete.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSignalCatalog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'deleteSignalCatalog_name' - The name of the signal catalog to delete.+newDeleteSignalCatalog ::+ -- | 'name'+ Prelude.Text ->+ DeleteSignalCatalog+newDeleteSignalCatalog pName_ =+ DeleteSignalCatalog' {name = pName_}++-- | The name of the signal catalog to delete.+deleteSignalCatalog_name :: Lens.Lens' DeleteSignalCatalog Prelude.Text+deleteSignalCatalog_name = Lens.lens (\DeleteSignalCatalog' {name} -> name) (\s@DeleteSignalCatalog' {} a -> s {name = a} :: DeleteSignalCatalog)++instance Core.AWSRequest DeleteSignalCatalog where+ type+ AWSResponse DeleteSignalCatalog =+ DeleteSignalCatalogResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteSignalCatalogResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable DeleteSignalCatalog where+ hashWithSalt _salt DeleteSignalCatalog' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteSignalCatalog where+ rnf DeleteSignalCatalog' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteSignalCatalog where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteSignalCatalog" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteSignalCatalog where+ toJSON DeleteSignalCatalog' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath DeleteSignalCatalog where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteSignalCatalog where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSignalCatalogResponse' smart constructor.+data DeleteSignalCatalogResponse = DeleteSignalCatalogResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the deleted signal catalog.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the deleted signal catalog.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSignalCatalogResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteSignalCatalogResponse_httpStatus' - The response's http status code.+--+-- 'name', 'deleteSignalCatalogResponse_name' - The name of the deleted signal catalog.+--+-- 'arn', 'deleteSignalCatalogResponse_arn' - The Amazon Resource Name (ARN) of the deleted signal catalog.+newDeleteSignalCatalogResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ DeleteSignalCatalogResponse+newDeleteSignalCatalogResponse+ pHttpStatus_+ pName_+ pArn_ =+ DeleteSignalCatalogResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+deleteSignalCatalogResponse_httpStatus :: Lens.Lens' DeleteSignalCatalogResponse Prelude.Int+deleteSignalCatalogResponse_httpStatus = Lens.lens (\DeleteSignalCatalogResponse' {httpStatus} -> httpStatus) (\s@DeleteSignalCatalogResponse' {} a -> s {httpStatus = a} :: DeleteSignalCatalogResponse)++-- | The name of the deleted signal catalog.+deleteSignalCatalogResponse_name :: Lens.Lens' DeleteSignalCatalogResponse Prelude.Text+deleteSignalCatalogResponse_name = Lens.lens (\DeleteSignalCatalogResponse' {name} -> name) (\s@DeleteSignalCatalogResponse' {} a -> s {name = a} :: DeleteSignalCatalogResponse)++-- | The Amazon Resource Name (ARN) of the deleted signal catalog.+deleteSignalCatalogResponse_arn :: Lens.Lens' DeleteSignalCatalogResponse Prelude.Text+deleteSignalCatalogResponse_arn = Lens.lens (\DeleteSignalCatalogResponse' {arn} -> arn) (\s@DeleteSignalCatalogResponse' {} a -> s {arn = a} :: DeleteSignalCatalogResponse)++instance Prelude.NFData DeleteSignalCatalogResponse where+ rnf DeleteSignalCatalogResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/DeleteVehicle.hs view
@@ -0,0 +1,189 @@+{-# 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.IoTFleetWise.DeleteVehicle+-- 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 vehicle and removes it from any campaigns.+--+-- If the vehicle is successfully deleted, Amazon Web Services IoT+-- FleetWise sends back an HTTP 200 response with an empty body.+module Amazonka.IoTFleetWise.DeleteVehicle+ ( -- * Creating a Request+ DeleteVehicle (..),+ newDeleteVehicle,++ -- * Request Lenses+ deleteVehicle_vehicleName,++ -- * Destructuring the Response+ DeleteVehicleResponse (..),+ newDeleteVehicleResponse,++ -- * Response Lenses+ deleteVehicleResponse_httpStatus,+ deleteVehicleResponse_vehicleName,+ deleteVehicleResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteVehicle' smart constructor.+data DeleteVehicle = DeleteVehicle'+ { -- | The ID of the vehicle to delete.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicleName', 'deleteVehicle_vehicleName' - The ID of the vehicle to delete.+newDeleteVehicle ::+ -- | 'vehicleName'+ Prelude.Text ->+ DeleteVehicle+newDeleteVehicle pVehicleName_ =+ DeleteVehicle' {vehicleName = pVehicleName_}++-- | The ID of the vehicle to delete.+deleteVehicle_vehicleName :: Lens.Lens' DeleteVehicle Prelude.Text+deleteVehicle_vehicleName = Lens.lens (\DeleteVehicle' {vehicleName} -> vehicleName) (\s@DeleteVehicle' {} a -> s {vehicleName = a} :: DeleteVehicle)++instance Core.AWSRequest DeleteVehicle where+ type+ AWSResponse DeleteVehicle =+ DeleteVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteVehicleResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "vehicleName")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable DeleteVehicle where+ hashWithSalt _salt DeleteVehicle' {..} =+ _salt `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData DeleteVehicle where+ rnf DeleteVehicle' {..} = Prelude.rnf vehicleName++instance Data.ToHeaders DeleteVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DeleteVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteVehicle where+ toJSON DeleteVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("vehicleName" Data..= vehicleName)]+ )++instance Data.ToPath DeleteVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery DeleteVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVehicleResponse' smart constructor.+data DeleteVehicleResponse = DeleteVehicleResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the deleted vehicle.+ vehicleName :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the deleted vehicle.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteVehicleResponse_httpStatus' - The response's http status code.+--+-- 'vehicleName', 'deleteVehicleResponse_vehicleName' - The ID of the deleted vehicle.+--+-- 'arn', 'deleteVehicleResponse_arn' - The Amazon Resource Name (ARN) of the deleted vehicle.+newDeleteVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ DeleteVehicleResponse+newDeleteVehicleResponse+ pHttpStatus_+ pVehicleName_+ pArn_ =+ DeleteVehicleResponse'+ { httpStatus = pHttpStatus_,+ vehicleName = pVehicleName_,+ arn = pArn_+ }++-- | The response's http status code.+deleteVehicleResponse_httpStatus :: Lens.Lens' DeleteVehicleResponse Prelude.Int+deleteVehicleResponse_httpStatus = Lens.lens (\DeleteVehicleResponse' {httpStatus} -> httpStatus) (\s@DeleteVehicleResponse' {} a -> s {httpStatus = a} :: DeleteVehicleResponse)++-- | The ID of the deleted vehicle.+deleteVehicleResponse_vehicleName :: Lens.Lens' DeleteVehicleResponse Prelude.Text+deleteVehicleResponse_vehicleName = Lens.lens (\DeleteVehicleResponse' {vehicleName} -> vehicleName) (\s@DeleteVehicleResponse' {} a -> s {vehicleName = a} :: DeleteVehicleResponse)++-- | The Amazon Resource Name (ARN) of the deleted vehicle.+deleteVehicleResponse_arn :: Lens.Lens' DeleteVehicleResponse Prelude.Text+deleteVehicleResponse_arn = Lens.lens (\DeleteVehicleResponse' {arn} -> arn) (\s@DeleteVehicleResponse' {} a -> s {arn = a} :: DeleteVehicleResponse)++instance Prelude.NFData DeleteVehicleResponse where+ rnf DeleteVehicleResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/DisassociateVehicleFleet.hs view
@@ -0,0 +1,185 @@+{-# 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.IoTFleetWise.DisassociateVehicleFleet+-- 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, or disassociates, a vehicle from a fleet. Disassociating a+-- vehicle from a fleet doesn\'t delete the vehicle.+--+-- If the vehicle is successfully dissociated from a fleet, Amazon Web+-- Services IoT FleetWise sends back an HTTP 200 response with an empty+-- body.+module Amazonka.IoTFleetWise.DisassociateVehicleFleet+ ( -- * Creating a Request+ DisassociateVehicleFleet (..),+ newDisassociateVehicleFleet,++ -- * Request Lenses+ disassociateVehicleFleet_vehicleName,+ disassociateVehicleFleet_fleetId,++ -- * Destructuring the Response+ DisassociateVehicleFleetResponse (..),+ newDisassociateVehicleFleetResponse,++ -- * Response Lenses+ disassociateVehicleFleetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateVehicleFleet' smart constructor.+data DisassociateVehicleFleet = DisassociateVehicleFleet'+ { -- | The unique ID of the vehicle to disassociate from the fleet.+ vehicleName :: Prelude.Text,+ -- | The unique ID of a fleet.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateVehicleFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicleName', 'disassociateVehicleFleet_vehicleName' - The unique ID of the vehicle to disassociate from the fleet.+--+-- 'fleetId', 'disassociateVehicleFleet_fleetId' - The unique ID of a fleet.+newDisassociateVehicleFleet ::+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'fleetId'+ Prelude.Text ->+ DisassociateVehicleFleet+newDisassociateVehicleFleet pVehicleName_ pFleetId_ =+ DisassociateVehicleFleet'+ { vehicleName =+ pVehicleName_,+ fleetId = pFleetId_+ }++-- | The unique ID of the vehicle to disassociate from the fleet.+disassociateVehicleFleet_vehicleName :: Lens.Lens' DisassociateVehicleFleet Prelude.Text+disassociateVehicleFleet_vehicleName = Lens.lens (\DisassociateVehicleFleet' {vehicleName} -> vehicleName) (\s@DisassociateVehicleFleet' {} a -> s {vehicleName = a} :: DisassociateVehicleFleet)++-- | The unique ID of a fleet.+disassociateVehicleFleet_fleetId :: Lens.Lens' DisassociateVehicleFleet Prelude.Text+disassociateVehicleFleet_fleetId = Lens.lens (\DisassociateVehicleFleet' {fleetId} -> fleetId) (\s@DisassociateVehicleFleet' {} a -> s {fleetId = a} :: DisassociateVehicleFleet)++instance Core.AWSRequest DisassociateVehicleFleet where+ type+ AWSResponse DisassociateVehicleFleet =+ DisassociateVehicleFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateVehicleFleetResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateVehicleFleet where+ hashWithSalt _salt DisassociateVehicleFleet' {..} =+ _salt+ `Prelude.hashWithSalt` vehicleName+ `Prelude.hashWithSalt` fleetId++instance Prelude.NFData DisassociateVehicleFleet where+ rnf DisassociateVehicleFleet' {..} =+ Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf fleetId++instance Data.ToHeaders DisassociateVehicleFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.DisassociateVehicleFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateVehicleFleet where+ toJSON DisassociateVehicleFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("vehicleName" Data..= vehicleName),+ Prelude.Just ("fleetId" Data..= fleetId)+ ]+ )++instance Data.ToPath DisassociateVehicleFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery DisassociateVehicleFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateVehicleFleetResponse' smart constructor.+data DisassociateVehicleFleetResponse = DisassociateVehicleFleetResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateVehicleFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateVehicleFleetResponse_httpStatus' - The response's http status code.+newDisassociateVehicleFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateVehicleFleetResponse+newDisassociateVehicleFleetResponse pHttpStatus_ =+ DisassociateVehicleFleetResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateVehicleFleetResponse_httpStatus :: Lens.Lens' DisassociateVehicleFleetResponse Prelude.Int+disassociateVehicleFleetResponse_httpStatus = Lens.lens (\DisassociateVehicleFleetResponse' {httpStatus} -> httpStatus) (\s@DisassociateVehicleFleetResponse' {} a -> s {httpStatus = a} :: DisassociateVehicleFleetResponse)++instance+ Prelude.NFData+ DisassociateVehicleFleetResponse+ where+ rnf DisassociateVehicleFleetResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/GetCampaign.hs view
@@ -0,0 +1,413 @@+{-# 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.IoTFleetWise.GetCampaign+-- 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 information about a campaign.+module Amazonka.IoTFleetWise.GetCampaign+ ( -- * Creating a Request+ GetCampaign (..),+ newGetCampaign,++ -- * Request Lenses+ getCampaign_name,++ -- * Destructuring the Response+ GetCampaignResponse (..),+ newGetCampaignResponse,++ -- * Response Lenses+ getCampaignResponse_arn,+ getCampaignResponse_collectionScheme,+ getCampaignResponse_compression,+ getCampaignResponse_creationTime,+ getCampaignResponse_dataExtraDimensions,+ getCampaignResponse_description,+ getCampaignResponse_diagnosticsMode,+ getCampaignResponse_expiryTime,+ getCampaignResponse_lastModificationTime,+ getCampaignResponse_name,+ getCampaignResponse_postTriggerCollectionDuration,+ getCampaignResponse_priority,+ getCampaignResponse_signalCatalogArn,+ getCampaignResponse_signalsToCollect,+ getCampaignResponse_spoolingMode,+ getCampaignResponse_startTime,+ getCampaignResponse_status,+ getCampaignResponse_targetArn,+ getCampaignResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCampaign' smart constructor.+data GetCampaign = GetCampaign'+ { -- | The name of the campaign to retrieve information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getCampaign_name' - The name of the campaign to retrieve information about.+newGetCampaign ::+ -- | 'name'+ Prelude.Text ->+ GetCampaign+newGetCampaign pName_ = GetCampaign' {name = pName_}++-- | The name of the campaign to retrieve information about.+getCampaign_name :: Lens.Lens' GetCampaign Prelude.Text+getCampaign_name = Lens.lens (\GetCampaign' {name} -> name) (\s@GetCampaign' {} a -> s {name = a} :: GetCampaign)++instance Core.AWSRequest GetCampaign where+ type AWSResponse GetCampaign = GetCampaignResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetCampaignResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "collectionScheme")+ Prelude.<*> (x Data..?> "compression")+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> ( x+ Data..?> "dataExtraDimensions"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "diagnosticsMode")+ Prelude.<*> (x Data..?> "expiryTime")+ Prelude.<*> (x Data..?> "lastModificationTime")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "postTriggerCollectionDuration")+ Prelude.<*> (x Data..?> "priority")+ Prelude.<*> (x Data..?> "signalCatalogArn")+ Prelude.<*> ( x+ Data..?> "signalsToCollect"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "spoolingMode")+ Prelude.<*> (x Data..?> "startTime")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "targetArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetCampaign where+ hashWithSalt _salt GetCampaign' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetCampaign where+ rnf GetCampaign' {..} = Prelude.rnf name++instance Data.ToHeaders GetCampaign where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetCampaign" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetCampaign where+ toJSON GetCampaign' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath GetCampaign where+ toPath = Prelude.const "/"++instance Data.ToQuery GetCampaign where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetCampaignResponse' smart constructor.+data GetCampaignResponse = GetCampaignResponse'+ { -- | The Amazon Resource Name (ARN) of the campaign.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Information about the data collection scheme associated with the+ -- campaign.+ collectionScheme :: Prelude.Maybe CollectionScheme,+ -- | Whether to compress signals before transmitting data to Amazon Web+ -- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t+ -- compressed. If it\'s not specified, @SNAPPY@ is used.+ compression :: Prelude.Maybe Compression,+ -- | The time the campaign was created in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of vehicle attributes associated with the campaign.+ dataExtraDimensions :: Prelude.Maybe [Prelude.Text],+ -- | The description of the campaign.+ description :: Prelude.Maybe Prelude.Text,+ -- | Option for a vehicle to send diagnostic trouble codes to Amazon Web+ -- Services IoT FleetWise.+ diagnosticsMode :: Prelude.Maybe DiagnosticsMode,+ -- | The time the campaign expires, in seconds since epoch (January 1, 1970+ -- at midnight UTC time). Vehicle data won\'t be collected after the+ -- campaign expires.+ expiryTime :: Prelude.Maybe Data.POSIX,+ -- | The last time the campaign was modified.+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the campaign.+ name :: Prelude.Maybe Prelude.Text,+ -- | How long (in seconds) to collect raw data after a triggering event+ -- initiates the collection.+ postTriggerCollectionDuration :: Prelude.Maybe Prelude.Natural,+ -- | A number indicating the priority of one campaign over another campaign+ -- for a certain vehicle or fleet. A campaign with the lowest value is+ -- deployed to vehicles before any other campaigns.+ priority :: Prelude.Maybe Prelude.Natural,+ -- | The ARN of a signal catalog.+ signalCatalogArn :: Prelude.Maybe Prelude.Text,+ -- | Information about a list of signals to collect data on.+ signalsToCollect :: Prelude.Maybe [SignalInformation],+ -- | Whether to store collected data after a vehicle lost a connection with+ -- the cloud. After a connection is re-established, the data is+ -- automatically forwarded to Amazon Web Services IoT FleetWise.+ spoolingMode :: Prelude.Maybe SpoolingMode,+ -- | The time, in milliseconds, to deliver a campaign after it was approved.+ startTime :: Prelude.Maybe Data.POSIX,+ -- | The state of the campaign. The status can be one of: @CREATING@,+ -- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.+ status :: Prelude.Maybe CampaignStatus,+ -- | The ARN of the vehicle or the fleet targeted by the campaign.+ targetArn :: 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 'GetCampaignResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getCampaignResponse_arn' - The Amazon Resource Name (ARN) of the campaign.+--+-- 'collectionScheme', 'getCampaignResponse_collectionScheme' - Information about the data collection scheme associated with the+-- campaign.+--+-- 'compression', 'getCampaignResponse_compression' - Whether to compress signals before transmitting data to Amazon Web+-- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t+-- compressed. If it\'s not specified, @SNAPPY@ is used.+--+-- 'creationTime', 'getCampaignResponse_creationTime' - The time the campaign was created in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+--+-- 'dataExtraDimensions', 'getCampaignResponse_dataExtraDimensions' - A list of vehicle attributes associated with the campaign.+--+-- 'description', 'getCampaignResponse_description' - The description of the campaign.+--+-- 'diagnosticsMode', 'getCampaignResponse_diagnosticsMode' - Option for a vehicle to send diagnostic trouble codes to Amazon Web+-- Services IoT FleetWise.+--+-- 'expiryTime', 'getCampaignResponse_expiryTime' - The time the campaign expires, in seconds since epoch (January 1, 1970+-- at midnight UTC time). Vehicle data won\'t be collected after the+-- campaign expires.+--+-- 'lastModificationTime', 'getCampaignResponse_lastModificationTime' - The last time the campaign was modified.+--+-- 'name', 'getCampaignResponse_name' - The name of the campaign.+--+-- 'postTriggerCollectionDuration', 'getCampaignResponse_postTriggerCollectionDuration' - How long (in seconds) to collect raw data after a triggering event+-- initiates the collection.+--+-- 'priority', 'getCampaignResponse_priority' - A number indicating the priority of one campaign over another campaign+-- for a certain vehicle or fleet. A campaign with the lowest value is+-- deployed to vehicles before any other campaigns.+--+-- 'signalCatalogArn', 'getCampaignResponse_signalCatalogArn' - The ARN of a signal catalog.+--+-- 'signalsToCollect', 'getCampaignResponse_signalsToCollect' - Information about a list of signals to collect data on.+--+-- 'spoolingMode', 'getCampaignResponse_spoolingMode' - Whether to store collected data after a vehicle lost a connection with+-- the cloud. After a connection is re-established, the data is+-- automatically forwarded to Amazon Web Services IoT FleetWise.+--+-- 'startTime', 'getCampaignResponse_startTime' - The time, in milliseconds, to deliver a campaign after it was approved.+--+-- 'status', 'getCampaignResponse_status' - The state of the campaign. The status can be one of: @CREATING@,+-- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.+--+-- 'targetArn', 'getCampaignResponse_targetArn' - The ARN of the vehicle or the fleet targeted by the campaign.+--+-- 'httpStatus', 'getCampaignResponse_httpStatus' - The response's http status code.+newGetCampaignResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetCampaignResponse+newGetCampaignResponse pHttpStatus_ =+ GetCampaignResponse'+ { arn = Prelude.Nothing,+ collectionScheme = Prelude.Nothing,+ compression = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ dataExtraDimensions = Prelude.Nothing,+ description = Prelude.Nothing,+ diagnosticsMode = Prelude.Nothing,+ expiryTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ name = Prelude.Nothing,+ postTriggerCollectionDuration = Prelude.Nothing,+ priority = Prelude.Nothing,+ signalCatalogArn = Prelude.Nothing,+ signalsToCollect = Prelude.Nothing,+ spoolingMode = Prelude.Nothing,+ startTime = Prelude.Nothing,+ status = Prelude.Nothing,+ targetArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the campaign.+getCampaignResponse_arn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)+getCampaignResponse_arn = Lens.lens (\GetCampaignResponse' {arn} -> arn) (\s@GetCampaignResponse' {} a -> s {arn = a} :: GetCampaignResponse)++-- | Information about the data collection scheme associated with the+-- campaign.+getCampaignResponse_collectionScheme :: Lens.Lens' GetCampaignResponse (Prelude.Maybe CollectionScheme)+getCampaignResponse_collectionScheme = Lens.lens (\GetCampaignResponse' {collectionScheme} -> collectionScheme) (\s@GetCampaignResponse' {} a -> s {collectionScheme = a} :: GetCampaignResponse)++-- | Whether to compress signals before transmitting data to Amazon Web+-- Services IoT FleetWise. If @OFF@ is specified, the signals aren\'t+-- compressed. If it\'s not specified, @SNAPPY@ is used.+getCampaignResponse_compression :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Compression)+getCampaignResponse_compression = Lens.lens (\GetCampaignResponse' {compression} -> compression) (\s@GetCampaignResponse' {} a -> s {compression = a} :: GetCampaignResponse)++-- | The time the campaign was created in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+getCampaignResponse_creationTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)+getCampaignResponse_creationTime = Lens.lens (\GetCampaignResponse' {creationTime} -> creationTime) (\s@GetCampaignResponse' {} a -> s {creationTime = a} :: GetCampaignResponse) Prelude.. Lens.mapping Data._Time++-- | A list of vehicle attributes associated with the campaign.+getCampaignResponse_dataExtraDimensions :: Lens.Lens' GetCampaignResponse (Prelude.Maybe [Prelude.Text])+getCampaignResponse_dataExtraDimensions = Lens.lens (\GetCampaignResponse' {dataExtraDimensions} -> dataExtraDimensions) (\s@GetCampaignResponse' {} a -> s {dataExtraDimensions = a} :: GetCampaignResponse) Prelude.. Lens.mapping Lens.coerced++-- | The description of the campaign.+getCampaignResponse_description :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)+getCampaignResponse_description = Lens.lens (\GetCampaignResponse' {description} -> description) (\s@GetCampaignResponse' {} a -> s {description = a} :: GetCampaignResponse)++-- | Option for a vehicle to send diagnostic trouble codes to Amazon Web+-- Services IoT FleetWise.+getCampaignResponse_diagnosticsMode :: Lens.Lens' GetCampaignResponse (Prelude.Maybe DiagnosticsMode)+getCampaignResponse_diagnosticsMode = Lens.lens (\GetCampaignResponse' {diagnosticsMode} -> diagnosticsMode) (\s@GetCampaignResponse' {} a -> s {diagnosticsMode = a} :: GetCampaignResponse)++-- | The time the campaign expires, in seconds since epoch (January 1, 1970+-- at midnight UTC time). Vehicle data won\'t be collected after the+-- campaign expires.+getCampaignResponse_expiryTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)+getCampaignResponse_expiryTime = Lens.lens (\GetCampaignResponse' {expiryTime} -> expiryTime) (\s@GetCampaignResponse' {} a -> s {expiryTime = a} :: GetCampaignResponse) Prelude.. Lens.mapping Data._Time++-- | The last time the campaign was modified.+getCampaignResponse_lastModificationTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)+getCampaignResponse_lastModificationTime = Lens.lens (\GetCampaignResponse' {lastModificationTime} -> lastModificationTime) (\s@GetCampaignResponse' {} a -> s {lastModificationTime = a} :: GetCampaignResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the campaign.+getCampaignResponse_name :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)+getCampaignResponse_name = Lens.lens (\GetCampaignResponse' {name} -> name) (\s@GetCampaignResponse' {} a -> s {name = a} :: GetCampaignResponse)++-- | How long (in seconds) to collect raw data after a triggering event+-- initiates the collection.+getCampaignResponse_postTriggerCollectionDuration :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Natural)+getCampaignResponse_postTriggerCollectionDuration = Lens.lens (\GetCampaignResponse' {postTriggerCollectionDuration} -> postTriggerCollectionDuration) (\s@GetCampaignResponse' {} a -> s {postTriggerCollectionDuration = a} :: GetCampaignResponse)++-- | A number indicating the priority of one campaign over another campaign+-- for a certain vehicle or fleet. A campaign with the lowest value is+-- deployed to vehicles before any other campaigns.+getCampaignResponse_priority :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Natural)+getCampaignResponse_priority = Lens.lens (\GetCampaignResponse' {priority} -> priority) (\s@GetCampaignResponse' {} a -> s {priority = a} :: GetCampaignResponse)++-- | The ARN of a signal catalog.+getCampaignResponse_signalCatalogArn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)+getCampaignResponse_signalCatalogArn = Lens.lens (\GetCampaignResponse' {signalCatalogArn} -> signalCatalogArn) (\s@GetCampaignResponse' {} a -> s {signalCatalogArn = a} :: GetCampaignResponse)++-- | Information about a list of signals to collect data on.+getCampaignResponse_signalsToCollect :: Lens.Lens' GetCampaignResponse (Prelude.Maybe [SignalInformation])+getCampaignResponse_signalsToCollect = Lens.lens (\GetCampaignResponse' {signalsToCollect} -> signalsToCollect) (\s@GetCampaignResponse' {} a -> s {signalsToCollect = a} :: GetCampaignResponse) Prelude.. Lens.mapping Lens.coerced++-- | Whether to store collected data after a vehicle lost a connection with+-- the cloud. After a connection is re-established, the data is+-- automatically forwarded to Amazon Web Services IoT FleetWise.+getCampaignResponse_spoolingMode :: Lens.Lens' GetCampaignResponse (Prelude.Maybe SpoolingMode)+getCampaignResponse_spoolingMode = Lens.lens (\GetCampaignResponse' {spoolingMode} -> spoolingMode) (\s@GetCampaignResponse' {} a -> s {spoolingMode = a} :: GetCampaignResponse)++-- | The time, in milliseconds, to deliver a campaign after it was approved.+getCampaignResponse_startTime :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.UTCTime)+getCampaignResponse_startTime = Lens.lens (\GetCampaignResponse' {startTime} -> startTime) (\s@GetCampaignResponse' {} a -> s {startTime = a} :: GetCampaignResponse) Prelude.. Lens.mapping Data._Time++-- | The state of the campaign. The status can be one of: @CREATING@,+-- @WAITING_FOR_APPROVAL@, @RUNNING@, and @SUSPENDED@.+getCampaignResponse_status :: Lens.Lens' GetCampaignResponse (Prelude.Maybe CampaignStatus)+getCampaignResponse_status = Lens.lens (\GetCampaignResponse' {status} -> status) (\s@GetCampaignResponse' {} a -> s {status = a} :: GetCampaignResponse)++-- | The ARN of the vehicle or the fleet targeted by the campaign.+getCampaignResponse_targetArn :: Lens.Lens' GetCampaignResponse (Prelude.Maybe Prelude.Text)+getCampaignResponse_targetArn = Lens.lens (\GetCampaignResponse' {targetArn} -> targetArn) (\s@GetCampaignResponse' {} a -> s {targetArn = a} :: GetCampaignResponse)++-- | The response's http status code.+getCampaignResponse_httpStatus :: Lens.Lens' GetCampaignResponse Prelude.Int+getCampaignResponse_httpStatus = Lens.lens (\GetCampaignResponse' {httpStatus} -> httpStatus) (\s@GetCampaignResponse' {} a -> s {httpStatus = a} :: GetCampaignResponse)++instance Prelude.NFData GetCampaignResponse where+ rnf GetCampaignResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf collectionScheme+ `Prelude.seq` Prelude.rnf compression+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf dataExtraDimensions+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf diagnosticsMode+ `Prelude.seq` Prelude.rnf expiryTime+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf postTriggerCollectionDuration+ `Prelude.seq` Prelude.rnf priority+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf signalsToCollect+ `Prelude.seq` Prelude.rnf spoolingMode+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf targetArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/GetDecoderManifest.hs view
@@ -0,0 +1,269 @@+{-# 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.IoTFleetWise.GetDecoderManifest+-- 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 information about a created decoder manifest.+module Amazonka.IoTFleetWise.GetDecoderManifest+ ( -- * Creating a Request+ GetDecoderManifest (..),+ newGetDecoderManifest,++ -- * Request Lenses+ getDecoderManifest_name,++ -- * Destructuring the Response+ GetDecoderManifestResponse (..),+ newGetDecoderManifestResponse,++ -- * Response Lenses+ getDecoderManifestResponse_description,+ getDecoderManifestResponse_modelManifestArn,+ getDecoderManifestResponse_status,+ getDecoderManifestResponse_httpStatus,+ getDecoderManifestResponse_name,+ getDecoderManifestResponse_arn,+ getDecoderManifestResponse_creationTime,+ getDecoderManifestResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDecoderManifest' smart constructor.+data GetDecoderManifest = GetDecoderManifest'+ { -- | The name of the decoder manifest to retrieve information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDecoderManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getDecoderManifest_name' - The name of the decoder manifest to retrieve information about.+newGetDecoderManifest ::+ -- | 'name'+ Prelude.Text ->+ GetDecoderManifest+newGetDecoderManifest pName_ =+ GetDecoderManifest' {name = pName_}++-- | The name of the decoder manifest to retrieve information about.+getDecoderManifest_name :: Lens.Lens' GetDecoderManifest Prelude.Text+getDecoderManifest_name = Lens.lens (\GetDecoderManifest' {name} -> name) (\s@GetDecoderManifest' {} a -> s {name = a} :: GetDecoderManifest)++instance Core.AWSRequest GetDecoderManifest where+ type+ AWSResponse GetDecoderManifest =+ GetDecoderManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDecoderManifestResponse'+ Prelude.<$> (x Data..?> "description")+ Prelude.<*> (x Data..?> "modelManifestArn")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable GetDecoderManifest where+ hashWithSalt _salt GetDecoderManifest' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetDecoderManifest where+ rnf GetDecoderManifest' {..} = Prelude.rnf name++instance Data.ToHeaders GetDecoderManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetDecoderManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetDecoderManifest where+ toJSON GetDecoderManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath GetDecoderManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery GetDecoderManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDecoderManifestResponse' smart constructor.+data GetDecoderManifestResponse = GetDecoderManifestResponse'+ { -- | A brief description of the decoder manifest.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a vehicle model (model manifest) associated with the decoder+ -- manifest.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The state of the decoder manifest. If the status is @ACTIVE@, the+ -- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+ -- can edit the decoder manifest.+ status :: Prelude.Maybe ManifestStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the decoder manifest.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the decoder manifest.+ arn :: Prelude.Text,+ -- | The time the decoder manifest was created in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time the decoder manifest was last updated in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDecoderManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDecoderManifestResponse_description' - A brief description of the decoder manifest.+--+-- 'modelManifestArn', 'getDecoderManifestResponse_modelManifestArn' - The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+--+-- 'status', 'getDecoderManifestResponse_status' - The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+-- can edit the decoder manifest.+--+-- 'httpStatus', 'getDecoderManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'getDecoderManifestResponse_name' - The name of the decoder manifest.+--+-- 'arn', 'getDecoderManifestResponse_arn' - The Amazon Resource Name (ARN) of the decoder manifest.+--+-- 'creationTime', 'getDecoderManifestResponse_creationTime' - The time the decoder manifest was created in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'getDecoderManifestResponse_lastModificationTime' - The time the decoder manifest was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+newGetDecoderManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ GetDecoderManifestResponse+newGetDecoderManifestResponse+ pHttpStatus_+ pName_+ pArn_+ pCreationTime_+ pLastModificationTime_ =+ GetDecoderManifestResponse'+ { description =+ Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ name = pName_,+ arn = pArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | A brief description of the decoder manifest.+getDecoderManifestResponse_description :: Lens.Lens' GetDecoderManifestResponse (Prelude.Maybe Prelude.Text)+getDecoderManifestResponse_description = Lens.lens (\GetDecoderManifestResponse' {description} -> description) (\s@GetDecoderManifestResponse' {} a -> s {description = a} :: GetDecoderManifestResponse)++-- | The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+getDecoderManifestResponse_modelManifestArn :: Lens.Lens' GetDecoderManifestResponse (Prelude.Maybe Prelude.Text)+getDecoderManifestResponse_modelManifestArn = Lens.lens (\GetDecoderManifestResponse' {modelManifestArn} -> modelManifestArn) (\s@GetDecoderManifestResponse' {} a -> s {modelManifestArn = a} :: GetDecoderManifestResponse)++-- | The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+-- can edit the decoder manifest.+getDecoderManifestResponse_status :: Lens.Lens' GetDecoderManifestResponse (Prelude.Maybe ManifestStatus)+getDecoderManifestResponse_status = Lens.lens (\GetDecoderManifestResponse' {status} -> status) (\s@GetDecoderManifestResponse' {} a -> s {status = a} :: GetDecoderManifestResponse)++-- | The response's http status code.+getDecoderManifestResponse_httpStatus :: Lens.Lens' GetDecoderManifestResponse Prelude.Int+getDecoderManifestResponse_httpStatus = Lens.lens (\GetDecoderManifestResponse' {httpStatus} -> httpStatus) (\s@GetDecoderManifestResponse' {} a -> s {httpStatus = a} :: GetDecoderManifestResponse)++-- | The name of the decoder manifest.+getDecoderManifestResponse_name :: Lens.Lens' GetDecoderManifestResponse Prelude.Text+getDecoderManifestResponse_name = Lens.lens (\GetDecoderManifestResponse' {name} -> name) (\s@GetDecoderManifestResponse' {} a -> s {name = a} :: GetDecoderManifestResponse)++-- | The Amazon Resource Name (ARN) of the decoder manifest.+getDecoderManifestResponse_arn :: Lens.Lens' GetDecoderManifestResponse Prelude.Text+getDecoderManifestResponse_arn = Lens.lens (\GetDecoderManifestResponse' {arn} -> arn) (\s@GetDecoderManifestResponse' {} a -> s {arn = a} :: GetDecoderManifestResponse)++-- | The time the decoder manifest was created in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+getDecoderManifestResponse_creationTime :: Lens.Lens' GetDecoderManifestResponse Prelude.UTCTime+getDecoderManifestResponse_creationTime = Lens.lens (\GetDecoderManifestResponse' {creationTime} -> creationTime) (\s@GetDecoderManifestResponse' {} a -> s {creationTime = a} :: GetDecoderManifestResponse) Prelude.. Data._Time++-- | The time the decoder manifest was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+getDecoderManifestResponse_lastModificationTime :: Lens.Lens' GetDecoderManifestResponse Prelude.UTCTime+getDecoderManifestResponse_lastModificationTime = Lens.lens (\GetDecoderManifestResponse' {lastModificationTime} -> lastModificationTime) (\s@GetDecoderManifestResponse' {} a -> s {lastModificationTime = a} :: GetDecoderManifestResponse) Prelude.. Data._Time++instance Prelude.NFData GetDecoderManifestResponse where+ rnf GetDecoderManifestResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/GetFleet.hs view
@@ -0,0 +1,248 @@+{-# 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.IoTFleetWise.GetFleet+-- 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 information about a fleet.+module Amazonka.IoTFleetWise.GetFleet+ ( -- * Creating a Request+ GetFleet (..),+ newGetFleet,++ -- * Request Lenses+ getFleet_fleetId,++ -- * Destructuring the Response+ GetFleetResponse (..),+ newGetFleetResponse,++ -- * Response Lenses+ getFleetResponse_description,+ getFleetResponse_httpStatus,+ getFleetResponse_id,+ getFleetResponse_arn,+ getFleetResponse_signalCatalogArn,+ getFleetResponse_creationTime,+ getFleetResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFleet' smart constructor.+data GetFleet = GetFleet'+ { -- | The ID of the fleet to retrieve information about.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fleetId', 'getFleet_fleetId' - The ID of the fleet to retrieve information about.+newGetFleet ::+ -- | 'fleetId'+ Prelude.Text ->+ GetFleet+newGetFleet pFleetId_ =+ GetFleet' {fleetId = pFleetId_}++-- | The ID of the fleet to retrieve information about.+getFleet_fleetId :: Lens.Lens' GetFleet Prelude.Text+getFleet_fleetId = Lens.lens (\GetFleet' {fleetId} -> fleetId) (\s@GetFleet' {} a -> s {fleetId = a} :: GetFleet)++instance Core.AWSRequest GetFleet where+ type AWSResponse GetFleet = GetFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFleetResponse'+ Prelude.<$> (x Data..?> "description")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "id")+ Prelude.<*> (x Data..:> "arn")+ Prelude.<*> (x Data..:> "signalCatalogArn")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable GetFleet where+ hashWithSalt _salt GetFleet' {..} =+ _salt `Prelude.hashWithSalt` fleetId++instance Prelude.NFData GetFleet where+ rnf GetFleet' {..} = Prelude.rnf fleetId++instance Data.ToHeaders GetFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFleet where+ toJSON GetFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("fleetId" Data..= fleetId)]+ )++instance Data.ToPath GetFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery GetFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFleetResponse' smart constructor.+data GetFleetResponse = GetFleetResponse'+ { -- | A brief description of the fleet.+ description :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The ID of the fleet.+ id :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the fleet.+ arn :: Prelude.Text,+ -- | The ARN of a signal catalog associated with the fleet.+ signalCatalogArn :: Prelude.Text,+ -- | The time the fleet was created in seconds since epoch (January 1, 1970+ -- at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time the fleet was last updated, in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getFleetResponse_description' - A brief description of the fleet.+--+-- 'httpStatus', 'getFleetResponse_httpStatus' - The response's http status code.+--+-- 'id', 'getFleetResponse_id' - The ID of the fleet.+--+-- 'arn', 'getFleetResponse_arn' - The Amazon Resource Name (ARN) of the fleet.+--+-- 'signalCatalogArn', 'getFleetResponse_signalCatalogArn' - The ARN of a signal catalog associated with the fleet.+--+-- 'creationTime', 'getFleetResponse_creationTime' - The time the fleet was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+--+-- 'lastModificationTime', 'getFleetResponse_lastModificationTime' - The time the fleet was last updated, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+newGetFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'signalCatalogArn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ GetFleetResponse+newGetFleetResponse+ pHttpStatus_+ pId_+ pArn_+ pSignalCatalogArn_+ pCreationTime_+ pLastModificationTime_ =+ GetFleetResponse'+ { description = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ id = pId_,+ arn = pArn_,+ signalCatalogArn = pSignalCatalogArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | A brief description of the fleet.+getFleetResponse_description :: Lens.Lens' GetFleetResponse (Prelude.Maybe Prelude.Text)+getFleetResponse_description = Lens.lens (\GetFleetResponse' {description} -> description) (\s@GetFleetResponse' {} a -> s {description = a} :: GetFleetResponse)++-- | The response's http status code.+getFleetResponse_httpStatus :: Lens.Lens' GetFleetResponse Prelude.Int+getFleetResponse_httpStatus = Lens.lens (\GetFleetResponse' {httpStatus} -> httpStatus) (\s@GetFleetResponse' {} a -> s {httpStatus = a} :: GetFleetResponse)++-- | The ID of the fleet.+getFleetResponse_id :: Lens.Lens' GetFleetResponse Prelude.Text+getFleetResponse_id = Lens.lens (\GetFleetResponse' {id} -> id) (\s@GetFleetResponse' {} a -> s {id = a} :: GetFleetResponse)++-- | The Amazon Resource Name (ARN) of the fleet.+getFleetResponse_arn :: Lens.Lens' GetFleetResponse Prelude.Text+getFleetResponse_arn = Lens.lens (\GetFleetResponse' {arn} -> arn) (\s@GetFleetResponse' {} a -> s {arn = a} :: GetFleetResponse)++-- | The ARN of a signal catalog associated with the fleet.+getFleetResponse_signalCatalogArn :: Lens.Lens' GetFleetResponse Prelude.Text+getFleetResponse_signalCatalogArn = Lens.lens (\GetFleetResponse' {signalCatalogArn} -> signalCatalogArn) (\s@GetFleetResponse' {} a -> s {signalCatalogArn = a} :: GetFleetResponse)++-- | The time the fleet was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+getFleetResponse_creationTime :: Lens.Lens' GetFleetResponse Prelude.UTCTime+getFleetResponse_creationTime = Lens.lens (\GetFleetResponse' {creationTime} -> creationTime) (\s@GetFleetResponse' {} a -> s {creationTime = a} :: GetFleetResponse) Prelude.. Data._Time++-- | The time the fleet was last updated, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+getFleetResponse_lastModificationTime :: Lens.Lens' GetFleetResponse Prelude.UTCTime+getFleetResponse_lastModificationTime = Lens.lens (\GetFleetResponse' {lastModificationTime} -> lastModificationTime) (\s@GetFleetResponse' {} a -> s {lastModificationTime = a} :: GetFleetResponse) Prelude.. Data._Time++instance Prelude.NFData GetFleetResponse where+ rnf GetFleetResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/GetLoggingOptions.hs view
@@ -0,0 +1,152 @@+{-# 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.IoTFleetWise.GetLoggingOptions+-- 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 logging options.+module Amazonka.IoTFleetWise.GetLoggingOptions+ ( -- * Creating a Request+ GetLoggingOptions (..),+ newGetLoggingOptions,++ -- * Destructuring the Response+ GetLoggingOptionsResponse (..),+ newGetLoggingOptionsResponse,++ -- * Response Lenses+ getLoggingOptionsResponse_httpStatus,+ getLoggingOptionsResponse_cloudWatchLogDelivery,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLoggingOptions' smart constructor.+data GetLoggingOptions = GetLoggingOptions'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetLoggingOptions ::+ GetLoggingOptions+newGetLoggingOptions = GetLoggingOptions'++instance Core.AWSRequest GetLoggingOptions where+ type+ AWSResponse GetLoggingOptions =+ GetLoggingOptionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetLoggingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "cloudWatchLogDelivery")+ )++instance Prelude.Hashable GetLoggingOptions where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetLoggingOptions where+ rnf _ = ()++instance Data.ToHeaders GetLoggingOptions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetLoggingOptions" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetLoggingOptions where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetLoggingOptions where+ toPath = Prelude.const "/"++instance Data.ToQuery GetLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLoggingOptionsResponse' smart constructor.+data GetLoggingOptionsResponse = GetLoggingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Returns information about log delivery to Amazon CloudWatch Logs.+ cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getLoggingOptionsResponse_httpStatus' - The response's http status code.+--+-- 'cloudWatchLogDelivery', 'getLoggingOptionsResponse_cloudWatchLogDelivery' - Returns information about log delivery to Amazon CloudWatch Logs.+newGetLoggingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'cloudWatchLogDelivery'+ CloudWatchLogDeliveryOptions ->+ GetLoggingOptionsResponse+newGetLoggingOptionsResponse+ pHttpStatus_+ pCloudWatchLogDelivery_ =+ GetLoggingOptionsResponse'+ { httpStatus =+ pHttpStatus_,+ cloudWatchLogDelivery = pCloudWatchLogDelivery_+ }++-- | The response's http status code.+getLoggingOptionsResponse_httpStatus :: Lens.Lens' GetLoggingOptionsResponse Prelude.Int+getLoggingOptionsResponse_httpStatus = Lens.lens (\GetLoggingOptionsResponse' {httpStatus} -> httpStatus) (\s@GetLoggingOptionsResponse' {} a -> s {httpStatus = a} :: GetLoggingOptionsResponse)++-- | Returns information about log delivery to Amazon CloudWatch Logs.+getLoggingOptionsResponse_cloudWatchLogDelivery :: Lens.Lens' GetLoggingOptionsResponse CloudWatchLogDeliveryOptions+getLoggingOptionsResponse_cloudWatchLogDelivery = Lens.lens (\GetLoggingOptionsResponse' {cloudWatchLogDelivery} -> cloudWatchLogDelivery) (\s@GetLoggingOptionsResponse' {} a -> s {cloudWatchLogDelivery = a} :: GetLoggingOptionsResponse)++instance Prelude.NFData GetLoggingOptionsResponse where+ rnf GetLoggingOptionsResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf cloudWatchLogDelivery
+ gen/Amazonka/IoTFleetWise/GetModelManifest.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.GetModelManifest+-- 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 information about a vehicle model (model manifest).+module Amazonka.IoTFleetWise.GetModelManifest+ ( -- * Creating a Request+ GetModelManifest (..),+ newGetModelManifest,++ -- * Request Lenses+ getModelManifest_name,++ -- * Destructuring the Response+ GetModelManifestResponse (..),+ newGetModelManifestResponse,++ -- * Response Lenses+ getModelManifestResponse_description,+ getModelManifestResponse_signalCatalogArn,+ getModelManifestResponse_status,+ getModelManifestResponse_httpStatus,+ getModelManifestResponse_name,+ getModelManifestResponse_arn,+ getModelManifestResponse_creationTime,+ getModelManifestResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetModelManifest' smart constructor.+data GetModelManifest = GetModelManifest'+ { -- | The name of the vehicle model to retrieve information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetModelManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getModelManifest_name' - The name of the vehicle model to retrieve information about.+newGetModelManifest ::+ -- | 'name'+ Prelude.Text ->+ GetModelManifest+newGetModelManifest pName_ =+ GetModelManifest' {name = pName_}++-- | The name of the vehicle model to retrieve information about.+getModelManifest_name :: Lens.Lens' GetModelManifest Prelude.Text+getModelManifest_name = Lens.lens (\GetModelManifest' {name} -> name) (\s@GetModelManifest' {} a -> s {name = a} :: GetModelManifest)++instance Core.AWSRequest GetModelManifest where+ type+ AWSResponse GetModelManifest =+ GetModelManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetModelManifestResponse'+ Prelude.<$> (x Data..?> "description")+ Prelude.<*> (x Data..?> "signalCatalogArn")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable GetModelManifest where+ hashWithSalt _salt GetModelManifest' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetModelManifest where+ rnf GetModelManifest' {..} = Prelude.rnf name++instance Data.ToHeaders GetModelManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetModelManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetModelManifest where+ toJSON GetModelManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath GetModelManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery GetModelManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetModelManifestResponse' smart constructor.+data GetModelManifestResponse = GetModelManifestResponse'+ { -- | A brief description of the vehicle model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the signal catalog associated with the vehicle model.+ signalCatalogArn :: Prelude.Maybe Prelude.Text,+ -- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+ -- model can\'t be edited. You can edit the vehicle model if the status is+ -- marked @DRAFT@.+ status :: Prelude.Maybe ManifestStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the vehicle model.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the vehicle model.+ arn :: Prelude.Text,+ -- | The time the vehicle model was created, in seconds since epoch (January+ -- 1, 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The last time the vehicle model was modified.+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetModelManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getModelManifestResponse_description' - A brief description of the vehicle model.+--+-- 'signalCatalogArn', 'getModelManifestResponse_signalCatalogArn' - The ARN of the signal catalog associated with the vehicle model.+--+-- 'status', 'getModelManifestResponse_status' - The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. You can edit the vehicle model if the status is+-- marked @DRAFT@.+--+-- 'httpStatus', 'getModelManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'getModelManifestResponse_name' - The name of the vehicle model.+--+-- 'arn', 'getModelManifestResponse_arn' - The Amazon Resource Name (ARN) of the vehicle model.+--+-- 'creationTime', 'getModelManifestResponse_creationTime' - The time the vehicle model was created, in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'getModelManifestResponse_lastModificationTime' - The last time the vehicle model was modified.+newGetModelManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ GetModelManifestResponse+newGetModelManifestResponse+ pHttpStatus_+ pName_+ pArn_+ pCreationTime_+ pLastModificationTime_ =+ GetModelManifestResponse'+ { description =+ Prelude.Nothing,+ signalCatalogArn = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ name = pName_,+ arn = pArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | A brief description of the vehicle model.+getModelManifestResponse_description :: Lens.Lens' GetModelManifestResponse (Prelude.Maybe Prelude.Text)+getModelManifestResponse_description = Lens.lens (\GetModelManifestResponse' {description} -> description) (\s@GetModelManifestResponse' {} a -> s {description = a} :: GetModelManifestResponse)++-- | The ARN of the signal catalog associated with the vehicle model.+getModelManifestResponse_signalCatalogArn :: Lens.Lens' GetModelManifestResponse (Prelude.Maybe Prelude.Text)+getModelManifestResponse_signalCatalogArn = Lens.lens (\GetModelManifestResponse' {signalCatalogArn} -> signalCatalogArn) (\s@GetModelManifestResponse' {} a -> s {signalCatalogArn = a} :: GetModelManifestResponse)++-- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. You can edit the vehicle model if the status is+-- marked @DRAFT@.+getModelManifestResponse_status :: Lens.Lens' GetModelManifestResponse (Prelude.Maybe ManifestStatus)+getModelManifestResponse_status = Lens.lens (\GetModelManifestResponse' {status} -> status) (\s@GetModelManifestResponse' {} a -> s {status = a} :: GetModelManifestResponse)++-- | The response's http status code.+getModelManifestResponse_httpStatus :: Lens.Lens' GetModelManifestResponse Prelude.Int+getModelManifestResponse_httpStatus = Lens.lens (\GetModelManifestResponse' {httpStatus} -> httpStatus) (\s@GetModelManifestResponse' {} a -> s {httpStatus = a} :: GetModelManifestResponse)++-- | The name of the vehicle model.+getModelManifestResponse_name :: Lens.Lens' GetModelManifestResponse Prelude.Text+getModelManifestResponse_name = Lens.lens (\GetModelManifestResponse' {name} -> name) (\s@GetModelManifestResponse' {} a -> s {name = a} :: GetModelManifestResponse)++-- | The Amazon Resource Name (ARN) of the vehicle model.+getModelManifestResponse_arn :: Lens.Lens' GetModelManifestResponse Prelude.Text+getModelManifestResponse_arn = Lens.lens (\GetModelManifestResponse' {arn} -> arn) (\s@GetModelManifestResponse' {} a -> s {arn = a} :: GetModelManifestResponse)++-- | The time the vehicle model was created, in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+getModelManifestResponse_creationTime :: Lens.Lens' GetModelManifestResponse Prelude.UTCTime+getModelManifestResponse_creationTime = Lens.lens (\GetModelManifestResponse' {creationTime} -> creationTime) (\s@GetModelManifestResponse' {} a -> s {creationTime = a} :: GetModelManifestResponse) Prelude.. Data._Time++-- | The last time the vehicle model was modified.+getModelManifestResponse_lastModificationTime :: Lens.Lens' GetModelManifestResponse Prelude.UTCTime+getModelManifestResponse_lastModificationTime = Lens.lens (\GetModelManifestResponse' {lastModificationTime} -> lastModificationTime) (\s@GetModelManifestResponse' {} a -> s {lastModificationTime = a} :: GetModelManifestResponse) Prelude.. Data._Time++instance Prelude.NFData GetModelManifestResponse where+ rnf GetModelManifestResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/GetRegisterAccountStatus.hs view
@@ -0,0 +1,289 @@+{-# 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.IoTFleetWise.GetRegisterAccountStatus+-- 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 information about the status of registering your Amazon Web+-- Services account, IAM, and Amazon Timestream resources so that Amazon+-- Web Services IoT FleetWise can transfer your vehicle data to the Amazon+-- Web Services Cloud.+--+-- For more information, including step-by-step procedures, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html Setting up Amazon Web Services IoT FleetWise>.+--+-- This API operation doesn\'t require input parameters.+module Amazonka.IoTFleetWise.GetRegisterAccountStatus+ ( -- * Creating a Request+ GetRegisterAccountStatus (..),+ newGetRegisterAccountStatus,++ -- * Destructuring the Response+ GetRegisterAccountStatusResponse (..),+ newGetRegisterAccountStatusResponse,++ -- * Response Lenses+ getRegisterAccountStatusResponse_httpStatus,+ getRegisterAccountStatusResponse_customerAccountId,+ getRegisterAccountStatusResponse_accountStatus,+ getRegisterAccountStatusResponse_timestreamRegistrationResponse,+ getRegisterAccountStatusResponse_iamRegistrationResponse,+ getRegisterAccountStatusResponse_creationTime,+ getRegisterAccountStatusResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRegisterAccountStatus' smart constructor.+data GetRegisterAccountStatus = GetRegisterAccountStatus'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegisterAccountStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetRegisterAccountStatus ::+ GetRegisterAccountStatus+newGetRegisterAccountStatus =+ GetRegisterAccountStatus'++instance Core.AWSRequest GetRegisterAccountStatus where+ type+ AWSResponse GetRegisterAccountStatus =+ GetRegisterAccountStatusResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRegisterAccountStatusResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "customerAccountId")+ Prelude.<*> (x Data..:> "accountStatus")+ Prelude.<*> (x Data..:> "timestreamRegistrationResponse")+ Prelude.<*> (x Data..:> "iamRegistrationResponse")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable GetRegisterAccountStatus where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetRegisterAccountStatus where+ rnf _ = ()++instance Data.ToHeaders GetRegisterAccountStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetRegisterAccountStatus" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetRegisterAccountStatus where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath GetRegisterAccountStatus where+ toPath = Prelude.const "/"++instance Data.ToQuery GetRegisterAccountStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRegisterAccountStatusResponse' smart constructor.+data GetRegisterAccountStatusResponse = GetRegisterAccountStatusResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The unique ID of the Amazon Web Services account, provided at account+ -- creation.+ customerAccountId :: Prelude.Text,+ -- | The status of registering your account and resources. The status can be+ -- one of:+ --+ -- - @REGISTRATION_SUCCESS@ - The Amazon Web Services resource is+ -- successfully registered.+ --+ -- - @REGISTRATION_PENDING@ - Amazon Web Services IoT FleetWise is+ -- processing the registration request. This process takes+ -- approximately five minutes to complete.+ --+ -- - @REGISTRATION_FAILURE@ - Amazon Web Services IoT FleetWise can\'t+ -- register the AWS resource. Try again later.+ accountStatus :: RegistrationStatus,+ -- | Information about the registered Amazon Timestream resources or errors,+ -- if any.+ timestreamRegistrationResponse :: TimestreamRegistrationResponse,+ -- | Information about the registered IAM resources or errors, if any.+ iamRegistrationResponse :: IamRegistrationResponse,+ -- | The time the account was registered, in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time this registration was last updated, in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRegisterAccountStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getRegisterAccountStatusResponse_httpStatus' - The response's http status code.+--+-- 'customerAccountId', 'getRegisterAccountStatusResponse_customerAccountId' - The unique ID of the Amazon Web Services account, provided at account+-- creation.+--+-- 'accountStatus', 'getRegisterAccountStatusResponse_accountStatus' - The status of registering your account and resources. The status can be+-- one of:+--+-- - @REGISTRATION_SUCCESS@ - The Amazon Web Services resource is+-- successfully registered.+--+-- - @REGISTRATION_PENDING@ - Amazon Web Services IoT FleetWise is+-- processing the registration request. This process takes+-- approximately five minutes to complete.+--+-- - @REGISTRATION_FAILURE@ - Amazon Web Services IoT FleetWise can\'t+-- register the AWS resource. Try again later.+--+-- 'timestreamRegistrationResponse', 'getRegisterAccountStatusResponse_timestreamRegistrationResponse' - Information about the registered Amazon Timestream resources or errors,+-- if any.+--+-- 'iamRegistrationResponse', 'getRegisterAccountStatusResponse_iamRegistrationResponse' - Information about the registered IAM resources or errors, if any.+--+-- 'creationTime', 'getRegisterAccountStatusResponse_creationTime' - The time the account was registered, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'getRegisterAccountStatusResponse_lastModificationTime' - The time this registration was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+newGetRegisterAccountStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'customerAccountId'+ Prelude.Text ->+ -- | 'accountStatus'+ RegistrationStatus ->+ -- | 'timestreamRegistrationResponse'+ TimestreamRegistrationResponse ->+ -- | 'iamRegistrationResponse'+ IamRegistrationResponse ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ GetRegisterAccountStatusResponse+newGetRegisterAccountStatusResponse+ pHttpStatus_+ pCustomerAccountId_+ pAccountStatus_+ pTimestreamRegistrationResponse_+ pIamRegistrationResponse_+ pCreationTime_+ pLastModificationTime_ =+ GetRegisterAccountStatusResponse'+ { httpStatus =+ pHttpStatus_,+ customerAccountId = pCustomerAccountId_,+ accountStatus = pAccountStatus_,+ timestreamRegistrationResponse =+ pTimestreamRegistrationResponse_,+ iamRegistrationResponse =+ pIamRegistrationResponse_,+ creationTime =+ Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time+ Lens.# pLastModificationTime_+ }++-- | The response's http status code.+getRegisterAccountStatusResponse_httpStatus :: Lens.Lens' GetRegisterAccountStatusResponse Prelude.Int+getRegisterAccountStatusResponse_httpStatus = Lens.lens (\GetRegisterAccountStatusResponse' {httpStatus} -> httpStatus) (\s@GetRegisterAccountStatusResponse' {} a -> s {httpStatus = a} :: GetRegisterAccountStatusResponse)++-- | The unique ID of the Amazon Web Services account, provided at account+-- creation.+getRegisterAccountStatusResponse_customerAccountId :: Lens.Lens' GetRegisterAccountStatusResponse Prelude.Text+getRegisterAccountStatusResponse_customerAccountId = Lens.lens (\GetRegisterAccountStatusResponse' {customerAccountId} -> customerAccountId) (\s@GetRegisterAccountStatusResponse' {} a -> s {customerAccountId = a} :: GetRegisterAccountStatusResponse)++-- | The status of registering your account and resources. The status can be+-- one of:+--+-- - @REGISTRATION_SUCCESS@ - The Amazon Web Services resource is+-- successfully registered.+--+-- - @REGISTRATION_PENDING@ - Amazon Web Services IoT FleetWise is+-- processing the registration request. This process takes+-- approximately five minutes to complete.+--+-- - @REGISTRATION_FAILURE@ - Amazon Web Services IoT FleetWise can\'t+-- register the AWS resource. Try again later.+getRegisterAccountStatusResponse_accountStatus :: Lens.Lens' GetRegisterAccountStatusResponse RegistrationStatus+getRegisterAccountStatusResponse_accountStatus = Lens.lens (\GetRegisterAccountStatusResponse' {accountStatus} -> accountStatus) (\s@GetRegisterAccountStatusResponse' {} a -> s {accountStatus = a} :: GetRegisterAccountStatusResponse)++-- | Information about the registered Amazon Timestream resources or errors,+-- if any.+getRegisterAccountStatusResponse_timestreamRegistrationResponse :: Lens.Lens' GetRegisterAccountStatusResponse TimestreamRegistrationResponse+getRegisterAccountStatusResponse_timestreamRegistrationResponse = Lens.lens (\GetRegisterAccountStatusResponse' {timestreamRegistrationResponse} -> timestreamRegistrationResponse) (\s@GetRegisterAccountStatusResponse' {} a -> s {timestreamRegistrationResponse = a} :: GetRegisterAccountStatusResponse)++-- | Information about the registered IAM resources or errors, if any.+getRegisterAccountStatusResponse_iamRegistrationResponse :: Lens.Lens' GetRegisterAccountStatusResponse IamRegistrationResponse+getRegisterAccountStatusResponse_iamRegistrationResponse = Lens.lens (\GetRegisterAccountStatusResponse' {iamRegistrationResponse} -> iamRegistrationResponse) (\s@GetRegisterAccountStatusResponse' {} a -> s {iamRegistrationResponse = a} :: GetRegisterAccountStatusResponse)++-- | The time the account was registered, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+getRegisterAccountStatusResponse_creationTime :: Lens.Lens' GetRegisterAccountStatusResponse Prelude.UTCTime+getRegisterAccountStatusResponse_creationTime = Lens.lens (\GetRegisterAccountStatusResponse' {creationTime} -> creationTime) (\s@GetRegisterAccountStatusResponse' {} a -> s {creationTime = a} :: GetRegisterAccountStatusResponse) Prelude.. Data._Time++-- | The time this registration was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+getRegisterAccountStatusResponse_lastModificationTime :: Lens.Lens' GetRegisterAccountStatusResponse Prelude.UTCTime+getRegisterAccountStatusResponse_lastModificationTime = Lens.lens (\GetRegisterAccountStatusResponse' {lastModificationTime} -> lastModificationTime) (\s@GetRegisterAccountStatusResponse' {} a -> s {lastModificationTime = a} :: GetRegisterAccountStatusResponse) Prelude.. Data._Time++instance+ Prelude.NFData+ GetRegisterAccountStatusResponse+ where+ rnf GetRegisterAccountStatusResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf customerAccountId+ `Prelude.seq` Prelude.rnf accountStatus+ `Prelude.seq` Prelude.rnf timestreamRegistrationResponse+ `Prelude.seq` Prelude.rnf iamRegistrationResponse+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/GetSignalCatalog.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.IoTFleetWise.GetSignalCatalog+-- 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 information about a signal catalog.+module Amazonka.IoTFleetWise.GetSignalCatalog+ ( -- * Creating a Request+ GetSignalCatalog (..),+ newGetSignalCatalog,++ -- * Request Lenses+ getSignalCatalog_name,++ -- * Destructuring the Response+ GetSignalCatalogResponse (..),+ newGetSignalCatalogResponse,++ -- * Response Lenses+ getSignalCatalogResponse_description,+ getSignalCatalogResponse_nodeCounts,+ getSignalCatalogResponse_httpStatus,+ getSignalCatalogResponse_name,+ getSignalCatalogResponse_arn,+ getSignalCatalogResponse_creationTime,+ getSignalCatalogResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSignalCatalog' smart constructor.+data GetSignalCatalog = GetSignalCatalog'+ { -- | The name of the signal catalog to retrieve information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSignalCatalog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getSignalCatalog_name' - The name of the signal catalog to retrieve information about.+newGetSignalCatalog ::+ -- | 'name'+ Prelude.Text ->+ GetSignalCatalog+newGetSignalCatalog pName_ =+ GetSignalCatalog' {name = pName_}++-- | The name of the signal catalog to retrieve information about.+getSignalCatalog_name :: Lens.Lens' GetSignalCatalog Prelude.Text+getSignalCatalog_name = Lens.lens (\GetSignalCatalog' {name} -> name) (\s@GetSignalCatalog' {} a -> s {name = a} :: GetSignalCatalog)++instance Core.AWSRequest GetSignalCatalog where+ type+ AWSResponse GetSignalCatalog =+ GetSignalCatalogResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSignalCatalogResponse'+ Prelude.<$> (x Data..?> "description")+ Prelude.<*> (x Data..?> "nodeCounts")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable GetSignalCatalog where+ hashWithSalt _salt GetSignalCatalog' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetSignalCatalog where+ rnf GetSignalCatalog' {..} = Prelude.rnf name++instance Data.ToHeaders GetSignalCatalog where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetSignalCatalog" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetSignalCatalog where+ toJSON GetSignalCatalog' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )++instance Data.ToPath GetSignalCatalog where+ toPath = Prelude.const "/"++instance Data.ToQuery GetSignalCatalog where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSignalCatalogResponse' smart constructor.+data GetSignalCatalogResponse = GetSignalCatalogResponse'+ { -- | A brief description of the signal catalog.+ description :: Prelude.Maybe Prelude.Text,+ -- | The total number of network nodes specified in a signal catalog.+ nodeCounts :: Prelude.Maybe NodeCounts,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the signal catalog.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the signal catalog.+ arn :: Prelude.Text,+ -- | The time the signal catalog was created in seconds since epoch (January+ -- 1, 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The last time the signal catalog was modified.+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSignalCatalogResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getSignalCatalogResponse_description' - A brief description of the signal catalog.+--+-- 'nodeCounts', 'getSignalCatalogResponse_nodeCounts' - The total number of network nodes specified in a signal catalog.+--+-- 'httpStatus', 'getSignalCatalogResponse_httpStatus' - The response's http status code.+--+-- 'name', 'getSignalCatalogResponse_name' - The name of the signal catalog.+--+-- 'arn', 'getSignalCatalogResponse_arn' - The Amazon Resource Name (ARN) of the signal catalog.+--+-- 'creationTime', 'getSignalCatalogResponse_creationTime' - The time the signal catalog was created in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'getSignalCatalogResponse_lastModificationTime' - The last time the signal catalog was modified.+newGetSignalCatalogResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ GetSignalCatalogResponse+newGetSignalCatalogResponse+ pHttpStatus_+ pName_+ pArn_+ pCreationTime_+ pLastModificationTime_ =+ GetSignalCatalogResponse'+ { description =+ Prelude.Nothing,+ nodeCounts = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ name = pName_,+ arn = pArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | A brief description of the signal catalog.+getSignalCatalogResponse_description :: Lens.Lens' GetSignalCatalogResponse (Prelude.Maybe Prelude.Text)+getSignalCatalogResponse_description = Lens.lens (\GetSignalCatalogResponse' {description} -> description) (\s@GetSignalCatalogResponse' {} a -> s {description = a} :: GetSignalCatalogResponse)++-- | The total number of network nodes specified in a signal catalog.+getSignalCatalogResponse_nodeCounts :: Lens.Lens' GetSignalCatalogResponse (Prelude.Maybe NodeCounts)+getSignalCatalogResponse_nodeCounts = Lens.lens (\GetSignalCatalogResponse' {nodeCounts} -> nodeCounts) (\s@GetSignalCatalogResponse' {} a -> s {nodeCounts = a} :: GetSignalCatalogResponse)++-- | The response's http status code.+getSignalCatalogResponse_httpStatus :: Lens.Lens' GetSignalCatalogResponse Prelude.Int+getSignalCatalogResponse_httpStatus = Lens.lens (\GetSignalCatalogResponse' {httpStatus} -> httpStatus) (\s@GetSignalCatalogResponse' {} a -> s {httpStatus = a} :: GetSignalCatalogResponse)++-- | The name of the signal catalog.+getSignalCatalogResponse_name :: Lens.Lens' GetSignalCatalogResponse Prelude.Text+getSignalCatalogResponse_name = Lens.lens (\GetSignalCatalogResponse' {name} -> name) (\s@GetSignalCatalogResponse' {} a -> s {name = a} :: GetSignalCatalogResponse)++-- | The Amazon Resource Name (ARN) of the signal catalog.+getSignalCatalogResponse_arn :: Lens.Lens' GetSignalCatalogResponse Prelude.Text+getSignalCatalogResponse_arn = Lens.lens (\GetSignalCatalogResponse' {arn} -> arn) (\s@GetSignalCatalogResponse' {} a -> s {arn = a} :: GetSignalCatalogResponse)++-- | The time the signal catalog was created in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+getSignalCatalogResponse_creationTime :: Lens.Lens' GetSignalCatalogResponse Prelude.UTCTime+getSignalCatalogResponse_creationTime = Lens.lens (\GetSignalCatalogResponse' {creationTime} -> creationTime) (\s@GetSignalCatalogResponse' {} a -> s {creationTime = a} :: GetSignalCatalogResponse) Prelude.. Data._Time++-- | The last time the signal catalog was modified.+getSignalCatalogResponse_lastModificationTime :: Lens.Lens' GetSignalCatalogResponse Prelude.UTCTime+getSignalCatalogResponse_lastModificationTime = Lens.lens (\GetSignalCatalogResponse' {lastModificationTime} -> lastModificationTime) (\s@GetSignalCatalogResponse' {} a -> s {lastModificationTime = a} :: GetSignalCatalogResponse) Prelude.. Data._Time++instance Prelude.NFData GetSignalCatalogResponse where+ rnf GetSignalCatalogResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf nodeCounts+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/GetVehicle.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.IoTFleetWise.GetVehicle+-- 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 information about a vehicle.+module Amazonka.IoTFleetWise.GetVehicle+ ( -- * Creating a Request+ GetVehicle (..),+ newGetVehicle,++ -- * Request Lenses+ getVehicle_vehicleName,++ -- * Destructuring the Response+ GetVehicleResponse (..),+ newGetVehicleResponse,++ -- * Response Lenses+ getVehicleResponse_arn,+ getVehicleResponse_attributes,+ getVehicleResponse_creationTime,+ getVehicleResponse_decoderManifestArn,+ getVehicleResponse_lastModificationTime,+ getVehicleResponse_modelManifestArn,+ getVehicleResponse_vehicleName,+ getVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetVehicle' smart constructor.+data GetVehicle = GetVehicle'+ { -- | The ID of the vehicle to retrieve information about.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicleName', 'getVehicle_vehicleName' - The ID of the vehicle to retrieve information about.+newGetVehicle ::+ -- | 'vehicleName'+ Prelude.Text ->+ GetVehicle+newGetVehicle pVehicleName_ =+ GetVehicle' {vehicleName = pVehicleName_}++-- | The ID of the vehicle to retrieve information about.+getVehicle_vehicleName :: Lens.Lens' GetVehicle Prelude.Text+getVehicle_vehicleName = Lens.lens (\GetVehicle' {vehicleName} -> vehicleName) (\s@GetVehicle' {} a -> s {vehicleName = a} :: GetVehicle)++instance Core.AWSRequest GetVehicle where+ type AWSResponse GetVehicle = GetVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetVehicleResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "attributes" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "creationTime")+ Prelude.<*> (x Data..?> "decoderManifestArn")+ Prelude.<*> (x Data..?> "lastModificationTime")+ Prelude.<*> (x Data..?> "modelManifestArn")+ Prelude.<*> (x Data..?> "vehicleName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetVehicle where+ hashWithSalt _salt GetVehicle' {..} =+ _salt `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData GetVehicle where+ rnf GetVehicle' {..} = Prelude.rnf vehicleName++instance Data.ToHeaders GetVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetVehicle where+ toJSON GetVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("vehicleName" Data..= vehicleName)]+ )++instance Data.ToPath GetVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery GetVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVehicleResponse' smart constructor.+data GetVehicleResponse = GetVehicleResponse'+ { -- | The Amazon Resource Name (ARN) of the vehicle to retrieve information+ -- about.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Static information about a vehicle in a key-value pair. For example:+ --+ -- @\"engineType\"@ : @\"1.3 L R2\"@+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The time the vehicle was created in seconds since epoch (January 1, 1970+ -- at midnight UTC time).+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of a decoder manifest associated with the vehicle.+ decoderManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The time the vehicle was last updated in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The ARN of a vehicle model (model manifest) associated with the vehicle.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the vehicle.+ vehicleName :: 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 'GetVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getVehicleResponse_arn' - The Amazon Resource Name (ARN) of the vehicle to retrieve information+-- about.+--+-- 'attributes', 'getVehicleResponse_attributes' - Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+--+-- 'creationTime', 'getVehicleResponse_creationTime' - The time the vehicle was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+--+-- 'decoderManifestArn', 'getVehicleResponse_decoderManifestArn' - The ARN of a decoder manifest associated with the vehicle.+--+-- 'lastModificationTime', 'getVehicleResponse_lastModificationTime' - The time the vehicle was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+--+-- 'modelManifestArn', 'getVehicleResponse_modelManifestArn' - The ARN of a vehicle model (model manifest) associated with the vehicle.+--+-- 'vehicleName', 'getVehicleResponse_vehicleName' - The ID of the vehicle.+--+-- 'httpStatus', 'getVehicleResponse_httpStatus' - The response's http status code.+newGetVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetVehicleResponse+newGetVehicleResponse pHttpStatus_ =+ GetVehicleResponse'+ { arn = Prelude.Nothing,+ attributes = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ decoderManifestArn = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ vehicleName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the vehicle to retrieve information+-- about.+getVehicleResponse_arn :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.Text)+getVehicleResponse_arn = Lens.lens (\GetVehicleResponse' {arn} -> arn) (\s@GetVehicleResponse' {} a -> s {arn = a} :: GetVehicleResponse)++-- | Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+getVehicleResponse_attributes :: Lens.Lens' GetVehicleResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getVehicleResponse_attributes = Lens.lens (\GetVehicleResponse' {attributes} -> attributes) (\s@GetVehicleResponse' {} a -> s {attributes = a} :: GetVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time the vehicle was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+getVehicleResponse_creationTime :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.UTCTime)+getVehicleResponse_creationTime = Lens.lens (\GetVehicleResponse' {creationTime} -> creationTime) (\s@GetVehicleResponse' {} a -> s {creationTime = a} :: GetVehicleResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of a decoder manifest associated with the vehicle.+getVehicleResponse_decoderManifestArn :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.Text)+getVehicleResponse_decoderManifestArn = Lens.lens (\GetVehicleResponse' {decoderManifestArn} -> decoderManifestArn) (\s@GetVehicleResponse' {} a -> s {decoderManifestArn = a} :: GetVehicleResponse)++-- | The time the vehicle was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+getVehicleResponse_lastModificationTime :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.UTCTime)+getVehicleResponse_lastModificationTime = Lens.lens (\GetVehicleResponse' {lastModificationTime} -> lastModificationTime) (\s@GetVehicleResponse' {} a -> s {lastModificationTime = a} :: GetVehicleResponse) Prelude.. Lens.mapping Data._Time++-- | The ARN of a vehicle model (model manifest) associated with the vehicle.+getVehicleResponse_modelManifestArn :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.Text)+getVehicleResponse_modelManifestArn = Lens.lens (\GetVehicleResponse' {modelManifestArn} -> modelManifestArn) (\s@GetVehicleResponse' {} a -> s {modelManifestArn = a} :: GetVehicleResponse)++-- | The ID of the vehicle.+getVehicleResponse_vehicleName :: Lens.Lens' GetVehicleResponse (Prelude.Maybe Prelude.Text)+getVehicleResponse_vehicleName = Lens.lens (\GetVehicleResponse' {vehicleName} -> vehicleName) (\s@GetVehicleResponse' {} a -> s {vehicleName = a} :: GetVehicleResponse)++-- | The response's http status code.+getVehicleResponse_httpStatus :: Lens.Lens' GetVehicleResponse Prelude.Int+getVehicleResponse_httpStatus = Lens.lens (\GetVehicleResponse' {httpStatus} -> httpStatus) (\s@GetVehicleResponse' {} a -> s {httpStatus = a} :: GetVehicleResponse)++instance Prelude.NFData GetVehicleResponse where+ rnf GetVehicleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf decoderManifestArn+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/GetVehicleStatus.hs view
@@ -0,0 +1,260 @@+{-# 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.IoTFleetWise.GetVehicleStatus+-- 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 information about the status of a vehicle with any associated+-- campaigns.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.GetVehicleStatus+ ( -- * Creating a Request+ GetVehicleStatus (..),+ newGetVehicleStatus,++ -- * Request Lenses+ getVehicleStatus_maxResults,+ getVehicleStatus_nextToken,+ getVehicleStatus_vehicleName,++ -- * Destructuring the Response+ GetVehicleStatusResponse (..),+ newGetVehicleStatusResponse,++ -- * Response Lenses+ getVehicleStatusResponse_campaigns,+ getVehicleStatusResponse_nextToken,+ getVehicleStatusResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetVehicleStatus' smart constructor.+data GetVehicleStatus = GetVehicleStatus'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the vehicle to retrieve information about.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVehicleStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getVehicleStatus_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'getVehicleStatus_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'vehicleName', 'getVehicleStatus_vehicleName' - The ID of the vehicle to retrieve information about.+newGetVehicleStatus ::+ -- | 'vehicleName'+ Prelude.Text ->+ GetVehicleStatus+newGetVehicleStatus pVehicleName_ =+ GetVehicleStatus'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ vehicleName = pVehicleName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+getVehicleStatus_maxResults :: Lens.Lens' GetVehicleStatus (Prelude.Maybe Prelude.Natural)+getVehicleStatus_maxResults = Lens.lens (\GetVehicleStatus' {maxResults} -> maxResults) (\s@GetVehicleStatus' {} a -> s {maxResults = a} :: GetVehicleStatus)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+getVehicleStatus_nextToken :: Lens.Lens' GetVehicleStatus (Prelude.Maybe Prelude.Text)+getVehicleStatus_nextToken = Lens.lens (\GetVehicleStatus' {nextToken} -> nextToken) (\s@GetVehicleStatus' {} a -> s {nextToken = a} :: GetVehicleStatus)++-- | The ID of the vehicle to retrieve information about.+getVehicleStatus_vehicleName :: Lens.Lens' GetVehicleStatus Prelude.Text+getVehicleStatus_vehicleName = Lens.lens (\GetVehicleStatus' {vehicleName} -> vehicleName) (\s@GetVehicleStatus' {} a -> s {vehicleName = a} :: GetVehicleStatus)++instance Core.AWSPager GetVehicleStatus where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getVehicleStatusResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getVehicleStatusResponse_campaigns+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getVehicleStatus_nextToken+ Lens..~ rs+ Lens.^? getVehicleStatusResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetVehicleStatus where+ type+ AWSResponse GetVehicleStatus =+ GetVehicleStatusResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetVehicleStatusResponse'+ Prelude.<$> (x Data..?> "campaigns" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetVehicleStatus where+ hashWithSalt _salt GetVehicleStatus' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData GetVehicleStatus where+ rnf GetVehicleStatus' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vehicleName++instance Data.ToHeaders GetVehicleStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.GetVehicleStatus" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetVehicleStatus where+ toJSON GetVehicleStatus' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("vehicleName" Data..= vehicleName)+ ]+ )++instance Data.ToPath GetVehicleStatus where+ toPath = Prelude.const "/"++instance Data.ToQuery GetVehicleStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVehicleStatusResponse' smart constructor.+data GetVehicleStatusResponse = GetVehicleStatusResponse'+ { -- | Lists information about the state of the vehicle with deployed+ -- campaigns.+ campaigns :: Prelude.Maybe [VehicleStatus],+ -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVehicleStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'campaigns', 'getVehicleStatusResponse_campaigns' - Lists information about the state of the vehicle with deployed+-- campaigns.+--+-- 'nextToken', 'getVehicleStatusResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'httpStatus', 'getVehicleStatusResponse_httpStatus' - The response's http status code.+newGetVehicleStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetVehicleStatusResponse+newGetVehicleStatusResponse pHttpStatus_ =+ GetVehicleStatusResponse'+ { campaigns =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Lists information about the state of the vehicle with deployed+-- campaigns.+getVehicleStatusResponse_campaigns :: Lens.Lens' GetVehicleStatusResponse (Prelude.Maybe [VehicleStatus])+getVehicleStatusResponse_campaigns = Lens.lens (\GetVehicleStatusResponse' {campaigns} -> campaigns) (\s@GetVehicleStatusResponse' {} a -> s {campaigns = a} :: GetVehicleStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+getVehicleStatusResponse_nextToken :: Lens.Lens' GetVehicleStatusResponse (Prelude.Maybe Prelude.Text)+getVehicleStatusResponse_nextToken = Lens.lens (\GetVehicleStatusResponse' {nextToken} -> nextToken) (\s@GetVehicleStatusResponse' {} a -> s {nextToken = a} :: GetVehicleStatusResponse)++-- | The response's http status code.+getVehicleStatusResponse_httpStatus :: Lens.Lens' GetVehicleStatusResponse Prelude.Int+getVehicleStatusResponse_httpStatus = Lens.lens (\GetVehicleStatusResponse' {httpStatus} -> httpStatus) (\s@GetVehicleStatusResponse' {} a -> s {httpStatus = a} :: GetVehicleStatusResponse)++instance Prelude.NFData GetVehicleStatusResponse where+ rnf GetVehicleStatusResponse' {..} =+ Prelude.rnf campaigns+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ImportDecoderManifest.hs view
@@ -0,0 +1,212 @@+{-# 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.IoTFleetWise.ImportDecoderManifest+-- 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 decoder manifest using your existing CAN DBC file from your+-- local device.+module Amazonka.IoTFleetWise.ImportDecoderManifest+ ( -- * Creating a Request+ ImportDecoderManifest (..),+ newImportDecoderManifest,++ -- * Request Lenses+ importDecoderManifest_name,+ importDecoderManifest_networkFileDefinitions,++ -- * Destructuring the Response+ ImportDecoderManifestResponse (..),+ newImportDecoderManifestResponse,++ -- * Response Lenses+ importDecoderManifestResponse_httpStatus,+ importDecoderManifestResponse_name,+ importDecoderManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newImportDecoderManifest' smart constructor.+data ImportDecoderManifest = ImportDecoderManifest'+ { -- | The name of the decoder manifest to import.+ name :: Prelude.Text,+ -- | The file to load into an Amazon Web Services account.+ networkFileDefinitions :: [NetworkFileDefinition]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportDecoderManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'importDecoderManifest_name' - The name of the decoder manifest to import.+--+-- 'networkFileDefinitions', 'importDecoderManifest_networkFileDefinitions' - The file to load into an Amazon Web Services account.+newImportDecoderManifest ::+ -- | 'name'+ Prelude.Text ->+ ImportDecoderManifest+newImportDecoderManifest pName_ =+ ImportDecoderManifest'+ { name = pName_,+ networkFileDefinitions = Prelude.mempty+ }++-- | The name of the decoder manifest to import.+importDecoderManifest_name :: Lens.Lens' ImportDecoderManifest Prelude.Text+importDecoderManifest_name = Lens.lens (\ImportDecoderManifest' {name} -> name) (\s@ImportDecoderManifest' {} a -> s {name = a} :: ImportDecoderManifest)++-- | The file to load into an Amazon Web Services account.+importDecoderManifest_networkFileDefinitions :: Lens.Lens' ImportDecoderManifest [NetworkFileDefinition]+importDecoderManifest_networkFileDefinitions = Lens.lens (\ImportDecoderManifest' {networkFileDefinitions} -> networkFileDefinitions) (\s@ImportDecoderManifest' {} a -> s {networkFileDefinitions = a} :: ImportDecoderManifest) Prelude.. Lens.coerced++instance Core.AWSRequest ImportDecoderManifest where+ type+ AWSResponse ImportDecoderManifest =+ ImportDecoderManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ImportDecoderManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable ImportDecoderManifest where+ hashWithSalt _salt ImportDecoderManifest' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` networkFileDefinitions++instance Prelude.NFData ImportDecoderManifest where+ rnf ImportDecoderManifest' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf networkFileDefinitions++instance Data.ToHeaders ImportDecoderManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ImportDecoderManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ImportDecoderManifest where+ toJSON ImportDecoderManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ( "networkFileDefinitions"+ Data..= networkFileDefinitions+ )+ ]+ )++instance Data.ToPath ImportDecoderManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery ImportDecoderManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportDecoderManifestResponse' smart constructor.+data ImportDecoderManifestResponse = ImportDecoderManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the imported decoder manifest.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the decoder manifest that was+ -- imported.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportDecoderManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'importDecoderManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'importDecoderManifestResponse_name' - The name of the imported decoder manifest.+--+-- 'arn', 'importDecoderManifestResponse_arn' - The Amazon Resource Name (ARN) of the decoder manifest that was+-- imported.+newImportDecoderManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ ImportDecoderManifestResponse+newImportDecoderManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ ImportDecoderManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+importDecoderManifestResponse_httpStatus :: Lens.Lens' ImportDecoderManifestResponse Prelude.Int+importDecoderManifestResponse_httpStatus = Lens.lens (\ImportDecoderManifestResponse' {httpStatus} -> httpStatus) (\s@ImportDecoderManifestResponse' {} a -> s {httpStatus = a} :: ImportDecoderManifestResponse)++-- | The name of the imported decoder manifest.+importDecoderManifestResponse_name :: Lens.Lens' ImportDecoderManifestResponse Prelude.Text+importDecoderManifestResponse_name = Lens.lens (\ImportDecoderManifestResponse' {name} -> name) (\s@ImportDecoderManifestResponse' {} a -> s {name = a} :: ImportDecoderManifestResponse)++-- | The Amazon Resource Name (ARN) of the decoder manifest that was+-- imported.+importDecoderManifestResponse_arn :: Lens.Lens' ImportDecoderManifestResponse Prelude.Text+importDecoderManifestResponse_arn = Lens.lens (\ImportDecoderManifestResponse' {arn} -> arn) (\s@ImportDecoderManifestResponse' {} a -> s {arn = a} :: ImportDecoderManifestResponse)++instance Prelude.NFData ImportDecoderManifestResponse where+ rnf ImportDecoderManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/ImportSignalCatalog.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.ImportSignalCatalog+-- 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 signal catalog using your existing VSS formatted content from+-- your local device.+module Amazonka.IoTFleetWise.ImportSignalCatalog+ ( -- * Creating a Request+ ImportSignalCatalog (..),+ newImportSignalCatalog,++ -- * Request Lenses+ importSignalCatalog_description,+ importSignalCatalog_tags,+ importSignalCatalog_vss,+ importSignalCatalog_name,++ -- * Destructuring the Response+ ImportSignalCatalogResponse (..),+ newImportSignalCatalogResponse,++ -- * Response Lenses+ importSignalCatalogResponse_httpStatus,+ importSignalCatalogResponse_name,+ importSignalCatalogResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newImportSignalCatalog' smart constructor.+data ImportSignalCatalog = ImportSignalCatalog'+ { -- | A brief description of the signal catalog.+ description :: Prelude.Maybe Prelude.Text,+ -- | Metadata that can be used to manage the signal catalog.+ tags :: Prelude.Maybe [Tag],+ -- | The contents of the Vehicle Signal Specification (VSS) configuration.+ -- VSS is a precise language used to describe and model signals in vehicle+ -- networks.+ vss :: Prelude.Maybe FormattedVss,+ -- | The name of the signal catalog to import.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportSignalCatalog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'importSignalCatalog_description' - A brief description of the signal catalog.+--+-- 'tags', 'importSignalCatalog_tags' - Metadata that can be used to manage the signal catalog.+--+-- 'vss', 'importSignalCatalog_vss' - The contents of the Vehicle Signal Specification (VSS) configuration.+-- VSS is a precise language used to describe and model signals in vehicle+-- networks.+--+-- 'name', 'importSignalCatalog_name' - The name of the signal catalog to import.+newImportSignalCatalog ::+ -- | 'name'+ Prelude.Text ->+ ImportSignalCatalog+newImportSignalCatalog pName_ =+ ImportSignalCatalog'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ vss = Prelude.Nothing,+ name = pName_+ }++-- | A brief description of the signal catalog.+importSignalCatalog_description :: Lens.Lens' ImportSignalCatalog (Prelude.Maybe Prelude.Text)+importSignalCatalog_description = Lens.lens (\ImportSignalCatalog' {description} -> description) (\s@ImportSignalCatalog' {} a -> s {description = a} :: ImportSignalCatalog)++-- | Metadata that can be used to manage the signal catalog.+importSignalCatalog_tags :: Lens.Lens' ImportSignalCatalog (Prelude.Maybe [Tag])+importSignalCatalog_tags = Lens.lens (\ImportSignalCatalog' {tags} -> tags) (\s@ImportSignalCatalog' {} a -> s {tags = a} :: ImportSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | The contents of the Vehicle Signal Specification (VSS) configuration.+-- VSS is a precise language used to describe and model signals in vehicle+-- networks.+importSignalCatalog_vss :: Lens.Lens' ImportSignalCatalog (Prelude.Maybe FormattedVss)+importSignalCatalog_vss = Lens.lens (\ImportSignalCatalog' {vss} -> vss) (\s@ImportSignalCatalog' {} a -> s {vss = a} :: ImportSignalCatalog)++-- | The name of the signal catalog to import.+importSignalCatalog_name :: Lens.Lens' ImportSignalCatalog Prelude.Text+importSignalCatalog_name = Lens.lens (\ImportSignalCatalog' {name} -> name) (\s@ImportSignalCatalog' {} a -> s {name = a} :: ImportSignalCatalog)++instance Core.AWSRequest ImportSignalCatalog where+ type+ AWSResponse ImportSignalCatalog =+ ImportSignalCatalogResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ImportSignalCatalogResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable ImportSignalCatalog where+ hashWithSalt _salt ImportSignalCatalog' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vss+ `Prelude.hashWithSalt` name++instance Prelude.NFData ImportSignalCatalog where+ rnf ImportSignalCatalog' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vss+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders ImportSignalCatalog where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ImportSignalCatalog" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ImportSignalCatalog where+ toJSON ImportSignalCatalog' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ ("vss" Data..=) Prelude.<$> vss,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath ImportSignalCatalog where+ toPath = Prelude.const "/"++instance Data.ToQuery ImportSignalCatalog where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportSignalCatalogResponse' smart constructor.+data ImportSignalCatalogResponse = ImportSignalCatalogResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the imported signal catalog.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the imported signal catalog.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportSignalCatalogResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'importSignalCatalogResponse_httpStatus' - The response's http status code.+--+-- 'name', 'importSignalCatalogResponse_name' - The name of the imported signal catalog.+--+-- 'arn', 'importSignalCatalogResponse_arn' - The Amazon Resource Name (ARN) of the imported signal catalog.+newImportSignalCatalogResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ ImportSignalCatalogResponse+newImportSignalCatalogResponse+ pHttpStatus_+ pName_+ pArn_ =+ ImportSignalCatalogResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+importSignalCatalogResponse_httpStatus :: Lens.Lens' ImportSignalCatalogResponse Prelude.Int+importSignalCatalogResponse_httpStatus = Lens.lens (\ImportSignalCatalogResponse' {httpStatus} -> httpStatus) (\s@ImportSignalCatalogResponse' {} a -> s {httpStatus = a} :: ImportSignalCatalogResponse)++-- | The name of the imported signal catalog.+importSignalCatalogResponse_name :: Lens.Lens' ImportSignalCatalogResponse Prelude.Text+importSignalCatalogResponse_name = Lens.lens (\ImportSignalCatalogResponse' {name} -> name) (\s@ImportSignalCatalogResponse' {} a -> s {name = a} :: ImportSignalCatalogResponse)++-- | The Amazon Resource Name (ARN) of the imported signal catalog.+importSignalCatalogResponse_arn :: Lens.Lens' ImportSignalCatalogResponse Prelude.Text+importSignalCatalogResponse_arn = Lens.lens (\ImportSignalCatalogResponse' {arn} -> arn) (\s@ImportSignalCatalogResponse' {} a -> s {arn = a} :: ImportSignalCatalogResponse)++instance Prelude.NFData ImportSignalCatalogResponse where+ rnf ImportSignalCatalogResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/Lens.hs view
@@ -0,0 +1,774 @@+{-# 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.IoTFleetWise.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.IoTFleetWise.Lens+ ( -- * Operations++ -- ** AssociateVehicleFleet+ associateVehicleFleet_vehicleName,+ associateVehicleFleet_fleetId,+ associateVehicleFleetResponse_httpStatus,++ -- ** BatchCreateVehicle+ batchCreateVehicle_vehicles,+ batchCreateVehicleResponse_errors,+ batchCreateVehicleResponse_vehicles,+ batchCreateVehicleResponse_httpStatus,++ -- ** BatchUpdateVehicle+ batchUpdateVehicle_vehicles,+ batchUpdateVehicleResponse_errors,+ batchUpdateVehicleResponse_vehicles,+ batchUpdateVehicleResponse_httpStatus,++ -- ** CreateCampaign+ createCampaign_compression,+ createCampaign_dataExtraDimensions,+ createCampaign_description,+ createCampaign_diagnosticsMode,+ createCampaign_expiryTime,+ createCampaign_postTriggerCollectionDuration,+ createCampaign_priority,+ createCampaign_signalsToCollect,+ createCampaign_spoolingMode,+ createCampaign_startTime,+ createCampaign_tags,+ createCampaign_name,+ createCampaign_signalCatalogArn,+ createCampaign_targetArn,+ createCampaign_collectionScheme,+ createCampaignResponse_arn,+ createCampaignResponse_name,+ createCampaignResponse_httpStatus,++ -- ** CreateDecoderManifest+ createDecoderManifest_description,+ createDecoderManifest_networkInterfaces,+ createDecoderManifest_signalDecoders,+ createDecoderManifest_tags,+ createDecoderManifest_name,+ createDecoderManifest_modelManifestArn,+ createDecoderManifestResponse_httpStatus,+ createDecoderManifestResponse_name,+ createDecoderManifestResponse_arn,++ -- ** CreateFleet+ createFleet_description,+ createFleet_tags,+ createFleet_fleetId,+ createFleet_signalCatalogArn,+ createFleetResponse_httpStatus,+ createFleetResponse_id,+ createFleetResponse_arn,++ -- ** CreateModelManifest+ createModelManifest_description,+ createModelManifest_tags,+ createModelManifest_name,+ createModelManifest_nodes,+ createModelManifest_signalCatalogArn,+ createModelManifestResponse_httpStatus,+ createModelManifestResponse_name,+ createModelManifestResponse_arn,++ -- ** CreateSignalCatalog+ createSignalCatalog_description,+ createSignalCatalog_nodes,+ createSignalCatalog_tags,+ createSignalCatalog_name,+ createSignalCatalogResponse_httpStatus,+ createSignalCatalogResponse_name,+ createSignalCatalogResponse_arn,++ -- ** CreateVehicle+ createVehicle_associationBehavior,+ createVehicle_attributes,+ createVehicle_tags,+ createVehicle_vehicleName,+ createVehicle_modelManifestArn,+ createVehicle_decoderManifestArn,+ createVehicleResponse_arn,+ createVehicleResponse_thingArn,+ createVehicleResponse_vehicleName,+ createVehicleResponse_httpStatus,++ -- ** DeleteCampaign+ deleteCampaign_name,+ deleteCampaignResponse_arn,+ deleteCampaignResponse_name,+ deleteCampaignResponse_httpStatus,++ -- ** DeleteDecoderManifest+ deleteDecoderManifest_name,+ deleteDecoderManifestResponse_httpStatus,+ deleteDecoderManifestResponse_name,+ deleteDecoderManifestResponse_arn,++ -- ** DeleteFleet+ deleteFleet_fleetId,+ deleteFleetResponse_arn,+ deleteFleetResponse_id,+ deleteFleetResponse_httpStatus,++ -- ** DeleteModelManifest+ deleteModelManifest_name,+ deleteModelManifestResponse_httpStatus,+ deleteModelManifestResponse_name,+ deleteModelManifestResponse_arn,++ -- ** DeleteSignalCatalog+ deleteSignalCatalog_name,+ deleteSignalCatalogResponse_httpStatus,+ deleteSignalCatalogResponse_name,+ deleteSignalCatalogResponse_arn,++ -- ** DeleteVehicle+ deleteVehicle_vehicleName,+ deleteVehicleResponse_httpStatus,+ deleteVehicleResponse_vehicleName,+ deleteVehicleResponse_arn,++ -- ** DisassociateVehicleFleet+ disassociateVehicleFleet_vehicleName,+ disassociateVehicleFleet_fleetId,+ disassociateVehicleFleetResponse_httpStatus,++ -- ** GetCampaign+ getCampaign_name,+ getCampaignResponse_arn,+ getCampaignResponse_collectionScheme,+ getCampaignResponse_compression,+ getCampaignResponse_creationTime,+ getCampaignResponse_dataExtraDimensions,+ getCampaignResponse_description,+ getCampaignResponse_diagnosticsMode,+ getCampaignResponse_expiryTime,+ getCampaignResponse_lastModificationTime,+ getCampaignResponse_name,+ getCampaignResponse_postTriggerCollectionDuration,+ getCampaignResponse_priority,+ getCampaignResponse_signalCatalogArn,+ getCampaignResponse_signalsToCollect,+ getCampaignResponse_spoolingMode,+ getCampaignResponse_startTime,+ getCampaignResponse_status,+ getCampaignResponse_targetArn,+ getCampaignResponse_httpStatus,++ -- ** GetDecoderManifest+ getDecoderManifest_name,+ getDecoderManifestResponse_description,+ getDecoderManifestResponse_modelManifestArn,+ getDecoderManifestResponse_status,+ getDecoderManifestResponse_httpStatus,+ getDecoderManifestResponse_name,+ getDecoderManifestResponse_arn,+ getDecoderManifestResponse_creationTime,+ getDecoderManifestResponse_lastModificationTime,++ -- ** GetFleet+ getFleet_fleetId,+ getFleetResponse_description,+ getFleetResponse_httpStatus,+ getFleetResponse_id,+ getFleetResponse_arn,+ getFleetResponse_signalCatalogArn,+ getFleetResponse_creationTime,+ getFleetResponse_lastModificationTime,++ -- ** GetLoggingOptions+ getLoggingOptionsResponse_httpStatus,+ getLoggingOptionsResponse_cloudWatchLogDelivery,++ -- ** GetModelManifest+ getModelManifest_name,+ getModelManifestResponse_description,+ getModelManifestResponse_signalCatalogArn,+ getModelManifestResponse_status,+ getModelManifestResponse_httpStatus,+ getModelManifestResponse_name,+ getModelManifestResponse_arn,+ getModelManifestResponse_creationTime,+ getModelManifestResponse_lastModificationTime,++ -- ** GetRegisterAccountStatus+ getRegisterAccountStatusResponse_httpStatus,+ getRegisterAccountStatusResponse_customerAccountId,+ getRegisterAccountStatusResponse_accountStatus,+ getRegisterAccountStatusResponse_timestreamRegistrationResponse,+ getRegisterAccountStatusResponse_iamRegistrationResponse,+ getRegisterAccountStatusResponse_creationTime,+ getRegisterAccountStatusResponse_lastModificationTime,++ -- ** GetSignalCatalog+ getSignalCatalog_name,+ getSignalCatalogResponse_description,+ getSignalCatalogResponse_nodeCounts,+ getSignalCatalogResponse_httpStatus,+ getSignalCatalogResponse_name,+ getSignalCatalogResponse_arn,+ getSignalCatalogResponse_creationTime,+ getSignalCatalogResponse_lastModificationTime,++ -- ** GetVehicle+ getVehicle_vehicleName,+ getVehicleResponse_arn,+ getVehicleResponse_attributes,+ getVehicleResponse_creationTime,+ getVehicleResponse_decoderManifestArn,+ getVehicleResponse_lastModificationTime,+ getVehicleResponse_modelManifestArn,+ getVehicleResponse_vehicleName,+ getVehicleResponse_httpStatus,++ -- ** GetVehicleStatus+ getVehicleStatus_maxResults,+ getVehicleStatus_nextToken,+ getVehicleStatus_vehicleName,+ getVehicleStatusResponse_campaigns,+ getVehicleStatusResponse_nextToken,+ getVehicleStatusResponse_httpStatus,++ -- ** ImportDecoderManifest+ importDecoderManifest_name,+ importDecoderManifest_networkFileDefinitions,+ importDecoderManifestResponse_httpStatus,+ importDecoderManifestResponse_name,+ importDecoderManifestResponse_arn,++ -- ** ImportSignalCatalog+ importSignalCatalog_description,+ importSignalCatalog_tags,+ importSignalCatalog_vss,+ importSignalCatalog_name,+ importSignalCatalogResponse_httpStatus,+ importSignalCatalogResponse_name,+ importSignalCatalogResponse_arn,++ -- ** ListCampaigns+ listCampaigns_maxResults,+ listCampaigns_nextToken,+ listCampaigns_status,+ listCampaignsResponse_campaignSummaries,+ listCampaignsResponse_nextToken,+ listCampaignsResponse_httpStatus,++ -- ** ListDecoderManifestNetworkInterfaces+ listDecoderManifestNetworkInterfaces_maxResults,+ listDecoderManifestNetworkInterfaces_nextToken,+ listDecoderManifestNetworkInterfaces_name,+ listDecoderManifestNetworkInterfacesResponse_networkInterfaces,+ listDecoderManifestNetworkInterfacesResponse_nextToken,+ listDecoderManifestNetworkInterfacesResponse_httpStatus,++ -- ** ListDecoderManifestSignals+ listDecoderManifestSignals_maxResults,+ listDecoderManifestSignals_nextToken,+ listDecoderManifestSignals_name,+ listDecoderManifestSignalsResponse_nextToken,+ listDecoderManifestSignalsResponse_signalDecoders,+ listDecoderManifestSignalsResponse_httpStatus,++ -- ** ListDecoderManifests+ listDecoderManifests_maxResults,+ listDecoderManifests_modelManifestArn,+ listDecoderManifests_nextToken,+ listDecoderManifestsResponse_nextToken,+ listDecoderManifestsResponse_summaries,+ listDecoderManifestsResponse_httpStatus,++ -- ** ListFleets+ listFleets_maxResults,+ listFleets_nextToken,+ listFleetsResponse_fleetSummaries,+ listFleetsResponse_nextToken,+ listFleetsResponse_httpStatus,++ -- ** ListFleetsForVehicle+ listFleetsForVehicle_maxResults,+ listFleetsForVehicle_nextToken,+ listFleetsForVehicle_vehicleName,+ listFleetsForVehicleResponse_fleets,+ listFleetsForVehicleResponse_nextToken,+ listFleetsForVehicleResponse_httpStatus,++ -- ** ListModelManifestNodes+ listModelManifestNodes_maxResults,+ listModelManifestNodes_nextToken,+ listModelManifestNodes_name,+ listModelManifestNodesResponse_nextToken,+ listModelManifestNodesResponse_nodes,+ listModelManifestNodesResponse_httpStatus,++ -- ** ListModelManifests+ listModelManifests_maxResults,+ listModelManifests_nextToken,+ listModelManifests_signalCatalogArn,+ listModelManifestsResponse_nextToken,+ listModelManifestsResponse_summaries,+ listModelManifestsResponse_httpStatus,++ -- ** ListSignalCatalogNodes+ listSignalCatalogNodes_maxResults,+ listSignalCatalogNodes_nextToken,+ listSignalCatalogNodes_name,+ listSignalCatalogNodesResponse_nextToken,+ listSignalCatalogNodesResponse_nodes,+ listSignalCatalogNodesResponse_httpStatus,++ -- ** ListSignalCatalogs+ listSignalCatalogs_maxResults,+ listSignalCatalogs_nextToken,+ listSignalCatalogsResponse_nextToken,+ listSignalCatalogsResponse_summaries,+ listSignalCatalogsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceARN,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListVehicles+ listVehicles_maxResults,+ listVehicles_modelManifestArn,+ listVehicles_nextToken,+ listVehiclesResponse_nextToken,+ listVehiclesResponse_vehicleSummaries,+ listVehiclesResponse_httpStatus,++ -- ** ListVehiclesInFleet+ listVehiclesInFleet_maxResults,+ listVehiclesInFleet_nextToken,+ listVehiclesInFleet_fleetId,+ listVehiclesInFleetResponse_nextToken,+ listVehiclesInFleetResponse_vehicles,+ listVehiclesInFleetResponse_httpStatus,++ -- ** PutLoggingOptions+ putLoggingOptions_cloudWatchLogDelivery,+ putLoggingOptionsResponse_httpStatus,++ -- ** RegisterAccount+ registerAccount_iamResources,+ registerAccount_timestreamResources,+ registerAccountResponse_httpStatus,+ registerAccountResponse_registerAccountStatus,+ registerAccountResponse_timestreamResources,+ registerAccountResponse_iamResources,+ registerAccountResponse_creationTime,+ registerAccountResponse_lastModificationTime,++ -- ** TagResource+ tagResource_resourceARN,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceARN,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateCampaign+ updateCampaign_dataExtraDimensions,+ updateCampaign_description,+ updateCampaign_name,+ updateCampaign_action,+ updateCampaignResponse_arn,+ updateCampaignResponse_name,+ updateCampaignResponse_status,+ updateCampaignResponse_httpStatus,++ -- ** UpdateDecoderManifest+ updateDecoderManifest_description,+ updateDecoderManifest_networkInterfacesToAdd,+ updateDecoderManifest_networkInterfacesToRemove,+ updateDecoderManifest_networkInterfacesToUpdate,+ updateDecoderManifest_signalDecodersToAdd,+ updateDecoderManifest_signalDecodersToRemove,+ updateDecoderManifest_signalDecodersToUpdate,+ updateDecoderManifest_status,+ updateDecoderManifest_name,+ updateDecoderManifestResponse_httpStatus,+ updateDecoderManifestResponse_name,+ updateDecoderManifestResponse_arn,++ -- ** UpdateFleet+ updateFleet_description,+ updateFleet_fleetId,+ updateFleetResponse_arn,+ updateFleetResponse_id,+ updateFleetResponse_httpStatus,++ -- ** UpdateModelManifest+ updateModelManifest_description,+ updateModelManifest_nodesToAdd,+ updateModelManifest_nodesToRemove,+ updateModelManifest_status,+ updateModelManifest_name,+ updateModelManifestResponse_httpStatus,+ updateModelManifestResponse_name,+ updateModelManifestResponse_arn,++ -- ** UpdateSignalCatalog+ updateSignalCatalog_description,+ updateSignalCatalog_nodesToAdd,+ updateSignalCatalog_nodesToRemove,+ updateSignalCatalog_nodesToUpdate,+ updateSignalCatalog_name,+ updateSignalCatalogResponse_httpStatus,+ updateSignalCatalogResponse_name,+ updateSignalCatalogResponse_arn,++ -- ** UpdateVehicle+ updateVehicle_attributeUpdateMode,+ updateVehicle_attributes,+ updateVehicle_decoderManifestArn,+ updateVehicle_modelManifestArn,+ updateVehicle_vehicleName,+ updateVehicleResponse_arn,+ updateVehicleResponse_vehicleName,+ updateVehicleResponse_httpStatus,++ -- * Types++ -- ** Actuator+ actuator_allowedValues,+ actuator_assignedValue,+ actuator_description,+ actuator_max,+ actuator_min,+ actuator_unit,+ actuator_fullyQualifiedName,+ actuator_dataType,++ -- ** Attribute+ attribute_allowedValues,+ attribute_assignedValue,+ attribute_defaultValue,+ attribute_description,+ attribute_max,+ attribute_min,+ attribute_unit,+ attribute_fullyQualifiedName,+ attribute_dataType,++ -- ** Branch+ branch_description,+ branch_fullyQualifiedName,++ -- ** CampaignSummary+ campaignSummary_arn,+ campaignSummary_description,+ campaignSummary_name,+ campaignSummary_signalCatalogArn,+ campaignSummary_status,+ campaignSummary_targetArn,+ campaignSummary_creationTime,+ campaignSummary_lastModificationTime,++ -- ** CanDbcDefinition+ canDbcDefinition_signalsMap,+ canDbcDefinition_networkInterface,+ canDbcDefinition_canDbcFiles,++ -- ** CanInterface+ canInterface_protocolName,+ canInterface_protocolVersion,+ canInterface_name,++ -- ** CanSignal+ canSignal_name,+ canSignal_messageId,+ canSignal_isBigEndian,+ canSignal_isSigned,+ canSignal_startBit,+ canSignal_offset,+ canSignal_factor,+ canSignal_length,++ -- ** CloudWatchLogDeliveryOptions+ cloudWatchLogDeliveryOptions_logGroupName,+ cloudWatchLogDeliveryOptions_logType,++ -- ** CollectionScheme+ collectionScheme_conditionBasedCollectionScheme,+ collectionScheme_timeBasedCollectionScheme,++ -- ** ConditionBasedCollectionScheme+ conditionBasedCollectionScheme_conditionLanguageVersion,+ conditionBasedCollectionScheme_minimumTriggerIntervalMs,+ conditionBasedCollectionScheme_triggerMode,+ conditionBasedCollectionScheme_expression,++ -- ** CreateVehicleError+ createVehicleError_code,+ createVehicleError_message,+ createVehicleError_vehicleName,++ -- ** CreateVehicleRequestItem+ createVehicleRequestItem_associationBehavior,+ createVehicleRequestItem_attributes,+ createVehicleRequestItem_tags,+ createVehicleRequestItem_vehicleName,+ createVehicleRequestItem_modelManifestArn,+ createVehicleRequestItem_decoderManifestArn,++ -- ** CreateVehicleResponseItem+ createVehicleResponseItem_arn,+ createVehicleResponseItem_thingArn,+ createVehicleResponseItem_vehicleName,++ -- ** DecoderManifestSummary+ decoderManifestSummary_arn,+ decoderManifestSummary_description,+ decoderManifestSummary_modelManifestArn,+ decoderManifestSummary_name,+ decoderManifestSummary_status,+ decoderManifestSummary_creationTime,+ decoderManifestSummary_lastModificationTime,++ -- ** FleetSummary+ fleetSummary_description,+ fleetSummary_lastModificationTime,+ fleetSummary_id,+ fleetSummary_arn,+ fleetSummary_signalCatalogArn,+ fleetSummary_creationTime,++ -- ** FormattedVss+ formattedVss_vssJson,++ -- ** IamRegistrationResponse+ iamRegistrationResponse_errorMessage,+ iamRegistrationResponse_roleArn,+ iamRegistrationResponse_registrationStatus,++ -- ** IamResources+ iamResources_roleArn,++ -- ** ModelManifestSummary+ modelManifestSummary_arn,+ modelManifestSummary_description,+ modelManifestSummary_name,+ modelManifestSummary_signalCatalogArn,+ modelManifestSummary_status,+ modelManifestSummary_creationTime,+ modelManifestSummary_lastModificationTime,++ -- ** NetworkFileDefinition+ networkFileDefinition_canDbc,++ -- ** NetworkInterface+ networkInterface_canInterface,+ networkInterface_obdInterface,+ networkInterface_interfaceId,+ networkInterface_type,++ -- ** Node+ node_actuator,+ node_attribute,+ node_branch,+ node_sensor,++ -- ** NodeCounts+ nodeCounts_totalActuators,+ nodeCounts_totalAttributes,+ nodeCounts_totalBranches,+ nodeCounts_totalNodes,+ nodeCounts_totalSensors,++ -- ** ObdInterface+ obdInterface_dtcRequestIntervalSeconds,+ obdInterface_hasTransmissionEcu,+ obdInterface_obdStandard,+ obdInterface_pidRequestIntervalSeconds,+ obdInterface_useExtendedIds,+ obdInterface_name,+ obdInterface_requestMessageId,++ -- ** ObdSignal+ obdSignal_bitMaskLength,+ obdSignal_bitRightShift,+ obdSignal_pidResponseLength,+ obdSignal_serviceMode,+ obdSignal_pid,+ obdSignal_scaling,+ obdSignal_offset,+ obdSignal_startByte,+ obdSignal_byteLength,++ -- ** Sensor+ sensor_allowedValues,+ sensor_description,+ sensor_max,+ sensor_min,+ sensor_unit,+ sensor_fullyQualifiedName,+ sensor_dataType,++ -- ** SignalCatalogSummary+ signalCatalogSummary_arn,+ signalCatalogSummary_creationTime,+ signalCatalogSummary_lastModificationTime,+ signalCatalogSummary_name,++ -- ** SignalDecoder+ signalDecoder_canSignal,+ signalDecoder_obdSignal,+ signalDecoder_fullyQualifiedName,+ signalDecoder_type,+ signalDecoder_interfaceId,++ -- ** SignalInformation+ signalInformation_maxSampleCount,+ signalInformation_minimumSamplingIntervalMs,+ signalInformation_name,++ -- ** Tag+ tag_key,+ tag_value,++ -- ** TimeBasedCollectionScheme+ timeBasedCollectionScheme_periodMs,++ -- ** TimestreamRegistrationResponse+ timestreamRegistrationResponse_errorMessage,+ timestreamRegistrationResponse_timestreamDatabaseArn,+ timestreamRegistrationResponse_timestreamTableArn,+ timestreamRegistrationResponse_timestreamDatabaseName,+ timestreamRegistrationResponse_timestreamTableName,+ timestreamRegistrationResponse_registrationStatus,++ -- ** TimestreamResources+ timestreamResources_timestreamDatabaseName,+ timestreamResources_timestreamTableName,++ -- ** UpdateVehicleError+ updateVehicleError_code,+ updateVehicleError_message,+ updateVehicleError_vehicleName,++ -- ** UpdateVehicleRequestItem+ updateVehicleRequestItem_attributeUpdateMode,+ updateVehicleRequestItem_attributes,+ updateVehicleRequestItem_decoderManifestArn,+ updateVehicleRequestItem_modelManifestArn,+ updateVehicleRequestItem_vehicleName,++ -- ** UpdateVehicleResponseItem+ updateVehicleResponseItem_arn,+ updateVehicleResponseItem_vehicleName,++ -- ** VehicleStatus+ vehicleStatus_campaignName,+ vehicleStatus_status,+ vehicleStatus_vehicleName,++ -- ** VehicleSummary+ vehicleSummary_vehicleName,+ vehicleSummary_arn,+ vehicleSummary_modelManifestArn,+ vehicleSummary_decoderManifestArn,+ vehicleSummary_creationTime,+ vehicleSummary_lastModificationTime,+ )+where++import Amazonka.IoTFleetWise.AssociateVehicleFleet+import Amazonka.IoTFleetWise.BatchCreateVehicle+import Amazonka.IoTFleetWise.BatchUpdateVehicle+import Amazonka.IoTFleetWise.CreateCampaign+import Amazonka.IoTFleetWise.CreateDecoderManifest+import Amazonka.IoTFleetWise.CreateFleet+import Amazonka.IoTFleetWise.CreateModelManifest+import Amazonka.IoTFleetWise.CreateSignalCatalog+import Amazonka.IoTFleetWise.CreateVehicle+import Amazonka.IoTFleetWise.DeleteCampaign+import Amazonka.IoTFleetWise.DeleteDecoderManifest+import Amazonka.IoTFleetWise.DeleteFleet+import Amazonka.IoTFleetWise.DeleteModelManifest+import Amazonka.IoTFleetWise.DeleteSignalCatalog+import Amazonka.IoTFleetWise.DeleteVehicle+import Amazonka.IoTFleetWise.DisassociateVehicleFleet+import Amazonka.IoTFleetWise.GetCampaign+import Amazonka.IoTFleetWise.GetDecoderManifest+import Amazonka.IoTFleetWise.GetFleet+import Amazonka.IoTFleetWise.GetLoggingOptions+import Amazonka.IoTFleetWise.GetModelManifest+import Amazonka.IoTFleetWise.GetRegisterAccountStatus+import Amazonka.IoTFleetWise.GetSignalCatalog+import Amazonka.IoTFleetWise.GetVehicle+import Amazonka.IoTFleetWise.GetVehicleStatus+import Amazonka.IoTFleetWise.ImportDecoderManifest+import Amazonka.IoTFleetWise.ImportSignalCatalog+import Amazonka.IoTFleetWise.ListCampaigns+import Amazonka.IoTFleetWise.ListDecoderManifestNetworkInterfaces+import Amazonka.IoTFleetWise.ListDecoderManifestSignals+import Amazonka.IoTFleetWise.ListDecoderManifests+import Amazonka.IoTFleetWise.ListFleets+import Amazonka.IoTFleetWise.ListFleetsForVehicle+import Amazonka.IoTFleetWise.ListModelManifestNodes+import Amazonka.IoTFleetWise.ListModelManifests+import Amazonka.IoTFleetWise.ListSignalCatalogNodes+import Amazonka.IoTFleetWise.ListSignalCatalogs+import Amazonka.IoTFleetWise.ListTagsForResource+import Amazonka.IoTFleetWise.ListVehicles+import Amazonka.IoTFleetWise.ListVehiclesInFleet+import Amazonka.IoTFleetWise.PutLoggingOptions+import Amazonka.IoTFleetWise.RegisterAccount+import Amazonka.IoTFleetWise.TagResource+import Amazonka.IoTFleetWise.Types.Actuator+import Amazonka.IoTFleetWise.Types.Attribute+import Amazonka.IoTFleetWise.Types.Branch+import Amazonka.IoTFleetWise.Types.CampaignSummary+import Amazonka.IoTFleetWise.Types.CanDbcDefinition+import Amazonka.IoTFleetWise.Types.CanInterface+import Amazonka.IoTFleetWise.Types.CanSignal+import Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions+import Amazonka.IoTFleetWise.Types.CollectionScheme+import Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme+import Amazonka.IoTFleetWise.Types.CreateVehicleError+import Amazonka.IoTFleetWise.Types.CreateVehicleRequestItem+import Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem+import Amazonka.IoTFleetWise.Types.DecoderManifestSummary+import Amazonka.IoTFleetWise.Types.FleetSummary+import Amazonka.IoTFleetWise.Types.FormattedVss+import Amazonka.IoTFleetWise.Types.IamRegistrationResponse+import Amazonka.IoTFleetWise.Types.IamResources+import Amazonka.IoTFleetWise.Types.ModelManifestSummary+import Amazonka.IoTFleetWise.Types.NetworkFileDefinition+import Amazonka.IoTFleetWise.Types.NetworkInterface+import Amazonka.IoTFleetWise.Types.Node+import Amazonka.IoTFleetWise.Types.NodeCounts+import Amazonka.IoTFleetWise.Types.ObdInterface+import Amazonka.IoTFleetWise.Types.ObdSignal+import Amazonka.IoTFleetWise.Types.Sensor+import Amazonka.IoTFleetWise.Types.SignalCatalogSummary+import Amazonka.IoTFleetWise.Types.SignalDecoder+import Amazonka.IoTFleetWise.Types.SignalInformation+import Amazonka.IoTFleetWise.Types.Tag+import Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme+import Amazonka.IoTFleetWise.Types.TimestreamRegistrationResponse+import Amazonka.IoTFleetWise.Types.TimestreamResources+import Amazonka.IoTFleetWise.Types.UpdateVehicleError+import Amazonka.IoTFleetWise.Types.UpdateVehicleRequestItem+import Amazonka.IoTFleetWise.Types.UpdateVehicleResponseItem+import Amazonka.IoTFleetWise.Types.VehicleStatus+import Amazonka.IoTFleetWise.Types.VehicleSummary+import Amazonka.IoTFleetWise.UntagResource+import Amazonka.IoTFleetWise.UpdateCampaign+import Amazonka.IoTFleetWise.UpdateDecoderManifest+import Amazonka.IoTFleetWise.UpdateFleet+import Amazonka.IoTFleetWise.UpdateModelManifest+import Amazonka.IoTFleetWise.UpdateSignalCatalog+import Amazonka.IoTFleetWise.UpdateVehicle
+ gen/Amazonka/IoTFleetWise/ListCampaigns.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.IoTFleetWise.ListCampaigns+-- 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 information about created campaigns.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListCampaigns+ ( -- * Creating a Request+ ListCampaigns (..),+ newListCampaigns,++ -- * Request Lenses+ listCampaigns_maxResults,+ listCampaigns_nextToken,+ listCampaigns_status,++ -- * Destructuring the Response+ ListCampaignsResponse (..),+ newListCampaignsResponse,++ -- * Response Lenses+ listCampaignsResponse_campaignSummaries,+ listCampaignsResponse_nextToken,+ listCampaignsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCampaigns' smart constructor.+data ListCampaigns = ListCampaigns'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Optional parameter to filter the results by the status of each created+ -- campaign in your account. The status can be one of: @CREATING@,+ -- @WAITING_FOR_APPROVAL@, @RUNNING@, or @SUSPENDED@.+ status :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCampaigns' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listCampaigns_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listCampaigns_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'status', 'listCampaigns_status' - Optional parameter to filter the results by the status of each created+-- campaign in your account. The status can be one of: @CREATING@,+-- @WAITING_FOR_APPROVAL@, @RUNNING@, or @SUSPENDED@.+newListCampaigns ::+ ListCampaigns+newListCampaigns =+ ListCampaigns'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listCampaigns_maxResults :: Lens.Lens' ListCampaigns (Prelude.Maybe Prelude.Natural)+listCampaigns_maxResults = Lens.lens (\ListCampaigns' {maxResults} -> maxResults) (\s@ListCampaigns' {} a -> s {maxResults = a} :: ListCampaigns)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listCampaigns_nextToken :: Lens.Lens' ListCampaigns (Prelude.Maybe Prelude.Text)+listCampaigns_nextToken = Lens.lens (\ListCampaigns' {nextToken} -> nextToken) (\s@ListCampaigns' {} a -> s {nextToken = a} :: ListCampaigns)++-- | Optional parameter to filter the results by the status of each created+-- campaign in your account. The status can be one of: @CREATING@,+-- @WAITING_FOR_APPROVAL@, @RUNNING@, or @SUSPENDED@.+listCampaigns_status :: Lens.Lens' ListCampaigns (Prelude.Maybe Prelude.Text)+listCampaigns_status = Lens.lens (\ListCampaigns' {status} -> status) (\s@ListCampaigns' {} a -> s {status = a} :: ListCampaigns)++instance Core.AWSPager ListCampaigns where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listCampaignsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listCampaignsResponse_campaignSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listCampaigns_nextToken+ Lens..~ rs+ Lens.^? listCampaignsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListCampaigns where+ type+ AWSResponse ListCampaigns =+ ListCampaignsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListCampaignsResponse'+ Prelude.<$> ( x+ Data..?> "campaignSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListCampaigns where+ hashWithSalt _salt ListCampaigns' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` status++instance Prelude.NFData ListCampaigns where+ rnf ListCampaigns' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListCampaigns where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListCampaigns" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListCampaigns where+ toJSON ListCampaigns' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("status" Data..=) Prelude.<$> status+ ]+ )++instance Data.ToPath ListCampaigns where+ toPath = Prelude.const "/"++instance Data.ToQuery ListCampaigns where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCampaignsResponse' smart constructor.+data ListCampaignsResponse = ListCampaignsResponse'+ { -- | A summary of information about each campaign.+ campaignSummaries :: Prelude.Maybe [CampaignSummary],+ -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCampaignsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'campaignSummaries', 'listCampaignsResponse_campaignSummaries' - A summary of information about each campaign.+--+-- 'nextToken', 'listCampaignsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'httpStatus', 'listCampaignsResponse_httpStatus' - The response's http status code.+newListCampaignsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListCampaignsResponse+newListCampaignsResponse pHttpStatus_ =+ ListCampaignsResponse'+ { campaignSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A summary of information about each campaign.+listCampaignsResponse_campaignSummaries :: Lens.Lens' ListCampaignsResponse (Prelude.Maybe [CampaignSummary])+listCampaignsResponse_campaignSummaries = Lens.lens (\ListCampaignsResponse' {campaignSummaries} -> campaignSummaries) (\s@ListCampaignsResponse' {} a -> s {campaignSummaries = a} :: ListCampaignsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listCampaignsResponse_nextToken :: Lens.Lens' ListCampaignsResponse (Prelude.Maybe Prelude.Text)+listCampaignsResponse_nextToken = Lens.lens (\ListCampaignsResponse' {nextToken} -> nextToken) (\s@ListCampaignsResponse' {} a -> s {nextToken = a} :: ListCampaignsResponse)++-- | The response's http status code.+listCampaignsResponse_httpStatus :: Lens.Lens' ListCampaignsResponse Prelude.Int+listCampaignsResponse_httpStatus = Lens.lens (\ListCampaignsResponse' {httpStatus} -> httpStatus) (\s@ListCampaignsResponse' {} a -> s {httpStatus = a} :: ListCampaignsResponse)++instance Prelude.NFData ListCampaignsResponse where+ rnf ListCampaignsResponse' {..} =+ Prelude.rnf campaignSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListDecoderManifestNetworkInterfaces.hs view
@@ -0,0 +1,291 @@+{-# 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.IoTFleetWise.ListDecoderManifestNetworkInterfaces+-- 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 network interfaces specified in a decoder manifest.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListDecoderManifestNetworkInterfaces+ ( -- * Creating a Request+ ListDecoderManifestNetworkInterfaces (..),+ newListDecoderManifestNetworkInterfaces,++ -- * Request Lenses+ listDecoderManifestNetworkInterfaces_maxResults,+ listDecoderManifestNetworkInterfaces_nextToken,+ listDecoderManifestNetworkInterfaces_name,++ -- * Destructuring the Response+ ListDecoderManifestNetworkInterfacesResponse (..),+ newListDecoderManifestNetworkInterfacesResponse,++ -- * Response Lenses+ listDecoderManifestNetworkInterfacesResponse_networkInterfaces,+ listDecoderManifestNetworkInterfacesResponse_nextToken,+ listDecoderManifestNetworkInterfacesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDecoderManifestNetworkInterfaces' smart constructor.+data ListDecoderManifestNetworkInterfaces = ListDecoderManifestNetworkInterfaces'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the decoder manifest to list information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifestNetworkInterfaces' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDecoderManifestNetworkInterfaces_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listDecoderManifestNetworkInterfaces_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'name', 'listDecoderManifestNetworkInterfaces_name' - The name of the decoder manifest to list information about.+newListDecoderManifestNetworkInterfaces ::+ -- | 'name'+ Prelude.Text ->+ ListDecoderManifestNetworkInterfaces+newListDecoderManifestNetworkInterfaces pName_ =+ ListDecoderManifestNetworkInterfaces'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ name = pName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listDecoderManifestNetworkInterfaces_maxResults :: Lens.Lens' ListDecoderManifestNetworkInterfaces (Prelude.Maybe Prelude.Natural)+listDecoderManifestNetworkInterfaces_maxResults = Lens.lens (\ListDecoderManifestNetworkInterfaces' {maxResults} -> maxResults) (\s@ListDecoderManifestNetworkInterfaces' {} a -> s {maxResults = a} :: ListDecoderManifestNetworkInterfaces)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listDecoderManifestNetworkInterfaces_nextToken :: Lens.Lens' ListDecoderManifestNetworkInterfaces (Prelude.Maybe Prelude.Text)+listDecoderManifestNetworkInterfaces_nextToken = Lens.lens (\ListDecoderManifestNetworkInterfaces' {nextToken} -> nextToken) (\s@ListDecoderManifestNetworkInterfaces' {} a -> s {nextToken = a} :: ListDecoderManifestNetworkInterfaces)++-- | The name of the decoder manifest to list information about.+listDecoderManifestNetworkInterfaces_name :: Lens.Lens' ListDecoderManifestNetworkInterfaces Prelude.Text+listDecoderManifestNetworkInterfaces_name = Lens.lens (\ListDecoderManifestNetworkInterfaces' {name} -> name) (\s@ListDecoderManifestNetworkInterfaces' {} a -> s {name = a} :: ListDecoderManifestNetworkInterfaces)++instance+ Core.AWSPager+ ListDecoderManifestNetworkInterfaces+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestNetworkInterfacesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestNetworkInterfacesResponse_networkInterfaces+ Prelude.. Lens._Just+ Prelude.. Lens.to Prelude.toList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDecoderManifestNetworkInterfaces_nextToken+ Lens..~ rs+ Lens.^? listDecoderManifestNetworkInterfacesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListDecoderManifestNetworkInterfaces+ where+ type+ AWSResponse ListDecoderManifestNetworkInterfaces =+ ListDecoderManifestNetworkInterfacesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDecoderManifestNetworkInterfacesResponse'+ Prelude.<$> (x Data..?> "networkInterfaces")+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListDecoderManifestNetworkInterfaces+ where+ hashWithSalt+ _salt+ ListDecoderManifestNetworkInterfaces' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` name++instance+ Prelude.NFData+ ListDecoderManifestNetworkInterfaces+ where+ rnf ListDecoderManifestNetworkInterfaces' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf name++instance+ Data.ToHeaders+ ListDecoderManifestNetworkInterfaces+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListDecoderManifestNetworkInterfaces" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ListDecoderManifestNetworkInterfaces+ where+ toJSON ListDecoderManifestNetworkInterfaces' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance+ Data.ToPath+ ListDecoderManifestNetworkInterfaces+ where+ toPath = Prelude.const "/"++instance+ Data.ToQuery+ ListDecoderManifestNetworkInterfaces+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDecoderManifestNetworkInterfacesResponse' smart constructor.+data ListDecoderManifestNetworkInterfacesResponse = ListDecoderManifestNetworkInterfacesResponse'+ { -- | A list of information about network interfaces.+ networkInterfaces :: Prelude.Maybe (Prelude.NonEmpty NetworkInterface),+ -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifestNetworkInterfacesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkInterfaces', 'listDecoderManifestNetworkInterfacesResponse_networkInterfaces' - A list of information about network interfaces.+--+-- 'nextToken', 'listDecoderManifestNetworkInterfacesResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'httpStatus', 'listDecoderManifestNetworkInterfacesResponse_httpStatus' - The response's http status code.+newListDecoderManifestNetworkInterfacesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDecoderManifestNetworkInterfacesResponse+newListDecoderManifestNetworkInterfacesResponse+ pHttpStatus_ =+ ListDecoderManifestNetworkInterfacesResponse'+ { networkInterfaces =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of information about network interfaces.+listDecoderManifestNetworkInterfacesResponse_networkInterfaces :: Lens.Lens' ListDecoderManifestNetworkInterfacesResponse (Prelude.Maybe (Prelude.NonEmpty NetworkInterface))+listDecoderManifestNetworkInterfacesResponse_networkInterfaces = Lens.lens (\ListDecoderManifestNetworkInterfacesResponse' {networkInterfaces} -> networkInterfaces) (\s@ListDecoderManifestNetworkInterfacesResponse' {} a -> s {networkInterfaces = a} :: ListDecoderManifestNetworkInterfacesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listDecoderManifestNetworkInterfacesResponse_nextToken :: Lens.Lens' ListDecoderManifestNetworkInterfacesResponse (Prelude.Maybe Prelude.Text)+listDecoderManifestNetworkInterfacesResponse_nextToken = Lens.lens (\ListDecoderManifestNetworkInterfacesResponse' {nextToken} -> nextToken) (\s@ListDecoderManifestNetworkInterfacesResponse' {} a -> s {nextToken = a} :: ListDecoderManifestNetworkInterfacesResponse)++-- | The response's http status code.+listDecoderManifestNetworkInterfacesResponse_httpStatus :: Lens.Lens' ListDecoderManifestNetworkInterfacesResponse Prelude.Int+listDecoderManifestNetworkInterfacesResponse_httpStatus = Lens.lens (\ListDecoderManifestNetworkInterfacesResponse' {httpStatus} -> httpStatus) (\s@ListDecoderManifestNetworkInterfacesResponse' {} a -> s {httpStatus = a} :: ListDecoderManifestNetworkInterfacesResponse)++instance+ Prelude.NFData+ ListDecoderManifestNetworkInterfacesResponse+ where+ rnf ListDecoderManifestNetworkInterfacesResponse' {..} =+ Prelude.rnf networkInterfaces+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListDecoderManifestSignals.hs view
@@ -0,0 +1,265 @@+{-# 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.IoTFleetWise.ListDecoderManifestSignals+-- 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 list of information about signal decoders specified in a decoder+-- manifest.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListDecoderManifestSignals+ ( -- * Creating a Request+ ListDecoderManifestSignals (..),+ newListDecoderManifestSignals,++ -- * Request Lenses+ listDecoderManifestSignals_maxResults,+ listDecoderManifestSignals_nextToken,+ listDecoderManifestSignals_name,++ -- * Destructuring the Response+ ListDecoderManifestSignalsResponse (..),+ newListDecoderManifestSignalsResponse,++ -- * Response Lenses+ listDecoderManifestSignalsResponse_nextToken,+ listDecoderManifestSignalsResponse_signalDecoders,+ listDecoderManifestSignalsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDecoderManifestSignals' smart constructor.+data ListDecoderManifestSignals = ListDecoderManifestSignals'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the decoder manifest to list information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifestSignals' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDecoderManifestSignals_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listDecoderManifestSignals_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'name', 'listDecoderManifestSignals_name' - The name of the decoder manifest to list information about.+newListDecoderManifestSignals ::+ -- | 'name'+ Prelude.Text ->+ ListDecoderManifestSignals+newListDecoderManifestSignals pName_ =+ ListDecoderManifestSignals'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ name = pName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listDecoderManifestSignals_maxResults :: Lens.Lens' ListDecoderManifestSignals (Prelude.Maybe Prelude.Natural)+listDecoderManifestSignals_maxResults = Lens.lens (\ListDecoderManifestSignals' {maxResults} -> maxResults) (\s@ListDecoderManifestSignals' {} a -> s {maxResults = a} :: ListDecoderManifestSignals)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listDecoderManifestSignals_nextToken :: Lens.Lens' ListDecoderManifestSignals (Prelude.Maybe Prelude.Text)+listDecoderManifestSignals_nextToken = Lens.lens (\ListDecoderManifestSignals' {nextToken} -> nextToken) (\s@ListDecoderManifestSignals' {} a -> s {nextToken = a} :: ListDecoderManifestSignals)++-- | The name of the decoder manifest to list information about.+listDecoderManifestSignals_name :: Lens.Lens' ListDecoderManifestSignals Prelude.Text+listDecoderManifestSignals_name = Lens.lens (\ListDecoderManifestSignals' {name} -> name) (\s@ListDecoderManifestSignals' {} a -> s {name = a} :: ListDecoderManifestSignals)++instance Core.AWSPager ListDecoderManifestSignals where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestSignalsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestSignalsResponse_signalDecoders+ Prelude.. Lens._Just+ Prelude.. Lens.to Prelude.toList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDecoderManifestSignals_nextToken+ Lens..~ rs+ Lens.^? listDecoderManifestSignalsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDecoderManifestSignals where+ type+ AWSResponse ListDecoderManifestSignals =+ ListDecoderManifestSignalsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDecoderManifestSignalsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "signalDecoders")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDecoderManifestSignals where+ hashWithSalt _salt ListDecoderManifestSignals' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` name++instance Prelude.NFData ListDecoderManifestSignals where+ rnf ListDecoderManifestSignals' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders ListDecoderManifestSignals where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListDecoderManifestSignals" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDecoderManifestSignals where+ toJSON ListDecoderManifestSignals' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath ListDecoderManifestSignals where+ toPath = Prelude.const "/"++instance Data.ToQuery ListDecoderManifestSignals where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDecoderManifestSignalsResponse' smart constructor.+data ListDecoderManifestSignalsResponse = ListDecoderManifestSignalsResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Information about a list of signals to decode.+ signalDecoders :: Prelude.Maybe (Prelude.NonEmpty SignalDecoder),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifestSignalsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDecoderManifestSignalsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'signalDecoders', 'listDecoderManifestSignalsResponse_signalDecoders' - Information about a list of signals to decode.+--+-- 'httpStatus', 'listDecoderManifestSignalsResponse_httpStatus' - The response's http status code.+newListDecoderManifestSignalsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDecoderManifestSignalsResponse+newListDecoderManifestSignalsResponse pHttpStatus_ =+ ListDecoderManifestSignalsResponse'+ { nextToken =+ Prelude.Nothing,+ signalDecoders = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listDecoderManifestSignalsResponse_nextToken :: Lens.Lens' ListDecoderManifestSignalsResponse (Prelude.Maybe Prelude.Text)+listDecoderManifestSignalsResponse_nextToken = Lens.lens (\ListDecoderManifestSignalsResponse' {nextToken} -> nextToken) (\s@ListDecoderManifestSignalsResponse' {} a -> s {nextToken = a} :: ListDecoderManifestSignalsResponse)++-- | Information about a list of signals to decode.+listDecoderManifestSignalsResponse_signalDecoders :: Lens.Lens' ListDecoderManifestSignalsResponse (Prelude.Maybe (Prelude.NonEmpty SignalDecoder))+listDecoderManifestSignalsResponse_signalDecoders = Lens.lens (\ListDecoderManifestSignalsResponse' {signalDecoders} -> signalDecoders) (\s@ListDecoderManifestSignalsResponse' {} a -> s {signalDecoders = a} :: ListDecoderManifestSignalsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listDecoderManifestSignalsResponse_httpStatus :: Lens.Lens' ListDecoderManifestSignalsResponse Prelude.Int+listDecoderManifestSignalsResponse_httpStatus = Lens.lens (\ListDecoderManifestSignalsResponse' {httpStatus} -> httpStatus) (\s@ListDecoderManifestSignalsResponse' {} a -> s {httpStatus = a} :: ListDecoderManifestSignalsResponse)++instance+ Prelude.NFData+ ListDecoderManifestSignalsResponse+ where+ rnf ListDecoderManifestSignalsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf signalDecoders+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListDecoderManifests.hs view
@@ -0,0 +1,261 @@+{-# 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.IoTFleetWise.ListDecoderManifests+-- 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 decoder manifests.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListDecoderManifests+ ( -- * Creating a Request+ ListDecoderManifests (..),+ newListDecoderManifests,++ -- * Request Lenses+ listDecoderManifests_maxResults,+ listDecoderManifests_modelManifestArn,+ listDecoderManifests_nextToken,++ -- * Destructuring the Response+ ListDecoderManifestsResponse (..),+ newListDecoderManifestsResponse,++ -- * Response Lenses+ listDecoderManifestsResponse_nextToken,+ listDecoderManifestsResponse_summaries,+ listDecoderManifestsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDecoderManifests' smart constructor.+data ListDecoderManifests = ListDecoderManifests'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of a vehicle model (model manifest)+ -- associated with the decoder manifest.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifests' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDecoderManifests_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'modelManifestArn', 'listDecoderManifests_modelManifestArn' - The Amazon Resource Name (ARN) of a vehicle model (model manifest)+-- associated with the decoder manifest.+--+-- 'nextToken', 'listDecoderManifests_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+newListDecoderManifests ::+ ListDecoderManifests+newListDecoderManifests =+ ListDecoderManifests'+ { maxResults = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listDecoderManifests_maxResults :: Lens.Lens' ListDecoderManifests (Prelude.Maybe Prelude.Natural)+listDecoderManifests_maxResults = Lens.lens (\ListDecoderManifests' {maxResults} -> maxResults) (\s@ListDecoderManifests' {} a -> s {maxResults = a} :: ListDecoderManifests)++-- | The Amazon Resource Name (ARN) of a vehicle model (model manifest)+-- associated with the decoder manifest.+listDecoderManifests_modelManifestArn :: Lens.Lens' ListDecoderManifests (Prelude.Maybe Prelude.Text)+listDecoderManifests_modelManifestArn = Lens.lens (\ListDecoderManifests' {modelManifestArn} -> modelManifestArn) (\s@ListDecoderManifests' {} a -> s {modelManifestArn = a} :: ListDecoderManifests)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listDecoderManifests_nextToken :: Lens.Lens' ListDecoderManifests (Prelude.Maybe Prelude.Text)+listDecoderManifests_nextToken = Lens.lens (\ListDecoderManifests' {nextToken} -> nextToken) (\s@ListDecoderManifests' {} a -> s {nextToken = a} :: ListDecoderManifests)++instance Core.AWSPager ListDecoderManifests where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listDecoderManifestsResponse_summaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDecoderManifests_nextToken+ Lens..~ rs+ Lens.^? listDecoderManifestsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDecoderManifests where+ type+ AWSResponse ListDecoderManifests =+ ListDecoderManifestsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDecoderManifestsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "summaries" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListDecoderManifests where+ hashWithSalt _salt ListDecoderManifests' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDecoderManifests where+ rnf ListDecoderManifests' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDecoderManifests where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListDecoderManifests" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDecoderManifests where+ toJSON ListDecoderManifests' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("modelManifestArn" Data..=)+ Prelude.<$> modelManifestArn,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListDecoderManifests where+ toPath = Prelude.const "/"++instance Data.ToQuery ListDecoderManifests where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDecoderManifestsResponse' smart constructor.+data ListDecoderManifestsResponse = ListDecoderManifestsResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of information about each decoder manifest.+ summaries :: Prelude.Maybe [DecoderManifestSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDecoderManifestsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDecoderManifestsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'summaries', 'listDecoderManifestsResponse_summaries' - A list of information about each decoder manifest.+--+-- 'httpStatus', 'listDecoderManifestsResponse_httpStatus' - The response's http status code.+newListDecoderManifestsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDecoderManifestsResponse+newListDecoderManifestsResponse pHttpStatus_ =+ ListDecoderManifestsResponse'+ { nextToken =+ Prelude.Nothing,+ summaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listDecoderManifestsResponse_nextToken :: Lens.Lens' ListDecoderManifestsResponse (Prelude.Maybe Prelude.Text)+listDecoderManifestsResponse_nextToken = Lens.lens (\ListDecoderManifestsResponse' {nextToken} -> nextToken) (\s@ListDecoderManifestsResponse' {} a -> s {nextToken = a} :: ListDecoderManifestsResponse)++-- | A list of information about each decoder manifest.+listDecoderManifestsResponse_summaries :: Lens.Lens' ListDecoderManifestsResponse (Prelude.Maybe [DecoderManifestSummary])+listDecoderManifestsResponse_summaries = Lens.lens (\ListDecoderManifestsResponse' {summaries} -> summaries) (\s@ListDecoderManifestsResponse' {} a -> s {summaries = a} :: ListDecoderManifestsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listDecoderManifestsResponse_httpStatus :: Lens.Lens' ListDecoderManifestsResponse Prelude.Int+listDecoderManifestsResponse_httpStatus = Lens.lens (\ListDecoderManifestsResponse' {httpStatus} -> httpStatus) (\s@ListDecoderManifestsResponse' {} a -> s {httpStatus = a} :: ListDecoderManifestsResponse)++instance Prelude.NFData ListDecoderManifestsResponse where+ rnf ListDecoderManifestsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf summaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListFleets.hs view
@@ -0,0 +1,243 @@+{-# 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.IoTFleetWise.ListFleets+-- 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 information for each created fleet in an Amazon Web Services+-- account.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListFleets+ ( -- * Creating a Request+ ListFleets (..),+ newListFleets,++ -- * Request Lenses+ listFleets_maxResults,+ listFleets_nextToken,++ -- * Destructuring the Response+ ListFleetsResponse (..),+ newListFleetsResponse,++ -- * Response Lenses+ listFleetsResponse_fleetSummaries,+ listFleetsResponse_nextToken,+ listFleetsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFleets' smart constructor.+data ListFleets = ListFleets'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFleets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listFleets_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listFleets_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+newListFleets ::+ ListFleets+newListFleets =+ ListFleets'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listFleets_maxResults :: Lens.Lens' ListFleets (Prelude.Maybe Prelude.Natural)+listFleets_maxResults = Lens.lens (\ListFleets' {maxResults} -> maxResults) (\s@ListFleets' {} a -> s {maxResults = a} :: ListFleets)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listFleets_nextToken :: Lens.Lens' ListFleets (Prelude.Maybe Prelude.Text)+listFleets_nextToken = Lens.lens (\ListFleets' {nextToken} -> nextToken) (\s@ListFleets' {} a -> s {nextToken = a} :: ListFleets)++instance Core.AWSPager ListFleets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFleetsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFleetsResponse_fleetSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFleets_nextToken+ Lens..~ rs+ Lens.^? listFleetsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFleets where+ type AWSResponse ListFleets = ListFleetsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFleetsResponse'+ Prelude.<$> (x Data..?> "fleetSummaries" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFleets where+ hashWithSalt _salt ListFleets' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFleets where+ rnf ListFleets' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFleets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListFleets" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFleets where+ toJSON ListFleets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListFleets where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFleets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFleetsResponse' smart constructor.+data ListFleetsResponse = ListFleetsResponse'+ { -- | A list of information for each fleet.+ fleetSummaries :: Prelude.Maybe [FleetSummary],+ -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFleetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fleetSummaries', 'listFleetsResponse_fleetSummaries' - A list of information for each fleet.+--+-- 'nextToken', 'listFleetsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'httpStatus', 'listFleetsResponse_httpStatus' - The response's http status code.+newListFleetsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFleetsResponse+newListFleetsResponse pHttpStatus_ =+ ListFleetsResponse'+ { fleetSummaries =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of information for each fleet.+listFleetsResponse_fleetSummaries :: Lens.Lens' ListFleetsResponse (Prelude.Maybe [FleetSummary])+listFleetsResponse_fleetSummaries = Lens.lens (\ListFleetsResponse' {fleetSummaries} -> fleetSummaries) (\s@ListFleetsResponse' {} a -> s {fleetSummaries = a} :: ListFleetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listFleetsResponse_nextToken :: Lens.Lens' ListFleetsResponse (Prelude.Maybe Prelude.Text)+listFleetsResponse_nextToken = Lens.lens (\ListFleetsResponse' {nextToken} -> nextToken) (\s@ListFleetsResponse' {} a -> s {nextToken = a} :: ListFleetsResponse)++-- | The response's http status code.+listFleetsResponse_httpStatus :: Lens.Lens' ListFleetsResponse Prelude.Int+listFleetsResponse_httpStatus = Lens.lens (\ListFleetsResponse' {httpStatus} -> httpStatus) (\s@ListFleetsResponse' {} a -> s {httpStatus = a} :: ListFleetsResponse)++instance Prelude.NFData ListFleetsResponse where+ rnf ListFleetsResponse' {..} =+ Prelude.rnf fleetSummaries+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListFleetsForVehicle.hs view
@@ -0,0 +1,260 @@+{-# 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.IoTFleetWise.ListFleetsForVehicle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of IDs for all fleets that the vehicle is associated+-- with.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListFleetsForVehicle+ ( -- * Creating a Request+ ListFleetsForVehicle (..),+ newListFleetsForVehicle,++ -- * Request Lenses+ listFleetsForVehicle_maxResults,+ listFleetsForVehicle_nextToken,+ listFleetsForVehicle_vehicleName,++ -- * Destructuring the Response+ ListFleetsForVehicleResponse (..),+ newListFleetsForVehicleResponse,++ -- * Response Lenses+ listFleetsForVehicleResponse_fleets,+ listFleetsForVehicleResponse_nextToken,+ listFleetsForVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFleetsForVehicle' smart constructor.+data ListFleetsForVehicle = ListFleetsForVehicle'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of the vehicle to retrieve information about.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFleetsForVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listFleetsForVehicle_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listFleetsForVehicle_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'vehicleName', 'listFleetsForVehicle_vehicleName' - The ID of the vehicle to retrieve information about.+newListFleetsForVehicle ::+ -- | 'vehicleName'+ Prelude.Text ->+ ListFleetsForVehicle+newListFleetsForVehicle pVehicleName_ =+ ListFleetsForVehicle'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ vehicleName = pVehicleName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listFleetsForVehicle_maxResults :: Lens.Lens' ListFleetsForVehicle (Prelude.Maybe Prelude.Natural)+listFleetsForVehicle_maxResults = Lens.lens (\ListFleetsForVehicle' {maxResults} -> maxResults) (\s@ListFleetsForVehicle' {} a -> s {maxResults = a} :: ListFleetsForVehicle)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listFleetsForVehicle_nextToken :: Lens.Lens' ListFleetsForVehicle (Prelude.Maybe Prelude.Text)+listFleetsForVehicle_nextToken = Lens.lens (\ListFleetsForVehicle' {nextToken} -> nextToken) (\s@ListFleetsForVehicle' {} a -> s {nextToken = a} :: ListFleetsForVehicle)++-- | The ID of the vehicle to retrieve information about.+listFleetsForVehicle_vehicleName :: Lens.Lens' ListFleetsForVehicle Prelude.Text+listFleetsForVehicle_vehicleName = Lens.lens (\ListFleetsForVehicle' {vehicleName} -> vehicleName) (\s@ListFleetsForVehicle' {} a -> s {vehicleName = a} :: ListFleetsForVehicle)++instance Core.AWSPager ListFleetsForVehicle where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFleetsForVehicleResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFleetsForVehicleResponse_fleets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFleetsForVehicle_nextToken+ Lens..~ rs+ Lens.^? listFleetsForVehicleResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFleetsForVehicle where+ type+ AWSResponse ListFleetsForVehicle =+ ListFleetsForVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFleetsForVehicleResponse'+ Prelude.<$> (x Data..?> "fleets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFleetsForVehicle where+ hashWithSalt _salt ListFleetsForVehicle' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData ListFleetsForVehicle where+ rnf ListFleetsForVehicle' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vehicleName++instance Data.ToHeaders ListFleetsForVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListFleetsForVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFleetsForVehicle where+ toJSON ListFleetsForVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("vehicleName" Data..= vehicleName)+ ]+ )++instance Data.ToPath ListFleetsForVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery ListFleetsForVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFleetsForVehicleResponse' smart constructor.+data ListFleetsForVehicleResponse = ListFleetsForVehicleResponse'+ { -- | A list of fleet IDs that the vehicle is associated with.+ fleets :: Prelude.Maybe [Prelude.Text],+ -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFleetsForVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fleets', 'listFleetsForVehicleResponse_fleets' - A list of fleet IDs that the vehicle is associated with.+--+-- 'nextToken', 'listFleetsForVehicleResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'httpStatus', 'listFleetsForVehicleResponse_httpStatus' - The response's http status code.+newListFleetsForVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFleetsForVehicleResponse+newListFleetsForVehicleResponse pHttpStatus_ =+ ListFleetsForVehicleResponse'+ { fleets =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of fleet IDs that the vehicle is associated with.+listFleetsForVehicleResponse_fleets :: Lens.Lens' ListFleetsForVehicleResponse (Prelude.Maybe [Prelude.Text])+listFleetsForVehicleResponse_fleets = Lens.lens (\ListFleetsForVehicleResponse' {fleets} -> fleets) (\s@ListFleetsForVehicleResponse' {} a -> s {fleets = a} :: ListFleetsForVehicleResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listFleetsForVehicleResponse_nextToken :: Lens.Lens' ListFleetsForVehicleResponse (Prelude.Maybe Prelude.Text)+listFleetsForVehicleResponse_nextToken = Lens.lens (\ListFleetsForVehicleResponse' {nextToken} -> nextToken) (\s@ListFleetsForVehicleResponse' {} a -> s {nextToken = a} :: ListFleetsForVehicleResponse)++-- | The response's http status code.+listFleetsForVehicleResponse_httpStatus :: Lens.Lens' ListFleetsForVehicleResponse Prelude.Int+listFleetsForVehicleResponse_httpStatus = Lens.lens (\ListFleetsForVehicleResponse' {httpStatus} -> httpStatus) (\s@ListFleetsForVehicleResponse' {} a -> s {httpStatus = a} :: ListFleetsForVehicleResponse)++instance Prelude.NFData ListFleetsForVehicleResponse where+ rnf ListFleetsForVehicleResponse' {..} =+ Prelude.rnf fleets+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListModelManifestNodes.hs view
@@ -0,0 +1,264 @@+{-# 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.IoTFleetWise.ListModelManifestNodes+-- 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 information about nodes specified in a vehicle model (model+-- manifest).+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListModelManifestNodes+ ( -- * Creating a Request+ ListModelManifestNodes (..),+ newListModelManifestNodes,++ -- * Request Lenses+ listModelManifestNodes_maxResults,+ listModelManifestNodes_nextToken,+ listModelManifestNodes_name,++ -- * Destructuring the Response+ ListModelManifestNodesResponse (..),+ newListModelManifestNodesResponse,++ -- * Response Lenses+ listModelManifestNodesResponse_nextToken,+ listModelManifestNodesResponse_nodes,+ listModelManifestNodesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListModelManifestNodes' smart constructor.+data ListModelManifestNodes = ListModelManifestNodes'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the vehicle model to list information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelManifestNodes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModelManifestNodes_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listModelManifestNodes_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'name', 'listModelManifestNodes_name' - The name of the vehicle model to list information about.+newListModelManifestNodes ::+ -- | 'name'+ Prelude.Text ->+ ListModelManifestNodes+newListModelManifestNodes pName_ =+ ListModelManifestNodes'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ name = pName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listModelManifestNodes_maxResults :: Lens.Lens' ListModelManifestNodes (Prelude.Maybe Prelude.Natural)+listModelManifestNodes_maxResults = Lens.lens (\ListModelManifestNodes' {maxResults} -> maxResults) (\s@ListModelManifestNodes' {} a -> s {maxResults = a} :: ListModelManifestNodes)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listModelManifestNodes_nextToken :: Lens.Lens' ListModelManifestNodes (Prelude.Maybe Prelude.Text)+listModelManifestNodes_nextToken = Lens.lens (\ListModelManifestNodes' {nextToken} -> nextToken) (\s@ListModelManifestNodes' {} a -> s {nextToken = a} :: ListModelManifestNodes)++-- | The name of the vehicle model to list information about.+listModelManifestNodes_name :: Lens.Lens' ListModelManifestNodes Prelude.Text+listModelManifestNodes_name = Lens.lens (\ListModelManifestNodes' {name} -> name) (\s@ListModelManifestNodes' {} a -> s {name = a} :: ListModelManifestNodes)++instance Core.AWSPager ListModelManifestNodes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listModelManifestNodesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listModelManifestNodesResponse_nodes+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listModelManifestNodes_nextToken+ Lens..~ rs+ Lens.^? listModelManifestNodesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListModelManifestNodes where+ type+ AWSResponse ListModelManifestNodes =+ ListModelManifestNodesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListModelManifestNodesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "nodes" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListModelManifestNodes where+ hashWithSalt _salt ListModelManifestNodes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` name++instance Prelude.NFData ListModelManifestNodes where+ rnf ListModelManifestNodes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders ListModelManifestNodes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListModelManifestNodes" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListModelManifestNodes where+ toJSON ListModelManifestNodes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath ListModelManifestNodes where+ toPath = Prelude.const "/"++instance Data.ToQuery ListModelManifestNodes where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListModelManifestNodesResponse' smart constructor.+data ListModelManifestNodesResponse = ListModelManifestNodesResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of information about nodes.+ nodes :: Prelude.Maybe [Node],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelManifestNodesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModelManifestNodesResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'nodes', 'listModelManifestNodesResponse_nodes' - A list of information about nodes.+--+-- 'httpStatus', 'listModelManifestNodesResponse_httpStatus' - The response's http status code.+newListModelManifestNodesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListModelManifestNodesResponse+newListModelManifestNodesResponse pHttpStatus_ =+ ListModelManifestNodesResponse'+ { nextToken =+ Prelude.Nothing,+ nodes = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listModelManifestNodesResponse_nextToken :: Lens.Lens' ListModelManifestNodesResponse (Prelude.Maybe Prelude.Text)+listModelManifestNodesResponse_nextToken = Lens.lens (\ListModelManifestNodesResponse' {nextToken} -> nextToken) (\s@ListModelManifestNodesResponse' {} a -> s {nextToken = a} :: ListModelManifestNodesResponse)++-- | A list of information about nodes.+listModelManifestNodesResponse_nodes :: Lens.Lens' ListModelManifestNodesResponse (Prelude.Maybe [Node])+listModelManifestNodesResponse_nodes = Lens.lens (\ListModelManifestNodesResponse' {nodes} -> nodes) (\s@ListModelManifestNodesResponse' {} a -> s {nodes = a} :: ListModelManifestNodesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listModelManifestNodesResponse_httpStatus :: Lens.Lens' ListModelManifestNodesResponse Prelude.Int+listModelManifestNodesResponse_httpStatus = Lens.lens (\ListModelManifestNodesResponse' {httpStatus} -> httpStatus) (\s@ListModelManifestNodesResponse' {} a -> s {httpStatus = a} :: ListModelManifestNodesResponse)++instance+ Prelude.NFData+ ListModelManifestNodesResponse+ where+ rnf ListModelManifestNodesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf nodes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListModelManifests.hs view
@@ -0,0 +1,261 @@+{-# 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.IoTFleetWise.ListModelManifests+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of vehicle models (model manifests).+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListModelManifests+ ( -- * Creating a Request+ ListModelManifests (..),+ newListModelManifests,++ -- * Request Lenses+ listModelManifests_maxResults,+ listModelManifests_nextToken,+ listModelManifests_signalCatalogArn,++ -- * Destructuring the Response+ ListModelManifestsResponse (..),+ newListModelManifestsResponse,++ -- * Response Lenses+ listModelManifestsResponse_nextToken,+ listModelManifestsResponse_summaries,+ listModelManifestsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListModelManifests' smart constructor.+data ListModelManifests = ListModelManifests'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a signal catalog. If you specify a signal catalog, only the+ -- vehicle models associated with it are returned.+ signalCatalogArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelManifests' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModelManifests_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listModelManifests_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'signalCatalogArn', 'listModelManifests_signalCatalogArn' - The ARN of a signal catalog. If you specify a signal catalog, only the+-- vehicle models associated with it are returned.+newListModelManifests ::+ ListModelManifests+newListModelManifests =+ ListModelManifests'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ signalCatalogArn = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listModelManifests_maxResults :: Lens.Lens' ListModelManifests (Prelude.Maybe Prelude.Natural)+listModelManifests_maxResults = Lens.lens (\ListModelManifests' {maxResults} -> maxResults) (\s@ListModelManifests' {} a -> s {maxResults = a} :: ListModelManifests)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listModelManifests_nextToken :: Lens.Lens' ListModelManifests (Prelude.Maybe Prelude.Text)+listModelManifests_nextToken = Lens.lens (\ListModelManifests' {nextToken} -> nextToken) (\s@ListModelManifests' {} a -> s {nextToken = a} :: ListModelManifests)++-- | The ARN of a signal catalog. If you specify a signal catalog, only the+-- vehicle models associated with it are returned.+listModelManifests_signalCatalogArn :: Lens.Lens' ListModelManifests (Prelude.Maybe Prelude.Text)+listModelManifests_signalCatalogArn = Lens.lens (\ListModelManifests' {signalCatalogArn} -> signalCatalogArn) (\s@ListModelManifests' {} a -> s {signalCatalogArn = a} :: ListModelManifests)++instance Core.AWSPager ListModelManifests where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listModelManifestsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listModelManifestsResponse_summaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listModelManifests_nextToken+ Lens..~ rs+ Lens.^? listModelManifestsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListModelManifests where+ type+ AWSResponse ListModelManifests =+ ListModelManifestsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListModelManifestsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "summaries" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListModelManifests where+ hashWithSalt _salt ListModelManifests' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` signalCatalogArn++instance Prelude.NFData ListModelManifests where+ rnf ListModelManifests' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf signalCatalogArn++instance Data.ToHeaders ListModelManifests where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListModelManifests" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListModelManifests where+ toJSON ListModelManifests' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("signalCatalogArn" Data..=)+ Prelude.<$> signalCatalogArn+ ]+ )++instance Data.ToPath ListModelManifests where+ toPath = Prelude.const "/"++instance Data.ToQuery ListModelManifests where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListModelManifestsResponse' smart constructor.+data ListModelManifestsResponse = ListModelManifestsResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of information about vehicle models.+ summaries :: Prelude.Maybe [ModelManifestSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListModelManifestsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listModelManifestsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'summaries', 'listModelManifestsResponse_summaries' - A list of information about vehicle models.+--+-- 'httpStatus', 'listModelManifestsResponse_httpStatus' - The response's http status code.+newListModelManifestsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListModelManifestsResponse+newListModelManifestsResponse pHttpStatus_ =+ ListModelManifestsResponse'+ { nextToken =+ Prelude.Nothing,+ summaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listModelManifestsResponse_nextToken :: Lens.Lens' ListModelManifestsResponse (Prelude.Maybe Prelude.Text)+listModelManifestsResponse_nextToken = Lens.lens (\ListModelManifestsResponse' {nextToken} -> nextToken) (\s@ListModelManifestsResponse' {} a -> s {nextToken = a} :: ListModelManifestsResponse)++-- | A list of information about vehicle models.+listModelManifestsResponse_summaries :: Lens.Lens' ListModelManifestsResponse (Prelude.Maybe [ModelManifestSummary])+listModelManifestsResponse_summaries = Lens.lens (\ListModelManifestsResponse' {summaries} -> summaries) (\s@ListModelManifestsResponse' {} a -> s {summaries = a} :: ListModelManifestsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listModelManifestsResponse_httpStatus :: Lens.Lens' ListModelManifestsResponse Prelude.Int+listModelManifestsResponse_httpStatus = Lens.lens (\ListModelManifestsResponse' {httpStatus} -> httpStatus) (\s@ListModelManifestsResponse' {} a -> s {httpStatus = a} :: ListModelManifestsResponse)++instance Prelude.NFData ListModelManifestsResponse where+ rnf ListModelManifestsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf summaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListSignalCatalogNodes.hs view
@@ -0,0 +1,264 @@+{-# 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.IoTFleetWise.ListSignalCatalogNodes+-- 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 of information about the signals (nodes) specified in a signal+-- catalog.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListSignalCatalogNodes+ ( -- * Creating a Request+ ListSignalCatalogNodes (..),+ newListSignalCatalogNodes,++ -- * Request Lenses+ listSignalCatalogNodes_maxResults,+ listSignalCatalogNodes_nextToken,+ listSignalCatalogNodes_name,++ -- * Destructuring the Response+ ListSignalCatalogNodesResponse (..),+ newListSignalCatalogNodesResponse,++ -- * Response Lenses+ listSignalCatalogNodesResponse_nextToken,+ listSignalCatalogNodesResponse_nodes,+ listSignalCatalogNodesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSignalCatalogNodes' smart constructor.+data ListSignalCatalogNodes = ListSignalCatalogNodes'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the signal catalog to list information about.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSignalCatalogNodes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSignalCatalogNodes_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listSignalCatalogNodes_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'name', 'listSignalCatalogNodes_name' - The name of the signal catalog to list information about.+newListSignalCatalogNodes ::+ -- | 'name'+ Prelude.Text ->+ ListSignalCatalogNodes+newListSignalCatalogNodes pName_ =+ ListSignalCatalogNodes'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ name = pName_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listSignalCatalogNodes_maxResults :: Lens.Lens' ListSignalCatalogNodes (Prelude.Maybe Prelude.Natural)+listSignalCatalogNodes_maxResults = Lens.lens (\ListSignalCatalogNodes' {maxResults} -> maxResults) (\s@ListSignalCatalogNodes' {} a -> s {maxResults = a} :: ListSignalCatalogNodes)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listSignalCatalogNodes_nextToken :: Lens.Lens' ListSignalCatalogNodes (Prelude.Maybe Prelude.Text)+listSignalCatalogNodes_nextToken = Lens.lens (\ListSignalCatalogNodes' {nextToken} -> nextToken) (\s@ListSignalCatalogNodes' {} a -> s {nextToken = a} :: ListSignalCatalogNodes)++-- | The name of the signal catalog to list information about.+listSignalCatalogNodes_name :: Lens.Lens' ListSignalCatalogNodes Prelude.Text+listSignalCatalogNodes_name = Lens.lens (\ListSignalCatalogNodes' {name} -> name) (\s@ListSignalCatalogNodes' {} a -> s {name = a} :: ListSignalCatalogNodes)++instance Core.AWSPager ListSignalCatalogNodes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSignalCatalogNodesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSignalCatalogNodesResponse_nodes+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSignalCatalogNodes_nextToken+ Lens..~ rs+ Lens.^? listSignalCatalogNodesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSignalCatalogNodes where+ type+ AWSResponse ListSignalCatalogNodes =+ ListSignalCatalogNodesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSignalCatalogNodesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "nodes" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSignalCatalogNodes where+ hashWithSalt _salt ListSignalCatalogNodes' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` name++instance Prelude.NFData ListSignalCatalogNodes where+ rnf ListSignalCatalogNodes' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders ListSignalCatalogNodes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListSignalCatalogNodes" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSignalCatalogNodes where+ toJSON ListSignalCatalogNodes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath ListSignalCatalogNodes where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSignalCatalogNodes where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSignalCatalogNodesResponse' smart constructor.+data ListSignalCatalogNodesResponse = ListSignalCatalogNodesResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of information about nodes.+ nodes :: Prelude.Maybe [Node],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSignalCatalogNodesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSignalCatalogNodesResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'nodes', 'listSignalCatalogNodesResponse_nodes' - A list of information about nodes.+--+-- 'httpStatus', 'listSignalCatalogNodesResponse_httpStatus' - The response's http status code.+newListSignalCatalogNodesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSignalCatalogNodesResponse+newListSignalCatalogNodesResponse pHttpStatus_ =+ ListSignalCatalogNodesResponse'+ { nextToken =+ Prelude.Nothing,+ nodes = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listSignalCatalogNodesResponse_nextToken :: Lens.Lens' ListSignalCatalogNodesResponse (Prelude.Maybe Prelude.Text)+listSignalCatalogNodesResponse_nextToken = Lens.lens (\ListSignalCatalogNodesResponse' {nextToken} -> nextToken) (\s@ListSignalCatalogNodesResponse' {} a -> s {nextToken = a} :: ListSignalCatalogNodesResponse)++-- | A list of information about nodes.+listSignalCatalogNodesResponse_nodes :: Lens.Lens' ListSignalCatalogNodesResponse (Prelude.Maybe [Node])+listSignalCatalogNodesResponse_nodes = Lens.lens (\ListSignalCatalogNodesResponse' {nodes} -> nodes) (\s@ListSignalCatalogNodesResponse' {} a -> s {nodes = a} :: ListSignalCatalogNodesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSignalCatalogNodesResponse_httpStatus :: Lens.Lens' ListSignalCatalogNodesResponse Prelude.Int+listSignalCatalogNodesResponse_httpStatus = Lens.lens (\ListSignalCatalogNodesResponse' {httpStatus} -> httpStatus) (\s@ListSignalCatalogNodesResponse' {} a -> s {httpStatus = a} :: ListSignalCatalogNodesResponse)++instance+ Prelude.NFData+ ListSignalCatalogNodesResponse+ where+ rnf ListSignalCatalogNodesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf nodes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListSignalCatalogs.hs view
@@ -0,0 +1,247 @@+{-# 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.IoTFleetWise.ListSignalCatalogs+-- 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 all the created signal catalogs in an Amazon Web Services account.+--+-- You can use to list information about each signal (node) specified in a+-- signal catalog.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListSignalCatalogs+ ( -- * Creating a Request+ ListSignalCatalogs (..),+ newListSignalCatalogs,++ -- * Request Lenses+ listSignalCatalogs_maxResults,+ listSignalCatalogs_nextToken,++ -- * Destructuring the Response+ ListSignalCatalogsResponse (..),+ newListSignalCatalogsResponse,++ -- * Response Lenses+ listSignalCatalogsResponse_nextToken,+ listSignalCatalogsResponse_summaries,+ listSignalCatalogsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSignalCatalogs' smart constructor.+data ListSignalCatalogs = ListSignalCatalogs'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSignalCatalogs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSignalCatalogs_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listSignalCatalogs_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+newListSignalCatalogs ::+ ListSignalCatalogs+newListSignalCatalogs =+ ListSignalCatalogs'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listSignalCatalogs_maxResults :: Lens.Lens' ListSignalCatalogs (Prelude.Maybe Prelude.Natural)+listSignalCatalogs_maxResults = Lens.lens (\ListSignalCatalogs' {maxResults} -> maxResults) (\s@ListSignalCatalogs' {} a -> s {maxResults = a} :: ListSignalCatalogs)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listSignalCatalogs_nextToken :: Lens.Lens' ListSignalCatalogs (Prelude.Maybe Prelude.Text)+listSignalCatalogs_nextToken = Lens.lens (\ListSignalCatalogs' {nextToken} -> nextToken) (\s@ListSignalCatalogs' {} a -> s {nextToken = a} :: ListSignalCatalogs)++instance Core.AWSPager ListSignalCatalogs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSignalCatalogsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSignalCatalogsResponse_summaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSignalCatalogs_nextToken+ Lens..~ rs+ Lens.^? listSignalCatalogsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSignalCatalogs where+ type+ AWSResponse ListSignalCatalogs =+ ListSignalCatalogsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSignalCatalogsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "summaries" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSignalCatalogs where+ hashWithSalt _salt ListSignalCatalogs' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSignalCatalogs where+ rnf ListSignalCatalogs' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSignalCatalogs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListSignalCatalogs" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListSignalCatalogs where+ toJSON ListSignalCatalogs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListSignalCatalogs where+ toPath = Prelude.const "/"++instance Data.ToQuery ListSignalCatalogs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListSignalCatalogsResponse' smart constructor.+data ListSignalCatalogsResponse = ListSignalCatalogsResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of information about each signal catalog.+ summaries :: Prelude.Maybe [SignalCatalogSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSignalCatalogsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSignalCatalogsResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'summaries', 'listSignalCatalogsResponse_summaries' - A list of information about each signal catalog.+--+-- 'httpStatus', 'listSignalCatalogsResponse_httpStatus' - The response's http status code.+newListSignalCatalogsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSignalCatalogsResponse+newListSignalCatalogsResponse pHttpStatus_ =+ ListSignalCatalogsResponse'+ { nextToken =+ Prelude.Nothing,+ summaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listSignalCatalogsResponse_nextToken :: Lens.Lens' ListSignalCatalogsResponse (Prelude.Maybe Prelude.Text)+listSignalCatalogsResponse_nextToken = Lens.lens (\ListSignalCatalogsResponse' {nextToken} -> nextToken) (\s@ListSignalCatalogsResponse' {} a -> s {nextToken = a} :: ListSignalCatalogsResponse)++-- | A list of information about each signal catalog.+listSignalCatalogsResponse_summaries :: Lens.Lens' ListSignalCatalogsResponse (Prelude.Maybe [SignalCatalogSummary])+listSignalCatalogsResponse_summaries = Lens.lens (\ListSignalCatalogsResponse' {summaries} -> summaries) (\s@ListSignalCatalogsResponse' {} a -> s {summaries = a} :: ListSignalCatalogsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSignalCatalogsResponse_httpStatus :: Lens.Lens' ListSignalCatalogsResponse Prelude.Int+listSignalCatalogsResponse_httpStatus = Lens.lens (\ListSignalCatalogsResponse' {httpStatus} -> httpStatus) (\s@ListSignalCatalogsResponse' {} a -> s {httpStatus = a} :: ListSignalCatalogsResponse)++instance Prelude.NFData ListSignalCatalogsResponse where+ rnf ListSignalCatalogsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf summaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListTagsForResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags (metadata) you have assigned to the resource.+module Amazonka.IoTFleetWise.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.IoTFleetWise.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 ARN of the resource.+ 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 ARN of the resource.+newListTagsForResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceARN_ =+ ListTagsForResource' {resourceARN = pResourceARN_}++-- | The ARN of the resource.+listTagsForResource_resourceARN :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceARN = Lens.lens (\ListTagsForResource' {resourceARN} -> resourceARN) (\s@ListTagsForResource' {} a -> s {resourceARN = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceARN++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceARN++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListTagsForResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListTagsForResource where+ toJSON ListTagsForResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("ResourceARN" Data..= resourceARN)]+ )++instance Data.ToPath ListTagsForResource where+ toPath = Prelude.const "/"++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The list of tags assigned to the resource.+ tags :: Prelude.Maybe [Tag],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of tags assigned to the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of tags assigned to the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListVehicles.hs view
@@ -0,0 +1,264 @@+{-# 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.IoTFleetWise.ListVehicles+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of summaries of created vehicles.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListVehicles+ ( -- * Creating a Request+ ListVehicles (..),+ newListVehicles,++ -- * Request Lenses+ listVehicles_maxResults,+ listVehicles_modelManifestArn,+ listVehicles_nextToken,++ -- * Destructuring the Response+ ListVehiclesResponse (..),+ newListVehiclesResponse,++ -- * Response Lenses+ listVehiclesResponse_nextToken,+ listVehiclesResponse_vehicleSummaries,+ listVehiclesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListVehicles' smart constructor.+data ListVehicles = ListVehicles'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) of a vehicle model (model manifest). You+ -- can use this optional parameter to list only the vehicles created from a+ -- certain vehicle model.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVehicles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVehicles_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'modelManifestArn', 'listVehicles_modelManifestArn' - The Amazon Resource Name (ARN) of a vehicle model (model manifest). You+-- can use this optional parameter to list only the vehicles created from a+-- certain vehicle model.+--+-- 'nextToken', 'listVehicles_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+newListVehicles ::+ ListVehicles+newListVehicles =+ ListVehicles'+ { maxResults = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listVehicles_maxResults :: Lens.Lens' ListVehicles (Prelude.Maybe Prelude.Natural)+listVehicles_maxResults = Lens.lens (\ListVehicles' {maxResults} -> maxResults) (\s@ListVehicles' {} a -> s {maxResults = a} :: ListVehicles)++-- | The Amazon Resource Name (ARN) of a vehicle model (model manifest). You+-- can use this optional parameter to list only the vehicles created from a+-- certain vehicle model.+listVehicles_modelManifestArn :: Lens.Lens' ListVehicles (Prelude.Maybe Prelude.Text)+listVehicles_modelManifestArn = Lens.lens (\ListVehicles' {modelManifestArn} -> modelManifestArn) (\s@ListVehicles' {} a -> s {modelManifestArn = a} :: ListVehicles)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listVehicles_nextToken :: Lens.Lens' ListVehicles (Prelude.Maybe Prelude.Text)+listVehicles_nextToken = Lens.lens (\ListVehicles' {nextToken} -> nextToken) (\s@ListVehicles' {} a -> s {nextToken = a} :: ListVehicles)++instance Core.AWSPager ListVehicles where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listVehiclesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listVehiclesResponse_vehicleSummaries+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listVehicles_nextToken+ Lens..~ rs+ Lens.^? listVehiclesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListVehicles where+ type AWSResponse ListVehicles = ListVehiclesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListVehiclesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "vehicleSummaries"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListVehicles where+ hashWithSalt _salt ListVehicles' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListVehicles where+ rnf ListVehicles' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListVehicles where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListVehicles" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListVehicles where+ toJSON ListVehicles' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("modelManifestArn" Data..=)+ Prelude.<$> modelManifestArn,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListVehicles where+ toPath = Prelude.const "/"++instance Data.ToQuery ListVehicles where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVehiclesResponse' smart constructor.+data ListVehiclesResponse = ListVehiclesResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of vehicles and information about them.+ vehicleSummaries :: Prelude.Maybe [VehicleSummary],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVehiclesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVehiclesResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'vehicleSummaries', 'listVehiclesResponse_vehicleSummaries' - A list of vehicles and information about them.+--+-- 'httpStatus', 'listVehiclesResponse_httpStatus' - The response's http status code.+newListVehiclesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListVehiclesResponse+newListVehiclesResponse pHttpStatus_ =+ ListVehiclesResponse'+ { nextToken = Prelude.Nothing,+ vehicleSummaries = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listVehiclesResponse_nextToken :: Lens.Lens' ListVehiclesResponse (Prelude.Maybe Prelude.Text)+listVehiclesResponse_nextToken = Lens.lens (\ListVehiclesResponse' {nextToken} -> nextToken) (\s@ListVehiclesResponse' {} a -> s {nextToken = a} :: ListVehiclesResponse)++-- | A list of vehicles and information about them.+listVehiclesResponse_vehicleSummaries :: Lens.Lens' ListVehiclesResponse (Prelude.Maybe [VehicleSummary])+listVehiclesResponse_vehicleSummaries = Lens.lens (\ListVehiclesResponse' {vehicleSummaries} -> vehicleSummaries) (\s@ListVehiclesResponse' {} a -> s {vehicleSummaries = a} :: ListVehiclesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVehiclesResponse_httpStatus :: Lens.Lens' ListVehiclesResponse Prelude.Int+listVehiclesResponse_httpStatus = Lens.lens (\ListVehiclesResponse' {httpStatus} -> httpStatus) (\s@ListVehiclesResponse' {} a -> s {httpStatus = a} :: ListVehiclesResponse)++instance Prelude.NFData ListVehiclesResponse where+ rnf ListVehiclesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vehicleSummaries+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/ListVehiclesInFleet.hs view
@@ -0,0 +1,259 @@+{-# 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.IoTFleetWise.ListVehiclesInFleet+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a list of summaries of all vehicles associated with a fleet.+--+-- This API operation uses pagination. Specify the @nextToken@ parameter in+-- the request to return more results.+--+-- This operation returns paginated results.+module Amazonka.IoTFleetWise.ListVehiclesInFleet+ ( -- * Creating a Request+ ListVehiclesInFleet (..),+ newListVehiclesInFleet,++ -- * Request Lenses+ listVehiclesInFleet_maxResults,+ listVehiclesInFleet_nextToken,+ listVehiclesInFleet_fleetId,++ -- * Destructuring the Response+ ListVehiclesInFleetResponse (..),+ newListVehiclesInFleetResponse,++ -- * Response Lenses+ listVehiclesInFleetResponse_nextToken,+ listVehiclesInFleetResponse_vehicles,+ listVehiclesInFleetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListVehiclesInFleet' smart constructor.+data ListVehiclesInFleet = ListVehiclesInFleet'+ { -- | The maximum number of items to return, between 1 and 100, inclusive.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | A pagination token for the next set of results.+ --+ -- If the results of a search are large, only a portion of the results are+ -- returned, and a @nextToken@ pagination token is returned in the+ -- response. To retrieve the next set of results, reissue the search+ -- request and include the returned token. When all results have been+ -- returned, the response does not contain a pagination token value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The ID of a fleet.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVehiclesInFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVehiclesInFleet_maxResults' - The maximum number of items to return, between 1 and 100, inclusive.+--+-- 'nextToken', 'listVehiclesInFleet_nextToken' - A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+--+-- 'fleetId', 'listVehiclesInFleet_fleetId' - The ID of a fleet.+newListVehiclesInFleet ::+ -- | 'fleetId'+ Prelude.Text ->+ ListVehiclesInFleet+newListVehiclesInFleet pFleetId_ =+ ListVehiclesInFleet'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ fleetId = pFleetId_+ }++-- | The maximum number of items to return, between 1 and 100, inclusive.+listVehiclesInFleet_maxResults :: Lens.Lens' ListVehiclesInFleet (Prelude.Maybe Prelude.Natural)+listVehiclesInFleet_maxResults = Lens.lens (\ListVehiclesInFleet' {maxResults} -> maxResults) (\s@ListVehiclesInFleet' {} a -> s {maxResults = a} :: ListVehiclesInFleet)++-- | A pagination token for the next set of results.+--+-- If the results of a search are large, only a portion of the results are+-- returned, and a @nextToken@ pagination token is returned in the+-- response. To retrieve the next set of results, reissue the search+-- request and include the returned token. When all results have been+-- returned, the response does not contain a pagination token value.+listVehiclesInFleet_nextToken :: Lens.Lens' ListVehiclesInFleet (Prelude.Maybe Prelude.Text)+listVehiclesInFleet_nextToken = Lens.lens (\ListVehiclesInFleet' {nextToken} -> nextToken) (\s@ListVehiclesInFleet' {} a -> s {nextToken = a} :: ListVehiclesInFleet)++-- | The ID of a fleet.+listVehiclesInFleet_fleetId :: Lens.Lens' ListVehiclesInFleet Prelude.Text+listVehiclesInFleet_fleetId = Lens.lens (\ListVehiclesInFleet' {fleetId} -> fleetId) (\s@ListVehiclesInFleet' {} a -> s {fleetId = a} :: ListVehiclesInFleet)++instance Core.AWSPager ListVehiclesInFleet where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listVehiclesInFleetResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listVehiclesInFleetResponse_vehicles+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listVehiclesInFleet_nextToken+ Lens..~ rs+ Lens.^? listVehiclesInFleetResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListVehiclesInFleet where+ type+ AWSResponse ListVehiclesInFleet =+ ListVehiclesInFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListVehiclesInFleetResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "vehicles" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListVehiclesInFleet where+ hashWithSalt _salt ListVehiclesInFleet' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` fleetId++instance Prelude.NFData ListVehiclesInFleet where+ rnf ListVehiclesInFleet' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf fleetId++instance Data.ToHeaders ListVehiclesInFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.ListVehiclesInFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListVehiclesInFleet where+ toJSON ListVehiclesInFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ Prelude.Just ("fleetId" Data..= fleetId)+ ]+ )++instance Data.ToPath ListVehiclesInFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery ListVehiclesInFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListVehiclesInFleetResponse' smart constructor.+data ListVehiclesInFleetResponse = ListVehiclesInFleetResponse'+ { -- | The token to retrieve the next set of results, or @null@ if there are no+ -- more results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of vehicles associated with the fleet.+ vehicles :: 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 'ListVehiclesInFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVehiclesInFleetResponse_nextToken' - The token to retrieve the next set of results, or @null@ if there are no+-- more results.+--+-- 'vehicles', 'listVehiclesInFleetResponse_vehicles' - A list of vehicles associated with the fleet.+--+-- 'httpStatus', 'listVehiclesInFleetResponse_httpStatus' - The response's http status code.+newListVehiclesInFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListVehiclesInFleetResponse+newListVehiclesInFleetResponse pHttpStatus_ =+ ListVehiclesInFleetResponse'+ { nextToken =+ Prelude.Nothing,+ vehicles = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token to retrieve the next set of results, or @null@ if there are no+-- more results.+listVehiclesInFleetResponse_nextToken :: Lens.Lens' ListVehiclesInFleetResponse (Prelude.Maybe Prelude.Text)+listVehiclesInFleetResponse_nextToken = Lens.lens (\ListVehiclesInFleetResponse' {nextToken} -> nextToken) (\s@ListVehiclesInFleetResponse' {} a -> s {nextToken = a} :: ListVehiclesInFleetResponse)++-- | A list of vehicles associated with the fleet.+listVehiclesInFleetResponse_vehicles :: Lens.Lens' ListVehiclesInFleetResponse (Prelude.Maybe [Prelude.Text])+listVehiclesInFleetResponse_vehicles = Lens.lens (\ListVehiclesInFleetResponse' {vehicles} -> vehicles) (\s@ListVehiclesInFleetResponse' {} a -> s {vehicles = a} :: ListVehiclesInFleetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listVehiclesInFleetResponse_httpStatus :: Lens.Lens' ListVehiclesInFleetResponse Prelude.Int+listVehiclesInFleetResponse_httpStatus = Lens.lens (\ListVehiclesInFleetResponse' {httpStatus} -> httpStatus) (\s@ListVehiclesInFleetResponse' {} a -> s {httpStatus = a} :: ListVehiclesInFleetResponse)++instance Prelude.NFData ListVehiclesInFleetResponse where+ rnf ListVehiclesInFleetResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf vehicles+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/PutLoggingOptions.hs view
@@ -0,0 +1,164 @@+{-# 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.IoTFleetWise.PutLoggingOptions+-- 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 or updates the logging option.+module Amazonka.IoTFleetWise.PutLoggingOptions+ ( -- * Creating a Request+ PutLoggingOptions (..),+ newPutLoggingOptions,++ -- * Request Lenses+ putLoggingOptions_cloudWatchLogDelivery,++ -- * Destructuring the Response+ PutLoggingOptionsResponse (..),+ newPutLoggingOptionsResponse,++ -- * Response Lenses+ putLoggingOptionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutLoggingOptions' smart constructor.+data PutLoggingOptions = PutLoggingOptions'+ { -- | Creates or updates the log delivery option to Amazon CloudWatch Logs.+ cloudWatchLogDelivery :: CloudWatchLogDeliveryOptions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogDelivery', 'putLoggingOptions_cloudWatchLogDelivery' - Creates or updates the log delivery option to Amazon CloudWatch Logs.+newPutLoggingOptions ::+ -- | 'cloudWatchLogDelivery'+ CloudWatchLogDeliveryOptions ->+ PutLoggingOptions+newPutLoggingOptions pCloudWatchLogDelivery_ =+ PutLoggingOptions'+ { cloudWatchLogDelivery =+ pCloudWatchLogDelivery_+ }++-- | Creates or updates the log delivery option to Amazon CloudWatch Logs.+putLoggingOptions_cloudWatchLogDelivery :: Lens.Lens' PutLoggingOptions CloudWatchLogDeliveryOptions+putLoggingOptions_cloudWatchLogDelivery = Lens.lens (\PutLoggingOptions' {cloudWatchLogDelivery} -> cloudWatchLogDelivery) (\s@PutLoggingOptions' {} a -> s {cloudWatchLogDelivery = a} :: PutLoggingOptions)++instance Core.AWSRequest PutLoggingOptions where+ type+ AWSResponse PutLoggingOptions =+ PutLoggingOptionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutLoggingOptionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutLoggingOptions where+ hashWithSalt _salt PutLoggingOptions' {..} =+ _salt `Prelude.hashWithSalt` cloudWatchLogDelivery++instance Prelude.NFData PutLoggingOptions where+ rnf PutLoggingOptions' {..} =+ Prelude.rnf cloudWatchLogDelivery++instance Data.ToHeaders PutLoggingOptions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.PutLoggingOptions" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutLoggingOptions where+ toJSON PutLoggingOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "cloudWatchLogDelivery"+ Data..= cloudWatchLogDelivery+ )+ ]+ )++instance Data.ToPath PutLoggingOptions where+ toPath = Prelude.const "/"++instance Data.ToQuery PutLoggingOptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutLoggingOptionsResponse' smart constructor.+data PutLoggingOptionsResponse = PutLoggingOptionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutLoggingOptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putLoggingOptionsResponse_httpStatus' - The response's http status code.+newPutLoggingOptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutLoggingOptionsResponse+newPutLoggingOptionsResponse pHttpStatus_ =+ PutLoggingOptionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putLoggingOptionsResponse_httpStatus :: Lens.Lens' PutLoggingOptionsResponse Prelude.Int+putLoggingOptionsResponse_httpStatus = Lens.lens (\PutLoggingOptionsResponse' {httpStatus} -> httpStatus) (\s@PutLoggingOptionsResponse' {} a -> s {httpStatus = a} :: PutLoggingOptionsResponse)++instance Prelude.NFData PutLoggingOptionsResponse where+ rnf PutLoggingOptionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/RegisterAccount.hs view
@@ -0,0 +1,279 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.RegisterAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Registers your Amazon Web Services account, IAM, and Amazon Timestream+-- resources so Amazon Web Services IoT FleetWise can transfer your vehicle+-- data to the Amazon Web Services Cloud. For more information, including+-- step-by-step procedures, see+-- <https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html Setting up Amazon Web Services IoT FleetWise>.+--+-- An Amazon Web Services account is __not__ the same thing as a \"user+-- account\". An+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users Amazon Web Services user>+-- is an identity that you create using Identity and Access Management+-- (IAM) and takes the form of either an+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html IAM user>+-- or an+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM role, both with credentials>.+-- A single Amazon Web Services account can, and typically does, contain+-- many users and roles.+module Amazonka.IoTFleetWise.RegisterAccount+ ( -- * Creating a Request+ RegisterAccount (..),+ newRegisterAccount,++ -- * Request Lenses+ registerAccount_iamResources,+ registerAccount_timestreamResources,++ -- * Destructuring the Response+ RegisterAccountResponse (..),+ newRegisterAccountResponse,++ -- * Response Lenses+ registerAccountResponse_httpStatus,+ registerAccountResponse_registerAccountStatus,+ registerAccountResponse_timestreamResources,+ registerAccountResponse_iamResources,+ registerAccountResponse_creationTime,+ registerAccountResponse_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRegisterAccount' smart constructor.+data RegisterAccount = RegisterAccount'+ { -- | The IAM resource that allows Amazon Web Services IoT FleetWise to send+ -- data to Amazon Timestream.+ iamResources :: Prelude.Maybe IamResources,+ timestreamResources :: TimestreamResources+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iamResources', 'registerAccount_iamResources' - The IAM resource that allows Amazon Web Services IoT FleetWise to send+-- data to Amazon Timestream.+--+-- 'timestreamResources', 'registerAccount_timestreamResources' - Undocumented member.+newRegisterAccount ::+ -- | 'timestreamResources'+ TimestreamResources ->+ RegisterAccount+newRegisterAccount pTimestreamResources_ =+ RegisterAccount'+ { iamResources = Prelude.Nothing,+ timestreamResources = pTimestreamResources_+ }++-- | The IAM resource that allows Amazon Web Services IoT FleetWise to send+-- data to Amazon Timestream.+registerAccount_iamResources :: Lens.Lens' RegisterAccount (Prelude.Maybe IamResources)+registerAccount_iamResources = Lens.lens (\RegisterAccount' {iamResources} -> iamResources) (\s@RegisterAccount' {} a -> s {iamResources = a} :: RegisterAccount)++-- | Undocumented member.+registerAccount_timestreamResources :: Lens.Lens' RegisterAccount TimestreamResources+registerAccount_timestreamResources = Lens.lens (\RegisterAccount' {timestreamResources} -> timestreamResources) (\s@RegisterAccount' {} a -> s {timestreamResources = a} :: RegisterAccount)++instance Core.AWSRequest RegisterAccount where+ type+ AWSResponse RegisterAccount =+ RegisterAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RegisterAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "registerAccountStatus")+ Prelude.<*> (x Data..:> "timestreamResources")+ Prelude.<*> (x Data..:> "iamResources")+ Prelude.<*> (x Data..:> "creationTime")+ Prelude.<*> (x Data..:> "lastModificationTime")+ )++instance Prelude.Hashable RegisterAccount where+ hashWithSalt _salt RegisterAccount' {..} =+ _salt+ `Prelude.hashWithSalt` iamResources+ `Prelude.hashWithSalt` timestreamResources++instance Prelude.NFData RegisterAccount where+ rnf RegisterAccount' {..} =+ Prelude.rnf iamResources+ `Prelude.seq` Prelude.rnf timestreamResources++instance Data.ToHeaders RegisterAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.RegisterAccount" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RegisterAccount where+ toJSON RegisterAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("iamResources" Data..=) Prelude.<$> iamResources,+ Prelude.Just+ ("timestreamResources" Data..= timestreamResources)+ ]+ )++instance Data.ToPath RegisterAccount where+ toPath = Prelude.const "/"++instance Data.ToQuery RegisterAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterAccountResponse' smart constructor.+data RegisterAccountResponse = RegisterAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The status of registering your Amazon Web Services account, IAM role,+ -- and Timestream resources.+ registerAccountStatus :: RegistrationStatus,+ timestreamResources :: TimestreamResources,+ -- | The registered IAM resource that allows Amazon Web Services IoT+ -- FleetWise to send data to Amazon Timestream.+ iamResources :: IamResources,+ -- | The time the account was registered, in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time this registration was last updated, in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'registerAccountResponse_httpStatus' - The response's http status code.+--+-- 'registerAccountStatus', 'registerAccountResponse_registerAccountStatus' - The status of registering your Amazon Web Services account, IAM role,+-- and Timestream resources.+--+-- 'timestreamResources', 'registerAccountResponse_timestreamResources' - Undocumented member.+--+-- 'iamResources', 'registerAccountResponse_iamResources' - The registered IAM resource that allows Amazon Web Services IoT+-- FleetWise to send data to Amazon Timestream.+--+-- 'creationTime', 'registerAccountResponse_creationTime' - The time the account was registered, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'registerAccountResponse_lastModificationTime' - The time this registration was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+newRegisterAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'registerAccountStatus'+ RegistrationStatus ->+ -- | 'timestreamResources'+ TimestreamResources ->+ -- | 'iamResources'+ IamResources ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ RegisterAccountResponse+newRegisterAccountResponse+ pHttpStatus_+ pRegisterAccountStatus_+ pTimestreamResources_+ pIamResources_+ pCreationTime_+ pLastModificationTime_ =+ RegisterAccountResponse'+ { httpStatus = pHttpStatus_,+ registerAccountStatus = pRegisterAccountStatus_,+ timestreamResources = pTimestreamResources_,+ iamResources = pIamResources_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | The response's http status code.+registerAccountResponse_httpStatus :: Lens.Lens' RegisterAccountResponse Prelude.Int+registerAccountResponse_httpStatus = Lens.lens (\RegisterAccountResponse' {httpStatus} -> httpStatus) (\s@RegisterAccountResponse' {} a -> s {httpStatus = a} :: RegisterAccountResponse)++-- | The status of registering your Amazon Web Services account, IAM role,+-- and Timestream resources.+registerAccountResponse_registerAccountStatus :: Lens.Lens' RegisterAccountResponse RegistrationStatus+registerAccountResponse_registerAccountStatus = Lens.lens (\RegisterAccountResponse' {registerAccountStatus} -> registerAccountStatus) (\s@RegisterAccountResponse' {} a -> s {registerAccountStatus = a} :: RegisterAccountResponse)++-- | Undocumented member.+registerAccountResponse_timestreamResources :: Lens.Lens' RegisterAccountResponse TimestreamResources+registerAccountResponse_timestreamResources = Lens.lens (\RegisterAccountResponse' {timestreamResources} -> timestreamResources) (\s@RegisterAccountResponse' {} a -> s {timestreamResources = a} :: RegisterAccountResponse)++-- | The registered IAM resource that allows Amazon Web Services IoT+-- FleetWise to send data to Amazon Timestream.+registerAccountResponse_iamResources :: Lens.Lens' RegisterAccountResponse IamResources+registerAccountResponse_iamResources = Lens.lens (\RegisterAccountResponse' {iamResources} -> iamResources) (\s@RegisterAccountResponse' {} a -> s {iamResources = a} :: RegisterAccountResponse)++-- | The time the account was registered, in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+registerAccountResponse_creationTime :: Lens.Lens' RegisterAccountResponse Prelude.UTCTime+registerAccountResponse_creationTime = Lens.lens (\RegisterAccountResponse' {creationTime} -> creationTime) (\s@RegisterAccountResponse' {} a -> s {creationTime = a} :: RegisterAccountResponse) Prelude.. Data._Time++-- | The time this registration was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+registerAccountResponse_lastModificationTime :: Lens.Lens' RegisterAccountResponse Prelude.UTCTime+registerAccountResponse_lastModificationTime = Lens.lens (\RegisterAccountResponse' {lastModificationTime} -> lastModificationTime) (\s@RegisterAccountResponse' {} a -> s {lastModificationTime = a} :: RegisterAccountResponse) Prelude.. Data._Time++instance Prelude.NFData RegisterAccountResponse where+ rnf RegisterAccountResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf registerAccountStatus+ `Prelude.seq` Prelude.rnf timestreamResources+ `Prelude.seq` Prelude.rnf iamResources+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/TagResource.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds to or modifies the tags of the given resource. Tags are metadata+-- which can be used to manage a resource.+module Amazonka.IoTFleetWise.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.IoTFleetWise.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 ARN of the resource.+ resourceARN :: Prelude.Text,+ -- | The new or modified tags for the resource.+ tags :: [Tag]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' - The ARN of the resource.+--+-- 'tags', 'tagResource_tags' - The new or modified tags for the resource.+newTagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ TagResource+newTagResource pResourceARN_ =+ TagResource'+ { resourceARN = pResourceARN_,+ tags = Prelude.mempty+ }++-- | The ARN of the resource.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | The new or modified tags for the resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.TagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("Tags" Data..= tags)+ ]+ )++instance Data.ToPath TagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/Types.hs view
@@ -0,0 +1,600 @@+{-# 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.IoTFleetWise.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.IoTFleetWise.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _DecoderManifestValidationException,+ _InternalServerException,+ _InvalidNodeException,+ _InvalidSignalsException,+ _LimitExceededException,+ _ResourceNotFoundException,+ _ThrottlingException,+ _ValidationException,++ -- * CampaignStatus+ CampaignStatus (..),++ -- * Compression+ Compression (..),++ -- * DiagnosticsMode+ DiagnosticsMode (..),++ -- * LogType+ LogType (..),++ -- * ManifestStatus+ ManifestStatus (..),++ -- * NetworkInterfaceType+ NetworkInterfaceType (..),++ -- * NodeDataType+ NodeDataType (..),++ -- * RegistrationStatus+ RegistrationStatus (..),++ -- * SignalDecoderType+ SignalDecoderType (..),++ -- * SpoolingMode+ SpoolingMode (..),++ -- * TriggerMode+ TriggerMode (..),++ -- * UpdateCampaignAction+ UpdateCampaignAction (..),++ -- * UpdateMode+ UpdateMode (..),++ -- * VehicleAssociationBehavior+ VehicleAssociationBehavior (..),++ -- * VehicleState+ VehicleState (..),++ -- * Actuator+ Actuator (..),+ newActuator,+ actuator_allowedValues,+ actuator_assignedValue,+ actuator_description,+ actuator_max,+ actuator_min,+ actuator_unit,+ actuator_fullyQualifiedName,+ actuator_dataType,++ -- * Attribute+ Attribute (..),+ newAttribute,+ attribute_allowedValues,+ attribute_assignedValue,+ attribute_defaultValue,+ attribute_description,+ attribute_max,+ attribute_min,+ attribute_unit,+ attribute_fullyQualifiedName,+ attribute_dataType,++ -- * Branch+ Branch (..),+ newBranch,+ branch_description,+ branch_fullyQualifiedName,++ -- * CampaignSummary+ CampaignSummary (..),+ newCampaignSummary,+ campaignSummary_arn,+ campaignSummary_description,+ campaignSummary_name,+ campaignSummary_signalCatalogArn,+ campaignSummary_status,+ campaignSummary_targetArn,+ campaignSummary_creationTime,+ campaignSummary_lastModificationTime,++ -- * CanDbcDefinition+ CanDbcDefinition (..),+ newCanDbcDefinition,+ canDbcDefinition_signalsMap,+ canDbcDefinition_networkInterface,+ canDbcDefinition_canDbcFiles,++ -- * CanInterface+ CanInterface (..),+ newCanInterface,+ canInterface_protocolName,+ canInterface_protocolVersion,+ canInterface_name,++ -- * CanSignal+ CanSignal (..),+ newCanSignal,+ canSignal_name,+ canSignal_messageId,+ canSignal_isBigEndian,+ canSignal_isSigned,+ canSignal_startBit,+ canSignal_offset,+ canSignal_factor,+ canSignal_length,++ -- * CloudWatchLogDeliveryOptions+ CloudWatchLogDeliveryOptions (..),+ newCloudWatchLogDeliveryOptions,+ cloudWatchLogDeliveryOptions_logGroupName,+ cloudWatchLogDeliveryOptions_logType,++ -- * CollectionScheme+ CollectionScheme (..),+ newCollectionScheme,+ collectionScheme_conditionBasedCollectionScheme,+ collectionScheme_timeBasedCollectionScheme,++ -- * ConditionBasedCollectionScheme+ ConditionBasedCollectionScheme (..),+ newConditionBasedCollectionScheme,+ conditionBasedCollectionScheme_conditionLanguageVersion,+ conditionBasedCollectionScheme_minimumTriggerIntervalMs,+ conditionBasedCollectionScheme_triggerMode,+ conditionBasedCollectionScheme_expression,++ -- * CreateVehicleError+ CreateVehicleError (..),+ newCreateVehicleError,+ createVehicleError_code,+ createVehicleError_message,+ createVehicleError_vehicleName,++ -- * CreateVehicleRequestItem+ CreateVehicleRequestItem (..),+ newCreateVehicleRequestItem,+ createVehicleRequestItem_associationBehavior,+ createVehicleRequestItem_attributes,+ createVehicleRequestItem_tags,+ createVehicleRequestItem_vehicleName,+ createVehicleRequestItem_modelManifestArn,+ createVehicleRequestItem_decoderManifestArn,++ -- * CreateVehicleResponseItem+ CreateVehicleResponseItem (..),+ newCreateVehicleResponseItem,+ createVehicleResponseItem_arn,+ createVehicleResponseItem_thingArn,+ createVehicleResponseItem_vehicleName,++ -- * DecoderManifestSummary+ DecoderManifestSummary (..),+ newDecoderManifestSummary,+ decoderManifestSummary_arn,+ decoderManifestSummary_description,+ decoderManifestSummary_modelManifestArn,+ decoderManifestSummary_name,+ decoderManifestSummary_status,+ decoderManifestSummary_creationTime,+ decoderManifestSummary_lastModificationTime,++ -- * FleetSummary+ FleetSummary (..),+ newFleetSummary,+ fleetSummary_description,+ fleetSummary_lastModificationTime,+ fleetSummary_id,+ fleetSummary_arn,+ fleetSummary_signalCatalogArn,+ fleetSummary_creationTime,++ -- * FormattedVss+ FormattedVss (..),+ newFormattedVss,+ formattedVss_vssJson,++ -- * IamRegistrationResponse+ IamRegistrationResponse (..),+ newIamRegistrationResponse,+ iamRegistrationResponse_errorMessage,+ iamRegistrationResponse_roleArn,+ iamRegistrationResponse_registrationStatus,++ -- * IamResources+ IamResources (..),+ newIamResources,+ iamResources_roleArn,++ -- * ModelManifestSummary+ ModelManifestSummary (..),+ newModelManifestSummary,+ modelManifestSummary_arn,+ modelManifestSummary_description,+ modelManifestSummary_name,+ modelManifestSummary_signalCatalogArn,+ modelManifestSummary_status,+ modelManifestSummary_creationTime,+ modelManifestSummary_lastModificationTime,++ -- * NetworkFileDefinition+ NetworkFileDefinition (..),+ newNetworkFileDefinition,+ networkFileDefinition_canDbc,++ -- * NetworkInterface+ NetworkInterface (..),+ newNetworkInterface,+ networkInterface_canInterface,+ networkInterface_obdInterface,+ networkInterface_interfaceId,+ networkInterface_type,++ -- * Node+ Node (..),+ newNode,+ node_actuator,+ node_attribute,+ node_branch,+ node_sensor,++ -- * NodeCounts+ NodeCounts (..),+ newNodeCounts,+ nodeCounts_totalActuators,+ nodeCounts_totalAttributes,+ nodeCounts_totalBranches,+ nodeCounts_totalNodes,+ nodeCounts_totalSensors,++ -- * ObdInterface+ ObdInterface (..),+ newObdInterface,+ obdInterface_dtcRequestIntervalSeconds,+ obdInterface_hasTransmissionEcu,+ obdInterface_obdStandard,+ obdInterface_pidRequestIntervalSeconds,+ obdInterface_useExtendedIds,+ obdInterface_name,+ obdInterface_requestMessageId,++ -- * ObdSignal+ ObdSignal (..),+ newObdSignal,+ obdSignal_bitMaskLength,+ obdSignal_bitRightShift,+ obdSignal_pidResponseLength,+ obdSignal_serviceMode,+ obdSignal_pid,+ obdSignal_scaling,+ obdSignal_offset,+ obdSignal_startByte,+ obdSignal_byteLength,++ -- * Sensor+ Sensor (..),+ newSensor,+ sensor_allowedValues,+ sensor_description,+ sensor_max,+ sensor_min,+ sensor_unit,+ sensor_fullyQualifiedName,+ sensor_dataType,++ -- * SignalCatalogSummary+ SignalCatalogSummary (..),+ newSignalCatalogSummary,+ signalCatalogSummary_arn,+ signalCatalogSummary_creationTime,+ signalCatalogSummary_lastModificationTime,+ signalCatalogSummary_name,++ -- * SignalDecoder+ SignalDecoder (..),+ newSignalDecoder,+ signalDecoder_canSignal,+ signalDecoder_obdSignal,+ signalDecoder_fullyQualifiedName,+ signalDecoder_type,+ signalDecoder_interfaceId,++ -- * SignalInformation+ SignalInformation (..),+ newSignalInformation,+ signalInformation_maxSampleCount,+ signalInformation_minimumSamplingIntervalMs,+ signalInformation_name,++ -- * Tag+ Tag (..),+ newTag,+ tag_key,+ tag_value,++ -- * TimeBasedCollectionScheme+ TimeBasedCollectionScheme (..),+ newTimeBasedCollectionScheme,+ timeBasedCollectionScheme_periodMs,++ -- * TimestreamRegistrationResponse+ TimestreamRegistrationResponse (..),+ newTimestreamRegistrationResponse,+ timestreamRegistrationResponse_errorMessage,+ timestreamRegistrationResponse_timestreamDatabaseArn,+ timestreamRegistrationResponse_timestreamTableArn,+ timestreamRegistrationResponse_timestreamDatabaseName,+ timestreamRegistrationResponse_timestreamTableName,+ timestreamRegistrationResponse_registrationStatus,++ -- * TimestreamResources+ TimestreamResources (..),+ newTimestreamResources,+ timestreamResources_timestreamDatabaseName,+ timestreamResources_timestreamTableName,++ -- * UpdateVehicleError+ UpdateVehicleError (..),+ newUpdateVehicleError,+ updateVehicleError_code,+ updateVehicleError_message,+ updateVehicleError_vehicleName,++ -- * UpdateVehicleRequestItem+ UpdateVehicleRequestItem (..),+ newUpdateVehicleRequestItem,+ updateVehicleRequestItem_attributeUpdateMode,+ updateVehicleRequestItem_attributes,+ updateVehicleRequestItem_decoderManifestArn,+ updateVehicleRequestItem_modelManifestArn,+ updateVehicleRequestItem_vehicleName,++ -- * UpdateVehicleResponseItem+ UpdateVehicleResponseItem (..),+ newUpdateVehicleResponseItem,+ updateVehicleResponseItem_arn,+ updateVehicleResponseItem_vehicleName,++ -- * VehicleStatus+ VehicleStatus (..),+ newVehicleStatus,+ vehicleStatus_campaignName,+ vehicleStatus_status,+ vehicleStatus_vehicleName,++ -- * VehicleSummary+ VehicleSummary (..),+ newVehicleSummary,+ vehicleSummary_vehicleName,+ vehicleSummary_arn,+ vehicleSummary_modelManifestArn,+ vehicleSummary_decoderManifestArn,+ vehicleSummary_creationTime,+ vehicleSummary_lastModificationTime,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.IoTFleetWise.Types.Actuator+import Amazonka.IoTFleetWise.Types.Attribute+import Amazonka.IoTFleetWise.Types.Branch+import Amazonka.IoTFleetWise.Types.CampaignStatus+import Amazonka.IoTFleetWise.Types.CampaignSummary+import Amazonka.IoTFleetWise.Types.CanDbcDefinition+import Amazonka.IoTFleetWise.Types.CanInterface+import Amazonka.IoTFleetWise.Types.CanSignal+import Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions+import Amazonka.IoTFleetWise.Types.CollectionScheme+import Amazonka.IoTFleetWise.Types.Compression+import Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme+import Amazonka.IoTFleetWise.Types.CreateVehicleError+import Amazonka.IoTFleetWise.Types.CreateVehicleRequestItem+import Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem+import Amazonka.IoTFleetWise.Types.DecoderManifestSummary+import Amazonka.IoTFleetWise.Types.DiagnosticsMode+import Amazonka.IoTFleetWise.Types.FleetSummary+import Amazonka.IoTFleetWise.Types.FormattedVss+import Amazonka.IoTFleetWise.Types.IamRegistrationResponse+import Amazonka.IoTFleetWise.Types.IamResources+import Amazonka.IoTFleetWise.Types.LogType+import Amazonka.IoTFleetWise.Types.ManifestStatus+import Amazonka.IoTFleetWise.Types.ModelManifestSummary+import Amazonka.IoTFleetWise.Types.NetworkFileDefinition+import Amazonka.IoTFleetWise.Types.NetworkInterface+import Amazonka.IoTFleetWise.Types.NetworkInterfaceType+import Amazonka.IoTFleetWise.Types.Node+import Amazonka.IoTFleetWise.Types.NodeCounts+import Amazonka.IoTFleetWise.Types.NodeDataType+import Amazonka.IoTFleetWise.Types.ObdInterface+import Amazonka.IoTFleetWise.Types.ObdSignal+import Amazonka.IoTFleetWise.Types.RegistrationStatus+import Amazonka.IoTFleetWise.Types.Sensor+import Amazonka.IoTFleetWise.Types.SignalCatalogSummary+import Amazonka.IoTFleetWise.Types.SignalDecoder+import Amazonka.IoTFleetWise.Types.SignalDecoderType+import Amazonka.IoTFleetWise.Types.SignalInformation+import Amazonka.IoTFleetWise.Types.SpoolingMode+import Amazonka.IoTFleetWise.Types.Tag+import Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme+import Amazonka.IoTFleetWise.Types.TimestreamRegistrationResponse+import Amazonka.IoTFleetWise.Types.TimestreamResources+import Amazonka.IoTFleetWise.Types.TriggerMode+import Amazonka.IoTFleetWise.Types.UpdateCampaignAction+import Amazonka.IoTFleetWise.Types.UpdateMode+import Amazonka.IoTFleetWise.Types.UpdateVehicleError+import Amazonka.IoTFleetWise.Types.UpdateVehicleRequestItem+import Amazonka.IoTFleetWise.Types.UpdateVehicleResponseItem+import Amazonka.IoTFleetWise.Types.VehicleAssociationBehavior+import Amazonka.IoTFleetWise.Types.VehicleState+import Amazonka.IoTFleetWise.Types.VehicleStatus+import Amazonka.IoTFleetWise.Types.VehicleSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-06-17@ of the Amazon IoT FleetWise SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "IoTFleetWise",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "iotfleetwise",+ Core.signingName = "iotfleetwise",+ Core.version = "2021-06-17",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "IoTFleetWise",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You don\'t have sufficient permission to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"++-- | The request has conflicting operations. This can occur if you\'re trying+-- to perform more than one operation on the same resource at the same+-- time.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"++-- | The request couldn\'t be completed because it contains signal decoders+-- with one or more validation errors.+_DecoderManifestValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_DecoderManifestValidationException =+ Core._MatchServiceError+ defaultService+ "DecoderManifestValidationException"++-- | The request couldn\'t be completed because the server temporarily+-- failed.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"++-- | The specified node type doesn\'t match the expected node type for a+-- node. You can specify the node type as branch, sensor, actuator, or+-- attribute.+_InvalidNodeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidNodeException =+ Core._MatchServiceError+ defaultService+ "InvalidNodeException"++-- | The request couldn\'t be completed because it contains signals that+-- aren\'t valid.+_InvalidSignalsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidSignalsException =+ Core._MatchServiceError+ defaultService+ "InvalidSignalsException"++-- | A service quota was exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+ Core._MatchServiceError+ defaultService+ "LimitExceededException"++-- | The resource wasn\'t found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"++-- | The request couldn\'t be completed due to throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"++-- | The input fails to satisfy the constraints specified by an Amazon Web+-- Services service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"
+ gen/Amazonka/IoTFleetWise/Types/Actuator.hs view
@@ -0,0 +1,185 @@+{-# 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.IoTFleetWise.Types.Actuator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Actuator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.NodeDataType+import qualified Amazonka.Prelude as Prelude++-- | A signal that represents a vehicle device such as the engine, heater,+-- and door locks. Data from an actuator reports the state of a certain+-- vehicle device.+--+-- Updating actuator data can change the state of a device. For example,+-- you can turn on or off the heater by updating its actuator data.+--+-- /See:/ 'newActuator' smart constructor.+data Actuator = Actuator'+ { -- | A list of possible values an actuator can take.+ allowedValues :: Prelude.Maybe [Prelude.Text],+ -- | A specified value for the actuator.+ assignedValue :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the actuator.+ description :: Prelude.Maybe Prelude.Text,+ -- | The specified possible maximum value of an actuator.+ max :: Prelude.Maybe Prelude.Double,+ -- | The specified possible minimum value of an actuator.+ min :: Prelude.Maybe Prelude.Double,+ -- | The scientific unit for the actuator.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified name of the actuator. For example, the fully+ -- qualified name of an actuator might be @Vehicle.Front.Left.Door.Lock@.+ fullyQualifiedName :: Prelude.Text,+ -- | The specified data type of the actuator.+ dataType :: NodeDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Actuator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'actuator_allowedValues' - A list of possible values an actuator can take.+--+-- 'assignedValue', 'actuator_assignedValue' - A specified value for the actuator.+--+-- 'description', 'actuator_description' - A brief description of the actuator.+--+-- 'max', 'actuator_max' - The specified possible maximum value of an actuator.+--+-- 'min', 'actuator_min' - The specified possible minimum value of an actuator.+--+-- 'unit', 'actuator_unit' - The scientific unit for the actuator.+--+-- 'fullyQualifiedName', 'actuator_fullyQualifiedName' - The fully qualified name of the actuator. For example, the fully+-- qualified name of an actuator might be @Vehicle.Front.Left.Door.Lock@.+--+-- 'dataType', 'actuator_dataType' - The specified data type of the actuator.+newActuator ::+ -- | 'fullyQualifiedName'+ Prelude.Text ->+ -- | 'dataType'+ NodeDataType ->+ Actuator+newActuator pFullyQualifiedName_ pDataType_ =+ Actuator'+ { allowedValues = Prelude.Nothing,+ assignedValue = Prelude.Nothing,+ description = Prelude.Nothing,+ max = Prelude.Nothing,+ min = Prelude.Nothing,+ unit = Prelude.Nothing,+ fullyQualifiedName = pFullyQualifiedName_,+ dataType = pDataType_+ }++-- | A list of possible values an actuator can take.+actuator_allowedValues :: Lens.Lens' Actuator (Prelude.Maybe [Prelude.Text])+actuator_allowedValues = Lens.lens (\Actuator' {allowedValues} -> allowedValues) (\s@Actuator' {} a -> s {allowedValues = a} :: Actuator) Prelude.. Lens.mapping Lens.coerced++-- | A specified value for the actuator.+actuator_assignedValue :: Lens.Lens' Actuator (Prelude.Maybe Prelude.Text)+actuator_assignedValue = Lens.lens (\Actuator' {assignedValue} -> assignedValue) (\s@Actuator' {} a -> s {assignedValue = a} :: Actuator)++-- | A brief description of the actuator.+actuator_description :: Lens.Lens' Actuator (Prelude.Maybe Prelude.Text)+actuator_description = Lens.lens (\Actuator' {description} -> description) (\s@Actuator' {} a -> s {description = a} :: Actuator)++-- | The specified possible maximum value of an actuator.+actuator_max :: Lens.Lens' Actuator (Prelude.Maybe Prelude.Double)+actuator_max = Lens.lens (\Actuator' {max} -> max) (\s@Actuator' {} a -> s {max = a} :: Actuator)++-- | The specified possible minimum value of an actuator.+actuator_min :: Lens.Lens' Actuator (Prelude.Maybe Prelude.Double)+actuator_min = Lens.lens (\Actuator' {min} -> min) (\s@Actuator' {} a -> s {min = a} :: Actuator)++-- | The scientific unit for the actuator.+actuator_unit :: Lens.Lens' Actuator (Prelude.Maybe Prelude.Text)+actuator_unit = Lens.lens (\Actuator' {unit} -> unit) (\s@Actuator' {} a -> s {unit = a} :: Actuator)++-- | The fully qualified name of the actuator. For example, the fully+-- qualified name of an actuator might be @Vehicle.Front.Left.Door.Lock@.+actuator_fullyQualifiedName :: Lens.Lens' Actuator Prelude.Text+actuator_fullyQualifiedName = Lens.lens (\Actuator' {fullyQualifiedName} -> fullyQualifiedName) (\s@Actuator' {} a -> s {fullyQualifiedName = a} :: Actuator)++-- | The specified data type of the actuator.+actuator_dataType :: Lens.Lens' Actuator NodeDataType+actuator_dataType = Lens.lens (\Actuator' {dataType} -> dataType) (\s@Actuator' {} a -> s {dataType = a} :: Actuator)++instance Data.FromJSON Actuator where+ parseJSON =+ Data.withObject+ "Actuator"+ ( \x ->+ Actuator'+ Prelude.<$> (x Data..:? "allowedValues" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "assignedValue")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "max")+ Prelude.<*> (x Data..:? "min")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "fullyQualifiedName")+ Prelude.<*> (x Data..: "dataType")+ )++instance Prelude.Hashable Actuator where+ hashWithSalt _salt Actuator' {..} =+ _salt+ `Prelude.hashWithSalt` allowedValues+ `Prelude.hashWithSalt` assignedValue+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` max+ `Prelude.hashWithSalt` min+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` fullyQualifiedName+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData Actuator where+ rnf Actuator' {..} =+ Prelude.rnf allowedValues+ `Prelude.seq` Prelude.rnf assignedValue+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf max+ `Prelude.seq` Prelude.rnf min+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf fullyQualifiedName+ `Prelude.seq` Prelude.rnf dataType++instance Data.ToJSON Actuator where+ toJSON Actuator' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowedValues" Data..=) Prelude.<$> allowedValues,+ ("assignedValue" Data..=) Prelude.<$> assignedValue,+ ("description" Data..=) Prelude.<$> description,+ ("max" Data..=) Prelude.<$> max,+ ("min" Data..=) Prelude.<$> min,+ ("unit" Data..=) Prelude.<$> unit,+ Prelude.Just+ ("fullyQualifiedName" Data..= fullyQualifiedName),+ Prelude.Just ("dataType" Data..= dataType)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/Attribute.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.Attribute+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Attribute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.NodeDataType+import qualified Amazonka.Prelude as Prelude++-- | A signal that represents static information about the vehicle, such as+-- engine type or manufacturing date.+--+-- /See:/ 'newAttribute' smart constructor.+data Attribute = Attribute'+ { -- | A list of possible values an attribute can be assigned.+ allowedValues :: Prelude.Maybe [Prelude.Text],+ -- | A specified value for the attribute.+ assignedValue :: Prelude.Maybe Prelude.Text,+ -- | The default value of the attribute.+ defaultValue :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the attribute.+ description :: Prelude.Maybe Prelude.Text,+ -- | The specified possible maximum value of the attribute.+ max :: Prelude.Maybe Prelude.Double,+ -- | The specified possible minimum value of the attribute.+ min :: Prelude.Maybe Prelude.Double,+ -- | The scientific unit for the attribute.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified name of the attribute. For example, the fully+ -- qualified name of an attribute might be @Vehicle.Body.Engine.Type@.+ fullyQualifiedName :: Prelude.Text,+ -- | The specified data type of the attribute.+ dataType :: NodeDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attribute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'attribute_allowedValues' - A list of possible values an attribute can be assigned.+--+-- 'assignedValue', 'attribute_assignedValue' - A specified value for the attribute.+--+-- 'defaultValue', 'attribute_defaultValue' - The default value of the attribute.+--+-- 'description', 'attribute_description' - A brief description of the attribute.+--+-- 'max', 'attribute_max' - The specified possible maximum value of the attribute.+--+-- 'min', 'attribute_min' - The specified possible minimum value of the attribute.+--+-- 'unit', 'attribute_unit' - The scientific unit for the attribute.+--+-- 'fullyQualifiedName', 'attribute_fullyQualifiedName' - The fully qualified name of the attribute. For example, the fully+-- qualified name of an attribute might be @Vehicle.Body.Engine.Type@.+--+-- 'dataType', 'attribute_dataType' - The specified data type of the attribute.+newAttribute ::+ -- | 'fullyQualifiedName'+ Prelude.Text ->+ -- | 'dataType'+ NodeDataType ->+ Attribute+newAttribute pFullyQualifiedName_ pDataType_ =+ Attribute'+ { allowedValues = Prelude.Nothing,+ assignedValue = Prelude.Nothing,+ defaultValue = Prelude.Nothing,+ description = Prelude.Nothing,+ max = Prelude.Nothing,+ min = Prelude.Nothing,+ unit = Prelude.Nothing,+ fullyQualifiedName = pFullyQualifiedName_,+ dataType = pDataType_+ }++-- | A list of possible values an attribute can be assigned.+attribute_allowedValues :: Lens.Lens' Attribute (Prelude.Maybe [Prelude.Text])+attribute_allowedValues = Lens.lens (\Attribute' {allowedValues} -> allowedValues) (\s@Attribute' {} a -> s {allowedValues = a} :: Attribute) Prelude.. Lens.mapping Lens.coerced++-- | A specified value for the attribute.+attribute_assignedValue :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_assignedValue = Lens.lens (\Attribute' {assignedValue} -> assignedValue) (\s@Attribute' {} a -> s {assignedValue = a} :: Attribute)++-- | The default value of the attribute.+attribute_defaultValue :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_defaultValue = Lens.lens (\Attribute' {defaultValue} -> defaultValue) (\s@Attribute' {} a -> s {defaultValue = a} :: Attribute)++-- | A brief description of the attribute.+attribute_description :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_description = Lens.lens (\Attribute' {description} -> description) (\s@Attribute' {} a -> s {description = a} :: Attribute)++-- | The specified possible maximum value of the attribute.+attribute_max :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Double)+attribute_max = Lens.lens (\Attribute' {max} -> max) (\s@Attribute' {} a -> s {max = a} :: Attribute)++-- | The specified possible minimum value of the attribute.+attribute_min :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Double)+attribute_min = Lens.lens (\Attribute' {min} -> min) (\s@Attribute' {} a -> s {min = a} :: Attribute)++-- | The scientific unit for the attribute.+attribute_unit :: Lens.Lens' Attribute (Prelude.Maybe Prelude.Text)+attribute_unit = Lens.lens (\Attribute' {unit} -> unit) (\s@Attribute' {} a -> s {unit = a} :: Attribute)++-- | The fully qualified name of the attribute. For example, the fully+-- qualified name of an attribute might be @Vehicle.Body.Engine.Type@.+attribute_fullyQualifiedName :: Lens.Lens' Attribute Prelude.Text+attribute_fullyQualifiedName = Lens.lens (\Attribute' {fullyQualifiedName} -> fullyQualifiedName) (\s@Attribute' {} a -> s {fullyQualifiedName = a} :: Attribute)++-- | The specified data type of the attribute.+attribute_dataType :: Lens.Lens' Attribute NodeDataType+attribute_dataType = Lens.lens (\Attribute' {dataType} -> dataType) (\s@Attribute' {} a -> s {dataType = a} :: Attribute)++instance Data.FromJSON Attribute where+ parseJSON =+ Data.withObject+ "Attribute"+ ( \x ->+ Attribute'+ Prelude.<$> (x Data..:? "allowedValues" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "assignedValue")+ Prelude.<*> (x Data..:? "defaultValue")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "max")+ Prelude.<*> (x Data..:? "min")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "fullyQualifiedName")+ Prelude.<*> (x Data..: "dataType")+ )++instance Prelude.Hashable Attribute where+ hashWithSalt _salt Attribute' {..} =+ _salt+ `Prelude.hashWithSalt` allowedValues+ `Prelude.hashWithSalt` assignedValue+ `Prelude.hashWithSalt` defaultValue+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` max+ `Prelude.hashWithSalt` min+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` fullyQualifiedName+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData Attribute where+ rnf Attribute' {..} =+ Prelude.rnf allowedValues+ `Prelude.seq` Prelude.rnf assignedValue+ `Prelude.seq` Prelude.rnf defaultValue+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf max+ `Prelude.seq` Prelude.rnf min+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf fullyQualifiedName+ `Prelude.seq` Prelude.rnf dataType++instance Data.ToJSON Attribute where+ toJSON Attribute' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowedValues" Data..=) Prelude.<$> allowedValues,+ ("assignedValue" Data..=) Prelude.<$> assignedValue,+ ("defaultValue" Data..=) Prelude.<$> defaultValue,+ ("description" Data..=) Prelude.<$> description,+ ("max" Data..=) Prelude.<$> max,+ ("min" Data..=) Prelude.<$> min,+ ("unit" Data..=) Prelude.<$> unit,+ Prelude.Just+ ("fullyQualifiedName" Data..= fullyQualifiedName),+ Prelude.Just ("dataType" Data..= dataType)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/Branch.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.Branch+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Branch 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 group of signals that are defined in a hierarchical structure.+--+-- /See:/ 'newBranch' smart constructor.+data Branch = Branch'+ { -- | A brief description of the branch.+ description :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified name of the branch. For example, the fully qualified+ -- name of a branch might be @Vehicle.Body.Engine@.+ fullyQualifiedName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Branch' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'branch_description' - A brief description of the branch.+--+-- 'fullyQualifiedName', 'branch_fullyQualifiedName' - The fully qualified name of the branch. For example, the fully qualified+-- name of a branch might be @Vehicle.Body.Engine@.+newBranch ::+ -- | 'fullyQualifiedName'+ Prelude.Text ->+ Branch+newBranch pFullyQualifiedName_ =+ Branch'+ { description = Prelude.Nothing,+ fullyQualifiedName = pFullyQualifiedName_+ }++-- | A brief description of the branch.+branch_description :: Lens.Lens' Branch (Prelude.Maybe Prelude.Text)+branch_description = Lens.lens (\Branch' {description} -> description) (\s@Branch' {} a -> s {description = a} :: Branch)++-- | The fully qualified name of the branch. For example, the fully qualified+-- name of a branch might be @Vehicle.Body.Engine@.+branch_fullyQualifiedName :: Lens.Lens' Branch Prelude.Text+branch_fullyQualifiedName = Lens.lens (\Branch' {fullyQualifiedName} -> fullyQualifiedName) (\s@Branch' {} a -> s {fullyQualifiedName = a} :: Branch)++instance Data.FromJSON Branch where+ parseJSON =+ Data.withObject+ "Branch"+ ( \x ->+ Branch'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..: "fullyQualifiedName")+ )++instance Prelude.Hashable Branch where+ hashWithSalt _salt Branch' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` fullyQualifiedName++instance Prelude.NFData Branch where+ rnf Branch' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf fullyQualifiedName++instance Data.ToJSON Branch where+ toJSON Branch' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ Prelude.Just+ ("fullyQualifiedName" Data..= fullyQualifiedName)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CampaignStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CampaignStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CampaignStatus+ ( CampaignStatus+ ( ..,+ CampaignStatus_CREATING,+ CampaignStatus_RUNNING,+ CampaignStatus_SUSPENDED,+ CampaignStatus_WAITING_FOR_APPROVAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CampaignStatus = CampaignStatus'+ { fromCampaignStatus ::+ 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 CampaignStatus_CREATING :: CampaignStatus+pattern CampaignStatus_CREATING = CampaignStatus' "CREATING"++pattern CampaignStatus_RUNNING :: CampaignStatus+pattern CampaignStatus_RUNNING = CampaignStatus' "RUNNING"++pattern CampaignStatus_SUSPENDED :: CampaignStatus+pattern CampaignStatus_SUSPENDED = CampaignStatus' "SUSPENDED"++pattern CampaignStatus_WAITING_FOR_APPROVAL :: CampaignStatus+pattern CampaignStatus_WAITING_FOR_APPROVAL = CampaignStatus' "WAITING_FOR_APPROVAL"++{-# COMPLETE+ CampaignStatus_CREATING,+ CampaignStatus_RUNNING,+ CampaignStatus_SUSPENDED,+ CampaignStatus_WAITING_FOR_APPROVAL,+ CampaignStatus'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/CampaignSummary.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CampaignSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CampaignSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.CampaignStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about a campaign.+--+-- You can use the API operation to return this information about multiple+-- created campaigns.+--+-- /See:/ 'newCampaignSummary' smart constructor.+data CampaignSummary = CampaignSummary'+ { -- | The Amazon Resource Name (ARN) of a campaign.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The description of the campaign.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of a campaign.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the signal catalog associated with the campaign.+ signalCatalogArn :: Prelude.Maybe Prelude.Text,+ -- | The state of a campaign. The status can be one of the following:+ --+ -- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+ -- request to create the campaign.+ --+ -- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+ -- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+ -- FleetWise to deploy the campaign to the target vehicle or fleet, use+ -- the API operation to approve the campaign.+ --+ -- - @RUNNING@ - The campaign is active.+ --+ -- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+ -- the API operation.+ status :: Prelude.Maybe CampaignStatus,+ -- | The ARN of a vehicle or fleet to which the campaign is deployed.+ targetArn :: Prelude.Maybe Prelude.Text,+ -- | The time the campaign was created.+ creationTime :: Data.POSIX,+ -- | The last time the campaign was modified.+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CampaignSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'campaignSummary_arn' - The Amazon Resource Name (ARN) of a campaign.+--+-- 'description', 'campaignSummary_description' - The description of the campaign.+--+-- 'name', 'campaignSummary_name' - The name of a campaign.+--+-- 'signalCatalogArn', 'campaignSummary_signalCatalogArn' - The ARN of the signal catalog associated with the campaign.+--+-- 'status', 'campaignSummary_status' - The state of a campaign. The status can be one of the following:+--+-- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+-- request to create the campaign.+--+-- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+-- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+-- FleetWise to deploy the campaign to the target vehicle or fleet, use+-- the API operation to approve the campaign.+--+-- - @RUNNING@ - The campaign is active.+--+-- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+-- the API operation.+--+-- 'targetArn', 'campaignSummary_targetArn' - The ARN of a vehicle or fleet to which the campaign is deployed.+--+-- 'creationTime', 'campaignSummary_creationTime' - The time the campaign was created.+--+-- 'lastModificationTime', 'campaignSummary_lastModificationTime' - The last time the campaign was modified.+newCampaignSummary ::+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ CampaignSummary+newCampaignSummary+ pCreationTime_+ pLastModificationTime_ =+ CampaignSummary'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ signalCatalogArn = Prelude.Nothing,+ status = Prelude.Nothing,+ targetArn = Prelude.Nothing,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | The Amazon Resource Name (ARN) of a campaign.+campaignSummary_arn :: Lens.Lens' CampaignSummary (Prelude.Maybe Prelude.Text)+campaignSummary_arn = Lens.lens (\CampaignSummary' {arn} -> arn) (\s@CampaignSummary' {} a -> s {arn = a} :: CampaignSummary)++-- | The description of the campaign.+campaignSummary_description :: Lens.Lens' CampaignSummary (Prelude.Maybe Prelude.Text)+campaignSummary_description = Lens.lens (\CampaignSummary' {description} -> description) (\s@CampaignSummary' {} a -> s {description = a} :: CampaignSummary)++-- | The name of a campaign.+campaignSummary_name :: Lens.Lens' CampaignSummary (Prelude.Maybe Prelude.Text)+campaignSummary_name = Lens.lens (\CampaignSummary' {name} -> name) (\s@CampaignSummary' {} a -> s {name = a} :: CampaignSummary)++-- | The ARN of the signal catalog associated with the campaign.+campaignSummary_signalCatalogArn :: Lens.Lens' CampaignSummary (Prelude.Maybe Prelude.Text)+campaignSummary_signalCatalogArn = Lens.lens (\CampaignSummary' {signalCatalogArn} -> signalCatalogArn) (\s@CampaignSummary' {} a -> s {signalCatalogArn = a} :: CampaignSummary)++-- | The state of a campaign. The status can be one of the following:+--+-- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+-- request to create the campaign.+--+-- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+-- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+-- FleetWise to deploy the campaign to the target vehicle or fleet, use+-- the API operation to approve the campaign.+--+-- - @RUNNING@ - The campaign is active.+--+-- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+-- the API operation.+campaignSummary_status :: Lens.Lens' CampaignSummary (Prelude.Maybe CampaignStatus)+campaignSummary_status = Lens.lens (\CampaignSummary' {status} -> status) (\s@CampaignSummary' {} a -> s {status = a} :: CampaignSummary)++-- | The ARN of a vehicle or fleet to which the campaign is deployed.+campaignSummary_targetArn :: Lens.Lens' CampaignSummary (Prelude.Maybe Prelude.Text)+campaignSummary_targetArn = Lens.lens (\CampaignSummary' {targetArn} -> targetArn) (\s@CampaignSummary' {} a -> s {targetArn = a} :: CampaignSummary)++-- | The time the campaign was created.+campaignSummary_creationTime :: Lens.Lens' CampaignSummary Prelude.UTCTime+campaignSummary_creationTime = Lens.lens (\CampaignSummary' {creationTime} -> creationTime) (\s@CampaignSummary' {} a -> s {creationTime = a} :: CampaignSummary) Prelude.. Data._Time++-- | The last time the campaign was modified.+campaignSummary_lastModificationTime :: Lens.Lens' CampaignSummary Prelude.UTCTime+campaignSummary_lastModificationTime = Lens.lens (\CampaignSummary' {lastModificationTime} -> lastModificationTime) (\s@CampaignSummary' {} a -> s {lastModificationTime = a} :: CampaignSummary) Prelude.. Data._Time++instance Data.FromJSON CampaignSummary where+ parseJSON =+ Data.withObject+ "CampaignSummary"+ ( \x ->+ CampaignSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "signalCatalogArn")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "targetArn")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..: "lastModificationTime")+ )++instance Prelude.Hashable CampaignSummary where+ hashWithSalt _salt CampaignSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` signalCatalogArn+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` targetArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData CampaignSummary where+ rnf CampaignSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf targetArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/Types/CanDbcDefinition.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CanDbcDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CanDbcDefinition 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++-- | Configurations used to create a decoder manifest.+--+-- /See:/ 'newCanDbcDefinition' smart constructor.+data CanDbcDefinition = CanDbcDefinition'+ { -- | Pairs every signal specified in your vehicle model with a signal+ -- decoder.+ signalsMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Contains information about a network interface.+ networkInterface :: Prelude.Text,+ -- | A list of DBC files. You can upload only one DBC file for each network+ -- interface and specify up to five (inclusive) files in the list.+ canDbcFiles :: Prelude.NonEmpty Data.Base64+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CanDbcDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'signalsMap', 'canDbcDefinition_signalsMap' - Pairs every signal specified in your vehicle model with a signal+-- decoder.+--+-- 'networkInterface', 'canDbcDefinition_networkInterface' - Contains information about a network interface.+--+-- 'canDbcFiles', 'canDbcDefinition_canDbcFiles' - A list of DBC files. You can upload only one DBC file for each network+-- interface and specify up to five (inclusive) files in the list.+newCanDbcDefinition ::+ -- | 'networkInterface'+ Prelude.Text ->+ -- | 'canDbcFiles'+ Prelude.NonEmpty Prelude.ByteString ->+ CanDbcDefinition+newCanDbcDefinition pNetworkInterface_ pCanDbcFiles_ =+ CanDbcDefinition'+ { signalsMap = Prelude.Nothing,+ networkInterface = pNetworkInterface_,+ canDbcFiles = Lens.coerced Lens.# pCanDbcFiles_+ }++-- | Pairs every signal specified in your vehicle model with a signal+-- decoder.+canDbcDefinition_signalsMap :: Lens.Lens' CanDbcDefinition (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+canDbcDefinition_signalsMap = Lens.lens (\CanDbcDefinition' {signalsMap} -> signalsMap) (\s@CanDbcDefinition' {} a -> s {signalsMap = a} :: CanDbcDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Contains information about a network interface.+canDbcDefinition_networkInterface :: Lens.Lens' CanDbcDefinition Prelude.Text+canDbcDefinition_networkInterface = Lens.lens (\CanDbcDefinition' {networkInterface} -> networkInterface) (\s@CanDbcDefinition' {} a -> s {networkInterface = a} :: CanDbcDefinition)++-- | A list of DBC files. You can upload only one DBC file for each network+-- interface and specify up to five (inclusive) files in the list.+canDbcDefinition_canDbcFiles :: Lens.Lens' CanDbcDefinition (Prelude.NonEmpty Prelude.ByteString)+canDbcDefinition_canDbcFiles = Lens.lens (\CanDbcDefinition' {canDbcFiles} -> canDbcFiles) (\s@CanDbcDefinition' {} a -> s {canDbcFiles = a} :: CanDbcDefinition) Prelude.. Lens.coerced++instance Prelude.Hashable CanDbcDefinition where+ hashWithSalt _salt CanDbcDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` signalsMap+ `Prelude.hashWithSalt` networkInterface+ `Prelude.hashWithSalt` canDbcFiles++instance Prelude.NFData CanDbcDefinition where+ rnf CanDbcDefinition' {..} =+ Prelude.rnf signalsMap+ `Prelude.seq` Prelude.rnf networkInterface+ `Prelude.seq` Prelude.rnf canDbcFiles++instance Data.ToJSON CanDbcDefinition where+ toJSON CanDbcDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("signalsMap" Data..=) Prelude.<$> signalsMap,+ Prelude.Just+ ("networkInterface" Data..= networkInterface),+ Prelude.Just ("canDbcFiles" Data..= canDbcFiles)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CanInterface.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CanInterface+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CanInterface 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 single controller area network (CAN) device interface.+--+-- /See:/ 'newCanInterface' smart constructor.+data CanInterface = CanInterface'+ { -- | The name of the communication protocol for the interface.+ protocolName :: Prelude.Maybe Prelude.Text,+ -- | The version of the communication protocol for the interface.+ protocolVersion :: Prelude.Maybe Prelude.Text,+ -- | The unique name of the interface.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CanInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'protocolName', 'canInterface_protocolName' - The name of the communication protocol for the interface.+--+-- 'protocolVersion', 'canInterface_protocolVersion' - The version of the communication protocol for the interface.+--+-- 'name', 'canInterface_name' - The unique name of the interface.+newCanInterface ::+ -- | 'name'+ Prelude.Text ->+ CanInterface+newCanInterface pName_ =+ CanInterface'+ { protocolName = Prelude.Nothing,+ protocolVersion = Prelude.Nothing,+ name = pName_+ }++-- | The name of the communication protocol for the interface.+canInterface_protocolName :: Lens.Lens' CanInterface (Prelude.Maybe Prelude.Text)+canInterface_protocolName = Lens.lens (\CanInterface' {protocolName} -> protocolName) (\s@CanInterface' {} a -> s {protocolName = a} :: CanInterface)++-- | The version of the communication protocol for the interface.+canInterface_protocolVersion :: Lens.Lens' CanInterface (Prelude.Maybe Prelude.Text)+canInterface_protocolVersion = Lens.lens (\CanInterface' {protocolVersion} -> protocolVersion) (\s@CanInterface' {} a -> s {protocolVersion = a} :: CanInterface)++-- | The unique name of the interface.+canInterface_name :: Lens.Lens' CanInterface Prelude.Text+canInterface_name = Lens.lens (\CanInterface' {name} -> name) (\s@CanInterface' {} a -> s {name = a} :: CanInterface)++instance Data.FromJSON CanInterface where+ parseJSON =+ Data.withObject+ "CanInterface"+ ( \x ->+ CanInterface'+ Prelude.<$> (x Data..:? "protocolName")+ Prelude.<*> (x Data..:? "protocolVersion")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable CanInterface where+ hashWithSalt _salt CanInterface' {..} =+ _salt+ `Prelude.hashWithSalt` protocolName+ `Prelude.hashWithSalt` protocolVersion+ `Prelude.hashWithSalt` name++instance Prelude.NFData CanInterface where+ rnf CanInterface' {..} =+ Prelude.rnf protocolName+ `Prelude.seq` Prelude.rnf protocolVersion+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON CanInterface where+ toJSON CanInterface' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("protocolName" Data..=) Prelude.<$> protocolName,+ ("protocolVersion" Data..=)+ Prelude.<$> protocolVersion,+ Prelude.Just ("name" Data..= name)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CanSignal.hs view
@@ -0,0 +1,193 @@+{-# 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.IoTFleetWise.Types.CanSignal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CanSignal 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 single controller area network (CAN) signal and the+-- messages it receives and transmits.+--+-- /See:/ 'newCanSignal' smart constructor.+data CanSignal = CanSignal'+ { -- | The name of the signal.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ID of the message.+ messageId :: Prelude.Natural,+ -- | Whether the byte ordering of a CAN message is big-endian.+ isBigEndian :: Prelude.Bool,+ -- | Whether the message data is specified as a signed value.+ isSigned :: Prelude.Bool,+ -- | Indicates the beginning of the CAN message.+ startBit :: Prelude.Natural,+ -- | Indicates where data appears in the CAN message.+ offset :: Prelude.Double,+ -- | A multiplier used to decode the CAN message.+ factor :: Prelude.Double,+ -- | How many bytes of data are in the message.+ length :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CanSignal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'canSignal_name' - The name of the signal.+--+-- 'messageId', 'canSignal_messageId' - The ID of the message.+--+-- 'isBigEndian', 'canSignal_isBigEndian' - Whether the byte ordering of a CAN message is big-endian.+--+-- 'isSigned', 'canSignal_isSigned' - Whether the message data is specified as a signed value.+--+-- 'startBit', 'canSignal_startBit' - Indicates the beginning of the CAN message.+--+-- 'offset', 'canSignal_offset' - Indicates where data appears in the CAN message.+--+-- 'factor', 'canSignal_factor' - A multiplier used to decode the CAN message.+--+-- 'length', 'canSignal_length' - How many bytes of data are in the message.+newCanSignal ::+ -- | 'messageId'+ Prelude.Natural ->+ -- | 'isBigEndian'+ Prelude.Bool ->+ -- | 'isSigned'+ Prelude.Bool ->+ -- | 'startBit'+ Prelude.Natural ->+ -- | 'offset'+ Prelude.Double ->+ -- | 'factor'+ Prelude.Double ->+ -- | 'length'+ Prelude.Natural ->+ CanSignal+newCanSignal+ pMessageId_+ pIsBigEndian_+ pIsSigned_+ pStartBit_+ pOffset_+ pFactor_+ pLength_ =+ CanSignal'+ { name = Prelude.Nothing,+ messageId = pMessageId_,+ isBigEndian = pIsBigEndian_,+ isSigned = pIsSigned_,+ startBit = pStartBit_,+ offset = pOffset_,+ factor = pFactor_,+ length = pLength_+ }++-- | The name of the signal.+canSignal_name :: Lens.Lens' CanSignal (Prelude.Maybe Prelude.Text)+canSignal_name = Lens.lens (\CanSignal' {name} -> name) (\s@CanSignal' {} a -> s {name = a} :: CanSignal)++-- | The ID of the message.+canSignal_messageId :: Lens.Lens' CanSignal Prelude.Natural+canSignal_messageId = Lens.lens (\CanSignal' {messageId} -> messageId) (\s@CanSignal' {} a -> s {messageId = a} :: CanSignal)++-- | Whether the byte ordering of a CAN message is big-endian.+canSignal_isBigEndian :: Lens.Lens' CanSignal Prelude.Bool+canSignal_isBigEndian = Lens.lens (\CanSignal' {isBigEndian} -> isBigEndian) (\s@CanSignal' {} a -> s {isBigEndian = a} :: CanSignal)++-- | Whether the message data is specified as a signed value.+canSignal_isSigned :: Lens.Lens' CanSignal Prelude.Bool+canSignal_isSigned = Lens.lens (\CanSignal' {isSigned} -> isSigned) (\s@CanSignal' {} a -> s {isSigned = a} :: CanSignal)++-- | Indicates the beginning of the CAN message.+canSignal_startBit :: Lens.Lens' CanSignal Prelude.Natural+canSignal_startBit = Lens.lens (\CanSignal' {startBit} -> startBit) (\s@CanSignal' {} a -> s {startBit = a} :: CanSignal)++-- | Indicates where data appears in the CAN message.+canSignal_offset :: Lens.Lens' CanSignal Prelude.Double+canSignal_offset = Lens.lens (\CanSignal' {offset} -> offset) (\s@CanSignal' {} a -> s {offset = a} :: CanSignal)++-- | A multiplier used to decode the CAN message.+canSignal_factor :: Lens.Lens' CanSignal Prelude.Double+canSignal_factor = Lens.lens (\CanSignal' {factor} -> factor) (\s@CanSignal' {} a -> s {factor = a} :: CanSignal)++-- | How many bytes of data are in the message.+canSignal_length :: Lens.Lens' CanSignal Prelude.Natural+canSignal_length = Lens.lens (\CanSignal' {length} -> length) (\s@CanSignal' {} a -> s {length = a} :: CanSignal)++instance Data.FromJSON CanSignal where+ parseJSON =+ Data.withObject+ "CanSignal"+ ( \x ->+ CanSignal'+ Prelude.<$> (x Data..:? "name")+ Prelude.<*> (x Data..: "messageId")+ Prelude.<*> (x Data..: "isBigEndian")+ Prelude.<*> (x Data..: "isSigned")+ Prelude.<*> (x Data..: "startBit")+ Prelude.<*> (x Data..: "offset")+ Prelude.<*> (x Data..: "factor")+ Prelude.<*> (x Data..: "length")+ )++instance Prelude.Hashable CanSignal where+ hashWithSalt _salt CanSignal' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` messageId+ `Prelude.hashWithSalt` isBigEndian+ `Prelude.hashWithSalt` isSigned+ `Prelude.hashWithSalt` startBit+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` factor+ `Prelude.hashWithSalt` length++instance Prelude.NFData CanSignal where+ rnf CanSignal' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf messageId+ `Prelude.seq` Prelude.rnf isBigEndian+ `Prelude.seq` Prelude.rnf isSigned+ `Prelude.seq` Prelude.rnf startBit+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf factor+ `Prelude.seq` Prelude.rnf length++instance Data.ToJSON CanSignal where+ toJSON CanSignal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("name" Data..=) Prelude.<$> name,+ Prelude.Just ("messageId" Data..= messageId),+ Prelude.Just ("isBigEndian" Data..= isBigEndian),+ Prelude.Just ("isSigned" Data..= isSigned),+ Prelude.Just ("startBit" Data..= startBit),+ Prelude.Just ("offset" Data..= offset),+ Prelude.Just ("factor" Data..= factor),+ Prelude.Just ("length" Data..= length)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CloudWatchLogDeliveryOptions.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CloudWatchLogDeliveryOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.LogType+import qualified Amazonka.Prelude as Prelude++-- | The log delivery option to send data to Amazon CloudWatch Logs.+--+-- /See:/ 'newCloudWatchLogDeliveryOptions' smart constructor.+data CloudWatchLogDeliveryOptions = CloudWatchLogDeliveryOptions'+ { -- | The Amazon CloudWatch Logs group the operation sends data to.+ logGroupName :: Prelude.Maybe Prelude.Text,+ -- | The type of log to send data to Amazon CloudWatch Logs.+ logType :: LogType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchLogDeliveryOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logGroupName', 'cloudWatchLogDeliveryOptions_logGroupName' - The Amazon CloudWatch Logs group the operation sends data to.+--+-- 'logType', 'cloudWatchLogDeliveryOptions_logType' - The type of log to send data to Amazon CloudWatch Logs.+newCloudWatchLogDeliveryOptions ::+ -- | 'logType'+ LogType ->+ CloudWatchLogDeliveryOptions+newCloudWatchLogDeliveryOptions pLogType_ =+ CloudWatchLogDeliveryOptions'+ { logGroupName =+ Prelude.Nothing,+ logType = pLogType_+ }++-- | The Amazon CloudWatch Logs group the operation sends data to.+cloudWatchLogDeliveryOptions_logGroupName :: Lens.Lens' CloudWatchLogDeliveryOptions (Prelude.Maybe Prelude.Text)+cloudWatchLogDeliveryOptions_logGroupName = Lens.lens (\CloudWatchLogDeliveryOptions' {logGroupName} -> logGroupName) (\s@CloudWatchLogDeliveryOptions' {} a -> s {logGroupName = a} :: CloudWatchLogDeliveryOptions)++-- | The type of log to send data to Amazon CloudWatch Logs.+cloudWatchLogDeliveryOptions_logType :: Lens.Lens' CloudWatchLogDeliveryOptions LogType+cloudWatchLogDeliveryOptions_logType = Lens.lens (\CloudWatchLogDeliveryOptions' {logType} -> logType) (\s@CloudWatchLogDeliveryOptions' {} a -> s {logType = a} :: CloudWatchLogDeliveryOptions)++instance Data.FromJSON CloudWatchLogDeliveryOptions where+ parseJSON =+ Data.withObject+ "CloudWatchLogDeliveryOptions"+ ( \x ->+ CloudWatchLogDeliveryOptions'+ Prelude.<$> (x Data..:? "logGroupName")+ Prelude.<*> (x Data..: "logType")+ )++instance+ Prelude.Hashable+ CloudWatchLogDeliveryOptions+ where+ hashWithSalt _salt CloudWatchLogDeliveryOptions' {..} =+ _salt+ `Prelude.hashWithSalt` logGroupName+ `Prelude.hashWithSalt` logType++instance Prelude.NFData CloudWatchLogDeliveryOptions where+ rnf CloudWatchLogDeliveryOptions' {..} =+ Prelude.rnf logGroupName+ `Prelude.seq` Prelude.rnf logType++instance Data.ToJSON CloudWatchLogDeliveryOptions where+ toJSON CloudWatchLogDeliveryOptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("logGroupName" Data..=) Prelude.<$> logGroupName,+ Prelude.Just ("logType" Data..= logType)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CollectionScheme.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CollectionScheme+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CollectionScheme where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme+import Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme+import qualified Amazonka.Prelude as Prelude++-- | Specifies what data to collect and how often or when to collect it.+--+-- /See:/ 'newCollectionScheme' smart constructor.+data CollectionScheme = CollectionScheme'+ { -- | Information about a collection scheme that uses a simple logical+ -- expression to recognize what data to collect.+ conditionBasedCollectionScheme :: Prelude.Maybe ConditionBasedCollectionScheme,+ -- | Information about a collection scheme that uses a time period to decide+ -- how often to collect data.+ timeBasedCollectionScheme :: Prelude.Maybe TimeBasedCollectionScheme+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CollectionScheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionBasedCollectionScheme', 'collectionScheme_conditionBasedCollectionScheme' - Information about a collection scheme that uses a simple logical+-- expression to recognize what data to collect.+--+-- 'timeBasedCollectionScheme', 'collectionScheme_timeBasedCollectionScheme' - Information about a collection scheme that uses a time period to decide+-- how often to collect data.+newCollectionScheme ::+ CollectionScheme+newCollectionScheme =+ CollectionScheme'+ { conditionBasedCollectionScheme =+ Prelude.Nothing,+ timeBasedCollectionScheme = Prelude.Nothing+ }++-- | Information about a collection scheme that uses a simple logical+-- expression to recognize what data to collect.+collectionScheme_conditionBasedCollectionScheme :: Lens.Lens' CollectionScheme (Prelude.Maybe ConditionBasedCollectionScheme)+collectionScheme_conditionBasedCollectionScheme = Lens.lens (\CollectionScheme' {conditionBasedCollectionScheme} -> conditionBasedCollectionScheme) (\s@CollectionScheme' {} a -> s {conditionBasedCollectionScheme = a} :: CollectionScheme)++-- | Information about a collection scheme that uses a time period to decide+-- how often to collect data.+collectionScheme_timeBasedCollectionScheme :: Lens.Lens' CollectionScheme (Prelude.Maybe TimeBasedCollectionScheme)+collectionScheme_timeBasedCollectionScheme = Lens.lens (\CollectionScheme' {timeBasedCollectionScheme} -> timeBasedCollectionScheme) (\s@CollectionScheme' {} a -> s {timeBasedCollectionScheme = a} :: CollectionScheme)++instance Data.FromJSON CollectionScheme where+ parseJSON =+ Data.withObject+ "CollectionScheme"+ ( \x ->+ CollectionScheme'+ Prelude.<$> (x Data..:? "conditionBasedCollectionScheme")+ Prelude.<*> (x Data..:? "timeBasedCollectionScheme")+ )++instance Prelude.Hashable CollectionScheme where+ hashWithSalt _salt CollectionScheme' {..} =+ _salt+ `Prelude.hashWithSalt` conditionBasedCollectionScheme+ `Prelude.hashWithSalt` timeBasedCollectionScheme++instance Prelude.NFData CollectionScheme where+ rnf CollectionScheme' {..} =+ Prelude.rnf conditionBasedCollectionScheme+ `Prelude.seq` Prelude.rnf timeBasedCollectionScheme++instance Data.ToJSON CollectionScheme where+ toJSON CollectionScheme' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("conditionBasedCollectionScheme" Data..=)+ Prelude.<$> conditionBasedCollectionScheme,+ ("timeBasedCollectionScheme" Data..=)+ Prelude.<$> timeBasedCollectionScheme+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/Compression.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.IoTFleetWise.Types.Compression+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Compression+ ( Compression+ ( ..,+ Compression_OFF,+ Compression_SNAPPY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Compression = Compression'+ { fromCompression ::+ 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 Compression_OFF :: Compression+pattern Compression_OFF = Compression' "OFF"++pattern Compression_SNAPPY :: Compression+pattern Compression_SNAPPY = Compression' "SNAPPY"++{-# COMPLETE+ Compression_OFF,+ Compression_SNAPPY,+ Compression'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/ConditionBasedCollectionScheme.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.IoTFleetWise.Types.ConditionBasedCollectionScheme+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.ConditionBasedCollectionScheme where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.TriggerMode+import qualified Amazonka.Prelude as Prelude++-- | Information about a collection scheme that uses a simple logical+-- expression to recognize what data to collect.+--+-- /See:/ 'newConditionBasedCollectionScheme' smart constructor.+data ConditionBasedCollectionScheme = ConditionBasedCollectionScheme'+ { -- | Specifies the version of the conditional expression language.+ conditionLanguageVersion :: Prelude.Maybe Prelude.Natural,+ -- | The minimum duration of time between two triggering events to collect+ -- data, in milliseconds.+ --+ -- If a signal changes often, you might want to collect data at a slower+ -- rate.+ minimumTriggerIntervalMs :: Prelude.Maybe Prelude.Natural,+ -- | Whether to collect data for all triggering events (@ALWAYS@). Specify+ -- (@RISING_EDGE@), or specify only when the condition first evaluates to+ -- false. For example, triggering on \"AirbagDeployed\"; Users aren\'t+ -- interested on triggering when the airbag is already exploded; they only+ -- care about the change from not deployed => deployed.+ triggerMode :: Prelude.Maybe TriggerMode,+ -- | The logical expression used to recognize what data to collect. For+ -- example, @$variable.Vehicle.OutsideAirTemperature >= 105.0@.+ expression :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConditionBasedCollectionScheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'conditionLanguageVersion', 'conditionBasedCollectionScheme_conditionLanguageVersion' - Specifies the version of the conditional expression language.+--+-- 'minimumTriggerIntervalMs', 'conditionBasedCollectionScheme_minimumTriggerIntervalMs' - The minimum duration of time between two triggering events to collect+-- data, in milliseconds.+--+-- If a signal changes often, you might want to collect data at a slower+-- rate.+--+-- 'triggerMode', 'conditionBasedCollectionScheme_triggerMode' - Whether to collect data for all triggering events (@ALWAYS@). Specify+-- (@RISING_EDGE@), or specify only when the condition first evaluates to+-- false. For example, triggering on \"AirbagDeployed\"; Users aren\'t+-- interested on triggering when the airbag is already exploded; they only+-- care about the change from not deployed => deployed.+--+-- 'expression', 'conditionBasedCollectionScheme_expression' - The logical expression used to recognize what data to collect. For+-- example, @$variable.Vehicle.OutsideAirTemperature >= 105.0@.+newConditionBasedCollectionScheme ::+ -- | 'expression'+ Prelude.Text ->+ ConditionBasedCollectionScheme+newConditionBasedCollectionScheme pExpression_ =+ ConditionBasedCollectionScheme'+ { conditionLanguageVersion =+ Prelude.Nothing,+ minimumTriggerIntervalMs = Prelude.Nothing,+ triggerMode = Prelude.Nothing,+ expression = pExpression_+ }++-- | Specifies the version of the conditional expression language.+conditionBasedCollectionScheme_conditionLanguageVersion :: Lens.Lens' ConditionBasedCollectionScheme (Prelude.Maybe Prelude.Natural)+conditionBasedCollectionScheme_conditionLanguageVersion = Lens.lens (\ConditionBasedCollectionScheme' {conditionLanguageVersion} -> conditionLanguageVersion) (\s@ConditionBasedCollectionScheme' {} a -> s {conditionLanguageVersion = a} :: ConditionBasedCollectionScheme)++-- | The minimum duration of time between two triggering events to collect+-- data, in milliseconds.+--+-- If a signal changes often, you might want to collect data at a slower+-- rate.+conditionBasedCollectionScheme_minimumTriggerIntervalMs :: Lens.Lens' ConditionBasedCollectionScheme (Prelude.Maybe Prelude.Natural)+conditionBasedCollectionScheme_minimumTriggerIntervalMs = Lens.lens (\ConditionBasedCollectionScheme' {minimumTriggerIntervalMs} -> minimumTriggerIntervalMs) (\s@ConditionBasedCollectionScheme' {} a -> s {minimumTriggerIntervalMs = a} :: ConditionBasedCollectionScheme)++-- | Whether to collect data for all triggering events (@ALWAYS@). Specify+-- (@RISING_EDGE@), or specify only when the condition first evaluates to+-- false. For example, triggering on \"AirbagDeployed\"; Users aren\'t+-- interested on triggering when the airbag is already exploded; they only+-- care about the change from not deployed => deployed.+conditionBasedCollectionScheme_triggerMode :: Lens.Lens' ConditionBasedCollectionScheme (Prelude.Maybe TriggerMode)+conditionBasedCollectionScheme_triggerMode = Lens.lens (\ConditionBasedCollectionScheme' {triggerMode} -> triggerMode) (\s@ConditionBasedCollectionScheme' {} a -> s {triggerMode = a} :: ConditionBasedCollectionScheme)++-- | The logical expression used to recognize what data to collect. For+-- example, @$variable.Vehicle.OutsideAirTemperature >= 105.0@.+conditionBasedCollectionScheme_expression :: Lens.Lens' ConditionBasedCollectionScheme Prelude.Text+conditionBasedCollectionScheme_expression = Lens.lens (\ConditionBasedCollectionScheme' {expression} -> expression) (\s@ConditionBasedCollectionScheme' {} a -> s {expression = a} :: ConditionBasedCollectionScheme)++instance Data.FromJSON ConditionBasedCollectionScheme where+ parseJSON =+ Data.withObject+ "ConditionBasedCollectionScheme"+ ( \x ->+ ConditionBasedCollectionScheme'+ Prelude.<$> (x Data..:? "conditionLanguageVersion")+ Prelude.<*> (x Data..:? "minimumTriggerIntervalMs")+ Prelude.<*> (x Data..:? "triggerMode")+ Prelude.<*> (x Data..: "expression")+ )++instance+ Prelude.Hashable+ ConditionBasedCollectionScheme+ where+ hashWithSalt+ _salt+ ConditionBasedCollectionScheme' {..} =+ _salt+ `Prelude.hashWithSalt` conditionLanguageVersion+ `Prelude.hashWithSalt` minimumTriggerIntervalMs+ `Prelude.hashWithSalt` triggerMode+ `Prelude.hashWithSalt` expression++instance+ Prelude.NFData+ ConditionBasedCollectionScheme+ where+ rnf ConditionBasedCollectionScheme' {..} =+ Prelude.rnf conditionLanguageVersion+ `Prelude.seq` Prelude.rnf minimumTriggerIntervalMs+ `Prelude.seq` Prelude.rnf triggerMode+ `Prelude.seq` Prelude.rnf expression++instance Data.ToJSON ConditionBasedCollectionScheme where+ toJSON ConditionBasedCollectionScheme' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("conditionLanguageVersion" Data..=)+ Prelude.<$> conditionLanguageVersion,+ ("minimumTriggerIntervalMs" Data..=)+ Prelude.<$> minimumTriggerIntervalMs,+ ("triggerMode" Data..=) Prelude.<$> triggerMode,+ Prelude.Just ("expression" Data..= expression)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CreateVehicleError.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CreateVehicleError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CreateVehicleError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An HTTP error resulting from creating a vehicle.+--+-- /See:/ 'newCreateVehicleError' smart constructor.+data CreateVehicleError = CreateVehicleError'+ { -- | An HTTP error code.+ code :: Prelude.Maybe Prelude.Text,+ -- | A description of the HTTP error.+ message :: Prelude.Maybe Prelude.Text,+ -- | The ID of the vehicle with the error.+ vehicleName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVehicleError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVehicleError_code' - An HTTP error code.+--+-- 'message', 'createVehicleError_message' - A description of the HTTP error.+--+-- 'vehicleName', 'createVehicleError_vehicleName' - The ID of the vehicle with the error.+newCreateVehicleError ::+ CreateVehicleError+newCreateVehicleError =+ CreateVehicleError'+ { code = Prelude.Nothing,+ message = Prelude.Nothing,+ vehicleName = Prelude.Nothing+ }++-- | An HTTP error code.+createVehicleError_code :: Lens.Lens' CreateVehicleError (Prelude.Maybe Prelude.Text)+createVehicleError_code = Lens.lens (\CreateVehicleError' {code} -> code) (\s@CreateVehicleError' {} a -> s {code = a} :: CreateVehicleError)++-- | A description of the HTTP error.+createVehicleError_message :: Lens.Lens' CreateVehicleError (Prelude.Maybe Prelude.Text)+createVehicleError_message = Lens.lens (\CreateVehicleError' {message} -> message) (\s@CreateVehicleError' {} a -> s {message = a} :: CreateVehicleError)++-- | The ID of the vehicle with the error.+createVehicleError_vehicleName :: Lens.Lens' CreateVehicleError (Prelude.Maybe Prelude.Text)+createVehicleError_vehicleName = Lens.lens (\CreateVehicleError' {vehicleName} -> vehicleName) (\s@CreateVehicleError' {} a -> s {vehicleName = a} :: CreateVehicleError)++instance Data.FromJSON CreateVehicleError where+ parseJSON =+ Data.withObject+ "CreateVehicleError"+ ( \x ->+ CreateVehicleError'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "message")+ Prelude.<*> (x Data..:? "vehicleName")+ )++instance Prelude.Hashable CreateVehicleError where+ hashWithSalt _salt CreateVehicleError' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData CreateVehicleError where+ rnf CreateVehicleError' {..} =+ Prelude.rnf code+ `Prelude.seq` Prelude.rnf message+ `Prelude.seq` Prelude.rnf vehicleName
+ gen/Amazonka/IoTFleetWise/Types/CreateVehicleRequestItem.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.IoTFleetWise.Types.CreateVehicleRequestItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CreateVehicleRequestItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.Tag+import Amazonka.IoTFleetWise.Types.VehicleAssociationBehavior+import qualified Amazonka.Prelude as Prelude++-- | Information about the vehicle to create.+--+-- /See:/ 'newCreateVehicleRequestItem' smart constructor.+data CreateVehicleRequestItem = CreateVehicleRequestItem'+ { -- | An option to create a new Amazon Web Services IoT thing when creating a+ -- vehicle, or to validate an existing thing as a vehicle.+ associationBehavior :: Prelude.Maybe VehicleAssociationBehavior,+ -- | Static information about a vehicle in a key-value pair. For example:+ -- @\"engine Type\"@ : @\"v6\"@+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | Metadata which can be used to manage the vehicle.+ tags :: Prelude.Maybe [Tag],+ -- | The unique ID of the vehicle to create.+ vehicleName :: Prelude.Text,+ -- | The ARN of the vehicle model (model manifest) to create the vehicle+ -- from.+ modelManifestArn :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of a decoder manifest associated with the+ -- vehicle to create.+ decoderManifestArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVehicleRequestItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'associationBehavior', 'createVehicleRequestItem_associationBehavior' - An option to create a new Amazon Web Services IoT thing when creating a+-- vehicle, or to validate an existing thing as a vehicle.+--+-- 'attributes', 'createVehicleRequestItem_attributes' - Static information about a vehicle in a key-value pair. For example:+-- @\"engine Type\"@ : @\"v6\"@+--+-- 'tags', 'createVehicleRequestItem_tags' - Metadata which can be used to manage the vehicle.+--+-- 'vehicleName', 'createVehicleRequestItem_vehicleName' - The unique ID of the vehicle to create.+--+-- 'modelManifestArn', 'createVehicleRequestItem_modelManifestArn' - The ARN of the vehicle model (model manifest) to create the vehicle+-- from.+--+-- 'decoderManifestArn', 'createVehicleRequestItem_decoderManifestArn' - The Amazon Resource Name (ARN) of a decoder manifest associated with the+-- vehicle to create.+newCreateVehicleRequestItem ::+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'modelManifestArn'+ Prelude.Text ->+ -- | 'decoderManifestArn'+ Prelude.Text ->+ CreateVehicleRequestItem+newCreateVehicleRequestItem+ pVehicleName_+ pModelManifestArn_+ pDecoderManifestArn_ =+ CreateVehicleRequestItem'+ { associationBehavior =+ Prelude.Nothing,+ attributes = Prelude.Nothing,+ tags = Prelude.Nothing,+ vehicleName = pVehicleName_,+ modelManifestArn = pModelManifestArn_,+ decoderManifestArn = pDecoderManifestArn_+ }++-- | An option to create a new Amazon Web Services IoT thing when creating a+-- vehicle, or to validate an existing thing as a vehicle.+createVehicleRequestItem_associationBehavior :: Lens.Lens' CreateVehicleRequestItem (Prelude.Maybe VehicleAssociationBehavior)+createVehicleRequestItem_associationBehavior = Lens.lens (\CreateVehicleRequestItem' {associationBehavior} -> associationBehavior) (\s@CreateVehicleRequestItem' {} a -> s {associationBehavior = a} :: CreateVehicleRequestItem)++-- | Static information about a vehicle in a key-value pair. For example:+-- @\"engine Type\"@ : @\"v6\"@+createVehicleRequestItem_attributes :: Lens.Lens' CreateVehicleRequestItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createVehicleRequestItem_attributes = Lens.lens (\CreateVehicleRequestItem' {attributes} -> attributes) (\s@CreateVehicleRequestItem' {} a -> s {attributes = a} :: CreateVehicleRequestItem) Prelude.. Lens.mapping Lens.coerced++-- | Metadata which can be used to manage the vehicle.+createVehicleRequestItem_tags :: Lens.Lens' CreateVehicleRequestItem (Prelude.Maybe [Tag])+createVehicleRequestItem_tags = Lens.lens (\CreateVehicleRequestItem' {tags} -> tags) (\s@CreateVehicleRequestItem' {} a -> s {tags = a} :: CreateVehicleRequestItem) Prelude.. Lens.mapping Lens.coerced++-- | The unique ID of the vehicle to create.+createVehicleRequestItem_vehicleName :: Lens.Lens' CreateVehicleRequestItem Prelude.Text+createVehicleRequestItem_vehicleName = Lens.lens (\CreateVehicleRequestItem' {vehicleName} -> vehicleName) (\s@CreateVehicleRequestItem' {} a -> s {vehicleName = a} :: CreateVehicleRequestItem)++-- | The ARN of the vehicle model (model manifest) to create the vehicle+-- from.+createVehicleRequestItem_modelManifestArn :: Lens.Lens' CreateVehicleRequestItem Prelude.Text+createVehicleRequestItem_modelManifestArn = Lens.lens (\CreateVehicleRequestItem' {modelManifestArn} -> modelManifestArn) (\s@CreateVehicleRequestItem' {} a -> s {modelManifestArn = a} :: CreateVehicleRequestItem)++-- | The Amazon Resource Name (ARN) of a decoder manifest associated with the+-- vehicle to create.+createVehicleRequestItem_decoderManifestArn :: Lens.Lens' CreateVehicleRequestItem Prelude.Text+createVehicleRequestItem_decoderManifestArn = Lens.lens (\CreateVehicleRequestItem' {decoderManifestArn} -> decoderManifestArn) (\s@CreateVehicleRequestItem' {} a -> s {decoderManifestArn = a} :: CreateVehicleRequestItem)++instance Prelude.Hashable CreateVehicleRequestItem where+ hashWithSalt _salt CreateVehicleRequestItem' {..} =+ _salt+ `Prelude.hashWithSalt` associationBehavior+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` vehicleName+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` decoderManifestArn++instance Prelude.NFData CreateVehicleRequestItem where+ rnf CreateVehicleRequestItem' {..} =+ Prelude.rnf associationBehavior+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf decoderManifestArn++instance Data.ToJSON CreateVehicleRequestItem where+ toJSON CreateVehicleRequestItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("associationBehavior" Data..=)+ Prelude.<$> associationBehavior,+ ("attributes" Data..=) Prelude.<$> attributes,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("vehicleName" Data..= vehicleName),+ Prelude.Just+ ("modelManifestArn" Data..= modelManifestArn),+ Prelude.Just+ ("decoderManifestArn" Data..= decoderManifestArn)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/CreateVehicleResponseItem.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.CreateVehicleResponseItem 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 created vehicle.+--+-- /See:/ 'newCreateVehicleResponseItem' smart constructor.+data CreateVehicleResponseItem = CreateVehicleResponseItem'+ { -- | The ARN of the created vehicle.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a created or validated Amazon Web Services IoT thing.+ thingArn :: Prelude.Maybe Prelude.Text,+ -- | The unique ID of the vehicle to create.+ vehicleName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVehicleResponseItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createVehicleResponseItem_arn' - The ARN of the created vehicle.+--+-- 'thingArn', 'createVehicleResponseItem_thingArn' - The ARN of a created or validated Amazon Web Services IoT thing.+--+-- 'vehicleName', 'createVehicleResponseItem_vehicleName' - The unique ID of the vehicle to create.+newCreateVehicleResponseItem ::+ CreateVehicleResponseItem+newCreateVehicleResponseItem =+ CreateVehicleResponseItem'+ { arn = Prelude.Nothing,+ thingArn = Prelude.Nothing,+ vehicleName = Prelude.Nothing+ }++-- | The ARN of the created vehicle.+createVehicleResponseItem_arn :: Lens.Lens' CreateVehicleResponseItem (Prelude.Maybe Prelude.Text)+createVehicleResponseItem_arn = Lens.lens (\CreateVehicleResponseItem' {arn} -> arn) (\s@CreateVehicleResponseItem' {} a -> s {arn = a} :: CreateVehicleResponseItem)++-- | The ARN of a created or validated Amazon Web Services IoT thing.+createVehicleResponseItem_thingArn :: Lens.Lens' CreateVehicleResponseItem (Prelude.Maybe Prelude.Text)+createVehicleResponseItem_thingArn = Lens.lens (\CreateVehicleResponseItem' {thingArn} -> thingArn) (\s@CreateVehicleResponseItem' {} a -> s {thingArn = a} :: CreateVehicleResponseItem)++-- | The unique ID of the vehicle to create.+createVehicleResponseItem_vehicleName :: Lens.Lens' CreateVehicleResponseItem (Prelude.Maybe Prelude.Text)+createVehicleResponseItem_vehicleName = Lens.lens (\CreateVehicleResponseItem' {vehicleName} -> vehicleName) (\s@CreateVehicleResponseItem' {} a -> s {vehicleName = a} :: CreateVehicleResponseItem)++instance Data.FromJSON CreateVehicleResponseItem where+ parseJSON =+ Data.withObject+ "CreateVehicleResponseItem"+ ( \x ->+ CreateVehicleResponseItem'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "thingArn")+ Prelude.<*> (x Data..:? "vehicleName")+ )++instance Prelude.Hashable CreateVehicleResponseItem where+ hashWithSalt _salt CreateVehicleResponseItem' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` thingArn+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData CreateVehicleResponseItem where+ rnf CreateVehicleResponseItem' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf thingArn+ `Prelude.seq` Prelude.rnf vehicleName
+ gen/Amazonka/IoTFleetWise/Types/DecoderManifestSummary.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.IoTFleetWise.Types.DecoderManifestSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.DecoderManifestSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.ManifestStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about a created decoder manifest. You can use the API+-- operation to return this information about multiple decoder manifests.+--+-- /See:/ 'newDecoderManifestSummary' smart constructor.+data DecoderManifestSummary = DecoderManifestSummary'+ { -- | The ARN of a vehicle model (model manifest) associated with the decoder+ -- manifest.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the decoder manifest.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a vehicle model (model manifest) associated with the decoder+ -- manifest.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the decoder manifest.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of the decoder manifest. If the status is @ACTIVE@, the+ -- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+ -- can edit the decoder manifest.+ status :: Prelude.Maybe ManifestStatus,+ -- | The time the decoder manifest was created in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time the decoder manifest was last updated in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DecoderManifestSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'decoderManifestSummary_arn' - The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+--+-- 'description', 'decoderManifestSummary_description' - A brief description of the decoder manifest.+--+-- 'modelManifestArn', 'decoderManifestSummary_modelManifestArn' - The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+--+-- 'name', 'decoderManifestSummary_name' - The name of the decoder manifest.+--+-- 'status', 'decoderManifestSummary_status' - The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+-- can edit the decoder manifest.+--+-- 'creationTime', 'decoderManifestSummary_creationTime' - The time the decoder manifest was created in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'decoderManifestSummary_lastModificationTime' - The time the decoder manifest was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+newDecoderManifestSummary ::+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ DecoderManifestSummary+newDecoderManifestSummary+ pCreationTime_+ pLastModificationTime_ =+ DecoderManifestSummary'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+decoderManifestSummary_arn :: Lens.Lens' DecoderManifestSummary (Prelude.Maybe Prelude.Text)+decoderManifestSummary_arn = Lens.lens (\DecoderManifestSummary' {arn} -> arn) (\s@DecoderManifestSummary' {} a -> s {arn = a} :: DecoderManifestSummary)++-- | A brief description of the decoder manifest.+decoderManifestSummary_description :: Lens.Lens' DecoderManifestSummary (Prelude.Maybe Prelude.Text)+decoderManifestSummary_description = Lens.lens (\DecoderManifestSummary' {description} -> description) (\s@DecoderManifestSummary' {} a -> s {description = a} :: DecoderManifestSummary)++-- | The ARN of a vehicle model (model manifest) associated with the decoder+-- manifest.+decoderManifestSummary_modelManifestArn :: Lens.Lens' DecoderManifestSummary (Prelude.Maybe Prelude.Text)+decoderManifestSummary_modelManifestArn = Lens.lens (\DecoderManifestSummary' {modelManifestArn} -> modelManifestArn) (\s@DecoderManifestSummary' {} a -> s {modelManifestArn = a} :: DecoderManifestSummary)++-- | The name of the decoder manifest.+decoderManifestSummary_name :: Lens.Lens' DecoderManifestSummary (Prelude.Maybe Prelude.Text)+decoderManifestSummary_name = Lens.lens (\DecoderManifestSummary' {name} -> name) (\s@DecoderManifestSummary' {} a -> s {name = a} :: DecoderManifestSummary)++-- | The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is marked @DRAFT@, you+-- can edit the decoder manifest.+decoderManifestSummary_status :: Lens.Lens' DecoderManifestSummary (Prelude.Maybe ManifestStatus)+decoderManifestSummary_status = Lens.lens (\DecoderManifestSummary' {status} -> status) (\s@DecoderManifestSummary' {} a -> s {status = a} :: DecoderManifestSummary)++-- | The time the decoder manifest was created in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+decoderManifestSummary_creationTime :: Lens.Lens' DecoderManifestSummary Prelude.UTCTime+decoderManifestSummary_creationTime = Lens.lens (\DecoderManifestSummary' {creationTime} -> creationTime) (\s@DecoderManifestSummary' {} a -> s {creationTime = a} :: DecoderManifestSummary) Prelude.. Data._Time++-- | The time the decoder manifest was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+decoderManifestSummary_lastModificationTime :: Lens.Lens' DecoderManifestSummary Prelude.UTCTime+decoderManifestSummary_lastModificationTime = Lens.lens (\DecoderManifestSummary' {lastModificationTime} -> lastModificationTime) (\s@DecoderManifestSummary' {} a -> s {lastModificationTime = a} :: DecoderManifestSummary) Prelude.. Data._Time++instance Data.FromJSON DecoderManifestSummary where+ parseJSON =+ Data.withObject+ "DecoderManifestSummary"+ ( \x ->+ DecoderManifestSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "modelManifestArn")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..: "lastModificationTime")+ )++instance Prelude.Hashable DecoderManifestSummary where+ hashWithSalt _salt DecoderManifestSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData DecoderManifestSummary where+ rnf DecoderManifestSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/Types/DiagnosticsMode.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.IoTFleetWise.Types.DiagnosticsMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.DiagnosticsMode+ ( DiagnosticsMode+ ( ..,+ DiagnosticsMode_OFF,+ DiagnosticsMode_SEND_ACTIVE_DTCS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DiagnosticsMode = DiagnosticsMode'+ { fromDiagnosticsMode ::+ 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 DiagnosticsMode_OFF :: DiagnosticsMode+pattern DiagnosticsMode_OFF = DiagnosticsMode' "OFF"++pattern DiagnosticsMode_SEND_ACTIVE_DTCS :: DiagnosticsMode+pattern DiagnosticsMode_SEND_ACTIVE_DTCS = DiagnosticsMode' "SEND_ACTIVE_DTCS"++{-# COMPLETE+ DiagnosticsMode_OFF,+ DiagnosticsMode_SEND_ACTIVE_DTCS,+ DiagnosticsMode'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/FleetSummary.hs view
@@ -0,0 +1,153 @@+{-# 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.IoTFleetWise.Types.FleetSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.FleetSummary 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 fleet.+--+-- You can use the API operation to return this information about multiple+-- fleets.+--+-- /See:/ 'newFleetSummary' smart constructor.+data FleetSummary = FleetSummary'+ { -- | A brief description of the fleet.+ description :: Prelude.Maybe Prelude.Text,+ -- | The time the fleet was last updated in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The unique ID of the fleet.+ id :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the fleet.+ arn :: Prelude.Text,+ -- | The ARN of the signal catalog associated with the fleet.+ signalCatalogArn :: Prelude.Text,+ -- | The time the fleet was created, in seconds since epoch (January 1, 1970+ -- at midnight UTC time).+ creationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FleetSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'fleetSummary_description' - A brief description of the fleet.+--+-- 'lastModificationTime', 'fleetSummary_lastModificationTime' - The time the fleet was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+--+-- 'id', 'fleetSummary_id' - The unique ID of the fleet.+--+-- 'arn', 'fleetSummary_arn' - The Amazon Resource Name (ARN) of the fleet.+--+-- 'signalCatalogArn', 'fleetSummary_signalCatalogArn' - The ARN of the signal catalog associated with the fleet.+--+-- 'creationTime', 'fleetSummary_creationTime' - The time the fleet was created, in seconds since epoch (January 1, 1970+-- at midnight UTC time).+newFleetSummary ::+ -- | 'id'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'signalCatalogArn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ FleetSummary+newFleetSummary+ pId_+ pArn_+ pSignalCatalogArn_+ pCreationTime_ =+ FleetSummary'+ { description = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ id = pId_,+ arn = pArn_,+ signalCatalogArn = pSignalCatalogArn_,+ creationTime = Data._Time Lens.# pCreationTime_+ }++-- | A brief description of the fleet.+fleetSummary_description :: Lens.Lens' FleetSummary (Prelude.Maybe Prelude.Text)+fleetSummary_description = Lens.lens (\FleetSummary' {description} -> description) (\s@FleetSummary' {} a -> s {description = a} :: FleetSummary)++-- | The time the fleet was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+fleetSummary_lastModificationTime :: Lens.Lens' FleetSummary (Prelude.Maybe Prelude.UTCTime)+fleetSummary_lastModificationTime = Lens.lens (\FleetSummary' {lastModificationTime} -> lastModificationTime) (\s@FleetSummary' {} a -> s {lastModificationTime = a} :: FleetSummary) Prelude.. Lens.mapping Data._Time++-- | The unique ID of the fleet.+fleetSummary_id :: Lens.Lens' FleetSummary Prelude.Text+fleetSummary_id = Lens.lens (\FleetSummary' {id} -> id) (\s@FleetSummary' {} a -> s {id = a} :: FleetSummary)++-- | The Amazon Resource Name (ARN) of the fleet.+fleetSummary_arn :: Lens.Lens' FleetSummary Prelude.Text+fleetSummary_arn = Lens.lens (\FleetSummary' {arn} -> arn) (\s@FleetSummary' {} a -> s {arn = a} :: FleetSummary)++-- | The ARN of the signal catalog associated with the fleet.+fleetSummary_signalCatalogArn :: Lens.Lens' FleetSummary Prelude.Text+fleetSummary_signalCatalogArn = Lens.lens (\FleetSummary' {signalCatalogArn} -> signalCatalogArn) (\s@FleetSummary' {} a -> s {signalCatalogArn = a} :: FleetSummary)++-- | The time the fleet was created, in seconds since epoch (January 1, 1970+-- at midnight UTC time).+fleetSummary_creationTime :: Lens.Lens' FleetSummary Prelude.UTCTime+fleetSummary_creationTime = Lens.lens (\FleetSummary' {creationTime} -> creationTime) (\s@FleetSummary' {} a -> s {creationTime = a} :: FleetSummary) Prelude.. Data._Time++instance Data.FromJSON FleetSummary where+ parseJSON =+ Data.withObject+ "FleetSummary"+ ( \x ->+ FleetSummary'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..:? "lastModificationTime")+ Prelude.<*> (x Data..: "id")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "signalCatalogArn")+ Prelude.<*> (x Data..: "creationTime")+ )++instance Prelude.Hashable FleetSummary where+ hashWithSalt _salt FleetSummary' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` lastModificationTime+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` signalCatalogArn+ `Prelude.hashWithSalt` creationTime++instance Prelude.NFData FleetSummary where+ rnf FleetSummary' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf creationTime
+ gen/Amazonka/IoTFleetWise/Types/FormattedVss.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.FormattedVss+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.FormattedVss 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++-- | Vehicle Signal Specification (VSS) is a precise language used to+-- describe and model signals in vehicle networks. The JSON file collects+-- signal specificiations in a VSS format.+--+-- /See:/ 'newFormattedVss' smart constructor.+data FormattedVss = FormattedVss'+ { -- | Provides the VSS in JSON format.+ vssJson :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FormattedVss' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vssJson', 'formattedVss_vssJson' - Provides the VSS in JSON format.+newFormattedVss ::+ FormattedVss+newFormattedVss =+ FormattedVss' {vssJson = Prelude.Nothing}++-- | Provides the VSS in JSON format.+formattedVss_vssJson :: Lens.Lens' FormattedVss (Prelude.Maybe Prelude.Text)+formattedVss_vssJson = Lens.lens (\FormattedVss' {vssJson} -> vssJson) (\s@FormattedVss' {} a -> s {vssJson = a} :: FormattedVss)++instance Prelude.Hashable FormattedVss where+ hashWithSalt _salt FormattedVss' {..} =+ _salt `Prelude.hashWithSalt` vssJson++instance Prelude.NFData FormattedVss where+ rnf FormattedVss' {..} = Prelude.rnf vssJson++instance Data.ToJSON FormattedVss where+ toJSON FormattedVss' {..} =+ Data.object+ ( Prelude.catMaybes+ [("vssJson" Data..=) Prelude.<$> vssJson]+ )
+ gen/Amazonka/IoTFleetWise/Types/IamRegistrationResponse.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.IamRegistrationResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.IamRegistrationResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.RegistrationStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about registering an Identity and Access Management (IAM)+-- resource so Amazon Web Services IoT FleetWise edge agent software can+-- transfer your vehicle data to Amazon Timestream.+--+-- /See:/ 'newIamRegistrationResponse' smart constructor.+data IamRegistrationResponse = IamRegistrationResponse'+ { -- | A message associated with a registration error.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the IAM role to register.+ roleArn :: Prelude.Text,+ -- | The status of registering your IAM resource. The status can be one of+ -- @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@, @REGISTRATION_FAILURE@.+ registrationStatus :: RegistrationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IamRegistrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorMessage', 'iamRegistrationResponse_errorMessage' - A message associated with a registration error.+--+-- 'roleArn', 'iamRegistrationResponse_roleArn' - The Amazon Resource Name (ARN) of the IAM role to register.+--+-- 'registrationStatus', 'iamRegistrationResponse_registrationStatus' - The status of registering your IAM resource. The status can be one of+-- @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@, @REGISTRATION_FAILURE@.+newIamRegistrationResponse ::+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'registrationStatus'+ RegistrationStatus ->+ IamRegistrationResponse+newIamRegistrationResponse+ pRoleArn_+ pRegistrationStatus_ =+ IamRegistrationResponse'+ { errorMessage =+ Prelude.Nothing,+ roleArn = pRoleArn_,+ registrationStatus = pRegistrationStatus_+ }++-- | A message associated with a registration error.+iamRegistrationResponse_errorMessage :: Lens.Lens' IamRegistrationResponse (Prelude.Maybe Prelude.Text)+iamRegistrationResponse_errorMessage = Lens.lens (\IamRegistrationResponse' {errorMessage} -> errorMessage) (\s@IamRegistrationResponse' {} a -> s {errorMessage = a} :: IamRegistrationResponse)++-- | The Amazon Resource Name (ARN) of the IAM role to register.+iamRegistrationResponse_roleArn :: Lens.Lens' IamRegistrationResponse Prelude.Text+iamRegistrationResponse_roleArn = Lens.lens (\IamRegistrationResponse' {roleArn} -> roleArn) (\s@IamRegistrationResponse' {} a -> s {roleArn = a} :: IamRegistrationResponse)++-- | The status of registering your IAM resource. The status can be one of+-- @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@, @REGISTRATION_FAILURE@.+iamRegistrationResponse_registrationStatus :: Lens.Lens' IamRegistrationResponse RegistrationStatus+iamRegistrationResponse_registrationStatus = Lens.lens (\IamRegistrationResponse' {registrationStatus} -> registrationStatus) (\s@IamRegistrationResponse' {} a -> s {registrationStatus = a} :: IamRegistrationResponse)++instance Data.FromJSON IamRegistrationResponse where+ parseJSON =+ Data.withObject+ "IamRegistrationResponse"+ ( \x ->+ IamRegistrationResponse'+ Prelude.<$> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..: "roleArn")+ Prelude.<*> (x Data..: "registrationStatus")+ )++instance Prelude.Hashable IamRegistrationResponse where+ hashWithSalt _salt IamRegistrationResponse' {..} =+ _salt+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` registrationStatus++instance Prelude.NFData IamRegistrationResponse where+ rnf IamRegistrationResponse' {..} =+ Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf registrationStatus
+ gen/Amazonka/IoTFleetWise/Types/IamResources.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.IamResources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.IamResources where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The IAM resource that enables Amazon Web Services IoT FleetWise edge+-- agent software to send data to Amazon Timestream.+--+-- For more information, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /Identity and Access Management User Guide/.+--+-- /See:/ 'newIamResources' smart constructor.+data IamResources = IamResources'+ { -- | The Amazon Resource Name (ARN) of the IAM resource that allows Amazon+ -- Web Services IoT FleetWise to send data to Amazon Timestream. For+ -- example, @arn:aws:iam::123456789012:role\/SERVICE-ROLE-ARN@.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IamResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'roleArn', 'iamResources_roleArn' - The Amazon Resource Name (ARN) of the IAM resource that allows Amazon+-- Web Services IoT FleetWise to send data to Amazon Timestream. For+-- example, @arn:aws:iam::123456789012:role\/SERVICE-ROLE-ARN@.+newIamResources ::+ -- | 'roleArn'+ Prelude.Text ->+ IamResources+newIamResources pRoleArn_ =+ IamResources' {roleArn = pRoleArn_}++-- | The Amazon Resource Name (ARN) of the IAM resource that allows Amazon+-- Web Services IoT FleetWise to send data to Amazon Timestream. For+-- example, @arn:aws:iam::123456789012:role\/SERVICE-ROLE-ARN@.+iamResources_roleArn :: Lens.Lens' IamResources Prelude.Text+iamResources_roleArn = Lens.lens (\IamResources' {roleArn} -> roleArn) (\s@IamResources' {} a -> s {roleArn = a} :: IamResources)++instance Data.FromJSON IamResources where+ parseJSON =+ Data.withObject+ "IamResources"+ ( \x ->+ IamResources' Prelude.<$> (x Data..: "roleArn")+ )++instance Prelude.Hashable IamResources where+ hashWithSalt _salt IamResources' {..} =+ _salt `Prelude.hashWithSalt` roleArn++instance Prelude.NFData IamResources where+ rnf IamResources' {..} = Prelude.rnf roleArn++instance Data.ToJSON IamResources where+ toJSON IamResources' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("roleArn" Data..= roleArn)]+ )
+ gen/Amazonka/IoTFleetWise/Types/LogType.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.LogType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.LogType+ ( LogType+ ( ..,+ LogType_ERROR,+ LogType_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LogType = LogType' {fromLogType :: 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 LogType_ERROR :: LogType+pattern LogType_ERROR = LogType' "ERROR"++pattern LogType_OFF :: LogType+pattern LogType_OFF = LogType' "OFF"++{-# COMPLETE+ LogType_ERROR,+ LogType_OFF,+ LogType'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/ManifestStatus.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.IoTFleetWise.Types.ManifestStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.ManifestStatus+ ( ManifestStatus+ ( ..,+ ManifestStatus_ACTIVE,+ ManifestStatus_DRAFT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ManifestStatus = ManifestStatus'+ { fromManifestStatus ::+ 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 ManifestStatus_ACTIVE :: ManifestStatus+pattern ManifestStatus_ACTIVE = ManifestStatus' "ACTIVE"++pattern ManifestStatus_DRAFT :: ManifestStatus+pattern ManifestStatus_DRAFT = ManifestStatus' "DRAFT"++{-# COMPLETE+ ManifestStatus_ACTIVE,+ ManifestStatus_DRAFT,+ ManifestStatus'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/ModelManifestSummary.hs view
@@ -0,0 +1,165 @@+{-# 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.IoTFleetWise.Types.ModelManifestSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.ModelManifestSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.ManifestStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about a vehicle model (model manifest). You can use the API+-- operation to return this information about multiple vehicle models.+--+-- /See:/ 'newModelManifestSummary' smart constructor.+data ModelManifestSummary = ModelManifestSummary'+ { -- | The Amazon Resource Name (ARN) of the vehicle model.+ arn :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the vehicle model.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the vehicle model.+ name :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the signal catalog associated with the vehicle model.+ signalCatalogArn :: Prelude.Maybe Prelude.Text,+ -- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+ -- model can\'t be edited. If the status is @DRAFT@, you can edit the+ -- vehicle model.+ status :: Prelude.Maybe ManifestStatus,+ -- | The time the vehicle model was created, in seconds since epoch (January+ -- 1, 1970 at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time the vehicle model was last updated, in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ModelManifestSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'modelManifestSummary_arn' - The Amazon Resource Name (ARN) of the vehicle model.+--+-- 'description', 'modelManifestSummary_description' - A brief description of the vehicle model.+--+-- 'name', 'modelManifestSummary_name' - The name of the vehicle model.+--+-- 'signalCatalogArn', 'modelManifestSummary_signalCatalogArn' - The ARN of the signal catalog associated with the vehicle model.+--+-- 'status', 'modelManifestSummary_status' - The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. If the status is @DRAFT@, you can edit the+-- vehicle model.+--+-- 'creationTime', 'modelManifestSummary_creationTime' - The time the vehicle model was created, in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'modelManifestSummary_lastModificationTime' - The time the vehicle model was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+newModelManifestSummary ::+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ ModelManifestSummary+newModelManifestSummary+ pCreationTime_+ pLastModificationTime_ =+ ModelManifestSummary'+ { arn = Prelude.Nothing,+ description = Prelude.Nothing,+ name = Prelude.Nothing,+ signalCatalogArn = Prelude.Nothing,+ status = Prelude.Nothing,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | The Amazon Resource Name (ARN) of the vehicle model.+modelManifestSummary_arn :: Lens.Lens' ModelManifestSummary (Prelude.Maybe Prelude.Text)+modelManifestSummary_arn = Lens.lens (\ModelManifestSummary' {arn} -> arn) (\s@ModelManifestSummary' {} a -> s {arn = a} :: ModelManifestSummary)++-- | A brief description of the vehicle model.+modelManifestSummary_description :: Lens.Lens' ModelManifestSummary (Prelude.Maybe Prelude.Text)+modelManifestSummary_description = Lens.lens (\ModelManifestSummary' {description} -> description) (\s@ModelManifestSummary' {} a -> s {description = a} :: ModelManifestSummary)++-- | The name of the vehicle model.+modelManifestSummary_name :: Lens.Lens' ModelManifestSummary (Prelude.Maybe Prelude.Text)+modelManifestSummary_name = Lens.lens (\ModelManifestSummary' {name} -> name) (\s@ModelManifestSummary' {} a -> s {name = a} :: ModelManifestSummary)++-- | The ARN of the signal catalog associated with the vehicle model.+modelManifestSummary_signalCatalogArn :: Lens.Lens' ModelManifestSummary (Prelude.Maybe Prelude.Text)+modelManifestSummary_signalCatalogArn = Lens.lens (\ModelManifestSummary' {signalCatalogArn} -> signalCatalogArn) (\s@ModelManifestSummary' {} a -> s {signalCatalogArn = a} :: ModelManifestSummary)++-- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. If the status is @DRAFT@, you can edit the+-- vehicle model.+modelManifestSummary_status :: Lens.Lens' ModelManifestSummary (Prelude.Maybe ManifestStatus)+modelManifestSummary_status = Lens.lens (\ModelManifestSummary' {status} -> status) (\s@ModelManifestSummary' {} a -> s {status = a} :: ModelManifestSummary)++-- | The time the vehicle model was created, in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+modelManifestSummary_creationTime :: Lens.Lens' ModelManifestSummary Prelude.UTCTime+modelManifestSummary_creationTime = Lens.lens (\ModelManifestSummary' {creationTime} -> creationTime) (\s@ModelManifestSummary' {} a -> s {creationTime = a} :: ModelManifestSummary) Prelude.. Data._Time++-- | The time the vehicle model was last updated, in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+modelManifestSummary_lastModificationTime :: Lens.Lens' ModelManifestSummary Prelude.UTCTime+modelManifestSummary_lastModificationTime = Lens.lens (\ModelManifestSummary' {lastModificationTime} -> lastModificationTime) (\s@ModelManifestSummary' {} a -> s {lastModificationTime = a} :: ModelManifestSummary) Prelude.. Data._Time++instance Data.FromJSON ModelManifestSummary where+ parseJSON =+ Data.withObject+ "ModelManifestSummary"+ ( \x ->+ ModelManifestSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "signalCatalogArn")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..: "lastModificationTime")+ )++instance Prelude.Hashable ModelManifestSummary where+ hashWithSalt _salt ModelManifestSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` signalCatalogArn+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData ModelManifestSummary where+ rnf ModelManifestSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf signalCatalogArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/Types/NetworkFileDefinition.hs view
@@ -0,0 +1,70 @@+{-# 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.IoTFleetWise.Types.NetworkFileDefinition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.NetworkFileDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.CanDbcDefinition+import qualified Amazonka.Prelude as Prelude++-- | Specifications for defining a vehicle network.+--+-- /See:/ 'newNetworkFileDefinition' smart constructor.+data NetworkFileDefinition = NetworkFileDefinition'+ { -- | Information, including CAN DBC files, about the configurations used to+ -- create a decoder manifest.+ canDbc :: Prelude.Maybe CanDbcDefinition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkFileDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canDbc', 'networkFileDefinition_canDbc' - Information, including CAN DBC files, about the configurations used to+-- create a decoder manifest.+newNetworkFileDefinition ::+ NetworkFileDefinition+newNetworkFileDefinition =+ NetworkFileDefinition' {canDbc = Prelude.Nothing}++-- | Information, including CAN DBC files, about the configurations used to+-- create a decoder manifest.+networkFileDefinition_canDbc :: Lens.Lens' NetworkFileDefinition (Prelude.Maybe CanDbcDefinition)+networkFileDefinition_canDbc = Lens.lens (\NetworkFileDefinition' {canDbc} -> canDbc) (\s@NetworkFileDefinition' {} a -> s {canDbc = a} :: NetworkFileDefinition)++instance Prelude.Hashable NetworkFileDefinition where+ hashWithSalt _salt NetworkFileDefinition' {..} =+ _salt `Prelude.hashWithSalt` canDbc++instance Prelude.NFData NetworkFileDefinition where+ rnf NetworkFileDefinition' {..} = Prelude.rnf canDbc++instance Data.ToJSON NetworkFileDefinition where+ toJSON NetworkFileDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [("canDbc" Data..=) Prelude.<$> canDbc]+ )
+ gen/Amazonka/IoTFleetWise/Types/NetworkInterface.hs view
@@ -0,0 +1,145 @@+{-# 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.IoTFleetWise.Types.NetworkInterface+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.NetworkInterface where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.CanInterface+import Amazonka.IoTFleetWise.Types.NetworkInterfaceType+import Amazonka.IoTFleetWise.Types.ObdInterface+import qualified Amazonka.Prelude as Prelude++-- | Represents a node and its specifications in an in-vehicle communication+-- network. All signal decoders must be associated with a network node.+--+-- To return this information about all the network interfaces specified in+-- a decoder manifest, use the API operation.+--+-- /See:/ 'newNetworkInterface' smart constructor.+data NetworkInterface = NetworkInterface'+ { -- | Information about a network interface specified by the Controller Area+ -- Network (CAN) protocol.+ canInterface :: Prelude.Maybe CanInterface,+ -- | Information about a network interface specified by the On-board+ -- diagnostic (OBD) II protocol.+ obdInterface :: Prelude.Maybe ObdInterface,+ -- | The ID of the network interface.+ interfaceId :: Prelude.Text,+ -- | The network protocol for the vehicle. For example, @CAN_SIGNAL@+ -- specifies a protocol that defines how data is communicated between+ -- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+ -- defines how self-diagnostic data is communicated between ECUs.+ type' :: NetworkInterfaceType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canInterface', 'networkInterface_canInterface' - Information about a network interface specified by the Controller Area+-- Network (CAN) protocol.+--+-- 'obdInterface', 'networkInterface_obdInterface' - Information about a network interface specified by the On-board+-- diagnostic (OBD) II protocol.+--+-- 'interfaceId', 'networkInterface_interfaceId' - The ID of the network interface.+--+-- 'type'', 'networkInterface_type' - The network protocol for the vehicle. For example, @CAN_SIGNAL@+-- specifies a protocol that defines how data is communicated between+-- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+-- defines how self-diagnostic data is communicated between ECUs.+newNetworkInterface ::+ -- | 'interfaceId'+ Prelude.Text ->+ -- | 'type''+ NetworkInterfaceType ->+ NetworkInterface+newNetworkInterface pInterfaceId_ pType_ =+ NetworkInterface'+ { canInterface = Prelude.Nothing,+ obdInterface = Prelude.Nothing,+ interfaceId = pInterfaceId_,+ type' = pType_+ }++-- | Information about a network interface specified by the Controller Area+-- Network (CAN) protocol.+networkInterface_canInterface :: Lens.Lens' NetworkInterface (Prelude.Maybe CanInterface)+networkInterface_canInterface = Lens.lens (\NetworkInterface' {canInterface} -> canInterface) (\s@NetworkInterface' {} a -> s {canInterface = a} :: NetworkInterface)++-- | Information about a network interface specified by the On-board+-- diagnostic (OBD) II protocol.+networkInterface_obdInterface :: Lens.Lens' NetworkInterface (Prelude.Maybe ObdInterface)+networkInterface_obdInterface = Lens.lens (\NetworkInterface' {obdInterface} -> obdInterface) (\s@NetworkInterface' {} a -> s {obdInterface = a} :: NetworkInterface)++-- | The ID of the network interface.+networkInterface_interfaceId :: Lens.Lens' NetworkInterface Prelude.Text+networkInterface_interfaceId = Lens.lens (\NetworkInterface' {interfaceId} -> interfaceId) (\s@NetworkInterface' {} a -> s {interfaceId = a} :: NetworkInterface)++-- | The network protocol for the vehicle. For example, @CAN_SIGNAL@+-- specifies a protocol that defines how data is communicated between+-- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+-- defines how self-diagnostic data is communicated between ECUs.+networkInterface_type :: Lens.Lens' NetworkInterface NetworkInterfaceType+networkInterface_type = Lens.lens (\NetworkInterface' {type'} -> type') (\s@NetworkInterface' {} a -> s {type' = a} :: NetworkInterface)++instance Data.FromJSON NetworkInterface where+ parseJSON =+ Data.withObject+ "NetworkInterface"+ ( \x ->+ NetworkInterface'+ Prelude.<$> (x Data..:? "canInterface")+ Prelude.<*> (x Data..:? "obdInterface")+ Prelude.<*> (x Data..: "interfaceId")+ Prelude.<*> (x Data..: "type")+ )++instance Prelude.Hashable NetworkInterface where+ hashWithSalt _salt NetworkInterface' {..} =+ _salt+ `Prelude.hashWithSalt` canInterface+ `Prelude.hashWithSalt` obdInterface+ `Prelude.hashWithSalt` interfaceId+ `Prelude.hashWithSalt` type'++instance Prelude.NFData NetworkInterface where+ rnf NetworkInterface' {..} =+ Prelude.rnf canInterface+ `Prelude.seq` Prelude.rnf obdInterface+ `Prelude.seq` Prelude.rnf interfaceId+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON NetworkInterface where+ toJSON NetworkInterface' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("canInterface" Data..=) Prelude.<$> canInterface,+ ("obdInterface" Data..=) Prelude.<$> obdInterface,+ Prelude.Just ("interfaceId" Data..= interfaceId),+ Prelude.Just ("type" Data..= type')+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/NetworkInterfaceType.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.IoTFleetWise.Types.NetworkInterfaceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.NetworkInterfaceType+ ( NetworkInterfaceType+ ( ..,+ NetworkInterfaceType_CAN_INTERFACE,+ NetworkInterfaceType_OBD_INTERFACE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkInterfaceType = NetworkInterfaceType'+ { fromNetworkInterfaceType ::+ 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 NetworkInterfaceType_CAN_INTERFACE :: NetworkInterfaceType+pattern NetworkInterfaceType_CAN_INTERFACE = NetworkInterfaceType' "CAN_INTERFACE"++pattern NetworkInterfaceType_OBD_INTERFACE :: NetworkInterfaceType+pattern NetworkInterfaceType_OBD_INTERFACE = NetworkInterfaceType' "OBD_INTERFACE"++{-# COMPLETE+ NetworkInterfaceType_CAN_INTERFACE,+ NetworkInterfaceType_OBD_INTERFACE,+ NetworkInterfaceType'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/Node.hs view
@@ -0,0 +1,141 @@+{-# 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.IoTFleetWise.Types.Node+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Node where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.Actuator+import Amazonka.IoTFleetWise.Types.Attribute+import Amazonka.IoTFleetWise.Types.Branch+import Amazonka.IoTFleetWise.Types.Sensor+import qualified Amazonka.Prelude as Prelude++-- | A general abstraction of a signal. A node can be specified as an+-- actuator, attribute, branch, or sensor.+--+-- /See:/ 'newNode' smart constructor.+data Node = Node'+ { -- | Information about a node specified as an actuator.+ --+ -- An actuator is a digital representation of a vehicle device.+ actuator :: Prelude.Maybe Actuator,+ -- | Information about a node specified as an attribute.+ --+ -- An attribute represents static information about a vehicle.+ attribute :: Prelude.Maybe Attribute,+ -- | Information about a node specified as a branch.+ --+ -- A group of signals that are defined in a hierarchical structure.+ branch :: Prelude.Maybe Branch,+ sensor :: Prelude.Maybe Sensor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Node' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actuator', 'node_actuator' - Information about a node specified as an actuator.+--+-- An actuator is a digital representation of a vehicle device.+--+-- 'attribute', 'node_attribute' - Information about a node specified as an attribute.+--+-- An attribute represents static information about a vehicle.+--+-- 'branch', 'node_branch' - Information about a node specified as a branch.+--+-- A group of signals that are defined in a hierarchical structure.+--+-- 'sensor', 'node_sensor' - Undocumented member.+newNode ::+ Node+newNode =+ Node'+ { actuator = Prelude.Nothing,+ attribute = Prelude.Nothing,+ branch = Prelude.Nothing,+ sensor = Prelude.Nothing+ }++-- | Information about a node specified as an actuator.+--+-- An actuator is a digital representation of a vehicle device.+node_actuator :: Lens.Lens' Node (Prelude.Maybe Actuator)+node_actuator = Lens.lens (\Node' {actuator} -> actuator) (\s@Node' {} a -> s {actuator = a} :: Node)++-- | Information about a node specified as an attribute.+--+-- An attribute represents static information about a vehicle.+node_attribute :: Lens.Lens' Node (Prelude.Maybe Attribute)+node_attribute = Lens.lens (\Node' {attribute} -> attribute) (\s@Node' {} a -> s {attribute = a} :: Node)++-- | Information about a node specified as a branch.+--+-- A group of signals that are defined in a hierarchical structure.+node_branch :: Lens.Lens' Node (Prelude.Maybe Branch)+node_branch = Lens.lens (\Node' {branch} -> branch) (\s@Node' {} a -> s {branch = a} :: Node)++-- | Undocumented member.+node_sensor :: Lens.Lens' Node (Prelude.Maybe Sensor)+node_sensor = Lens.lens (\Node' {sensor} -> sensor) (\s@Node' {} a -> s {sensor = a} :: Node)++instance Data.FromJSON Node where+ parseJSON =+ Data.withObject+ "Node"+ ( \x ->+ Node'+ Prelude.<$> (x Data..:? "actuator")+ Prelude.<*> (x Data..:? "attribute")+ Prelude.<*> (x Data..:? "branch")+ Prelude.<*> (x Data..:? "sensor")+ )++instance Prelude.Hashable Node where+ hashWithSalt _salt Node' {..} =+ _salt+ `Prelude.hashWithSalt` actuator+ `Prelude.hashWithSalt` attribute+ `Prelude.hashWithSalt` branch+ `Prelude.hashWithSalt` sensor++instance Prelude.NFData Node where+ rnf Node' {..} =+ Prelude.rnf actuator+ `Prelude.seq` Prelude.rnf attribute+ `Prelude.seq` Prelude.rnf branch+ `Prelude.seq` Prelude.rnf sensor++instance Data.ToJSON Node where+ toJSON Node' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("actuator" Data..=) Prelude.<$> actuator,+ ("attribute" Data..=) Prelude.<$> attribute,+ ("branch" Data..=) Prelude.<$> branch,+ ("sensor" Data..=) Prelude.<$> sensor+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/NodeCounts.hs view
@@ -0,0 +1,124 @@+{-# 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.IoTFleetWise.Types.NodeCounts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.NodeCounts where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the number of nodes and node types in a vehicle+-- network.+--+-- /See:/ 'newNodeCounts' smart constructor.+data NodeCounts = NodeCounts'+ { -- | The total number of nodes in a vehicle network that represent actuators.+ totalActuators :: Prelude.Maybe Prelude.Int,+ -- | The total number of nodes in a vehicle network that represent+ -- attributes.+ totalAttributes :: Prelude.Maybe Prelude.Int,+ -- | The total number of nodes in a vehicle network that represent branches.+ totalBranches :: Prelude.Maybe Prelude.Int,+ -- | The total number of nodes in a vehicle network.+ totalNodes :: Prelude.Maybe Prelude.Int,+ -- | The total number of nodes in a vehicle network that represent sensors.+ totalSensors :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeCounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'totalActuators', 'nodeCounts_totalActuators' - The total number of nodes in a vehicle network that represent actuators.+--+-- 'totalAttributes', 'nodeCounts_totalAttributes' - The total number of nodes in a vehicle network that represent+-- attributes.+--+-- 'totalBranches', 'nodeCounts_totalBranches' - The total number of nodes in a vehicle network that represent branches.+--+-- 'totalNodes', 'nodeCounts_totalNodes' - The total number of nodes in a vehicle network.+--+-- 'totalSensors', 'nodeCounts_totalSensors' - The total number of nodes in a vehicle network that represent sensors.+newNodeCounts ::+ NodeCounts+newNodeCounts =+ NodeCounts'+ { totalActuators = Prelude.Nothing,+ totalAttributes = Prelude.Nothing,+ totalBranches = Prelude.Nothing,+ totalNodes = Prelude.Nothing,+ totalSensors = Prelude.Nothing+ }++-- | The total number of nodes in a vehicle network that represent actuators.+nodeCounts_totalActuators :: Lens.Lens' NodeCounts (Prelude.Maybe Prelude.Int)+nodeCounts_totalActuators = Lens.lens (\NodeCounts' {totalActuators} -> totalActuators) (\s@NodeCounts' {} a -> s {totalActuators = a} :: NodeCounts)++-- | The total number of nodes in a vehicle network that represent+-- attributes.+nodeCounts_totalAttributes :: Lens.Lens' NodeCounts (Prelude.Maybe Prelude.Int)+nodeCounts_totalAttributes = Lens.lens (\NodeCounts' {totalAttributes} -> totalAttributes) (\s@NodeCounts' {} a -> s {totalAttributes = a} :: NodeCounts)++-- | The total number of nodes in a vehicle network that represent branches.+nodeCounts_totalBranches :: Lens.Lens' NodeCounts (Prelude.Maybe Prelude.Int)+nodeCounts_totalBranches = Lens.lens (\NodeCounts' {totalBranches} -> totalBranches) (\s@NodeCounts' {} a -> s {totalBranches = a} :: NodeCounts)++-- | The total number of nodes in a vehicle network.+nodeCounts_totalNodes :: Lens.Lens' NodeCounts (Prelude.Maybe Prelude.Int)+nodeCounts_totalNodes = Lens.lens (\NodeCounts' {totalNodes} -> totalNodes) (\s@NodeCounts' {} a -> s {totalNodes = a} :: NodeCounts)++-- | The total number of nodes in a vehicle network that represent sensors.+nodeCounts_totalSensors :: Lens.Lens' NodeCounts (Prelude.Maybe Prelude.Int)+nodeCounts_totalSensors = Lens.lens (\NodeCounts' {totalSensors} -> totalSensors) (\s@NodeCounts' {} a -> s {totalSensors = a} :: NodeCounts)++instance Data.FromJSON NodeCounts where+ parseJSON =+ Data.withObject+ "NodeCounts"+ ( \x ->+ NodeCounts'+ Prelude.<$> (x Data..:? "totalActuators")+ Prelude.<*> (x Data..:? "totalAttributes")+ Prelude.<*> (x Data..:? "totalBranches")+ Prelude.<*> (x Data..:? "totalNodes")+ Prelude.<*> (x Data..:? "totalSensors")+ )++instance Prelude.Hashable NodeCounts where+ hashWithSalt _salt NodeCounts' {..} =+ _salt+ `Prelude.hashWithSalt` totalActuators+ `Prelude.hashWithSalt` totalAttributes+ `Prelude.hashWithSalt` totalBranches+ `Prelude.hashWithSalt` totalNodes+ `Prelude.hashWithSalt` totalSensors++instance Prelude.NFData NodeCounts where+ rnf NodeCounts' {..} =+ Prelude.rnf totalActuators+ `Prelude.seq` Prelude.rnf totalAttributes+ `Prelude.seq` Prelude.rnf totalBranches+ `Prelude.seq` Prelude.rnf totalNodes+ `Prelude.seq` Prelude.rnf totalSensors
+ gen/Amazonka/IoTFleetWise/Types/NodeDataType.hs view
@@ -0,0 +1,196 @@+{-# 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.IoTFleetWise.Types.NodeDataType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.NodeDataType+ ( NodeDataType+ ( ..,+ NodeDataType_BOOLEAN,+ NodeDataType_BOOLEAN_ARRAY,+ NodeDataType_DOUBLE,+ NodeDataType_DOUBLE_ARRAY,+ NodeDataType_FLOAT,+ NodeDataType_FLOAT_ARRAY,+ NodeDataType_INT16,+ NodeDataType_INT16_ARRAY,+ NodeDataType_INT32,+ NodeDataType_INT32_ARRAY,+ NodeDataType_INT64,+ NodeDataType_INT64_ARRAY,+ NodeDataType_INT8,+ NodeDataType_INT8_ARRAY,+ NodeDataType_STRING,+ NodeDataType_STRING_ARRAY,+ NodeDataType_UINT16,+ NodeDataType_UINT16_ARRAY,+ NodeDataType_UINT32,+ NodeDataType_UINT32_ARRAY,+ NodeDataType_UINT64,+ NodeDataType_UINT64_ARRAY,+ NodeDataType_UINT8,+ NodeDataType_UINT8_ARRAY,+ NodeDataType_UNIX_TIMESTAMP,+ NodeDataType_UNIX_TIMESTAMP_ARRAY,+ NodeDataType_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeDataType = NodeDataType'+ { fromNodeDataType ::+ 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 NodeDataType_BOOLEAN :: NodeDataType+pattern NodeDataType_BOOLEAN = NodeDataType' "BOOLEAN"++pattern NodeDataType_BOOLEAN_ARRAY :: NodeDataType+pattern NodeDataType_BOOLEAN_ARRAY = NodeDataType' "BOOLEAN_ARRAY"++pattern NodeDataType_DOUBLE :: NodeDataType+pattern NodeDataType_DOUBLE = NodeDataType' "DOUBLE"++pattern NodeDataType_DOUBLE_ARRAY :: NodeDataType+pattern NodeDataType_DOUBLE_ARRAY = NodeDataType' "DOUBLE_ARRAY"++pattern NodeDataType_FLOAT :: NodeDataType+pattern NodeDataType_FLOAT = NodeDataType' "FLOAT"++pattern NodeDataType_FLOAT_ARRAY :: NodeDataType+pattern NodeDataType_FLOAT_ARRAY = NodeDataType' "FLOAT_ARRAY"++pattern NodeDataType_INT16 :: NodeDataType+pattern NodeDataType_INT16 = NodeDataType' "INT16"++pattern NodeDataType_INT16_ARRAY :: NodeDataType+pattern NodeDataType_INT16_ARRAY = NodeDataType' "INT16_ARRAY"++pattern NodeDataType_INT32 :: NodeDataType+pattern NodeDataType_INT32 = NodeDataType' "INT32"++pattern NodeDataType_INT32_ARRAY :: NodeDataType+pattern NodeDataType_INT32_ARRAY = NodeDataType' "INT32_ARRAY"++pattern NodeDataType_INT64 :: NodeDataType+pattern NodeDataType_INT64 = NodeDataType' "INT64"++pattern NodeDataType_INT64_ARRAY :: NodeDataType+pattern NodeDataType_INT64_ARRAY = NodeDataType' "INT64_ARRAY"++pattern NodeDataType_INT8 :: NodeDataType+pattern NodeDataType_INT8 = NodeDataType' "INT8"++pattern NodeDataType_INT8_ARRAY :: NodeDataType+pattern NodeDataType_INT8_ARRAY = NodeDataType' "INT8_ARRAY"++pattern NodeDataType_STRING :: NodeDataType+pattern NodeDataType_STRING = NodeDataType' "STRING"++pattern NodeDataType_STRING_ARRAY :: NodeDataType+pattern NodeDataType_STRING_ARRAY = NodeDataType' "STRING_ARRAY"++pattern NodeDataType_UINT16 :: NodeDataType+pattern NodeDataType_UINT16 = NodeDataType' "UINT16"++pattern NodeDataType_UINT16_ARRAY :: NodeDataType+pattern NodeDataType_UINT16_ARRAY = NodeDataType' "UINT16_ARRAY"++pattern NodeDataType_UINT32 :: NodeDataType+pattern NodeDataType_UINT32 = NodeDataType' "UINT32"++pattern NodeDataType_UINT32_ARRAY :: NodeDataType+pattern NodeDataType_UINT32_ARRAY = NodeDataType' "UINT32_ARRAY"++pattern NodeDataType_UINT64 :: NodeDataType+pattern NodeDataType_UINT64 = NodeDataType' "UINT64"++pattern NodeDataType_UINT64_ARRAY :: NodeDataType+pattern NodeDataType_UINT64_ARRAY = NodeDataType' "UINT64_ARRAY"++pattern NodeDataType_UINT8 :: NodeDataType+pattern NodeDataType_UINT8 = NodeDataType' "UINT8"++pattern NodeDataType_UINT8_ARRAY :: NodeDataType+pattern NodeDataType_UINT8_ARRAY = NodeDataType' "UINT8_ARRAY"++pattern NodeDataType_UNIX_TIMESTAMP :: NodeDataType+pattern NodeDataType_UNIX_TIMESTAMP = NodeDataType' "UNIX_TIMESTAMP"++pattern NodeDataType_UNIX_TIMESTAMP_ARRAY :: NodeDataType+pattern NodeDataType_UNIX_TIMESTAMP_ARRAY = NodeDataType' "UNIX_TIMESTAMP_ARRAY"++pattern NodeDataType_UNKNOWN :: NodeDataType+pattern NodeDataType_UNKNOWN = NodeDataType' "UNKNOWN"++{-# COMPLETE+ NodeDataType_BOOLEAN,+ NodeDataType_BOOLEAN_ARRAY,+ NodeDataType_DOUBLE,+ NodeDataType_DOUBLE_ARRAY,+ NodeDataType_FLOAT,+ NodeDataType_FLOAT_ARRAY,+ NodeDataType_INT16,+ NodeDataType_INT16_ARRAY,+ NodeDataType_INT32,+ NodeDataType_INT32_ARRAY,+ NodeDataType_INT64,+ NodeDataType_INT64_ARRAY,+ NodeDataType_INT8,+ NodeDataType_INT8_ARRAY,+ NodeDataType_STRING,+ NodeDataType_STRING_ARRAY,+ NodeDataType_UINT16,+ NodeDataType_UINT16_ARRAY,+ NodeDataType_UINT32,+ NodeDataType_UINT32_ARRAY,+ NodeDataType_UINT64,+ NodeDataType_UINT64_ARRAY,+ NodeDataType_UINT8,+ NodeDataType_UINT8_ARRAY,+ NodeDataType_UNIX_TIMESTAMP,+ NodeDataType_UNIX_TIMESTAMP_ARRAY,+ NodeDataType_UNKNOWN,+ NodeDataType'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/ObdInterface.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.IoTFleetWise.Types.ObdInterface+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.ObdInterface 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 network interface that specifies the On-board diagnostic (OBD) II+-- network protocol.+--+-- /See:/ 'newObdInterface' smart constructor.+data ObdInterface = ObdInterface'+ { -- | The maximum number message requests per diagnostic trouble code per+ -- second.+ dtcRequestIntervalSeconds :: Prelude.Maybe Prelude.Natural,+ -- | Whether the vehicle has a transmission control module (TCM).+ hasTransmissionEcu :: Prelude.Maybe Prelude.Bool,+ -- | The standard OBD II PID.+ obdStandard :: Prelude.Maybe Prelude.Text,+ -- | The maximum number message requests per second.+ pidRequestIntervalSeconds :: Prelude.Maybe Prelude.Natural,+ -- | Whether to use extended IDs in the message.+ useExtendedIds :: Prelude.Maybe Prelude.Bool,+ -- | The name of the interface.+ name :: Prelude.Text,+ -- | The ID of the message requesting vehicle data.+ requestMessageId :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObdInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dtcRequestIntervalSeconds', 'obdInterface_dtcRequestIntervalSeconds' - The maximum number message requests per diagnostic trouble code per+-- second.+--+-- 'hasTransmissionEcu', 'obdInterface_hasTransmissionEcu' - Whether the vehicle has a transmission control module (TCM).+--+-- 'obdStandard', 'obdInterface_obdStandard' - The standard OBD II PID.+--+-- 'pidRequestIntervalSeconds', 'obdInterface_pidRequestIntervalSeconds' - The maximum number message requests per second.+--+-- 'useExtendedIds', 'obdInterface_useExtendedIds' - Whether to use extended IDs in the message.+--+-- 'name', 'obdInterface_name' - The name of the interface.+--+-- 'requestMessageId', 'obdInterface_requestMessageId' - The ID of the message requesting vehicle data.+newObdInterface ::+ -- | 'name'+ Prelude.Text ->+ -- | 'requestMessageId'+ Prelude.Natural ->+ ObdInterface+newObdInterface pName_ pRequestMessageId_ =+ ObdInterface'+ { dtcRequestIntervalSeconds =+ Prelude.Nothing,+ hasTransmissionEcu = Prelude.Nothing,+ obdStandard = Prelude.Nothing,+ pidRequestIntervalSeconds = Prelude.Nothing,+ useExtendedIds = Prelude.Nothing,+ name = pName_,+ requestMessageId = pRequestMessageId_+ }++-- | The maximum number message requests per diagnostic trouble code per+-- second.+obdInterface_dtcRequestIntervalSeconds :: Lens.Lens' ObdInterface (Prelude.Maybe Prelude.Natural)+obdInterface_dtcRequestIntervalSeconds = Lens.lens (\ObdInterface' {dtcRequestIntervalSeconds} -> dtcRequestIntervalSeconds) (\s@ObdInterface' {} a -> s {dtcRequestIntervalSeconds = a} :: ObdInterface)++-- | Whether the vehicle has a transmission control module (TCM).+obdInterface_hasTransmissionEcu :: Lens.Lens' ObdInterface (Prelude.Maybe Prelude.Bool)+obdInterface_hasTransmissionEcu = Lens.lens (\ObdInterface' {hasTransmissionEcu} -> hasTransmissionEcu) (\s@ObdInterface' {} a -> s {hasTransmissionEcu = a} :: ObdInterface)++-- | The standard OBD II PID.+obdInterface_obdStandard :: Lens.Lens' ObdInterface (Prelude.Maybe Prelude.Text)+obdInterface_obdStandard = Lens.lens (\ObdInterface' {obdStandard} -> obdStandard) (\s@ObdInterface' {} a -> s {obdStandard = a} :: ObdInterface)++-- | The maximum number message requests per second.+obdInterface_pidRequestIntervalSeconds :: Lens.Lens' ObdInterface (Prelude.Maybe Prelude.Natural)+obdInterface_pidRequestIntervalSeconds = Lens.lens (\ObdInterface' {pidRequestIntervalSeconds} -> pidRequestIntervalSeconds) (\s@ObdInterface' {} a -> s {pidRequestIntervalSeconds = a} :: ObdInterface)++-- | Whether to use extended IDs in the message.+obdInterface_useExtendedIds :: Lens.Lens' ObdInterface (Prelude.Maybe Prelude.Bool)+obdInterface_useExtendedIds = Lens.lens (\ObdInterface' {useExtendedIds} -> useExtendedIds) (\s@ObdInterface' {} a -> s {useExtendedIds = a} :: ObdInterface)++-- | The name of the interface.+obdInterface_name :: Lens.Lens' ObdInterface Prelude.Text+obdInterface_name = Lens.lens (\ObdInterface' {name} -> name) (\s@ObdInterface' {} a -> s {name = a} :: ObdInterface)++-- | The ID of the message requesting vehicle data.+obdInterface_requestMessageId :: Lens.Lens' ObdInterface Prelude.Natural+obdInterface_requestMessageId = Lens.lens (\ObdInterface' {requestMessageId} -> requestMessageId) (\s@ObdInterface' {} a -> s {requestMessageId = a} :: ObdInterface)++instance Data.FromJSON ObdInterface where+ parseJSON =+ Data.withObject+ "ObdInterface"+ ( \x ->+ ObdInterface'+ Prelude.<$> (x Data..:? "dtcRequestIntervalSeconds")+ Prelude.<*> (x Data..:? "hasTransmissionEcu")+ Prelude.<*> (x Data..:? "obdStandard")+ Prelude.<*> (x Data..:? "pidRequestIntervalSeconds")+ Prelude.<*> (x Data..:? "useExtendedIds")+ Prelude.<*> (x Data..: "name")+ Prelude.<*> (x Data..: "requestMessageId")+ )++instance Prelude.Hashable ObdInterface where+ hashWithSalt _salt ObdInterface' {..} =+ _salt+ `Prelude.hashWithSalt` dtcRequestIntervalSeconds+ `Prelude.hashWithSalt` hasTransmissionEcu+ `Prelude.hashWithSalt` obdStandard+ `Prelude.hashWithSalt` pidRequestIntervalSeconds+ `Prelude.hashWithSalt` useExtendedIds+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` requestMessageId++instance Prelude.NFData ObdInterface where+ rnf ObdInterface' {..} =+ Prelude.rnf dtcRequestIntervalSeconds+ `Prelude.seq` Prelude.rnf hasTransmissionEcu+ `Prelude.seq` Prelude.rnf obdStandard+ `Prelude.seq` Prelude.rnf pidRequestIntervalSeconds+ `Prelude.seq` Prelude.rnf useExtendedIds+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf requestMessageId++instance Data.ToJSON ObdInterface where+ toJSON ObdInterface' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dtcRequestIntervalSeconds" Data..=)+ Prelude.<$> dtcRequestIntervalSeconds,+ ("hasTransmissionEcu" Data..=)+ Prelude.<$> hasTransmissionEcu,+ ("obdStandard" Data..=) Prelude.<$> obdStandard,+ ("pidRequestIntervalSeconds" Data..=)+ Prelude.<$> pidRequestIntervalSeconds,+ ("useExtendedIds" Data..=)+ Prelude.<$> useExtendedIds,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ("requestMessageId" Data..= requestMessageId)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/ObdSignal.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.ObdSignal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.ObdSignal 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 signal messages using the on-board diagnostics (OBD)+-- II protocol in a vehicle.+--+-- /See:/ 'newObdSignal' smart constructor.+data ObdSignal = ObdSignal'+ { -- | The number of bits to mask in a message.+ bitMaskLength :: Prelude.Maybe Prelude.Natural,+ -- | The number of positions to shift bits in the message.+ bitRightShift :: Prelude.Maybe Prelude.Natural,+ -- | The length of the requested data.+ pidResponseLength :: Prelude.Natural,+ -- | The mode of operation (diagnostic service) in a message.+ serviceMode :: Prelude.Natural,+ -- | The diagnostic code used to request data from a vehicle for this signal.+ pid :: Prelude.Natural,+ -- | A multiplier used to decode the message.+ scaling :: Prelude.Double,+ -- | Indicates where data appears in the message.+ offset :: Prelude.Double,+ -- | Indicates the beginning of the message.+ startByte :: Prelude.Natural,+ -- | The length of a message.+ byteLength :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObdSignal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bitMaskLength', 'obdSignal_bitMaskLength' - The number of bits to mask in a message.+--+-- 'bitRightShift', 'obdSignal_bitRightShift' - The number of positions to shift bits in the message.+--+-- 'pidResponseLength', 'obdSignal_pidResponseLength' - The length of the requested data.+--+-- 'serviceMode', 'obdSignal_serviceMode' - The mode of operation (diagnostic service) in a message.+--+-- 'pid', 'obdSignal_pid' - The diagnostic code used to request data from a vehicle for this signal.+--+-- 'scaling', 'obdSignal_scaling' - A multiplier used to decode the message.+--+-- 'offset', 'obdSignal_offset' - Indicates where data appears in the message.+--+-- 'startByte', 'obdSignal_startByte' - Indicates the beginning of the message.+--+-- 'byteLength', 'obdSignal_byteLength' - The length of a message.+newObdSignal ::+ -- | 'pidResponseLength'+ Prelude.Natural ->+ -- | 'serviceMode'+ Prelude.Natural ->+ -- | 'pid'+ Prelude.Natural ->+ -- | 'scaling'+ Prelude.Double ->+ -- | 'offset'+ Prelude.Double ->+ -- | 'startByte'+ Prelude.Natural ->+ -- | 'byteLength'+ Prelude.Natural ->+ ObdSignal+newObdSignal+ pPidResponseLength_+ pServiceMode_+ pPid_+ pScaling_+ pOffset_+ pStartByte_+ pByteLength_ =+ ObdSignal'+ { bitMaskLength = Prelude.Nothing,+ bitRightShift = Prelude.Nothing,+ pidResponseLength = pPidResponseLength_,+ serviceMode = pServiceMode_,+ pid = pPid_,+ scaling = pScaling_,+ offset = pOffset_,+ startByte = pStartByte_,+ byteLength = pByteLength_+ }++-- | The number of bits to mask in a message.+obdSignal_bitMaskLength :: Lens.Lens' ObdSignal (Prelude.Maybe Prelude.Natural)+obdSignal_bitMaskLength = Lens.lens (\ObdSignal' {bitMaskLength} -> bitMaskLength) (\s@ObdSignal' {} a -> s {bitMaskLength = a} :: ObdSignal)++-- | The number of positions to shift bits in the message.+obdSignal_bitRightShift :: Lens.Lens' ObdSignal (Prelude.Maybe Prelude.Natural)+obdSignal_bitRightShift = Lens.lens (\ObdSignal' {bitRightShift} -> bitRightShift) (\s@ObdSignal' {} a -> s {bitRightShift = a} :: ObdSignal)++-- | The length of the requested data.+obdSignal_pidResponseLength :: Lens.Lens' ObdSignal Prelude.Natural+obdSignal_pidResponseLength = Lens.lens (\ObdSignal' {pidResponseLength} -> pidResponseLength) (\s@ObdSignal' {} a -> s {pidResponseLength = a} :: ObdSignal)++-- | The mode of operation (diagnostic service) in a message.+obdSignal_serviceMode :: Lens.Lens' ObdSignal Prelude.Natural+obdSignal_serviceMode = Lens.lens (\ObdSignal' {serviceMode} -> serviceMode) (\s@ObdSignal' {} a -> s {serviceMode = a} :: ObdSignal)++-- | The diagnostic code used to request data from a vehicle for this signal.+obdSignal_pid :: Lens.Lens' ObdSignal Prelude.Natural+obdSignal_pid = Lens.lens (\ObdSignal' {pid} -> pid) (\s@ObdSignal' {} a -> s {pid = a} :: ObdSignal)++-- | A multiplier used to decode the message.+obdSignal_scaling :: Lens.Lens' ObdSignal Prelude.Double+obdSignal_scaling = Lens.lens (\ObdSignal' {scaling} -> scaling) (\s@ObdSignal' {} a -> s {scaling = a} :: ObdSignal)++-- | Indicates where data appears in the message.+obdSignal_offset :: Lens.Lens' ObdSignal Prelude.Double+obdSignal_offset = Lens.lens (\ObdSignal' {offset} -> offset) (\s@ObdSignal' {} a -> s {offset = a} :: ObdSignal)++-- | Indicates the beginning of the message.+obdSignal_startByte :: Lens.Lens' ObdSignal Prelude.Natural+obdSignal_startByte = Lens.lens (\ObdSignal' {startByte} -> startByte) (\s@ObdSignal' {} a -> s {startByte = a} :: ObdSignal)++-- | The length of a message.+obdSignal_byteLength :: Lens.Lens' ObdSignal Prelude.Natural+obdSignal_byteLength = Lens.lens (\ObdSignal' {byteLength} -> byteLength) (\s@ObdSignal' {} a -> s {byteLength = a} :: ObdSignal)++instance Data.FromJSON ObdSignal where+ parseJSON =+ Data.withObject+ "ObdSignal"+ ( \x ->+ ObdSignal'+ Prelude.<$> (x Data..:? "bitMaskLength")+ Prelude.<*> (x Data..:? "bitRightShift")+ Prelude.<*> (x Data..: "pidResponseLength")+ Prelude.<*> (x Data..: "serviceMode")+ Prelude.<*> (x Data..: "pid")+ Prelude.<*> (x Data..: "scaling")+ Prelude.<*> (x Data..: "offset")+ Prelude.<*> (x Data..: "startByte")+ Prelude.<*> (x Data..: "byteLength")+ )++instance Prelude.Hashable ObdSignal where+ hashWithSalt _salt ObdSignal' {..} =+ _salt+ `Prelude.hashWithSalt` bitMaskLength+ `Prelude.hashWithSalt` bitRightShift+ `Prelude.hashWithSalt` pidResponseLength+ `Prelude.hashWithSalt` serviceMode+ `Prelude.hashWithSalt` pid+ `Prelude.hashWithSalt` scaling+ `Prelude.hashWithSalt` offset+ `Prelude.hashWithSalt` startByte+ `Prelude.hashWithSalt` byteLength++instance Prelude.NFData ObdSignal where+ rnf ObdSignal' {..} =+ Prelude.rnf bitMaskLength+ `Prelude.seq` Prelude.rnf bitRightShift+ `Prelude.seq` Prelude.rnf pidResponseLength+ `Prelude.seq` Prelude.rnf serviceMode+ `Prelude.seq` Prelude.rnf pid+ `Prelude.seq` Prelude.rnf scaling+ `Prelude.seq` Prelude.rnf offset+ `Prelude.seq` Prelude.rnf startByte+ `Prelude.seq` Prelude.rnf byteLength++instance Data.ToJSON ObdSignal where+ toJSON ObdSignal' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bitMaskLength" Data..=) Prelude.<$> bitMaskLength,+ ("bitRightShift" Data..=) Prelude.<$> bitRightShift,+ Prelude.Just+ ("pidResponseLength" Data..= pidResponseLength),+ Prelude.Just ("serviceMode" Data..= serviceMode),+ Prelude.Just ("pid" Data..= pid),+ Prelude.Just ("scaling" Data..= scaling),+ Prelude.Just ("offset" Data..= offset),+ Prelude.Just ("startByte" Data..= startByte),+ Prelude.Just ("byteLength" Data..= byteLength)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/RegistrationStatus.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.IoTFleetWise.Types.RegistrationStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.RegistrationStatus+ ( RegistrationStatus+ ( ..,+ RegistrationStatus_REGISTRATION_FAILURE,+ RegistrationStatus_REGISTRATION_PENDING,+ RegistrationStatus_REGISTRATION_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RegistrationStatus = RegistrationStatus'+ { fromRegistrationStatus ::+ 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 RegistrationStatus_REGISTRATION_FAILURE :: RegistrationStatus+pattern RegistrationStatus_REGISTRATION_FAILURE = RegistrationStatus' "REGISTRATION_FAILURE"++pattern RegistrationStatus_REGISTRATION_PENDING :: RegistrationStatus+pattern RegistrationStatus_REGISTRATION_PENDING = RegistrationStatus' "REGISTRATION_PENDING"++pattern RegistrationStatus_REGISTRATION_SUCCESS :: RegistrationStatus+pattern RegistrationStatus_REGISTRATION_SUCCESS = RegistrationStatus' "REGISTRATION_SUCCESS"++{-# COMPLETE+ RegistrationStatus_REGISTRATION_FAILURE,+ RegistrationStatus_REGISTRATION_PENDING,+ RegistrationStatus_REGISTRATION_SUCCESS,+ RegistrationStatus'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/Sensor.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.IoTFleetWise.Types.Sensor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Sensor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.NodeDataType+import qualified Amazonka.Prelude as Prelude++-- | An input component that reports the environmental condition of a+-- vehicle.+--+-- You can collect data about fluid levels, temperatures, vibrations, or+-- battery voltage from sensors.+--+-- /See:/ 'newSensor' smart constructor.+data Sensor = Sensor'+ { -- | A list of possible values a sensor can take.+ allowedValues :: Prelude.Maybe [Prelude.Text],+ -- | A brief description of a sensor.+ description :: Prelude.Maybe Prelude.Text,+ -- | The specified possible maximum value of the sensor.+ max :: Prelude.Maybe Prelude.Double,+ -- | The specified possible minimum value of the sensor.+ min :: Prelude.Maybe Prelude.Double,+ -- | The scientific unit of measurement for data collected by the sensor.+ unit :: Prelude.Maybe Prelude.Text,+ -- | The fully qualified name of the sensor. For example, the fully qualified+ -- name of a sensor might be @Vehicle.Body.Engine.Battery@.+ fullyQualifiedName :: Prelude.Text,+ -- | The specified data type of the sensor.+ dataType :: NodeDataType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Sensor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedValues', 'sensor_allowedValues' - A list of possible values a sensor can take.+--+-- 'description', 'sensor_description' - A brief description of a sensor.+--+-- 'max', 'sensor_max' - The specified possible maximum value of the sensor.+--+-- 'min', 'sensor_min' - The specified possible minimum value of the sensor.+--+-- 'unit', 'sensor_unit' - The scientific unit of measurement for data collected by the sensor.+--+-- 'fullyQualifiedName', 'sensor_fullyQualifiedName' - The fully qualified name of the sensor. For example, the fully qualified+-- name of a sensor might be @Vehicle.Body.Engine.Battery@.+--+-- 'dataType', 'sensor_dataType' - The specified data type of the sensor.+newSensor ::+ -- | 'fullyQualifiedName'+ Prelude.Text ->+ -- | 'dataType'+ NodeDataType ->+ Sensor+newSensor pFullyQualifiedName_ pDataType_ =+ Sensor'+ { allowedValues = Prelude.Nothing,+ description = Prelude.Nothing,+ max = Prelude.Nothing,+ min = Prelude.Nothing,+ unit = Prelude.Nothing,+ fullyQualifiedName = pFullyQualifiedName_,+ dataType = pDataType_+ }++-- | A list of possible values a sensor can take.+sensor_allowedValues :: Lens.Lens' Sensor (Prelude.Maybe [Prelude.Text])+sensor_allowedValues = Lens.lens (\Sensor' {allowedValues} -> allowedValues) (\s@Sensor' {} a -> s {allowedValues = a} :: Sensor) Prelude.. Lens.mapping Lens.coerced++-- | A brief description of a sensor.+sensor_description :: Lens.Lens' Sensor (Prelude.Maybe Prelude.Text)+sensor_description = Lens.lens (\Sensor' {description} -> description) (\s@Sensor' {} a -> s {description = a} :: Sensor)++-- | The specified possible maximum value of the sensor.+sensor_max :: Lens.Lens' Sensor (Prelude.Maybe Prelude.Double)+sensor_max = Lens.lens (\Sensor' {max} -> max) (\s@Sensor' {} a -> s {max = a} :: Sensor)++-- | The specified possible minimum value of the sensor.+sensor_min :: Lens.Lens' Sensor (Prelude.Maybe Prelude.Double)+sensor_min = Lens.lens (\Sensor' {min} -> min) (\s@Sensor' {} a -> s {min = a} :: Sensor)++-- | The scientific unit of measurement for data collected by the sensor.+sensor_unit :: Lens.Lens' Sensor (Prelude.Maybe Prelude.Text)+sensor_unit = Lens.lens (\Sensor' {unit} -> unit) (\s@Sensor' {} a -> s {unit = a} :: Sensor)++-- | The fully qualified name of the sensor. For example, the fully qualified+-- name of a sensor might be @Vehicle.Body.Engine.Battery@.+sensor_fullyQualifiedName :: Lens.Lens' Sensor Prelude.Text+sensor_fullyQualifiedName = Lens.lens (\Sensor' {fullyQualifiedName} -> fullyQualifiedName) (\s@Sensor' {} a -> s {fullyQualifiedName = a} :: Sensor)++-- | The specified data type of the sensor.+sensor_dataType :: Lens.Lens' Sensor NodeDataType+sensor_dataType = Lens.lens (\Sensor' {dataType} -> dataType) (\s@Sensor' {} a -> s {dataType = a} :: Sensor)++instance Data.FromJSON Sensor where+ parseJSON =+ Data.withObject+ "Sensor"+ ( \x ->+ Sensor'+ Prelude.<$> (x Data..:? "allowedValues" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "max")+ Prelude.<*> (x Data..:? "min")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..: "fullyQualifiedName")+ Prelude.<*> (x Data..: "dataType")+ )++instance Prelude.Hashable Sensor where+ hashWithSalt _salt Sensor' {..} =+ _salt+ `Prelude.hashWithSalt` allowedValues+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` max+ `Prelude.hashWithSalt` min+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` fullyQualifiedName+ `Prelude.hashWithSalt` dataType++instance Prelude.NFData Sensor where+ rnf Sensor' {..} =+ Prelude.rnf allowedValues+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf max+ `Prelude.seq` Prelude.rnf min+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf fullyQualifiedName+ `Prelude.seq` Prelude.rnf dataType++instance Data.ToJSON Sensor where+ toJSON Sensor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowedValues" Data..=) Prelude.<$> allowedValues,+ ("description" Data..=) Prelude.<$> description,+ ("max" Data..=) Prelude.<$> max,+ ("min" Data..=) Prelude.<$> min,+ ("unit" Data..=) Prelude.<$> unit,+ Prelude.Just+ ("fullyQualifiedName" Data..= fullyQualifiedName),+ Prelude.Just ("dataType" Data..= dataType)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/SignalCatalogSummary.hs view
@@ -0,0 +1,115 @@+{-# 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.IoTFleetWise.Types.SignalCatalogSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.SignalCatalogSummary 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 collection of standardized signals, which can be+-- attributes, branches, sensors, or actuators.+--+-- /See:/ 'newSignalCatalogSummary' smart constructor.+data SignalCatalogSummary = SignalCatalogSummary'+ { -- | The Amazon Resource Name (ARN) of the signal catalog.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time the signal catalog was created in seconds since epoch (January+ -- 1, 1970 at midnight UTC time).+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The time the signal catalog was last updated in seconds since epoch+ -- (January 1, 1970 at midnight UTC time).+ lastModificationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the signal catalog.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignalCatalogSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'signalCatalogSummary_arn' - The Amazon Resource Name (ARN) of the signal catalog.+--+-- 'creationTime', 'signalCatalogSummary_creationTime' - The time the signal catalog was created in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+--+-- 'lastModificationTime', 'signalCatalogSummary_lastModificationTime' - The time the signal catalog was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+--+-- 'name', 'signalCatalogSummary_name' - The name of the signal catalog.+newSignalCatalogSummary ::+ SignalCatalogSummary+newSignalCatalogSummary =+ SignalCatalogSummary'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ lastModificationTime = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the signal catalog.+signalCatalogSummary_arn :: Lens.Lens' SignalCatalogSummary (Prelude.Maybe Prelude.Text)+signalCatalogSummary_arn = Lens.lens (\SignalCatalogSummary' {arn} -> arn) (\s@SignalCatalogSummary' {} a -> s {arn = a} :: SignalCatalogSummary)++-- | The time the signal catalog was created in seconds since epoch (January+-- 1, 1970 at midnight UTC time).+signalCatalogSummary_creationTime :: Lens.Lens' SignalCatalogSummary (Prelude.Maybe Prelude.UTCTime)+signalCatalogSummary_creationTime = Lens.lens (\SignalCatalogSummary' {creationTime} -> creationTime) (\s@SignalCatalogSummary' {} a -> s {creationTime = a} :: SignalCatalogSummary) Prelude.. Lens.mapping Data._Time++-- | The time the signal catalog was last updated in seconds since epoch+-- (January 1, 1970 at midnight UTC time).+signalCatalogSummary_lastModificationTime :: Lens.Lens' SignalCatalogSummary (Prelude.Maybe Prelude.UTCTime)+signalCatalogSummary_lastModificationTime = Lens.lens (\SignalCatalogSummary' {lastModificationTime} -> lastModificationTime) (\s@SignalCatalogSummary' {} a -> s {lastModificationTime = a} :: SignalCatalogSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the signal catalog.+signalCatalogSummary_name :: Lens.Lens' SignalCatalogSummary (Prelude.Maybe Prelude.Text)+signalCatalogSummary_name = Lens.lens (\SignalCatalogSummary' {name} -> name) (\s@SignalCatalogSummary' {} a -> s {name = a} :: SignalCatalogSummary)++instance Data.FromJSON SignalCatalogSummary where+ parseJSON =+ Data.withObject+ "SignalCatalogSummary"+ ( \x ->+ SignalCatalogSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "lastModificationTime")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable SignalCatalogSummary where+ hashWithSalt _salt SignalCatalogSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime+ `Prelude.hashWithSalt` name++instance Prelude.NFData SignalCatalogSummary where+ rnf SignalCatalogSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTFleetWise/Types/SignalDecoder.hs view
@@ -0,0 +1,166 @@+{-# 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.IoTFleetWise.Types.SignalDecoder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.SignalDecoder where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.CanSignal+import Amazonka.IoTFleetWise.Types.ObdSignal+import Amazonka.IoTFleetWise.Types.SignalDecoderType+import qualified Amazonka.Prelude as Prelude++-- | Information about a signal decoder.+--+-- /See:/ 'newSignalDecoder' smart constructor.+data SignalDecoder = SignalDecoder'+ { -- | Information about signal decoder using the Controller Area Network (CAN)+ -- protocol.+ canSignal :: Prelude.Maybe CanSignal,+ -- | Information about signal decoder using the On-board diagnostic (OBD) II+ -- protocol.+ obdSignal :: Prelude.Maybe ObdSignal,+ -- | The fully qualified name of a signal decoder as defined in a vehicle+ -- model.+ fullyQualifiedName :: Prelude.Text,+ -- | The network protocol for the vehicle. For example, @CAN_SIGNAL@+ -- specifies a protocol that defines how data is communicated between+ -- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+ -- defines how self-diagnostic data is communicated between ECUs.+ type' :: SignalDecoderType,+ -- | The ID of a network interface that specifies what network protocol a+ -- vehicle follows.+ interfaceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignalDecoder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'canSignal', 'signalDecoder_canSignal' - Information about signal decoder using the Controller Area Network (CAN)+-- protocol.+--+-- 'obdSignal', 'signalDecoder_obdSignal' - Information about signal decoder using the On-board diagnostic (OBD) II+-- protocol.+--+-- 'fullyQualifiedName', 'signalDecoder_fullyQualifiedName' - The fully qualified name of a signal decoder as defined in a vehicle+-- model.+--+-- 'type'', 'signalDecoder_type' - The network protocol for the vehicle. For example, @CAN_SIGNAL@+-- specifies a protocol that defines how data is communicated between+-- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+-- defines how self-diagnostic data is communicated between ECUs.+--+-- 'interfaceId', 'signalDecoder_interfaceId' - The ID of a network interface that specifies what network protocol a+-- vehicle follows.+newSignalDecoder ::+ -- | 'fullyQualifiedName'+ Prelude.Text ->+ -- | 'type''+ SignalDecoderType ->+ -- | 'interfaceId'+ Prelude.Text ->+ SignalDecoder+newSignalDecoder+ pFullyQualifiedName_+ pType_+ pInterfaceId_ =+ SignalDecoder'+ { canSignal = Prelude.Nothing,+ obdSignal = Prelude.Nothing,+ fullyQualifiedName = pFullyQualifiedName_,+ type' = pType_,+ interfaceId = pInterfaceId_+ }++-- | Information about signal decoder using the Controller Area Network (CAN)+-- protocol.+signalDecoder_canSignal :: Lens.Lens' SignalDecoder (Prelude.Maybe CanSignal)+signalDecoder_canSignal = Lens.lens (\SignalDecoder' {canSignal} -> canSignal) (\s@SignalDecoder' {} a -> s {canSignal = a} :: SignalDecoder)++-- | Information about signal decoder using the On-board diagnostic (OBD) II+-- protocol.+signalDecoder_obdSignal :: Lens.Lens' SignalDecoder (Prelude.Maybe ObdSignal)+signalDecoder_obdSignal = Lens.lens (\SignalDecoder' {obdSignal} -> obdSignal) (\s@SignalDecoder' {} a -> s {obdSignal = a} :: SignalDecoder)++-- | The fully qualified name of a signal decoder as defined in a vehicle+-- model.+signalDecoder_fullyQualifiedName :: Lens.Lens' SignalDecoder Prelude.Text+signalDecoder_fullyQualifiedName = Lens.lens (\SignalDecoder' {fullyQualifiedName} -> fullyQualifiedName) (\s@SignalDecoder' {} a -> s {fullyQualifiedName = a} :: SignalDecoder)++-- | The network protocol for the vehicle. For example, @CAN_SIGNAL@+-- specifies a protocol that defines how data is communicated between+-- electronic control units (ECUs). @OBD_SIGNAL@ specifies a protocol that+-- defines how self-diagnostic data is communicated between ECUs.+signalDecoder_type :: Lens.Lens' SignalDecoder SignalDecoderType+signalDecoder_type = Lens.lens (\SignalDecoder' {type'} -> type') (\s@SignalDecoder' {} a -> s {type' = a} :: SignalDecoder)++-- | The ID of a network interface that specifies what network protocol a+-- vehicle follows.+signalDecoder_interfaceId :: Lens.Lens' SignalDecoder Prelude.Text+signalDecoder_interfaceId = Lens.lens (\SignalDecoder' {interfaceId} -> interfaceId) (\s@SignalDecoder' {} a -> s {interfaceId = a} :: SignalDecoder)++instance Data.FromJSON SignalDecoder where+ parseJSON =+ Data.withObject+ "SignalDecoder"+ ( \x ->+ SignalDecoder'+ Prelude.<$> (x Data..:? "canSignal")+ Prelude.<*> (x Data..:? "obdSignal")+ Prelude.<*> (x Data..: "fullyQualifiedName")+ Prelude.<*> (x Data..: "type")+ Prelude.<*> (x Data..: "interfaceId")+ )++instance Prelude.Hashable SignalDecoder where+ hashWithSalt _salt SignalDecoder' {..} =+ _salt+ `Prelude.hashWithSalt` canSignal+ `Prelude.hashWithSalt` obdSignal+ `Prelude.hashWithSalt` fullyQualifiedName+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` interfaceId++instance Prelude.NFData SignalDecoder where+ rnf SignalDecoder' {..} =+ Prelude.rnf canSignal+ `Prelude.seq` Prelude.rnf obdSignal+ `Prelude.seq` Prelude.rnf fullyQualifiedName+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf interfaceId++instance Data.ToJSON SignalDecoder where+ toJSON SignalDecoder' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("canSignal" Data..=) Prelude.<$> canSignal,+ ("obdSignal" Data..=) Prelude.<$> obdSignal,+ Prelude.Just+ ("fullyQualifiedName" Data..= fullyQualifiedName),+ Prelude.Just ("type" Data..= type'),+ Prelude.Just ("interfaceId" Data..= interfaceId)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/SignalDecoderType.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.IoTFleetWise.Types.SignalDecoderType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.SignalDecoderType+ ( SignalDecoderType+ ( ..,+ SignalDecoderType_CAN_SIGNAL,+ SignalDecoderType_OBD_SIGNAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SignalDecoderType = SignalDecoderType'+ { fromSignalDecoderType ::+ 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 SignalDecoderType_CAN_SIGNAL :: SignalDecoderType+pattern SignalDecoderType_CAN_SIGNAL = SignalDecoderType' "CAN_SIGNAL"++pattern SignalDecoderType_OBD_SIGNAL :: SignalDecoderType+pattern SignalDecoderType_OBD_SIGNAL = SignalDecoderType' "OBD_SIGNAL"++{-# COMPLETE+ SignalDecoderType_CAN_SIGNAL,+ SignalDecoderType_OBD_SIGNAL,+ SignalDecoderType'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/SignalInformation.hs view
@@ -0,0 +1,123 @@+{-# 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.IoTFleetWise.Types.SignalInformation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.SignalInformation 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 signal.+--+-- /See:/ 'newSignalInformation' smart constructor.+data SignalInformation = SignalInformation'+ { -- | The maximum number of samples to collect.+ maxSampleCount :: Prelude.Maybe Prelude.Natural,+ -- | The minimum duration of time (in milliseconds) between two triggering+ -- events to collect data.+ --+ -- If a signal changes often, you might want to collect data at a slower+ -- rate.+ minimumSamplingIntervalMs :: Prelude.Maybe Prelude.Natural,+ -- | The name of the signal.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignalInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxSampleCount', 'signalInformation_maxSampleCount' - The maximum number of samples to collect.+--+-- 'minimumSamplingIntervalMs', 'signalInformation_minimumSamplingIntervalMs' - The minimum duration of time (in milliseconds) between two triggering+-- events to collect data.+--+-- If a signal changes often, you might want to collect data at a slower+-- rate.+--+-- 'name', 'signalInformation_name' - The name of the signal.+newSignalInformation ::+ -- | 'name'+ Prelude.Text ->+ SignalInformation+newSignalInformation pName_ =+ SignalInformation'+ { maxSampleCount =+ Prelude.Nothing,+ minimumSamplingIntervalMs = Prelude.Nothing,+ name = pName_+ }++-- | The maximum number of samples to collect.+signalInformation_maxSampleCount :: Lens.Lens' SignalInformation (Prelude.Maybe Prelude.Natural)+signalInformation_maxSampleCount = Lens.lens (\SignalInformation' {maxSampleCount} -> maxSampleCount) (\s@SignalInformation' {} a -> s {maxSampleCount = a} :: SignalInformation)++-- | The minimum duration of time (in milliseconds) between two triggering+-- events to collect data.+--+-- If a signal changes often, you might want to collect data at a slower+-- rate.+signalInformation_minimumSamplingIntervalMs :: Lens.Lens' SignalInformation (Prelude.Maybe Prelude.Natural)+signalInformation_minimumSamplingIntervalMs = Lens.lens (\SignalInformation' {minimumSamplingIntervalMs} -> minimumSamplingIntervalMs) (\s@SignalInformation' {} a -> s {minimumSamplingIntervalMs = a} :: SignalInformation)++-- | The name of the signal.+signalInformation_name :: Lens.Lens' SignalInformation Prelude.Text+signalInformation_name = Lens.lens (\SignalInformation' {name} -> name) (\s@SignalInformation' {} a -> s {name = a} :: SignalInformation)++instance Data.FromJSON SignalInformation where+ parseJSON =+ Data.withObject+ "SignalInformation"+ ( \x ->+ SignalInformation'+ Prelude.<$> (x Data..:? "maxSampleCount")+ Prelude.<*> (x Data..:? "minimumSamplingIntervalMs")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable SignalInformation where+ hashWithSalt _salt SignalInformation' {..} =+ _salt+ `Prelude.hashWithSalt` maxSampleCount+ `Prelude.hashWithSalt` minimumSamplingIntervalMs+ `Prelude.hashWithSalt` name++instance Prelude.NFData SignalInformation where+ rnf SignalInformation' {..} =+ Prelude.rnf maxSampleCount+ `Prelude.seq` Prelude.rnf minimumSamplingIntervalMs+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON SignalInformation where+ toJSON SignalInformation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxSampleCount" Data..=)+ Prelude.<$> maxSampleCount,+ ("minimumSamplingIntervalMs" Data..=)+ Prelude.<$> minimumSamplingIntervalMs,+ Prelude.Just ("name" Data..= name)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/SpoolingMode.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.IoTFleetWise.Types.SpoolingMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.SpoolingMode+ ( SpoolingMode+ ( ..,+ SpoolingMode_OFF,+ SpoolingMode_TO_DISK+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SpoolingMode = SpoolingMode'+ { fromSpoolingMode ::+ 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 SpoolingMode_OFF :: SpoolingMode+pattern SpoolingMode_OFF = SpoolingMode' "OFF"++pattern SpoolingMode_TO_DISK :: SpoolingMode+pattern SpoolingMode_TO_DISK = SpoolingMode' "TO_DISK"++{-# COMPLETE+ SpoolingMode_OFF,+ SpoolingMode_TO_DISK,+ SpoolingMode'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/Tag.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.Tag+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A set of key\/value pairs that are used to manage the resource.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+ { -- | The tag\'s key.+ key :: Prelude.Text,+ -- | The tag\'s value.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The tag\'s key.+--+-- 'value', 'tag_value' - The tag\'s value.+newTag ::+ -- | 'key'+ Prelude.Text ->+ -- | 'value'+ Prelude.Text ->+ Tag+newTag pKey_ pValue_ =+ Tag' {key = pKey_, value = pValue_}++-- | The tag\'s key.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The tag\'s value.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+ parseJSON =+ Data.withObject+ "Tag"+ ( \x ->+ Tag'+ Prelude.<$> (x Data..: "Key")+ Prelude.<*> (x Data..: "Value")+ )++instance Prelude.Hashable Tag where+ hashWithSalt _salt Tag' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+ rnf Tag' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+ toJSON Tag' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Key" Data..= key),+ Prelude.Just ("Value" Data..= value)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/TimeBasedCollectionScheme.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.IoTFleetWise.Types.TimeBasedCollectionScheme+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.TimeBasedCollectionScheme 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 collection scheme that uses a time period to decide+-- how often to collect data.+--+-- /See:/ 'newTimeBasedCollectionScheme' smart constructor.+data TimeBasedCollectionScheme = TimeBasedCollectionScheme'+ { -- | The time period (in milliseconds) to decide how often to collect data.+ -- For example, if the time period is @60000@, the Edge Agent software+ -- collects data once every minute.+ periodMs :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeBasedCollectionScheme' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'periodMs', 'timeBasedCollectionScheme_periodMs' - The time period (in milliseconds) to decide how often to collect data.+-- For example, if the time period is @60000@, the Edge Agent software+-- collects data once every minute.+newTimeBasedCollectionScheme ::+ -- | 'periodMs'+ Prelude.Natural ->+ TimeBasedCollectionScheme+newTimeBasedCollectionScheme pPeriodMs_ =+ TimeBasedCollectionScheme' {periodMs = pPeriodMs_}++-- | The time period (in milliseconds) to decide how often to collect data.+-- For example, if the time period is @60000@, the Edge Agent software+-- collects data once every minute.+timeBasedCollectionScheme_periodMs :: Lens.Lens' TimeBasedCollectionScheme Prelude.Natural+timeBasedCollectionScheme_periodMs = Lens.lens (\TimeBasedCollectionScheme' {periodMs} -> periodMs) (\s@TimeBasedCollectionScheme' {} a -> s {periodMs = a} :: TimeBasedCollectionScheme)++instance Data.FromJSON TimeBasedCollectionScheme where+ parseJSON =+ Data.withObject+ "TimeBasedCollectionScheme"+ ( \x ->+ TimeBasedCollectionScheme'+ Prelude.<$> (x Data..: "periodMs")+ )++instance Prelude.Hashable TimeBasedCollectionScheme where+ hashWithSalt _salt TimeBasedCollectionScheme' {..} =+ _salt `Prelude.hashWithSalt` periodMs++instance Prelude.NFData TimeBasedCollectionScheme where+ rnf TimeBasedCollectionScheme' {..} =+ Prelude.rnf periodMs++instance Data.ToJSON TimeBasedCollectionScheme where+ toJSON TimeBasedCollectionScheme' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("periodMs" Data..= periodMs)]+ )
+ gen/Amazonka/IoTFleetWise/Types/TimestreamRegistrationResponse.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.IoTFleetWise.Types.TimestreamRegistrationResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.TimestreamRegistrationResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.RegistrationStatus+import qualified Amazonka.Prelude as Prelude++-- | Information about the registered Amazon Timestream resources or errors,+-- if any.+--+-- /See:/ 'newTimestreamRegistrationResponse' smart constructor.+data TimestreamRegistrationResponse = TimestreamRegistrationResponse'+ { -- | A message associated with a registration error.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the Timestream database.+ timestreamDatabaseArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the Timestream database table.+ timestreamTableArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the Timestream database.+ timestreamDatabaseName :: Prelude.Text,+ -- | The name of the Timestream database table.+ timestreamTableName :: Prelude.Text,+ -- | The status of registering your Amazon Timestream resources. The status+ -- can be one of @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@,+ -- @REGISTRATION_FAILURE@.+ registrationStatus :: RegistrationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimestreamRegistrationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorMessage', 'timestreamRegistrationResponse_errorMessage' - A message associated with a registration error.+--+-- 'timestreamDatabaseArn', 'timestreamRegistrationResponse_timestreamDatabaseArn' - The Amazon Resource Name (ARN) of the Timestream database.+--+-- 'timestreamTableArn', 'timestreamRegistrationResponse_timestreamTableArn' - The ARN of the Timestream database table.+--+-- 'timestreamDatabaseName', 'timestreamRegistrationResponse_timestreamDatabaseName' - The name of the Timestream database.+--+-- 'timestreamTableName', 'timestreamRegistrationResponse_timestreamTableName' - The name of the Timestream database table.+--+-- 'registrationStatus', 'timestreamRegistrationResponse_registrationStatus' - The status of registering your Amazon Timestream resources. The status+-- can be one of @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@,+-- @REGISTRATION_FAILURE@.+newTimestreamRegistrationResponse ::+ -- | 'timestreamDatabaseName'+ Prelude.Text ->+ -- | 'timestreamTableName'+ Prelude.Text ->+ -- | 'registrationStatus'+ RegistrationStatus ->+ TimestreamRegistrationResponse+newTimestreamRegistrationResponse+ pTimestreamDatabaseName_+ pTimestreamTableName_+ pRegistrationStatus_ =+ TimestreamRegistrationResponse'+ { errorMessage =+ Prelude.Nothing,+ timestreamDatabaseArn = Prelude.Nothing,+ timestreamTableArn = Prelude.Nothing,+ timestreamDatabaseName =+ pTimestreamDatabaseName_,+ timestreamTableName = pTimestreamTableName_,+ registrationStatus = pRegistrationStatus_+ }++-- | A message associated with a registration error.+timestreamRegistrationResponse_errorMessage :: Lens.Lens' TimestreamRegistrationResponse (Prelude.Maybe Prelude.Text)+timestreamRegistrationResponse_errorMessage = Lens.lens (\TimestreamRegistrationResponse' {errorMessage} -> errorMessage) (\s@TimestreamRegistrationResponse' {} a -> s {errorMessage = a} :: TimestreamRegistrationResponse)++-- | The Amazon Resource Name (ARN) of the Timestream database.+timestreamRegistrationResponse_timestreamDatabaseArn :: Lens.Lens' TimestreamRegistrationResponse (Prelude.Maybe Prelude.Text)+timestreamRegistrationResponse_timestreamDatabaseArn = Lens.lens (\TimestreamRegistrationResponse' {timestreamDatabaseArn} -> timestreamDatabaseArn) (\s@TimestreamRegistrationResponse' {} a -> s {timestreamDatabaseArn = a} :: TimestreamRegistrationResponse)++-- | The ARN of the Timestream database table.+timestreamRegistrationResponse_timestreamTableArn :: Lens.Lens' TimestreamRegistrationResponse (Prelude.Maybe Prelude.Text)+timestreamRegistrationResponse_timestreamTableArn = Lens.lens (\TimestreamRegistrationResponse' {timestreamTableArn} -> timestreamTableArn) (\s@TimestreamRegistrationResponse' {} a -> s {timestreamTableArn = a} :: TimestreamRegistrationResponse)++-- | The name of the Timestream database.+timestreamRegistrationResponse_timestreamDatabaseName :: Lens.Lens' TimestreamRegistrationResponse Prelude.Text+timestreamRegistrationResponse_timestreamDatabaseName = Lens.lens (\TimestreamRegistrationResponse' {timestreamDatabaseName} -> timestreamDatabaseName) (\s@TimestreamRegistrationResponse' {} a -> s {timestreamDatabaseName = a} :: TimestreamRegistrationResponse)++-- | The name of the Timestream database table.+timestreamRegistrationResponse_timestreamTableName :: Lens.Lens' TimestreamRegistrationResponse Prelude.Text+timestreamRegistrationResponse_timestreamTableName = Lens.lens (\TimestreamRegistrationResponse' {timestreamTableName} -> timestreamTableName) (\s@TimestreamRegistrationResponse' {} a -> s {timestreamTableName = a} :: TimestreamRegistrationResponse)++-- | The status of registering your Amazon Timestream resources. The status+-- can be one of @REGISTRATION_SUCCESS@, @REGISTRATION_PENDING@,+-- @REGISTRATION_FAILURE@.+timestreamRegistrationResponse_registrationStatus :: Lens.Lens' TimestreamRegistrationResponse RegistrationStatus+timestreamRegistrationResponse_registrationStatus = Lens.lens (\TimestreamRegistrationResponse' {registrationStatus} -> registrationStatus) (\s@TimestreamRegistrationResponse' {} a -> s {registrationStatus = a} :: TimestreamRegistrationResponse)++instance Data.FromJSON TimestreamRegistrationResponse where+ parseJSON =+ Data.withObject+ "TimestreamRegistrationResponse"+ ( \x ->+ TimestreamRegistrationResponse'+ Prelude.<$> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "timestreamDatabaseArn")+ Prelude.<*> (x Data..:? "timestreamTableArn")+ Prelude.<*> (x Data..: "timestreamDatabaseName")+ Prelude.<*> (x Data..: "timestreamTableName")+ Prelude.<*> (x Data..: "registrationStatus")+ )++instance+ Prelude.Hashable+ TimestreamRegistrationResponse+ where+ hashWithSalt+ _salt+ TimestreamRegistrationResponse' {..} =+ _salt+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` timestreamDatabaseArn+ `Prelude.hashWithSalt` timestreamTableArn+ `Prelude.hashWithSalt` timestreamDatabaseName+ `Prelude.hashWithSalt` timestreamTableName+ `Prelude.hashWithSalt` registrationStatus++instance+ Prelude.NFData+ TimestreamRegistrationResponse+ where+ rnf TimestreamRegistrationResponse' {..} =+ Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf timestreamDatabaseArn+ `Prelude.seq` Prelude.rnf timestreamTableArn+ `Prelude.seq` Prelude.rnf timestreamDatabaseName+ `Prelude.seq` Prelude.rnf timestreamTableName+ `Prelude.seq` Prelude.rnf registrationStatus
+ gen/Amazonka/IoTFleetWise/Types/TimestreamResources.hs view
@@ -0,0 +1,105 @@+{-# 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.IoTFleetWise.Types.TimestreamResources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.TimestreamResources where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The registered Amazon Timestream resources that Amazon Web Services IoT+-- FleetWise edge agent software can transfer your vehicle data to.+--+-- /See:/ 'newTimestreamResources' smart constructor.+data TimestreamResources = TimestreamResources'+ { -- | The name of the registered Amazon Timestream database.+ timestreamDatabaseName :: Prelude.Text,+ -- | The name of the registered Amazon Timestream database table.+ timestreamTableName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimestreamResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'timestreamDatabaseName', 'timestreamResources_timestreamDatabaseName' - The name of the registered Amazon Timestream database.+--+-- 'timestreamTableName', 'timestreamResources_timestreamTableName' - The name of the registered Amazon Timestream database table.+newTimestreamResources ::+ -- | 'timestreamDatabaseName'+ Prelude.Text ->+ -- | 'timestreamTableName'+ Prelude.Text ->+ TimestreamResources+newTimestreamResources+ pTimestreamDatabaseName_+ pTimestreamTableName_ =+ TimestreamResources'+ { timestreamDatabaseName =+ pTimestreamDatabaseName_,+ timestreamTableName = pTimestreamTableName_+ }++-- | The name of the registered Amazon Timestream database.+timestreamResources_timestreamDatabaseName :: Lens.Lens' TimestreamResources Prelude.Text+timestreamResources_timestreamDatabaseName = Lens.lens (\TimestreamResources' {timestreamDatabaseName} -> timestreamDatabaseName) (\s@TimestreamResources' {} a -> s {timestreamDatabaseName = a} :: TimestreamResources)++-- | The name of the registered Amazon Timestream database table.+timestreamResources_timestreamTableName :: Lens.Lens' TimestreamResources Prelude.Text+timestreamResources_timestreamTableName = Lens.lens (\TimestreamResources' {timestreamTableName} -> timestreamTableName) (\s@TimestreamResources' {} a -> s {timestreamTableName = a} :: TimestreamResources)++instance Data.FromJSON TimestreamResources where+ parseJSON =+ Data.withObject+ "TimestreamResources"+ ( \x ->+ TimestreamResources'+ Prelude.<$> (x Data..: "timestreamDatabaseName")+ Prelude.<*> (x Data..: "timestreamTableName")+ )++instance Prelude.Hashable TimestreamResources where+ hashWithSalt _salt TimestreamResources' {..} =+ _salt+ `Prelude.hashWithSalt` timestreamDatabaseName+ `Prelude.hashWithSalt` timestreamTableName++instance Prelude.NFData TimestreamResources where+ rnf TimestreamResources' {..} =+ Prelude.rnf timestreamDatabaseName+ `Prelude.seq` Prelude.rnf timestreamTableName++instance Data.ToJSON TimestreamResources where+ toJSON TimestreamResources' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "timestreamDatabaseName"+ Data..= timestreamDatabaseName+ ),+ Prelude.Just+ ("timestreamTableName" Data..= timestreamTableName)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/TriggerMode.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.IoTFleetWise.Types.TriggerMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.TriggerMode+ ( TriggerMode+ ( ..,+ TriggerMode_ALWAYS,+ TriggerMode_RISING_EDGE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TriggerMode = TriggerMode'+ { fromTriggerMode ::+ 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 TriggerMode_ALWAYS :: TriggerMode+pattern TriggerMode_ALWAYS = TriggerMode' "ALWAYS"++pattern TriggerMode_RISING_EDGE :: TriggerMode+pattern TriggerMode_RISING_EDGE = TriggerMode' "RISING_EDGE"++{-# COMPLETE+ TriggerMode_ALWAYS,+ TriggerMode_RISING_EDGE,+ TriggerMode'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/UpdateCampaignAction.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.UpdateCampaignAction+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.UpdateCampaignAction+ ( UpdateCampaignAction+ ( ..,+ UpdateCampaignAction_APPROVE,+ UpdateCampaignAction_RESUME,+ UpdateCampaignAction_SUSPEND,+ UpdateCampaignAction_UPDATE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UpdateCampaignAction = UpdateCampaignAction'+ { fromUpdateCampaignAction ::+ 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 UpdateCampaignAction_APPROVE :: UpdateCampaignAction+pattern UpdateCampaignAction_APPROVE = UpdateCampaignAction' "APPROVE"++pattern UpdateCampaignAction_RESUME :: UpdateCampaignAction+pattern UpdateCampaignAction_RESUME = UpdateCampaignAction' "RESUME"++pattern UpdateCampaignAction_SUSPEND :: UpdateCampaignAction+pattern UpdateCampaignAction_SUSPEND = UpdateCampaignAction' "SUSPEND"++pattern UpdateCampaignAction_UPDATE :: UpdateCampaignAction+pattern UpdateCampaignAction_UPDATE = UpdateCampaignAction' "UPDATE"++{-# COMPLETE+ UpdateCampaignAction_APPROVE,+ UpdateCampaignAction_RESUME,+ UpdateCampaignAction_SUSPEND,+ UpdateCampaignAction_UPDATE,+ UpdateCampaignAction'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/UpdateMode.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.IoTFleetWise.Types.UpdateMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.UpdateMode+ ( UpdateMode+ ( ..,+ UpdateMode_Merge,+ UpdateMode_Overwrite+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UpdateMode = UpdateMode'+ { fromUpdateMode ::+ 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 UpdateMode_Merge :: UpdateMode+pattern UpdateMode_Merge = UpdateMode' "Merge"++pattern UpdateMode_Overwrite :: UpdateMode+pattern UpdateMode_Overwrite = UpdateMode' "Overwrite"++{-# COMPLETE+ UpdateMode_Merge,+ UpdateMode_Overwrite,+ UpdateMode'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/UpdateVehicleError.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.UpdateVehicleError+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.UpdateVehicleError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An HTTP error resulting from updating the description for a vehicle.+--+-- /See:/ 'newUpdateVehicleError' smart constructor.+data UpdateVehicleError = UpdateVehicleError'+ { -- | The relevant HTTP error code (400+).+ code :: Prelude.Maybe Prelude.Int,+ -- | A message associated with the error.+ message :: Prelude.Maybe Prelude.Text,+ -- | The ID of the vehicle with the error.+ vehicleName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVehicleError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateVehicleError_code' - The relevant HTTP error code (400+).+--+-- 'message', 'updateVehicleError_message' - A message associated with the error.+--+-- 'vehicleName', 'updateVehicleError_vehicleName' - The ID of the vehicle with the error.+newUpdateVehicleError ::+ UpdateVehicleError+newUpdateVehicleError =+ UpdateVehicleError'+ { code = Prelude.Nothing,+ message = Prelude.Nothing,+ vehicleName = Prelude.Nothing+ }++-- | The relevant HTTP error code (400+).+updateVehicleError_code :: Lens.Lens' UpdateVehicleError (Prelude.Maybe Prelude.Int)+updateVehicleError_code = Lens.lens (\UpdateVehicleError' {code} -> code) (\s@UpdateVehicleError' {} a -> s {code = a} :: UpdateVehicleError)++-- | A message associated with the error.+updateVehicleError_message :: Lens.Lens' UpdateVehicleError (Prelude.Maybe Prelude.Text)+updateVehicleError_message = Lens.lens (\UpdateVehicleError' {message} -> message) (\s@UpdateVehicleError' {} a -> s {message = a} :: UpdateVehicleError)++-- | The ID of the vehicle with the error.+updateVehicleError_vehicleName :: Lens.Lens' UpdateVehicleError (Prelude.Maybe Prelude.Text)+updateVehicleError_vehicleName = Lens.lens (\UpdateVehicleError' {vehicleName} -> vehicleName) (\s@UpdateVehicleError' {} a -> s {vehicleName = a} :: UpdateVehicleError)++instance Data.FromJSON UpdateVehicleError where+ parseJSON =+ Data.withObject+ "UpdateVehicleError"+ ( \x ->+ UpdateVehicleError'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "message")+ Prelude.<*> (x Data..:? "vehicleName")+ )++instance Prelude.Hashable UpdateVehicleError where+ hashWithSalt _salt UpdateVehicleError' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData UpdateVehicleError where+ rnf UpdateVehicleError' {..} =+ Prelude.rnf code+ `Prelude.seq` Prelude.rnf message+ `Prelude.seq` Prelude.rnf vehicleName
+ gen/Amazonka/IoTFleetWise/Types/UpdateVehicleRequestItem.hs view
@@ -0,0 +1,150 @@+{-# 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.IoTFleetWise.Types.UpdateVehicleRequestItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.UpdateVehicleRequestItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.UpdateMode+import qualified Amazonka.Prelude as Prelude++-- | Information about the vehicle to update.+--+-- /See:/ 'newUpdateVehicleRequestItem' smart constructor.+data UpdateVehicleRequestItem = UpdateVehicleRequestItem'+ { -- | The method the specified attributes will update the existing attributes+ -- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+ -- specified attributes. Or use @Merge@ to combine all attributes.+ --+ -- This is required if attributes are present in the input.+ attributeUpdateMode :: Prelude.Maybe UpdateMode,+ -- | Static information about a vehicle in a key-value pair. For example:+ --+ -- @\"engineType\"@ : @\"1.3 L R2\"@+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN of the signal decoder manifest associated with the vehicle to+ -- update.+ decoderManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the vehicle model (model manifest) associated with the+ -- vehicle to update.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The unique ID of the vehicle to update.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVehicleRequestItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributeUpdateMode', 'updateVehicleRequestItem_attributeUpdateMode' - The method the specified attributes will update the existing attributes+-- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+-- specified attributes. Or use @Merge@ to combine all attributes.+--+-- This is required if attributes are present in the input.+--+-- 'attributes', 'updateVehicleRequestItem_attributes' - Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+--+-- 'decoderManifestArn', 'updateVehicleRequestItem_decoderManifestArn' - The ARN of the signal decoder manifest associated with the vehicle to+-- update.+--+-- 'modelManifestArn', 'updateVehicleRequestItem_modelManifestArn' - The ARN of the vehicle model (model manifest) associated with the+-- vehicle to update.+--+-- 'vehicleName', 'updateVehicleRequestItem_vehicleName' - The unique ID of the vehicle to update.+newUpdateVehicleRequestItem ::+ -- | 'vehicleName'+ Prelude.Text ->+ UpdateVehicleRequestItem+newUpdateVehicleRequestItem pVehicleName_ =+ UpdateVehicleRequestItem'+ { attributeUpdateMode =+ Prelude.Nothing,+ attributes = Prelude.Nothing,+ decoderManifestArn = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ vehicleName = pVehicleName_+ }++-- | The method the specified attributes will update the existing attributes+-- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+-- specified attributes. Or use @Merge@ to combine all attributes.+--+-- This is required if attributes are present in the input.+updateVehicleRequestItem_attributeUpdateMode :: Lens.Lens' UpdateVehicleRequestItem (Prelude.Maybe UpdateMode)+updateVehicleRequestItem_attributeUpdateMode = Lens.lens (\UpdateVehicleRequestItem' {attributeUpdateMode} -> attributeUpdateMode) (\s@UpdateVehicleRequestItem' {} a -> s {attributeUpdateMode = a} :: UpdateVehicleRequestItem)++-- | Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+updateVehicleRequestItem_attributes :: Lens.Lens' UpdateVehicleRequestItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateVehicleRequestItem_attributes = Lens.lens (\UpdateVehicleRequestItem' {attributes} -> attributes) (\s@UpdateVehicleRequestItem' {} a -> s {attributes = a} :: UpdateVehicleRequestItem) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the signal decoder manifest associated with the vehicle to+-- update.+updateVehicleRequestItem_decoderManifestArn :: Lens.Lens' UpdateVehicleRequestItem (Prelude.Maybe Prelude.Text)+updateVehicleRequestItem_decoderManifestArn = Lens.lens (\UpdateVehicleRequestItem' {decoderManifestArn} -> decoderManifestArn) (\s@UpdateVehicleRequestItem' {} a -> s {decoderManifestArn = a} :: UpdateVehicleRequestItem)++-- | The ARN of the vehicle model (model manifest) associated with the+-- vehicle to update.+updateVehicleRequestItem_modelManifestArn :: Lens.Lens' UpdateVehicleRequestItem (Prelude.Maybe Prelude.Text)+updateVehicleRequestItem_modelManifestArn = Lens.lens (\UpdateVehicleRequestItem' {modelManifestArn} -> modelManifestArn) (\s@UpdateVehicleRequestItem' {} a -> s {modelManifestArn = a} :: UpdateVehicleRequestItem)++-- | The unique ID of the vehicle to update.+updateVehicleRequestItem_vehicleName :: Lens.Lens' UpdateVehicleRequestItem Prelude.Text+updateVehicleRequestItem_vehicleName = Lens.lens (\UpdateVehicleRequestItem' {vehicleName} -> vehicleName) (\s@UpdateVehicleRequestItem' {} a -> s {vehicleName = a} :: UpdateVehicleRequestItem)++instance Prelude.Hashable UpdateVehicleRequestItem where+ hashWithSalt _salt UpdateVehicleRequestItem' {..} =+ _salt+ `Prelude.hashWithSalt` attributeUpdateMode+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` decoderManifestArn+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData UpdateVehicleRequestItem where+ rnf UpdateVehicleRequestItem' {..} =+ Prelude.rnf attributeUpdateMode+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf decoderManifestArn+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf vehicleName++instance Data.ToJSON UpdateVehicleRequestItem where+ toJSON UpdateVehicleRequestItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeUpdateMode" Data..=)+ Prelude.<$> attributeUpdateMode,+ ("attributes" Data..=) Prelude.<$> attributes,+ ("decoderManifestArn" Data..=)+ Prelude.<$> decoderManifestArn,+ ("modelManifestArn" Data..=)+ Prelude.<$> modelManifestArn,+ Prelude.Just ("vehicleName" Data..= vehicleName)+ ]+ )
+ gen/Amazonka/IoTFleetWise/Types/UpdateVehicleResponseItem.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.IoTFleetWise.Types.UpdateVehicleResponseItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.UpdateVehicleResponseItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the updated vehicle.+--+-- /See:/ 'newUpdateVehicleResponseItem' smart constructor.+data UpdateVehicleResponseItem = UpdateVehicleResponseItem'+ { -- | The Amazon Resource Name (ARN) of the updated vehicle.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique ID of the updated vehicle.+ vehicleName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVehicleResponseItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateVehicleResponseItem_arn' - The Amazon Resource Name (ARN) of the updated vehicle.+--+-- 'vehicleName', 'updateVehicleResponseItem_vehicleName' - The unique ID of the updated vehicle.+newUpdateVehicleResponseItem ::+ UpdateVehicleResponseItem+newUpdateVehicleResponseItem =+ UpdateVehicleResponseItem'+ { arn = Prelude.Nothing,+ vehicleName = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the updated vehicle.+updateVehicleResponseItem_arn :: Lens.Lens' UpdateVehicleResponseItem (Prelude.Maybe Prelude.Text)+updateVehicleResponseItem_arn = Lens.lens (\UpdateVehicleResponseItem' {arn} -> arn) (\s@UpdateVehicleResponseItem' {} a -> s {arn = a} :: UpdateVehicleResponseItem)++-- | The unique ID of the updated vehicle.+updateVehicleResponseItem_vehicleName :: Lens.Lens' UpdateVehicleResponseItem (Prelude.Maybe Prelude.Text)+updateVehicleResponseItem_vehicleName = Lens.lens (\UpdateVehicleResponseItem' {vehicleName} -> vehicleName) (\s@UpdateVehicleResponseItem' {} a -> s {vehicleName = a} :: UpdateVehicleResponseItem)++instance Data.FromJSON UpdateVehicleResponseItem where+ parseJSON =+ Data.withObject+ "UpdateVehicleResponseItem"+ ( \x ->+ UpdateVehicleResponseItem'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "vehicleName")+ )++instance Prelude.Hashable UpdateVehicleResponseItem where+ hashWithSalt _salt UpdateVehicleResponseItem' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData UpdateVehicleResponseItem where+ rnf UpdateVehicleResponseItem' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf vehicleName
+ gen/Amazonka/IoTFleetWise/Types/VehicleAssociationBehavior.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.IoTFleetWise.Types.VehicleAssociationBehavior+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.VehicleAssociationBehavior+ ( VehicleAssociationBehavior+ ( ..,+ VehicleAssociationBehavior_CreateIotThing,+ VehicleAssociationBehavior_ValidateIotThingExists+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VehicleAssociationBehavior = VehicleAssociationBehavior'+ { fromVehicleAssociationBehavior ::+ 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 VehicleAssociationBehavior_CreateIotThing :: VehicleAssociationBehavior+pattern VehicleAssociationBehavior_CreateIotThing = VehicleAssociationBehavior' "CreateIotThing"++pattern VehicleAssociationBehavior_ValidateIotThingExists :: VehicleAssociationBehavior+pattern VehicleAssociationBehavior_ValidateIotThingExists = VehicleAssociationBehavior' "ValidateIotThingExists"++{-# COMPLETE+ VehicleAssociationBehavior_CreateIotThing,+ VehicleAssociationBehavior_ValidateIotThingExists,+ VehicleAssociationBehavior'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/VehicleState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.VehicleState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.VehicleState+ ( VehicleState+ ( ..,+ VehicleState_CREATED,+ VehicleState_DELETING,+ VehicleState_HEALTHY,+ VehicleState_READY,+ VehicleState_SUSPENDED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VehicleState = VehicleState'+ { fromVehicleState ::+ 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 VehicleState_CREATED :: VehicleState+pattern VehicleState_CREATED = VehicleState' "CREATED"++pattern VehicleState_DELETING :: VehicleState+pattern VehicleState_DELETING = VehicleState' "DELETING"++pattern VehicleState_HEALTHY :: VehicleState+pattern VehicleState_HEALTHY = VehicleState' "HEALTHY"++pattern VehicleState_READY :: VehicleState+pattern VehicleState_READY = VehicleState' "READY"++pattern VehicleState_SUSPENDED :: VehicleState+pattern VehicleState_SUSPENDED = VehicleState' "SUSPENDED"++{-# COMPLETE+ VehicleState_CREATED,+ VehicleState_DELETING,+ VehicleState_HEALTHY,+ VehicleState_READY,+ VehicleState_SUSPENDED,+ VehicleState'+ #-}
+ gen/Amazonka/IoTFleetWise/Types/VehicleStatus.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.Types.VehicleStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.VehicleStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types.VehicleState+import qualified Amazonka.Prelude as Prelude++-- | Information about the state of a vehicle and how it relates to the+-- status of a campaign.+--+-- /See:/ 'newVehicleStatus' smart constructor.+data VehicleStatus = VehicleStatus'+ { -- | The name of a campaign.+ campaignName :: Prelude.Maybe Prelude.Text,+ -- | The state of a vehicle, which can be one of the following:+ --+ -- - @CREATED@ - Amazon Web Services IoT FleetWise sucessfully created+ -- the vehicle.+ --+ -- - @READY@ - The vehicle is ready to receive a campaign deployment.+ --+ -- - @HEALTHY@ - A campaign deployment was delivered to the vehicle.+ --+ -- - @SUSPENDED@ - A campaign associated with the vehicle was suspended+ -- and data collection was paused.+ --+ -- - @DELETING@ - Amazon Web Services IoT FleetWise is removing a+ -- campaign from the vehicle.+ status :: Prelude.Maybe VehicleState,+ -- | The unique ID of the vehicle.+ vehicleName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VehicleStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'campaignName', 'vehicleStatus_campaignName' - The name of a campaign.+--+-- 'status', 'vehicleStatus_status' - The state of a vehicle, which can be one of the following:+--+-- - @CREATED@ - Amazon Web Services IoT FleetWise sucessfully created+-- the vehicle.+--+-- - @READY@ - The vehicle is ready to receive a campaign deployment.+--+-- - @HEALTHY@ - A campaign deployment was delivered to the vehicle.+--+-- - @SUSPENDED@ - A campaign associated with the vehicle was suspended+-- and data collection was paused.+--+-- - @DELETING@ - Amazon Web Services IoT FleetWise is removing a+-- campaign from the vehicle.+--+-- 'vehicleName', 'vehicleStatus_vehicleName' - The unique ID of the vehicle.+newVehicleStatus ::+ VehicleStatus+newVehicleStatus =+ VehicleStatus'+ { campaignName = Prelude.Nothing,+ status = Prelude.Nothing,+ vehicleName = Prelude.Nothing+ }++-- | The name of a campaign.+vehicleStatus_campaignName :: Lens.Lens' VehicleStatus (Prelude.Maybe Prelude.Text)+vehicleStatus_campaignName = Lens.lens (\VehicleStatus' {campaignName} -> campaignName) (\s@VehicleStatus' {} a -> s {campaignName = a} :: VehicleStatus)++-- | The state of a vehicle, which can be one of the following:+--+-- - @CREATED@ - Amazon Web Services IoT FleetWise sucessfully created+-- the vehicle.+--+-- - @READY@ - The vehicle is ready to receive a campaign deployment.+--+-- - @HEALTHY@ - A campaign deployment was delivered to the vehicle.+--+-- - @SUSPENDED@ - A campaign associated with the vehicle was suspended+-- and data collection was paused.+--+-- - @DELETING@ - Amazon Web Services IoT FleetWise is removing a+-- campaign from the vehicle.+vehicleStatus_status :: Lens.Lens' VehicleStatus (Prelude.Maybe VehicleState)+vehicleStatus_status = Lens.lens (\VehicleStatus' {status} -> status) (\s@VehicleStatus' {} a -> s {status = a} :: VehicleStatus)++-- | The unique ID of the vehicle.+vehicleStatus_vehicleName :: Lens.Lens' VehicleStatus (Prelude.Maybe Prelude.Text)+vehicleStatus_vehicleName = Lens.lens (\VehicleStatus' {vehicleName} -> vehicleName) (\s@VehicleStatus' {} a -> s {vehicleName = a} :: VehicleStatus)++instance Data.FromJSON VehicleStatus where+ parseJSON =+ Data.withObject+ "VehicleStatus"+ ( \x ->+ VehicleStatus'+ Prelude.<$> (x Data..:? "campaignName")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "vehicleName")+ )++instance Prelude.Hashable VehicleStatus where+ hashWithSalt _salt VehicleStatus' {..} =+ _salt+ `Prelude.hashWithSalt` campaignName+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData VehicleStatus where+ rnf VehicleStatus' {..} =+ Prelude.rnf campaignName+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf vehicleName
+ gen/Amazonka/IoTFleetWise/Types/VehicleSummary.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.IoTFleetWise.Types.VehicleSummary+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTFleetWise.Types.VehicleSummary 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 vehicle.+--+-- To return this information about vehicles in your account, you can use+-- the API operation.+--+-- /See:/ 'newVehicleSummary' smart constructor.+data VehicleSummary = VehicleSummary'+ { -- | The unique ID of the vehicle.+ vehicleName :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the vehicle.+ arn :: Prelude.Text,+ -- | The ARN of a vehicle model (model manifest) associated with the vehicle.+ modelManifestArn :: Prelude.Text,+ -- | The ARN of a decoder manifest associated with the vehicle.+ decoderManifestArn :: Prelude.Text,+ -- | The time the vehicle was created in seconds since epoch (January 1, 1970+ -- at midnight UTC time).+ creationTime :: Data.POSIX,+ -- | The time the vehicle was last updated in seconds since epoch (January 1,+ -- 1970 at midnight UTC time).+ lastModificationTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VehicleSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vehicleName', 'vehicleSummary_vehicleName' - The unique ID of the vehicle.+--+-- 'arn', 'vehicleSummary_arn' - The Amazon Resource Name (ARN) of the vehicle.+--+-- 'modelManifestArn', 'vehicleSummary_modelManifestArn' - The ARN of a vehicle model (model manifest) associated with the vehicle.+--+-- 'decoderManifestArn', 'vehicleSummary_decoderManifestArn' - The ARN of a decoder manifest associated with the vehicle.+--+-- 'creationTime', 'vehicleSummary_creationTime' - The time the vehicle was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+--+-- 'lastModificationTime', 'vehicleSummary_lastModificationTime' - The time the vehicle was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+newVehicleSummary ::+ -- | 'vehicleName'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ -- | 'modelManifestArn'+ Prelude.Text ->+ -- | 'decoderManifestArn'+ Prelude.Text ->+ -- | 'creationTime'+ Prelude.UTCTime ->+ -- | 'lastModificationTime'+ Prelude.UTCTime ->+ VehicleSummary+newVehicleSummary+ pVehicleName_+ pArn_+ pModelManifestArn_+ pDecoderManifestArn_+ pCreationTime_+ pLastModificationTime_ =+ VehicleSummary'+ { vehicleName = pVehicleName_,+ arn = pArn_,+ modelManifestArn = pModelManifestArn_,+ decoderManifestArn = pDecoderManifestArn_,+ creationTime = Data._Time Lens.# pCreationTime_,+ lastModificationTime =+ Data._Time Lens.# pLastModificationTime_+ }++-- | The unique ID of the vehicle.+vehicleSummary_vehicleName :: Lens.Lens' VehicleSummary Prelude.Text+vehicleSummary_vehicleName = Lens.lens (\VehicleSummary' {vehicleName} -> vehicleName) (\s@VehicleSummary' {} a -> s {vehicleName = a} :: VehicleSummary)++-- | The Amazon Resource Name (ARN) of the vehicle.+vehicleSummary_arn :: Lens.Lens' VehicleSummary Prelude.Text+vehicleSummary_arn = Lens.lens (\VehicleSummary' {arn} -> arn) (\s@VehicleSummary' {} a -> s {arn = a} :: VehicleSummary)++-- | The ARN of a vehicle model (model manifest) associated with the vehicle.+vehicleSummary_modelManifestArn :: Lens.Lens' VehicleSummary Prelude.Text+vehicleSummary_modelManifestArn = Lens.lens (\VehicleSummary' {modelManifestArn} -> modelManifestArn) (\s@VehicleSummary' {} a -> s {modelManifestArn = a} :: VehicleSummary)++-- | The ARN of a decoder manifest associated with the vehicle.+vehicleSummary_decoderManifestArn :: Lens.Lens' VehicleSummary Prelude.Text+vehicleSummary_decoderManifestArn = Lens.lens (\VehicleSummary' {decoderManifestArn} -> decoderManifestArn) (\s@VehicleSummary' {} a -> s {decoderManifestArn = a} :: VehicleSummary)++-- | The time the vehicle was created in seconds since epoch (January 1, 1970+-- at midnight UTC time).+vehicleSummary_creationTime :: Lens.Lens' VehicleSummary Prelude.UTCTime+vehicleSummary_creationTime = Lens.lens (\VehicleSummary' {creationTime} -> creationTime) (\s@VehicleSummary' {} a -> s {creationTime = a} :: VehicleSummary) Prelude.. Data._Time++-- | The time the vehicle was last updated in seconds since epoch (January 1,+-- 1970 at midnight UTC time).+vehicleSummary_lastModificationTime :: Lens.Lens' VehicleSummary Prelude.UTCTime+vehicleSummary_lastModificationTime = Lens.lens (\VehicleSummary' {lastModificationTime} -> lastModificationTime) (\s@VehicleSummary' {} a -> s {lastModificationTime = a} :: VehicleSummary) Prelude.. Data._Time++instance Data.FromJSON VehicleSummary where+ parseJSON =+ Data.withObject+ "VehicleSummary"+ ( \x ->+ VehicleSummary'+ Prelude.<$> (x Data..: "vehicleName")+ Prelude.<*> (x Data..: "arn")+ Prelude.<*> (x Data..: "modelManifestArn")+ Prelude.<*> (x Data..: "decoderManifestArn")+ Prelude.<*> (x Data..: "creationTime")+ Prelude.<*> (x Data..: "lastModificationTime")+ )++instance Prelude.Hashable VehicleSummary where+ hashWithSalt _salt VehicleSummary' {..} =+ _salt+ `Prelude.hashWithSalt` vehicleName+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` decoderManifestArn+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModificationTime++instance Prelude.NFData VehicleSummary where+ rnf VehicleSummary' {..} =+ Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf decoderManifestArn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModificationTime
+ gen/Amazonka/IoTFleetWise/UntagResource.hs view
@@ -0,0 +1,171 @@+{-# 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.IoTFleetWise.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 the given tags (metadata) from the resource.+module Amazonka.IoTFleetWise.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.IoTFleetWise.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 ARN of the resource.+ resourceARN :: Prelude.Text,+ -- | A list of the keys of the tags to be removed from the resource.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'untagResource_resourceARN' - The ARN of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of the keys of the tags to be removed from the resource.+newUntagResource ::+ -- | 'resourceARN'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceARN_ =+ UntagResource'+ { resourceARN = pResourceARN_,+ tagKeys = Prelude.mempty+ }++-- | The ARN of the resource.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | A list of the keys of the tags to be removed from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceARN+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceARN+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UntagResource" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UntagResource where+ toJSON UntagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("ResourceARN" Data..= resourceARN),+ Prelude.Just ("TagKeys" Data..= tagKeys)+ ]+ )++instance Data.ToPath UntagResource where+ toPath = Prelude.const "/"++instance Data.ToQuery UntagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/UpdateCampaign.hs view
@@ -0,0 +1,314 @@+{-# 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.IoTFleetWise.UpdateCampaign+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a campaign.+module Amazonka.IoTFleetWise.UpdateCampaign+ ( -- * Creating a Request+ UpdateCampaign (..),+ newUpdateCampaign,++ -- * Request Lenses+ updateCampaign_dataExtraDimensions,+ updateCampaign_description,+ updateCampaign_name,+ updateCampaign_action,++ -- * Destructuring the Response+ UpdateCampaignResponse (..),+ newUpdateCampaignResponse,++ -- * Response Lenses+ updateCampaignResponse_arn,+ updateCampaignResponse_name,+ updateCampaignResponse_status,+ updateCampaignResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateCampaign' smart constructor.+data UpdateCampaign = UpdateCampaign'+ { -- | A list of vehicle attributes to associate with a signal.+ --+ -- Default: An empty array+ dataExtraDimensions :: Prelude.Maybe [Prelude.Text],+ -- | The description of the campaign.+ description :: Prelude.Maybe Prelude.Text,+ -- | The name of the campaign to update.+ name :: Prelude.Text,+ -- | Specifies how to update a campaign. The action can be one of the+ -- following:+ --+ -- - @APPROVE@ - To approve delivering a data collection scheme to+ -- vehicles.+ --+ -- - @SUSPEND@ - To suspend collecting signal data.+ --+ -- - @RESUME@ - To resume collecting signal data.+ --+ -- - @UPDATE@ - To update a campaign.+ action :: UpdateCampaignAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCampaign' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataExtraDimensions', 'updateCampaign_dataExtraDimensions' - A list of vehicle attributes to associate with a signal.+--+-- Default: An empty array+--+-- 'description', 'updateCampaign_description' - The description of the campaign.+--+-- 'name', 'updateCampaign_name' - The name of the campaign to update.+--+-- 'action', 'updateCampaign_action' - Specifies how to update a campaign. The action can be one of the+-- following:+--+-- - @APPROVE@ - To approve delivering a data collection scheme to+-- vehicles.+--+-- - @SUSPEND@ - To suspend collecting signal data.+--+-- - @RESUME@ - To resume collecting signal data.+--+-- - @UPDATE@ - To update a campaign.+newUpdateCampaign ::+ -- | 'name'+ Prelude.Text ->+ -- | 'action'+ UpdateCampaignAction ->+ UpdateCampaign+newUpdateCampaign pName_ pAction_ =+ UpdateCampaign'+ { dataExtraDimensions =+ Prelude.Nothing,+ description = Prelude.Nothing,+ name = pName_,+ action = pAction_+ }++-- | A list of vehicle attributes to associate with a signal.+--+-- Default: An empty array+updateCampaign_dataExtraDimensions :: Lens.Lens' UpdateCampaign (Prelude.Maybe [Prelude.Text])+updateCampaign_dataExtraDimensions = Lens.lens (\UpdateCampaign' {dataExtraDimensions} -> dataExtraDimensions) (\s@UpdateCampaign' {} a -> s {dataExtraDimensions = a} :: UpdateCampaign) Prelude.. Lens.mapping Lens.coerced++-- | The description of the campaign.+updateCampaign_description :: Lens.Lens' UpdateCampaign (Prelude.Maybe Prelude.Text)+updateCampaign_description = Lens.lens (\UpdateCampaign' {description} -> description) (\s@UpdateCampaign' {} a -> s {description = a} :: UpdateCampaign)++-- | The name of the campaign to update.+updateCampaign_name :: Lens.Lens' UpdateCampaign Prelude.Text+updateCampaign_name = Lens.lens (\UpdateCampaign' {name} -> name) (\s@UpdateCampaign' {} a -> s {name = a} :: UpdateCampaign)++-- | Specifies how to update a campaign. The action can be one of the+-- following:+--+-- - @APPROVE@ - To approve delivering a data collection scheme to+-- vehicles.+--+-- - @SUSPEND@ - To suspend collecting signal data.+--+-- - @RESUME@ - To resume collecting signal data.+--+-- - @UPDATE@ - To update a campaign.+updateCampaign_action :: Lens.Lens' UpdateCampaign UpdateCampaignAction+updateCampaign_action = Lens.lens (\UpdateCampaign' {action} -> action) (\s@UpdateCampaign' {} a -> s {action = a} :: UpdateCampaign)++instance Core.AWSRequest UpdateCampaign where+ type+ AWSResponse UpdateCampaign =+ UpdateCampaignResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateCampaignResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateCampaign where+ hashWithSalt _salt UpdateCampaign' {..} =+ _salt+ `Prelude.hashWithSalt` dataExtraDimensions+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` action++instance Prelude.NFData UpdateCampaign where+ rnf UpdateCampaign' {..} =+ Prelude.rnf dataExtraDimensions+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf action++instance Data.ToHeaders UpdateCampaign where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateCampaign" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateCampaign where+ toJSON UpdateCampaign' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dataExtraDimensions" Data..=)+ Prelude.<$> dataExtraDimensions,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("action" Data..= action)+ ]+ )++instance Data.ToPath UpdateCampaign where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateCampaign where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateCampaignResponse' smart constructor.+data UpdateCampaignResponse = UpdateCampaignResponse'+ { -- | The Amazon Resource Name (ARN) of the campaign.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the updated campaign.+ name :: Prelude.Maybe Prelude.Text,+ -- | The state of a campaign. The status can be one of:+ --+ -- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+ -- request to create the campaign.+ --+ -- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+ -- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+ -- FleetWise to deploy the campaign to the target vehicle or fleet, use+ -- the API operation to approve the campaign.+ --+ -- - @RUNNING@ - The campaign is active.+ --+ -- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+ -- the API operation.+ status :: Prelude.Maybe CampaignStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCampaignResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateCampaignResponse_arn' - The Amazon Resource Name (ARN) of the campaign.+--+-- 'name', 'updateCampaignResponse_name' - The name of the updated campaign.+--+-- 'status', 'updateCampaignResponse_status' - The state of a campaign. The status can be one of:+--+-- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+-- request to create the campaign.+--+-- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+-- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+-- FleetWise to deploy the campaign to the target vehicle or fleet, use+-- the API operation to approve the campaign.+--+-- - @RUNNING@ - The campaign is active.+--+-- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+-- the API operation.+--+-- 'httpStatus', 'updateCampaignResponse_httpStatus' - The response's http status code.+newUpdateCampaignResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateCampaignResponse+newUpdateCampaignResponse pHttpStatus_ =+ UpdateCampaignResponse'+ { arn = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the campaign.+updateCampaignResponse_arn :: Lens.Lens' UpdateCampaignResponse (Prelude.Maybe Prelude.Text)+updateCampaignResponse_arn = Lens.lens (\UpdateCampaignResponse' {arn} -> arn) (\s@UpdateCampaignResponse' {} a -> s {arn = a} :: UpdateCampaignResponse)++-- | The name of the updated campaign.+updateCampaignResponse_name :: Lens.Lens' UpdateCampaignResponse (Prelude.Maybe Prelude.Text)+updateCampaignResponse_name = Lens.lens (\UpdateCampaignResponse' {name} -> name) (\s@UpdateCampaignResponse' {} a -> s {name = a} :: UpdateCampaignResponse)++-- | The state of a campaign. The status can be one of:+--+-- - @CREATING@ - Amazon Web Services IoT FleetWise is processing your+-- request to create the campaign.+--+-- - @WAITING_FOR_APPROVAL@ - After a campaign is created, it enters the+-- @WAITING_FOR_APPROVAL@ state. To allow Amazon Web Services IoT+-- FleetWise to deploy the campaign to the target vehicle or fleet, use+-- the API operation to approve the campaign.+--+-- - @RUNNING@ - The campaign is active.+--+-- - @SUSPENDED@ - The campaign is suspended. To resume the campaign, use+-- the API operation.+updateCampaignResponse_status :: Lens.Lens' UpdateCampaignResponse (Prelude.Maybe CampaignStatus)+updateCampaignResponse_status = Lens.lens (\UpdateCampaignResponse' {status} -> status) (\s@UpdateCampaignResponse' {} a -> s {status = a} :: UpdateCampaignResponse)++-- | The response's http status code.+updateCampaignResponse_httpStatus :: Lens.Lens' UpdateCampaignResponse Prelude.Int+updateCampaignResponse_httpStatus = Lens.lens (\UpdateCampaignResponse' {httpStatus} -> httpStatus) (\s@UpdateCampaignResponse' {} a -> s {httpStatus = a} :: UpdateCampaignResponse)++instance Prelude.NFData UpdateCampaignResponse where+ rnf UpdateCampaignResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/UpdateDecoderManifest.hs view
@@ -0,0 +1,324 @@+{-# 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.IoTFleetWise.UpdateDecoderManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a decoder manifest.+--+-- A decoder manifest can only be updated when the status is @DRAFT@. Only+-- @ACTIVE@ decoder manifests can be associated with vehicles.+module Amazonka.IoTFleetWise.UpdateDecoderManifest+ ( -- * Creating a Request+ UpdateDecoderManifest (..),+ newUpdateDecoderManifest,++ -- * Request Lenses+ updateDecoderManifest_description,+ updateDecoderManifest_networkInterfacesToAdd,+ updateDecoderManifest_networkInterfacesToRemove,+ updateDecoderManifest_networkInterfacesToUpdate,+ updateDecoderManifest_signalDecodersToAdd,+ updateDecoderManifest_signalDecodersToRemove,+ updateDecoderManifest_signalDecodersToUpdate,+ updateDecoderManifest_status,+ updateDecoderManifest_name,++ -- * Destructuring the Response+ UpdateDecoderManifestResponse (..),+ newUpdateDecoderManifestResponse,++ -- * Response Lenses+ updateDecoderManifestResponse_httpStatus,+ updateDecoderManifestResponse_name,+ updateDecoderManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDecoderManifest' smart constructor.+data UpdateDecoderManifest = UpdateDecoderManifest'+ { -- | A brief description of the decoder manifest to update.+ description :: Prelude.Maybe Prelude.Text,+ -- | A list of information about the network interfaces to add to the decoder+ -- manifest.+ networkInterfacesToAdd :: Prelude.Maybe (Prelude.NonEmpty NetworkInterface),+ -- | A list of network interfaces to remove from the decoder manifest.+ networkInterfacesToRemove :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of information about the network interfaces to update in the+ -- decoder manifest.+ networkInterfacesToUpdate :: Prelude.Maybe (Prelude.NonEmpty NetworkInterface),+ -- | A list of information about decoding additional signals to add to the+ -- decoder manifest.+ signalDecodersToAdd :: Prelude.Maybe (Prelude.NonEmpty SignalDecoder),+ -- | A list of signal decoders to remove from the decoder manifest.+ signalDecodersToRemove :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of updated information about decoding signals to update in the+ -- decoder manifest.+ signalDecodersToUpdate :: Prelude.Maybe (Prelude.NonEmpty SignalDecoder),+ -- | The state of the decoder manifest. If the status is @ACTIVE@, the+ -- decoder manifest can\'t be edited. If the status is @DRAFT@, you can+ -- edit the decoder manifest.+ status :: Prelude.Maybe ManifestStatus,+ -- | The name of the decoder manifest to update.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDecoderManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDecoderManifest_description' - A brief description of the decoder manifest to update.+--+-- 'networkInterfacesToAdd', 'updateDecoderManifest_networkInterfacesToAdd' - A list of information about the network interfaces to add to the decoder+-- manifest.+--+-- 'networkInterfacesToRemove', 'updateDecoderManifest_networkInterfacesToRemove' - A list of network interfaces to remove from the decoder manifest.+--+-- 'networkInterfacesToUpdate', 'updateDecoderManifest_networkInterfacesToUpdate' - A list of information about the network interfaces to update in the+-- decoder manifest.+--+-- 'signalDecodersToAdd', 'updateDecoderManifest_signalDecodersToAdd' - A list of information about decoding additional signals to add to the+-- decoder manifest.+--+-- 'signalDecodersToRemove', 'updateDecoderManifest_signalDecodersToRemove' - A list of signal decoders to remove from the decoder manifest.+--+-- 'signalDecodersToUpdate', 'updateDecoderManifest_signalDecodersToUpdate' - A list of updated information about decoding signals to update in the+-- decoder manifest.+--+-- 'status', 'updateDecoderManifest_status' - The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is @DRAFT@, you can+-- edit the decoder manifest.+--+-- 'name', 'updateDecoderManifest_name' - The name of the decoder manifest to update.+newUpdateDecoderManifest ::+ -- | 'name'+ Prelude.Text ->+ UpdateDecoderManifest+newUpdateDecoderManifest pName_ =+ UpdateDecoderManifest'+ { description =+ Prelude.Nothing,+ networkInterfacesToAdd = Prelude.Nothing,+ networkInterfacesToRemove = Prelude.Nothing,+ networkInterfacesToUpdate = Prelude.Nothing,+ signalDecodersToAdd = Prelude.Nothing,+ signalDecodersToRemove = Prelude.Nothing,+ signalDecodersToUpdate = Prelude.Nothing,+ status = Prelude.Nothing,+ name = pName_+ }++-- | A brief description of the decoder manifest to update.+updateDecoderManifest_description :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe Prelude.Text)+updateDecoderManifest_description = Lens.lens (\UpdateDecoderManifest' {description} -> description) (\s@UpdateDecoderManifest' {} a -> s {description = a} :: UpdateDecoderManifest)++-- | A list of information about the network interfaces to add to the decoder+-- manifest.+updateDecoderManifest_networkInterfacesToAdd :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty NetworkInterface))+updateDecoderManifest_networkInterfacesToAdd = Lens.lens (\UpdateDecoderManifest' {networkInterfacesToAdd} -> networkInterfacesToAdd) (\s@UpdateDecoderManifest' {} a -> s {networkInterfacesToAdd = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of network interfaces to remove from the decoder manifest.+updateDecoderManifest_networkInterfacesToRemove :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateDecoderManifest_networkInterfacesToRemove = Lens.lens (\UpdateDecoderManifest' {networkInterfacesToRemove} -> networkInterfacesToRemove) (\s@UpdateDecoderManifest' {} a -> s {networkInterfacesToRemove = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about the network interfaces to update in the+-- decoder manifest.+updateDecoderManifest_networkInterfacesToUpdate :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty NetworkInterface))+updateDecoderManifest_networkInterfacesToUpdate = Lens.lens (\UpdateDecoderManifest' {networkInterfacesToUpdate} -> networkInterfacesToUpdate) (\s@UpdateDecoderManifest' {} a -> s {networkInterfacesToUpdate = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about decoding additional signals to add to the+-- decoder manifest.+updateDecoderManifest_signalDecodersToAdd :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty SignalDecoder))+updateDecoderManifest_signalDecodersToAdd = Lens.lens (\UpdateDecoderManifest' {signalDecodersToAdd} -> signalDecodersToAdd) (\s@UpdateDecoderManifest' {} a -> s {signalDecodersToAdd = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of signal decoders to remove from the decoder manifest.+updateDecoderManifest_signalDecodersToRemove :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateDecoderManifest_signalDecodersToRemove = Lens.lens (\UpdateDecoderManifest' {signalDecodersToRemove} -> signalDecodersToRemove) (\s@UpdateDecoderManifest' {} a -> s {signalDecodersToRemove = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of updated information about decoding signals to update in the+-- decoder manifest.+updateDecoderManifest_signalDecodersToUpdate :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe (Prelude.NonEmpty SignalDecoder))+updateDecoderManifest_signalDecodersToUpdate = Lens.lens (\UpdateDecoderManifest' {signalDecodersToUpdate} -> signalDecodersToUpdate) (\s@UpdateDecoderManifest' {} a -> s {signalDecodersToUpdate = a} :: UpdateDecoderManifest) Prelude.. Lens.mapping Lens.coerced++-- | The state of the decoder manifest. If the status is @ACTIVE@, the+-- decoder manifest can\'t be edited. If the status is @DRAFT@, you can+-- edit the decoder manifest.+updateDecoderManifest_status :: Lens.Lens' UpdateDecoderManifest (Prelude.Maybe ManifestStatus)+updateDecoderManifest_status = Lens.lens (\UpdateDecoderManifest' {status} -> status) (\s@UpdateDecoderManifest' {} a -> s {status = a} :: UpdateDecoderManifest)++-- | The name of the decoder manifest to update.+updateDecoderManifest_name :: Lens.Lens' UpdateDecoderManifest Prelude.Text+updateDecoderManifest_name = Lens.lens (\UpdateDecoderManifest' {name} -> name) (\s@UpdateDecoderManifest' {} a -> s {name = a} :: UpdateDecoderManifest)++instance Core.AWSRequest UpdateDecoderManifest where+ type+ AWSResponse UpdateDecoderManifest =+ UpdateDecoderManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateDecoderManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable UpdateDecoderManifest where+ hashWithSalt _salt UpdateDecoderManifest' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` networkInterfacesToAdd+ `Prelude.hashWithSalt` networkInterfacesToRemove+ `Prelude.hashWithSalt` networkInterfacesToUpdate+ `Prelude.hashWithSalt` signalDecodersToAdd+ `Prelude.hashWithSalt` signalDecodersToRemove+ `Prelude.hashWithSalt` signalDecodersToUpdate+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateDecoderManifest where+ rnf UpdateDecoderManifest' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf networkInterfacesToAdd+ `Prelude.seq` Prelude.rnf networkInterfacesToRemove+ `Prelude.seq` Prelude.rnf networkInterfacesToUpdate+ `Prelude.seq` Prelude.rnf signalDecodersToAdd+ `Prelude.seq` Prelude.rnf signalDecodersToRemove+ `Prelude.seq` Prelude.rnf signalDecodersToUpdate+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateDecoderManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateDecoderManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDecoderManifest where+ toJSON UpdateDecoderManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("networkInterfacesToAdd" Data..=)+ Prelude.<$> networkInterfacesToAdd,+ ("networkInterfacesToRemove" Data..=)+ Prelude.<$> networkInterfacesToRemove,+ ("networkInterfacesToUpdate" Data..=)+ Prelude.<$> networkInterfacesToUpdate,+ ("signalDecodersToAdd" Data..=)+ Prelude.<$> signalDecodersToAdd,+ ("signalDecodersToRemove" Data..=)+ Prelude.<$> signalDecodersToRemove,+ ("signalDecodersToUpdate" Data..=)+ Prelude.<$> signalDecodersToUpdate,+ ("status" Data..=) Prelude.<$> status,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath UpdateDecoderManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateDecoderManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDecoderManifestResponse' smart constructor.+data UpdateDecoderManifestResponse = UpdateDecoderManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the updated decoder manifest.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the updated decoder manifest.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDecoderManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDecoderManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'updateDecoderManifestResponse_name' - The name of the updated decoder manifest.+--+-- 'arn', 'updateDecoderManifestResponse_arn' - The Amazon Resource Name (ARN) of the updated decoder manifest.+newUpdateDecoderManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ UpdateDecoderManifestResponse+newUpdateDecoderManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ UpdateDecoderManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+updateDecoderManifestResponse_httpStatus :: Lens.Lens' UpdateDecoderManifestResponse Prelude.Int+updateDecoderManifestResponse_httpStatus = Lens.lens (\UpdateDecoderManifestResponse' {httpStatus} -> httpStatus) (\s@UpdateDecoderManifestResponse' {} a -> s {httpStatus = a} :: UpdateDecoderManifestResponse)++-- | The name of the updated decoder manifest.+updateDecoderManifestResponse_name :: Lens.Lens' UpdateDecoderManifestResponse Prelude.Text+updateDecoderManifestResponse_name = Lens.lens (\UpdateDecoderManifestResponse' {name} -> name) (\s@UpdateDecoderManifestResponse' {} a -> s {name = a} :: UpdateDecoderManifestResponse)++-- | The Amazon Resource Name (ARN) of the updated decoder manifest.+updateDecoderManifestResponse_arn :: Lens.Lens' UpdateDecoderManifestResponse Prelude.Text+updateDecoderManifestResponse_arn = Lens.lens (\UpdateDecoderManifestResponse' {arn} -> arn) (\s@UpdateDecoderManifestResponse' {} a -> s {arn = a} :: UpdateDecoderManifestResponse)++instance Prelude.NFData UpdateDecoderManifestResponse where+ rnf UpdateDecoderManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/UpdateFleet.hs view
@@ -0,0 +1,198 @@+{-# 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.IoTFleetWise.UpdateFleet+-- 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 description of an existing fleet.+--+-- If the fleet is successfully updated, Amazon Web Services IoT FleetWise+-- sends back an HTTP 200 response with an empty HTTP body.+module Amazonka.IoTFleetWise.UpdateFleet+ ( -- * Creating a Request+ UpdateFleet (..),+ newUpdateFleet,++ -- * Request Lenses+ updateFleet_description,+ updateFleet_fleetId,++ -- * Destructuring the Response+ UpdateFleetResponse (..),+ newUpdateFleetResponse,++ -- * Response Lenses+ updateFleetResponse_arn,+ updateFleetResponse_id,+ updateFleetResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFleet' smart constructor.+data UpdateFleet = UpdateFleet'+ { -- | An updated description of the fleet.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ID of the fleet to update.+ fleetId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFleet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateFleet_description' - An updated description of the fleet.+--+-- 'fleetId', 'updateFleet_fleetId' - The ID of the fleet to update.+newUpdateFleet ::+ -- | 'fleetId'+ Prelude.Text ->+ UpdateFleet+newUpdateFleet pFleetId_ =+ UpdateFleet'+ { description = Prelude.Nothing,+ fleetId = pFleetId_+ }++-- | An updated description of the fleet.+updateFleet_description :: Lens.Lens' UpdateFleet (Prelude.Maybe Prelude.Text)+updateFleet_description = Lens.lens (\UpdateFleet' {description} -> description) (\s@UpdateFleet' {} a -> s {description = a} :: UpdateFleet)++-- | The ID of the fleet to update.+updateFleet_fleetId :: Lens.Lens' UpdateFleet Prelude.Text+updateFleet_fleetId = Lens.lens (\UpdateFleet' {fleetId} -> fleetId) (\s@UpdateFleet' {} a -> s {fleetId = a} :: UpdateFleet)++instance Core.AWSRequest UpdateFleet where+ type AWSResponse UpdateFleet = UpdateFleetResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFleetResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFleet where+ hashWithSalt _salt UpdateFleet' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` fleetId++instance Prelude.NFData UpdateFleet where+ rnf UpdateFleet' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf fleetId++instance Data.ToHeaders UpdateFleet where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateFleet" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFleet where+ toJSON UpdateFleet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("fleetId" Data..= fleetId)+ ]+ )++instance Data.ToPath UpdateFleet where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateFleet where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFleetResponse' smart constructor.+data UpdateFleetResponse = UpdateFleetResponse'+ { -- | The Amazon Resource Name (ARN) of the updated fleet.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the updated fleet.+ id :: 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 'UpdateFleetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateFleetResponse_arn' - The Amazon Resource Name (ARN) of the updated fleet.+--+-- 'id', 'updateFleetResponse_id' - The ID of the updated fleet.+--+-- 'httpStatus', 'updateFleetResponse_httpStatus' - The response's http status code.+newUpdateFleetResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFleetResponse+newUpdateFleetResponse pHttpStatus_ =+ UpdateFleetResponse'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the updated fleet.+updateFleetResponse_arn :: Lens.Lens' UpdateFleetResponse (Prelude.Maybe Prelude.Text)+updateFleetResponse_arn = Lens.lens (\UpdateFleetResponse' {arn} -> arn) (\s@UpdateFleetResponse' {} a -> s {arn = a} :: UpdateFleetResponse)++-- | The ID of the updated fleet.+updateFleetResponse_id :: Lens.Lens' UpdateFleetResponse (Prelude.Maybe Prelude.Text)+updateFleetResponse_id = Lens.lens (\UpdateFleetResponse' {id} -> id) (\s@UpdateFleetResponse' {} a -> s {id = a} :: UpdateFleetResponse)++-- | The response's http status code.+updateFleetResponse_httpStatus :: Lens.Lens' UpdateFleetResponse Prelude.Int+updateFleetResponse_httpStatus = Lens.lens (\UpdateFleetResponse' {httpStatus} -> httpStatus) (\s@UpdateFleetResponse' {} a -> s {httpStatus = a} :: UpdateFleetResponse)++instance Prelude.NFData UpdateFleetResponse where+ rnf UpdateFleetResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/UpdateModelManifest.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.IoTFleetWise.UpdateModelManifest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a vehicle model (model manifest). If created vehicles are+-- associated with a vehicle model, it can\'t be updated.+module Amazonka.IoTFleetWise.UpdateModelManifest+ ( -- * Creating a Request+ UpdateModelManifest (..),+ newUpdateModelManifest,++ -- * Request Lenses+ updateModelManifest_description,+ updateModelManifest_nodesToAdd,+ updateModelManifest_nodesToRemove,+ updateModelManifest_status,+ updateModelManifest_name,++ -- * Destructuring the Response+ UpdateModelManifestResponse (..),+ newUpdateModelManifestResponse,++ -- * Response Lenses+ updateModelManifestResponse_httpStatus,+ updateModelManifestResponse_name,+ updateModelManifestResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateModelManifest' smart constructor.+data UpdateModelManifest = UpdateModelManifest'+ { -- | A brief description of the vehicle model.+ description :: Prelude.Maybe Prelude.Text,+ -- | A list of @fullyQualifiedName@ of nodes, which are a general abstraction+ -- of signals, to add to the vehicle model.+ nodesToAdd :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of @fullyQualifiedName@ of nodes, which are a general abstraction+ -- of signals, to remove from the vehicle model.+ nodesToRemove :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+ -- model can\'t be edited. If the status is @DRAFT@, you can edit the+ -- vehicle model.+ status :: Prelude.Maybe ManifestStatus,+ -- | The name of the vehicle model to update.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateModelManifest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateModelManifest_description' - A brief description of the vehicle model.+--+-- 'nodesToAdd', 'updateModelManifest_nodesToAdd' - A list of @fullyQualifiedName@ of nodes, which are a general abstraction+-- of signals, to add to the vehicle model.+--+-- 'nodesToRemove', 'updateModelManifest_nodesToRemove' - A list of @fullyQualifiedName@ of nodes, which are a general abstraction+-- of signals, to remove from the vehicle model.+--+-- 'status', 'updateModelManifest_status' - The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. If the status is @DRAFT@, you can edit the+-- vehicle model.+--+-- 'name', 'updateModelManifest_name' - The name of the vehicle model to update.+newUpdateModelManifest ::+ -- | 'name'+ Prelude.Text ->+ UpdateModelManifest+newUpdateModelManifest pName_ =+ UpdateModelManifest'+ { description = Prelude.Nothing,+ nodesToAdd = Prelude.Nothing,+ nodesToRemove = Prelude.Nothing,+ status = Prelude.Nothing,+ name = pName_+ }++-- | A brief description of the vehicle model.+updateModelManifest_description :: Lens.Lens' UpdateModelManifest (Prelude.Maybe Prelude.Text)+updateModelManifest_description = Lens.lens (\UpdateModelManifest' {description} -> description) (\s@UpdateModelManifest' {} a -> s {description = a} :: UpdateModelManifest)++-- | A list of @fullyQualifiedName@ of nodes, which are a general abstraction+-- of signals, to add to the vehicle model.+updateModelManifest_nodesToAdd :: Lens.Lens' UpdateModelManifest (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateModelManifest_nodesToAdd = Lens.lens (\UpdateModelManifest' {nodesToAdd} -> nodesToAdd) (\s@UpdateModelManifest' {} a -> s {nodesToAdd = a} :: UpdateModelManifest) Prelude.. Lens.mapping Lens.coerced++-- | A list of @fullyQualifiedName@ of nodes, which are a general abstraction+-- of signals, to remove from the vehicle model.+updateModelManifest_nodesToRemove :: Lens.Lens' UpdateModelManifest (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateModelManifest_nodesToRemove = Lens.lens (\UpdateModelManifest' {nodesToRemove} -> nodesToRemove) (\s@UpdateModelManifest' {} a -> s {nodesToRemove = a} :: UpdateModelManifest) Prelude.. Lens.mapping Lens.coerced++-- | The state of the vehicle model. If the status is @ACTIVE@, the vehicle+-- model can\'t be edited. If the status is @DRAFT@, you can edit the+-- vehicle model.+updateModelManifest_status :: Lens.Lens' UpdateModelManifest (Prelude.Maybe ManifestStatus)+updateModelManifest_status = Lens.lens (\UpdateModelManifest' {status} -> status) (\s@UpdateModelManifest' {} a -> s {status = a} :: UpdateModelManifest)++-- | The name of the vehicle model to update.+updateModelManifest_name :: Lens.Lens' UpdateModelManifest Prelude.Text+updateModelManifest_name = Lens.lens (\UpdateModelManifest' {name} -> name) (\s@UpdateModelManifest' {} a -> s {name = a} :: UpdateModelManifest)++instance Core.AWSRequest UpdateModelManifest where+ type+ AWSResponse UpdateModelManifest =+ UpdateModelManifestResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateModelManifestResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable UpdateModelManifest where+ hashWithSalt _salt UpdateModelManifest' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` nodesToAdd+ `Prelude.hashWithSalt` nodesToRemove+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateModelManifest where+ rnf UpdateModelManifest' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf nodesToAdd+ `Prelude.seq` Prelude.rnf nodesToRemove+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateModelManifest where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateModelManifest" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateModelManifest where+ toJSON UpdateModelManifest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("nodesToAdd" Data..=) Prelude.<$> nodesToAdd,+ ("nodesToRemove" Data..=) Prelude.<$> nodesToRemove,+ ("status" Data..=) Prelude.<$> status,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath UpdateModelManifest where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateModelManifest where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateModelManifestResponse' smart constructor.+data UpdateModelManifestResponse = UpdateModelManifestResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the updated vehicle model.+ name :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the updated vehicle model.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateModelManifestResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateModelManifestResponse_httpStatus' - The response's http status code.+--+-- 'name', 'updateModelManifestResponse_name' - The name of the updated vehicle model.+--+-- 'arn', 'updateModelManifestResponse_arn' - The Amazon Resource Name (ARN) of the updated vehicle model.+newUpdateModelManifestResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ UpdateModelManifestResponse+newUpdateModelManifestResponse+ pHttpStatus_+ pName_+ pArn_ =+ UpdateModelManifestResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+updateModelManifestResponse_httpStatus :: Lens.Lens' UpdateModelManifestResponse Prelude.Int+updateModelManifestResponse_httpStatus = Lens.lens (\UpdateModelManifestResponse' {httpStatus} -> httpStatus) (\s@UpdateModelManifestResponse' {} a -> s {httpStatus = a} :: UpdateModelManifestResponse)++-- | The name of the updated vehicle model.+updateModelManifestResponse_name :: Lens.Lens' UpdateModelManifestResponse Prelude.Text+updateModelManifestResponse_name = Lens.lens (\UpdateModelManifestResponse' {name} -> name) (\s@UpdateModelManifestResponse' {} a -> s {name = a} :: UpdateModelManifestResponse)++-- | The Amazon Resource Name (ARN) of the updated vehicle model.+updateModelManifestResponse_arn :: Lens.Lens' UpdateModelManifestResponse Prelude.Text+updateModelManifestResponse_arn = Lens.lens (\UpdateModelManifestResponse' {arn} -> arn) (\s@UpdateModelManifestResponse' {} a -> s {arn = a} :: UpdateModelManifestResponse)++instance Prelude.NFData UpdateModelManifestResponse where+ rnf UpdateModelManifestResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/UpdateSignalCatalog.hs view
@@ -0,0 +1,247 @@+{-# 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.IoTFleetWise.UpdateSignalCatalog+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a signal catalog.+module Amazonka.IoTFleetWise.UpdateSignalCatalog+ ( -- * Creating a Request+ UpdateSignalCatalog (..),+ newUpdateSignalCatalog,++ -- * Request Lenses+ updateSignalCatalog_description,+ updateSignalCatalog_nodesToAdd,+ updateSignalCatalog_nodesToRemove,+ updateSignalCatalog_nodesToUpdate,+ updateSignalCatalog_name,++ -- * Destructuring the Response+ UpdateSignalCatalogResponse (..),+ newUpdateSignalCatalogResponse,++ -- * Response Lenses+ updateSignalCatalogResponse_httpStatus,+ updateSignalCatalogResponse_name,+ updateSignalCatalogResponse_arn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSignalCatalog' smart constructor.+data UpdateSignalCatalog = UpdateSignalCatalog'+ { -- | A brief description of the signal catalog to update.+ description :: Prelude.Maybe Prelude.Text,+ -- | A list of information about nodes to add to the signal catalog.+ nodesToAdd :: Prelude.Maybe [Node],+ -- | A list of @fullyQualifiedName@ of nodes to remove from the signal+ -- catalog.+ nodesToRemove :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+ -- | A list of information about nodes to update in the signal catalog.+ nodesToUpdate :: Prelude.Maybe [Node],+ -- | The name of the signal catalog to update.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSignalCatalog' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateSignalCatalog_description' - A brief description of the signal catalog to update.+--+-- 'nodesToAdd', 'updateSignalCatalog_nodesToAdd' - A list of information about nodes to add to the signal catalog.+--+-- 'nodesToRemove', 'updateSignalCatalog_nodesToRemove' - A list of @fullyQualifiedName@ of nodes to remove from the signal+-- catalog.+--+-- 'nodesToUpdate', 'updateSignalCatalog_nodesToUpdate' - A list of information about nodes to update in the signal catalog.+--+-- 'name', 'updateSignalCatalog_name' - The name of the signal catalog to update.+newUpdateSignalCatalog ::+ -- | 'name'+ Prelude.Text ->+ UpdateSignalCatalog+newUpdateSignalCatalog pName_ =+ UpdateSignalCatalog'+ { description = Prelude.Nothing,+ nodesToAdd = Prelude.Nothing,+ nodesToRemove = Prelude.Nothing,+ nodesToUpdate = Prelude.Nothing,+ name = pName_+ }++-- | A brief description of the signal catalog to update.+updateSignalCatalog_description :: Lens.Lens' UpdateSignalCatalog (Prelude.Maybe Prelude.Text)+updateSignalCatalog_description = Lens.lens (\UpdateSignalCatalog' {description} -> description) (\s@UpdateSignalCatalog' {} a -> s {description = a} :: UpdateSignalCatalog)++-- | A list of information about nodes to add to the signal catalog.+updateSignalCatalog_nodesToAdd :: Lens.Lens' UpdateSignalCatalog (Prelude.Maybe [Node])+updateSignalCatalog_nodesToAdd = Lens.lens (\UpdateSignalCatalog' {nodesToAdd} -> nodesToAdd) (\s@UpdateSignalCatalog' {} a -> s {nodesToAdd = a} :: UpdateSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | A list of @fullyQualifiedName@ of nodes to remove from the signal+-- catalog.+updateSignalCatalog_nodesToRemove :: Lens.Lens' UpdateSignalCatalog (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+updateSignalCatalog_nodesToRemove = Lens.lens (\UpdateSignalCatalog' {nodesToRemove} -> nodesToRemove) (\s@UpdateSignalCatalog' {} a -> s {nodesToRemove = a} :: UpdateSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | A list of information about nodes to update in the signal catalog.+updateSignalCatalog_nodesToUpdate :: Lens.Lens' UpdateSignalCatalog (Prelude.Maybe [Node])+updateSignalCatalog_nodesToUpdate = Lens.lens (\UpdateSignalCatalog' {nodesToUpdate} -> nodesToUpdate) (\s@UpdateSignalCatalog' {} a -> s {nodesToUpdate = a} :: UpdateSignalCatalog) Prelude.. Lens.mapping Lens.coerced++-- | The name of the signal catalog to update.+updateSignalCatalog_name :: Lens.Lens' UpdateSignalCatalog Prelude.Text+updateSignalCatalog_name = Lens.lens (\UpdateSignalCatalog' {name} -> name) (\s@UpdateSignalCatalog' {} a -> s {name = a} :: UpdateSignalCatalog)++instance Core.AWSRequest UpdateSignalCatalog where+ type+ AWSResponse UpdateSignalCatalog =+ UpdateSignalCatalogResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSignalCatalogResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "name")+ Prelude.<*> (x Data..:> "arn")+ )++instance Prelude.Hashable UpdateSignalCatalog where+ hashWithSalt _salt UpdateSignalCatalog' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` nodesToAdd+ `Prelude.hashWithSalt` nodesToRemove+ `Prelude.hashWithSalt` nodesToUpdate+ `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateSignalCatalog where+ rnf UpdateSignalCatalog' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf nodesToAdd+ `Prelude.seq` Prelude.rnf nodesToRemove+ `Prelude.seq` Prelude.rnf nodesToUpdate+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateSignalCatalog where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateSignalCatalog" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSignalCatalog where+ toJSON UpdateSignalCatalog' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("nodesToAdd" Data..=) Prelude.<$> nodesToAdd,+ ("nodesToRemove" Data..=) Prelude.<$> nodesToRemove,+ ("nodesToUpdate" Data..=) Prelude.<$> nodesToUpdate,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath UpdateSignalCatalog where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateSignalCatalog where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSignalCatalogResponse' smart constructor.+data UpdateSignalCatalogResponse = UpdateSignalCatalogResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The name of the updated signal catalog.+ name :: Prelude.Text,+ -- | The ARN of the updated signal catalog.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSignalCatalogResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateSignalCatalogResponse_httpStatus' - The response's http status code.+--+-- 'name', 'updateSignalCatalogResponse_name' - The name of the updated signal catalog.+--+-- 'arn', 'updateSignalCatalogResponse_arn' - The ARN of the updated signal catalog.+newUpdateSignalCatalogResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'name'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ UpdateSignalCatalogResponse+newUpdateSignalCatalogResponse+ pHttpStatus_+ pName_+ pArn_ =+ UpdateSignalCatalogResponse'+ { httpStatus =+ pHttpStatus_,+ name = pName_,+ arn = pArn_+ }++-- | The response's http status code.+updateSignalCatalogResponse_httpStatus :: Lens.Lens' UpdateSignalCatalogResponse Prelude.Int+updateSignalCatalogResponse_httpStatus = Lens.lens (\UpdateSignalCatalogResponse' {httpStatus} -> httpStatus) (\s@UpdateSignalCatalogResponse' {} a -> s {httpStatus = a} :: UpdateSignalCatalogResponse)++-- | The name of the updated signal catalog.+updateSignalCatalogResponse_name :: Lens.Lens' UpdateSignalCatalogResponse Prelude.Text+updateSignalCatalogResponse_name = Lens.lens (\UpdateSignalCatalogResponse' {name} -> name) (\s@UpdateSignalCatalogResponse' {} a -> s {name = a} :: UpdateSignalCatalogResponse)++-- | The ARN of the updated signal catalog.+updateSignalCatalogResponse_arn :: Lens.Lens' UpdateSignalCatalogResponse Prelude.Text+updateSignalCatalogResponse_arn = Lens.lens (\UpdateSignalCatalogResponse' {arn} -> arn) (\s@UpdateSignalCatalogResponse' {} a -> s {arn = a} :: UpdateSignalCatalogResponse)++instance Prelude.NFData UpdateSignalCatalogResponse where+ rnf UpdateSignalCatalogResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/IoTFleetWise/UpdateVehicle.hs view
@@ -0,0 +1,258 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.IoTFleetWise.UpdateVehicle+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a vehicle.+module Amazonka.IoTFleetWise.UpdateVehicle+ ( -- * Creating a Request+ UpdateVehicle (..),+ newUpdateVehicle,++ -- * Request Lenses+ updateVehicle_attributeUpdateMode,+ updateVehicle_attributes,+ updateVehicle_decoderManifestArn,+ updateVehicle_modelManifestArn,+ updateVehicle_vehicleName,++ -- * Destructuring the Response+ UpdateVehicleResponse (..),+ newUpdateVehicleResponse,++ -- * Response Lenses+ updateVehicleResponse_arn,+ updateVehicleResponse_vehicleName,+ updateVehicleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateVehicle' smart constructor.+data UpdateVehicle = UpdateVehicle'+ { -- | The method the specified attributes will update the existing attributes+ -- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+ -- specified attributes. Or use @Merge@ to combine all attributes.+ --+ -- This is required if attributes are present in the input.+ attributeUpdateMode :: Prelude.Maybe UpdateMode,+ -- | Static information about a vehicle in a key-value pair. For example:+ --+ -- @\"engineType\"@ : @\"1.3 L R2\"@+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN of the decoder manifest associated with this vehicle.+ decoderManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of a vehicle model (model manifest) associated with the vehicle.+ modelManifestArn :: Prelude.Maybe Prelude.Text,+ -- | The unique ID of the vehicle to update.+ vehicleName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVehicle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributeUpdateMode', 'updateVehicle_attributeUpdateMode' - The method the specified attributes will update the existing attributes+-- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+-- specified attributes. Or use @Merge@ to combine all attributes.+--+-- This is required if attributes are present in the input.+--+-- 'attributes', 'updateVehicle_attributes' - Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+--+-- 'decoderManifestArn', 'updateVehicle_decoderManifestArn' - The ARN of the decoder manifest associated with this vehicle.+--+-- 'modelManifestArn', 'updateVehicle_modelManifestArn' - The ARN of a vehicle model (model manifest) associated with the vehicle.+--+-- 'vehicleName', 'updateVehicle_vehicleName' - The unique ID of the vehicle to update.+newUpdateVehicle ::+ -- | 'vehicleName'+ Prelude.Text ->+ UpdateVehicle+newUpdateVehicle pVehicleName_ =+ UpdateVehicle'+ { attributeUpdateMode =+ Prelude.Nothing,+ attributes = Prelude.Nothing,+ decoderManifestArn = Prelude.Nothing,+ modelManifestArn = Prelude.Nothing,+ vehicleName = pVehicleName_+ }++-- | The method the specified attributes will update the existing attributes+-- on the vehicle. Use@Overwite@ to replace the vehicle attributes with the+-- specified attributes. Or use @Merge@ to combine all attributes.+--+-- This is required if attributes are present in the input.+updateVehicle_attributeUpdateMode :: Lens.Lens' UpdateVehicle (Prelude.Maybe UpdateMode)+updateVehicle_attributeUpdateMode = Lens.lens (\UpdateVehicle' {attributeUpdateMode} -> attributeUpdateMode) (\s@UpdateVehicle' {} a -> s {attributeUpdateMode = a} :: UpdateVehicle)++-- | Static information about a vehicle in a key-value pair. For example:+--+-- @\"engineType\"@ : @\"1.3 L R2\"@+updateVehicle_attributes :: Lens.Lens' UpdateVehicle (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateVehicle_attributes = Lens.lens (\UpdateVehicle' {attributes} -> attributes) (\s@UpdateVehicle' {} a -> s {attributes = a} :: UpdateVehicle) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the decoder manifest associated with this vehicle.+updateVehicle_decoderManifestArn :: Lens.Lens' UpdateVehicle (Prelude.Maybe Prelude.Text)+updateVehicle_decoderManifestArn = Lens.lens (\UpdateVehicle' {decoderManifestArn} -> decoderManifestArn) (\s@UpdateVehicle' {} a -> s {decoderManifestArn = a} :: UpdateVehicle)++-- | The ARN of a vehicle model (model manifest) associated with the vehicle.+updateVehicle_modelManifestArn :: Lens.Lens' UpdateVehicle (Prelude.Maybe Prelude.Text)+updateVehicle_modelManifestArn = Lens.lens (\UpdateVehicle' {modelManifestArn} -> modelManifestArn) (\s@UpdateVehicle' {} a -> s {modelManifestArn = a} :: UpdateVehicle)++-- | The unique ID of the vehicle to update.+updateVehicle_vehicleName :: Lens.Lens' UpdateVehicle Prelude.Text+updateVehicle_vehicleName = Lens.lens (\UpdateVehicle' {vehicleName} -> vehicleName) (\s@UpdateVehicle' {} a -> s {vehicleName = a} :: UpdateVehicle)++instance Core.AWSRequest UpdateVehicle where+ type+ AWSResponse UpdateVehicle =+ UpdateVehicleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateVehicleResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "vehicleName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateVehicle where+ hashWithSalt _salt UpdateVehicle' {..} =+ _salt+ `Prelude.hashWithSalt` attributeUpdateMode+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` decoderManifestArn+ `Prelude.hashWithSalt` modelManifestArn+ `Prelude.hashWithSalt` vehicleName++instance Prelude.NFData UpdateVehicle where+ rnf UpdateVehicle' {..} =+ Prelude.rnf attributeUpdateMode+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf decoderManifestArn+ `Prelude.seq` Prelude.rnf modelManifestArn+ `Prelude.seq` Prelude.rnf vehicleName++instance Data.ToHeaders UpdateVehicle where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "X-Amz-Target"+ Data.=# ( "IoTAutobahnControlPlane.UpdateVehicle" ::+ Prelude.ByteString+ ),+ "Content-Type"+ Data.=# ( "application/x-amz-json-1.0" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateVehicle where+ toJSON UpdateVehicle' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeUpdateMode" Data..=)+ Prelude.<$> attributeUpdateMode,+ ("attributes" Data..=) Prelude.<$> attributes,+ ("decoderManifestArn" Data..=)+ Prelude.<$> decoderManifestArn,+ ("modelManifestArn" Data..=)+ Prelude.<$> modelManifestArn,+ Prelude.Just ("vehicleName" Data..= vehicleName)+ ]+ )++instance Data.ToPath UpdateVehicle where+ toPath = Prelude.const "/"++instance Data.ToQuery UpdateVehicle where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVehicleResponse' smart constructor.+data UpdateVehicleResponse = UpdateVehicleResponse'+ { -- | The ARN of the updated vehicle.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The ID of the updated vehicle.+ vehicleName :: 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 'UpdateVehicleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateVehicleResponse_arn' - The ARN of the updated vehicle.+--+-- 'vehicleName', 'updateVehicleResponse_vehicleName' - The ID of the updated vehicle.+--+-- 'httpStatus', 'updateVehicleResponse_httpStatus' - The response's http status code.+newUpdateVehicleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateVehicleResponse+newUpdateVehicleResponse pHttpStatus_ =+ UpdateVehicleResponse'+ { arn = Prelude.Nothing,+ vehicleName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the updated vehicle.+updateVehicleResponse_arn :: Lens.Lens' UpdateVehicleResponse (Prelude.Maybe Prelude.Text)+updateVehicleResponse_arn = Lens.lens (\UpdateVehicleResponse' {arn} -> arn) (\s@UpdateVehicleResponse' {} a -> s {arn = a} :: UpdateVehicleResponse)++-- | The ID of the updated vehicle.+updateVehicleResponse_vehicleName :: Lens.Lens' UpdateVehicleResponse (Prelude.Maybe Prelude.Text)+updateVehicleResponse_vehicleName = Lens.lens (\UpdateVehicleResponse' {vehicleName} -> vehicleName) (\s@UpdateVehicleResponse' {} a -> s {vehicleName = a} :: UpdateVehicleResponse)++-- | The response's http status code.+updateVehicleResponse_httpStatus :: Lens.Lens' UpdateVehicleResponse Prelude.Int+updateVehicleResponse_httpStatus = Lens.lens (\UpdateVehicleResponse' {httpStatus} -> httpStatus) (\s@UpdateVehicleResponse' {} a -> s {httpStatus = a} :: UpdateVehicleResponse)++instance Prelude.NFData UpdateVehicleResponse where+ rnf UpdateVehicleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf vehicleName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTFleetWise/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.IoTFleetWise.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.IoTFleetWise.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTFleetWise.Lens+import Amazonka.IoTFleetWise.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.IoTFleetWise+import Test.Amazonka.IoTFleetWise.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "IoTFleetWise"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/IoTFleetWise.hs view
@@ -0,0 +1,1038 @@+{-# 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.IoTFleetWise+-- Copyright : (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.IoTFleetWise where++import Amazonka.IoTFleetWise+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.IoTFleetWise.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"+-- [ requestAssociateVehicleFleet $+-- newAssociateVehicleFleet+--+-- , requestBatchCreateVehicle $+-- newBatchCreateVehicle+--+-- , requestBatchUpdateVehicle $+-- newBatchUpdateVehicle+--+-- , requestCreateCampaign $+-- newCreateCampaign+--+-- , requestCreateDecoderManifest $+-- newCreateDecoderManifest+--+-- , requestCreateFleet $+-- newCreateFleet+--+-- , requestCreateModelManifest $+-- newCreateModelManifest+--+-- , requestCreateSignalCatalog $+-- newCreateSignalCatalog+--+-- , requestCreateVehicle $+-- newCreateVehicle+--+-- , requestDeleteCampaign $+-- newDeleteCampaign+--+-- , requestDeleteDecoderManifest $+-- newDeleteDecoderManifest+--+-- , requestDeleteFleet $+-- newDeleteFleet+--+-- , requestDeleteModelManifest $+-- newDeleteModelManifest+--+-- , requestDeleteSignalCatalog $+-- newDeleteSignalCatalog+--+-- , requestDeleteVehicle $+-- newDeleteVehicle+--+-- , requestDisassociateVehicleFleet $+-- newDisassociateVehicleFleet+--+-- , requestGetCampaign $+-- newGetCampaign+--+-- , requestGetDecoderManifest $+-- newGetDecoderManifest+--+-- , requestGetFleet $+-- newGetFleet+--+-- , requestGetLoggingOptions $+-- newGetLoggingOptions+--+-- , requestGetModelManifest $+-- newGetModelManifest+--+-- , requestGetRegisterAccountStatus $+-- newGetRegisterAccountStatus+--+-- , requestGetSignalCatalog $+-- newGetSignalCatalog+--+-- , requestGetVehicle $+-- newGetVehicle+--+-- , requestGetVehicleStatus $+-- newGetVehicleStatus+--+-- , requestImportDecoderManifest $+-- newImportDecoderManifest+--+-- , requestImportSignalCatalog $+-- newImportSignalCatalog+--+-- , requestListCampaigns $+-- newListCampaigns+--+-- , requestListDecoderManifestNetworkInterfaces $+-- newListDecoderManifestNetworkInterfaces+--+-- , requestListDecoderManifestSignals $+-- newListDecoderManifestSignals+--+-- , requestListDecoderManifests $+-- newListDecoderManifests+--+-- , requestListFleets $+-- newListFleets+--+-- , requestListFleetsForVehicle $+-- newListFleetsForVehicle+--+-- , requestListModelManifestNodes $+-- newListModelManifestNodes+--+-- , requestListModelManifests $+-- newListModelManifests+--+-- , requestListSignalCatalogNodes $+-- newListSignalCatalogNodes+--+-- , requestListSignalCatalogs $+-- newListSignalCatalogs+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListVehicles $+-- newListVehicles+--+-- , requestListVehiclesInFleet $+-- newListVehiclesInFleet+--+-- , requestPutLoggingOptions $+-- newPutLoggingOptions+--+-- , requestRegisterAccount $+-- newRegisterAccount+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateCampaign $+-- newUpdateCampaign+--+-- , requestUpdateDecoderManifest $+-- newUpdateDecoderManifest+--+-- , requestUpdateFleet $+-- newUpdateFleet+--+-- , requestUpdateModelManifest $+-- newUpdateModelManifest+--+-- , requestUpdateSignalCatalog $+-- newUpdateSignalCatalog+--+-- , requestUpdateVehicle $+-- newUpdateVehicle+--+-- ]++-- , testGroup "response"+-- [ responseAssociateVehicleFleet $+-- newAssociateVehicleFleetResponse+--+-- , responseBatchCreateVehicle $+-- newBatchCreateVehicleResponse+--+-- , responseBatchUpdateVehicle $+-- newBatchUpdateVehicleResponse+--+-- , responseCreateCampaign $+-- newCreateCampaignResponse+--+-- , responseCreateDecoderManifest $+-- newCreateDecoderManifestResponse+--+-- , responseCreateFleet $+-- newCreateFleetResponse+--+-- , responseCreateModelManifest $+-- newCreateModelManifestResponse+--+-- , responseCreateSignalCatalog $+-- newCreateSignalCatalogResponse+--+-- , responseCreateVehicle $+-- newCreateVehicleResponse+--+-- , responseDeleteCampaign $+-- newDeleteCampaignResponse+--+-- , responseDeleteDecoderManifest $+-- newDeleteDecoderManifestResponse+--+-- , responseDeleteFleet $+-- newDeleteFleetResponse+--+-- , responseDeleteModelManifest $+-- newDeleteModelManifestResponse+--+-- , responseDeleteSignalCatalog $+-- newDeleteSignalCatalogResponse+--+-- , responseDeleteVehicle $+-- newDeleteVehicleResponse+--+-- , responseDisassociateVehicleFleet $+-- newDisassociateVehicleFleetResponse+--+-- , responseGetCampaign $+-- newGetCampaignResponse+--+-- , responseGetDecoderManifest $+-- newGetDecoderManifestResponse+--+-- , responseGetFleet $+-- newGetFleetResponse+--+-- , responseGetLoggingOptions $+-- newGetLoggingOptionsResponse+--+-- , responseGetModelManifest $+-- newGetModelManifestResponse+--+-- , responseGetRegisterAccountStatus $+-- newGetRegisterAccountStatusResponse+--+-- , responseGetSignalCatalog $+-- newGetSignalCatalogResponse+--+-- , responseGetVehicle $+-- newGetVehicleResponse+--+-- , responseGetVehicleStatus $+-- newGetVehicleStatusResponse+--+-- , responseImportDecoderManifest $+-- newImportDecoderManifestResponse+--+-- , responseImportSignalCatalog $+-- newImportSignalCatalogResponse+--+-- , responseListCampaigns $+-- newListCampaignsResponse+--+-- , responseListDecoderManifestNetworkInterfaces $+-- newListDecoderManifestNetworkInterfacesResponse+--+-- , responseListDecoderManifestSignals $+-- newListDecoderManifestSignalsResponse+--+-- , responseListDecoderManifests $+-- newListDecoderManifestsResponse+--+-- , responseListFleets $+-- newListFleetsResponse+--+-- , responseListFleetsForVehicle $+-- newListFleetsForVehicleResponse+--+-- , responseListModelManifestNodes $+-- newListModelManifestNodesResponse+--+-- , responseListModelManifests $+-- newListModelManifestsResponse+--+-- , responseListSignalCatalogNodes $+-- newListSignalCatalogNodesResponse+--+-- , responseListSignalCatalogs $+-- newListSignalCatalogsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListVehicles $+-- newListVehiclesResponse+--+-- , responseListVehiclesInFleet $+-- newListVehiclesInFleetResponse+--+-- , responsePutLoggingOptions $+-- newPutLoggingOptionsResponse+--+-- , responseRegisterAccount $+-- newRegisterAccountResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateCampaign $+-- newUpdateCampaignResponse+--+-- , responseUpdateDecoderManifest $+-- newUpdateDecoderManifestResponse+--+-- , responseUpdateFleet $+-- newUpdateFleetResponse+--+-- , responseUpdateModelManifest $+-- newUpdateModelManifestResponse+--+-- , responseUpdateSignalCatalog $+-- newUpdateSignalCatalogResponse+--+-- , responseUpdateVehicle $+-- newUpdateVehicleResponse+--+-- ]+-- ]++-- Requests++requestAssociateVehicleFleet :: AssociateVehicleFleet -> TestTree+requestAssociateVehicleFleet =+ req+ "AssociateVehicleFleet"+ "fixture/AssociateVehicleFleet.yaml"++requestBatchCreateVehicle :: BatchCreateVehicle -> TestTree+requestBatchCreateVehicle =+ req+ "BatchCreateVehicle"+ "fixture/BatchCreateVehicle.yaml"++requestBatchUpdateVehicle :: BatchUpdateVehicle -> TestTree+requestBatchUpdateVehicle =+ req+ "BatchUpdateVehicle"+ "fixture/BatchUpdateVehicle.yaml"++requestCreateCampaign :: CreateCampaign -> TestTree+requestCreateCampaign =+ req+ "CreateCampaign"+ "fixture/CreateCampaign.yaml"++requestCreateDecoderManifest :: CreateDecoderManifest -> TestTree+requestCreateDecoderManifest =+ req+ "CreateDecoderManifest"+ "fixture/CreateDecoderManifest.yaml"++requestCreateFleet :: CreateFleet -> TestTree+requestCreateFleet =+ req+ "CreateFleet"+ "fixture/CreateFleet.yaml"++requestCreateModelManifest :: CreateModelManifest -> TestTree+requestCreateModelManifest =+ req+ "CreateModelManifest"+ "fixture/CreateModelManifest.yaml"++requestCreateSignalCatalog :: CreateSignalCatalog -> TestTree+requestCreateSignalCatalog =+ req+ "CreateSignalCatalog"+ "fixture/CreateSignalCatalog.yaml"++requestCreateVehicle :: CreateVehicle -> TestTree+requestCreateVehicle =+ req+ "CreateVehicle"+ "fixture/CreateVehicle.yaml"++requestDeleteCampaign :: DeleteCampaign -> TestTree+requestDeleteCampaign =+ req+ "DeleteCampaign"+ "fixture/DeleteCampaign.yaml"++requestDeleteDecoderManifest :: DeleteDecoderManifest -> TestTree+requestDeleteDecoderManifest =+ req+ "DeleteDecoderManifest"+ "fixture/DeleteDecoderManifest.yaml"++requestDeleteFleet :: DeleteFleet -> TestTree+requestDeleteFleet =+ req+ "DeleteFleet"+ "fixture/DeleteFleet.yaml"++requestDeleteModelManifest :: DeleteModelManifest -> TestTree+requestDeleteModelManifest =+ req+ "DeleteModelManifest"+ "fixture/DeleteModelManifest.yaml"++requestDeleteSignalCatalog :: DeleteSignalCatalog -> TestTree+requestDeleteSignalCatalog =+ req+ "DeleteSignalCatalog"+ "fixture/DeleteSignalCatalog.yaml"++requestDeleteVehicle :: DeleteVehicle -> TestTree+requestDeleteVehicle =+ req+ "DeleteVehicle"+ "fixture/DeleteVehicle.yaml"++requestDisassociateVehicleFleet :: DisassociateVehicleFleet -> TestTree+requestDisassociateVehicleFleet =+ req+ "DisassociateVehicleFleet"+ "fixture/DisassociateVehicleFleet.yaml"++requestGetCampaign :: GetCampaign -> TestTree+requestGetCampaign =+ req+ "GetCampaign"+ "fixture/GetCampaign.yaml"++requestGetDecoderManifest :: GetDecoderManifest -> TestTree+requestGetDecoderManifest =+ req+ "GetDecoderManifest"+ "fixture/GetDecoderManifest.yaml"++requestGetFleet :: GetFleet -> TestTree+requestGetFleet =+ req+ "GetFleet"+ "fixture/GetFleet.yaml"++requestGetLoggingOptions :: GetLoggingOptions -> TestTree+requestGetLoggingOptions =+ req+ "GetLoggingOptions"+ "fixture/GetLoggingOptions.yaml"++requestGetModelManifest :: GetModelManifest -> TestTree+requestGetModelManifest =+ req+ "GetModelManifest"+ "fixture/GetModelManifest.yaml"++requestGetRegisterAccountStatus :: GetRegisterAccountStatus -> TestTree+requestGetRegisterAccountStatus =+ req+ "GetRegisterAccountStatus"+ "fixture/GetRegisterAccountStatus.yaml"++requestGetSignalCatalog :: GetSignalCatalog -> TestTree+requestGetSignalCatalog =+ req+ "GetSignalCatalog"+ "fixture/GetSignalCatalog.yaml"++requestGetVehicle :: GetVehicle -> TestTree+requestGetVehicle =+ req+ "GetVehicle"+ "fixture/GetVehicle.yaml"++requestGetVehicleStatus :: GetVehicleStatus -> TestTree+requestGetVehicleStatus =+ req+ "GetVehicleStatus"+ "fixture/GetVehicleStatus.yaml"++requestImportDecoderManifest :: ImportDecoderManifest -> TestTree+requestImportDecoderManifest =+ req+ "ImportDecoderManifest"+ "fixture/ImportDecoderManifest.yaml"++requestImportSignalCatalog :: ImportSignalCatalog -> TestTree+requestImportSignalCatalog =+ req+ "ImportSignalCatalog"+ "fixture/ImportSignalCatalog.yaml"++requestListCampaigns :: ListCampaigns -> TestTree+requestListCampaigns =+ req+ "ListCampaigns"+ "fixture/ListCampaigns.yaml"++requestListDecoderManifestNetworkInterfaces :: ListDecoderManifestNetworkInterfaces -> TestTree+requestListDecoderManifestNetworkInterfaces =+ req+ "ListDecoderManifestNetworkInterfaces"+ "fixture/ListDecoderManifestNetworkInterfaces.yaml"++requestListDecoderManifestSignals :: ListDecoderManifestSignals -> TestTree+requestListDecoderManifestSignals =+ req+ "ListDecoderManifestSignals"+ "fixture/ListDecoderManifestSignals.yaml"++requestListDecoderManifests :: ListDecoderManifests -> TestTree+requestListDecoderManifests =+ req+ "ListDecoderManifests"+ "fixture/ListDecoderManifests.yaml"++requestListFleets :: ListFleets -> TestTree+requestListFleets =+ req+ "ListFleets"+ "fixture/ListFleets.yaml"++requestListFleetsForVehicle :: ListFleetsForVehicle -> TestTree+requestListFleetsForVehicle =+ req+ "ListFleetsForVehicle"+ "fixture/ListFleetsForVehicle.yaml"++requestListModelManifestNodes :: ListModelManifestNodes -> TestTree+requestListModelManifestNodes =+ req+ "ListModelManifestNodes"+ "fixture/ListModelManifestNodes.yaml"++requestListModelManifests :: ListModelManifests -> TestTree+requestListModelManifests =+ req+ "ListModelManifests"+ "fixture/ListModelManifests.yaml"++requestListSignalCatalogNodes :: ListSignalCatalogNodes -> TestTree+requestListSignalCatalogNodes =+ req+ "ListSignalCatalogNodes"+ "fixture/ListSignalCatalogNodes.yaml"++requestListSignalCatalogs :: ListSignalCatalogs -> TestTree+requestListSignalCatalogs =+ req+ "ListSignalCatalogs"+ "fixture/ListSignalCatalogs.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListVehicles :: ListVehicles -> TestTree+requestListVehicles =+ req+ "ListVehicles"+ "fixture/ListVehicles.yaml"++requestListVehiclesInFleet :: ListVehiclesInFleet -> TestTree+requestListVehiclesInFleet =+ req+ "ListVehiclesInFleet"+ "fixture/ListVehiclesInFleet.yaml"++requestPutLoggingOptions :: PutLoggingOptions -> TestTree+requestPutLoggingOptions =+ req+ "PutLoggingOptions"+ "fixture/PutLoggingOptions.yaml"++requestRegisterAccount :: RegisterAccount -> TestTree+requestRegisterAccount =+ req+ "RegisterAccount"+ "fixture/RegisterAccount.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateCampaign :: UpdateCampaign -> TestTree+requestUpdateCampaign =+ req+ "UpdateCampaign"+ "fixture/UpdateCampaign.yaml"++requestUpdateDecoderManifest :: UpdateDecoderManifest -> TestTree+requestUpdateDecoderManifest =+ req+ "UpdateDecoderManifest"+ "fixture/UpdateDecoderManifest.yaml"++requestUpdateFleet :: UpdateFleet -> TestTree+requestUpdateFleet =+ req+ "UpdateFleet"+ "fixture/UpdateFleet.yaml"++requestUpdateModelManifest :: UpdateModelManifest -> TestTree+requestUpdateModelManifest =+ req+ "UpdateModelManifest"+ "fixture/UpdateModelManifest.yaml"++requestUpdateSignalCatalog :: UpdateSignalCatalog -> TestTree+requestUpdateSignalCatalog =+ req+ "UpdateSignalCatalog"+ "fixture/UpdateSignalCatalog.yaml"++requestUpdateVehicle :: UpdateVehicle -> TestTree+requestUpdateVehicle =+ req+ "UpdateVehicle"+ "fixture/UpdateVehicle.yaml"++-- Responses++responseAssociateVehicleFleet :: AssociateVehicleFleetResponse -> TestTree+responseAssociateVehicleFleet =+ res+ "AssociateVehicleFleetResponse"+ "fixture/AssociateVehicleFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateVehicleFleet)++responseBatchCreateVehicle :: BatchCreateVehicleResponse -> TestTree+responseBatchCreateVehicle =+ res+ "BatchCreateVehicleResponse"+ "fixture/BatchCreateVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchCreateVehicle)++responseBatchUpdateVehicle :: BatchUpdateVehicleResponse -> TestTree+responseBatchUpdateVehicle =+ res+ "BatchUpdateVehicleResponse"+ "fixture/BatchUpdateVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchUpdateVehicle)++responseCreateCampaign :: CreateCampaignResponse -> TestTree+responseCreateCampaign =+ res+ "CreateCampaignResponse"+ "fixture/CreateCampaignResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCampaign)++responseCreateDecoderManifest :: CreateDecoderManifestResponse -> TestTree+responseCreateDecoderManifest =+ res+ "CreateDecoderManifestResponse"+ "fixture/CreateDecoderManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDecoderManifest)++responseCreateFleet :: CreateFleetResponse -> TestTree+responseCreateFleet =+ res+ "CreateFleetResponse"+ "fixture/CreateFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFleet)++responseCreateModelManifest :: CreateModelManifestResponse -> TestTree+responseCreateModelManifest =+ res+ "CreateModelManifestResponse"+ "fixture/CreateModelManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateModelManifest)++responseCreateSignalCatalog :: CreateSignalCatalogResponse -> TestTree+responseCreateSignalCatalog =+ res+ "CreateSignalCatalogResponse"+ "fixture/CreateSignalCatalogResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSignalCatalog)++responseCreateVehicle :: CreateVehicleResponse -> TestTree+responseCreateVehicle =+ res+ "CreateVehicleResponse"+ "fixture/CreateVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVehicle)++responseDeleteCampaign :: DeleteCampaignResponse -> TestTree+responseDeleteCampaign =+ res+ "DeleteCampaignResponse"+ "fixture/DeleteCampaignResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCampaign)++responseDeleteDecoderManifest :: DeleteDecoderManifestResponse -> TestTree+responseDeleteDecoderManifest =+ res+ "DeleteDecoderManifestResponse"+ "fixture/DeleteDecoderManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDecoderManifest)++responseDeleteFleet :: DeleteFleetResponse -> TestTree+responseDeleteFleet =+ res+ "DeleteFleetResponse"+ "fixture/DeleteFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFleet)++responseDeleteModelManifest :: DeleteModelManifestResponse -> TestTree+responseDeleteModelManifest =+ res+ "DeleteModelManifestResponse"+ "fixture/DeleteModelManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteModelManifest)++responseDeleteSignalCatalog :: DeleteSignalCatalogResponse -> TestTree+responseDeleteSignalCatalog =+ res+ "DeleteSignalCatalogResponse"+ "fixture/DeleteSignalCatalogResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSignalCatalog)++responseDeleteVehicle :: DeleteVehicleResponse -> TestTree+responseDeleteVehicle =+ res+ "DeleteVehicleResponse"+ "fixture/DeleteVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteVehicle)++responseDisassociateVehicleFleet :: DisassociateVehicleFleetResponse -> TestTree+responseDisassociateVehicleFleet =+ res+ "DisassociateVehicleFleetResponse"+ "fixture/DisassociateVehicleFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateVehicleFleet)++responseGetCampaign :: GetCampaignResponse -> TestTree+responseGetCampaign =+ res+ "GetCampaignResponse"+ "fixture/GetCampaignResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetCampaign)++responseGetDecoderManifest :: GetDecoderManifestResponse -> TestTree+responseGetDecoderManifest =+ res+ "GetDecoderManifestResponse"+ "fixture/GetDecoderManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDecoderManifest)++responseGetFleet :: GetFleetResponse -> TestTree+responseGetFleet =+ res+ "GetFleetResponse"+ "fixture/GetFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFleet)++responseGetLoggingOptions :: GetLoggingOptionsResponse -> TestTree+responseGetLoggingOptions =+ res+ "GetLoggingOptionsResponse"+ "fixture/GetLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetLoggingOptions)++responseGetModelManifest :: GetModelManifestResponse -> TestTree+responseGetModelManifest =+ res+ "GetModelManifestResponse"+ "fixture/GetModelManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetModelManifest)++responseGetRegisterAccountStatus :: GetRegisterAccountStatusResponse -> TestTree+responseGetRegisterAccountStatus =+ res+ "GetRegisterAccountStatusResponse"+ "fixture/GetRegisterAccountStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRegisterAccountStatus)++responseGetSignalCatalog :: GetSignalCatalogResponse -> TestTree+responseGetSignalCatalog =+ res+ "GetSignalCatalogResponse"+ "fixture/GetSignalCatalogResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSignalCatalog)++responseGetVehicle :: GetVehicleResponse -> TestTree+responseGetVehicle =+ res+ "GetVehicleResponse"+ "fixture/GetVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetVehicle)++responseGetVehicleStatus :: GetVehicleStatusResponse -> TestTree+responseGetVehicleStatus =+ res+ "GetVehicleStatusResponse"+ "fixture/GetVehicleStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetVehicleStatus)++responseImportDecoderManifest :: ImportDecoderManifestResponse -> TestTree+responseImportDecoderManifest =+ res+ "ImportDecoderManifestResponse"+ "fixture/ImportDecoderManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ImportDecoderManifest)++responseImportSignalCatalog :: ImportSignalCatalogResponse -> TestTree+responseImportSignalCatalog =+ res+ "ImportSignalCatalogResponse"+ "fixture/ImportSignalCatalogResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ImportSignalCatalog)++responseListCampaigns :: ListCampaignsResponse -> TestTree+responseListCampaigns =+ res+ "ListCampaignsResponse"+ "fixture/ListCampaignsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListCampaigns)++responseListDecoderManifestNetworkInterfaces :: ListDecoderManifestNetworkInterfacesResponse -> TestTree+responseListDecoderManifestNetworkInterfaces =+ res+ "ListDecoderManifestNetworkInterfacesResponse"+ "fixture/ListDecoderManifestNetworkInterfacesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDecoderManifestNetworkInterfaces)++responseListDecoderManifestSignals :: ListDecoderManifestSignalsResponse -> TestTree+responseListDecoderManifestSignals =+ res+ "ListDecoderManifestSignalsResponse"+ "fixture/ListDecoderManifestSignalsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDecoderManifestSignals)++responseListDecoderManifests :: ListDecoderManifestsResponse -> TestTree+responseListDecoderManifests =+ res+ "ListDecoderManifestsResponse"+ "fixture/ListDecoderManifestsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDecoderManifests)++responseListFleets :: ListFleetsResponse -> TestTree+responseListFleets =+ res+ "ListFleetsResponse"+ "fixture/ListFleetsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFleets)++responseListFleetsForVehicle :: ListFleetsForVehicleResponse -> TestTree+responseListFleetsForVehicle =+ res+ "ListFleetsForVehicleResponse"+ "fixture/ListFleetsForVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFleetsForVehicle)++responseListModelManifestNodes :: ListModelManifestNodesResponse -> TestTree+responseListModelManifestNodes =+ res+ "ListModelManifestNodesResponse"+ "fixture/ListModelManifestNodesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListModelManifestNodes)++responseListModelManifests :: ListModelManifestsResponse -> TestTree+responseListModelManifests =+ res+ "ListModelManifestsResponse"+ "fixture/ListModelManifestsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListModelManifests)++responseListSignalCatalogNodes :: ListSignalCatalogNodesResponse -> TestTree+responseListSignalCatalogNodes =+ res+ "ListSignalCatalogNodesResponse"+ "fixture/ListSignalCatalogNodesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSignalCatalogNodes)++responseListSignalCatalogs :: ListSignalCatalogsResponse -> TestTree+responseListSignalCatalogs =+ res+ "ListSignalCatalogsResponse"+ "fixture/ListSignalCatalogsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSignalCatalogs)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVehicles :: ListVehiclesResponse -> TestTree+responseListVehicles =+ res+ "ListVehiclesResponse"+ "fixture/ListVehiclesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListVehicles)++responseListVehiclesInFleet :: ListVehiclesInFleetResponse -> TestTree+responseListVehiclesInFleet =+ res+ "ListVehiclesInFleetResponse"+ "fixture/ListVehiclesInFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListVehiclesInFleet)++responsePutLoggingOptions :: PutLoggingOptionsResponse -> TestTree+responsePutLoggingOptions =+ res+ "PutLoggingOptionsResponse"+ "fixture/PutLoggingOptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutLoggingOptions)++responseRegisterAccount :: RegisterAccountResponse -> TestTree+responseRegisterAccount =+ res+ "RegisterAccountResponse"+ "fixture/RegisterAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RegisterAccount)++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)++responseUpdateCampaign :: UpdateCampaignResponse -> TestTree+responseUpdateCampaign =+ res+ "UpdateCampaignResponse"+ "fixture/UpdateCampaignResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateCampaign)++responseUpdateDecoderManifest :: UpdateDecoderManifestResponse -> TestTree+responseUpdateDecoderManifest =+ res+ "UpdateDecoderManifestResponse"+ "fixture/UpdateDecoderManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDecoderManifest)++responseUpdateFleet :: UpdateFleetResponse -> TestTree+responseUpdateFleet =+ res+ "UpdateFleetResponse"+ "fixture/UpdateFleetResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFleet)++responseUpdateModelManifest :: UpdateModelManifestResponse -> TestTree+responseUpdateModelManifest =+ res+ "UpdateModelManifestResponse"+ "fixture/UpdateModelManifestResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateModelManifest)++responseUpdateSignalCatalog :: UpdateSignalCatalogResponse -> TestTree+responseUpdateSignalCatalog =+ res+ "UpdateSignalCatalogResponse"+ "fixture/UpdateSignalCatalogResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSignalCatalog)++responseUpdateVehicle :: UpdateVehicleResponse -> TestTree+responseUpdateVehicle =+ res+ "UpdateVehicleResponse"+ "fixture/UpdateVehicleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateVehicle)
+ test/Test/Amazonka/IoTFleetWise.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.IoTFleetWise+-- Copyright : (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.IoTFleetWise+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/IoTFleetWise/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.IoTFleetWise.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.IoTFleetWise.Internal where