packages feed

amazonka-iotwireless (empty) → 2.0

raw patch · 443 files changed

+40458/−0 lines, 443 filesdep +amazonka-coredep +amazonka-iotwirelessdep +amazonka-test

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

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon IoT Wireless SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-11-22@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-iotwireless)+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.IoTWireless](http://hackage.haskell.org/package/amazonka-iotwireless/docs/Amazonka-IoTWireless.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-iotwireless` 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-iotwireless.cabal view
@@ -0,0 +1,312 @@+cabal-version:      2.2+name:               amazonka-iotwireless+version:            2.0+synopsis:           Amazon IoT Wireless SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2020-11-22@ 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.IoTWireless.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.IoTWireless" 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-iotwireless++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.IoTWireless+    Amazonka.IoTWireless.AssociateAwsAccountWithPartnerAccount+    Amazonka.IoTWireless.AssociateMulticastGroupWithFuotaTask+    Amazonka.IoTWireless.AssociateWirelessDeviceWithFuotaTask+    Amazonka.IoTWireless.AssociateWirelessDeviceWithMulticastGroup+    Amazonka.IoTWireless.AssociateWirelessDeviceWithThing+    Amazonka.IoTWireless.AssociateWirelessGatewayWithCertificate+    Amazonka.IoTWireless.AssociateWirelessGatewayWithThing+    Amazonka.IoTWireless.CancelMulticastGroupSession+    Amazonka.IoTWireless.CreateDestination+    Amazonka.IoTWireless.CreateDeviceProfile+    Amazonka.IoTWireless.CreateFuotaTask+    Amazonka.IoTWireless.CreateMulticastGroup+    Amazonka.IoTWireless.CreateNetworkAnalyzerConfiguration+    Amazonka.IoTWireless.CreateServiceProfile+    Amazonka.IoTWireless.CreateWirelessDevice+    Amazonka.IoTWireless.CreateWirelessGateway+    Amazonka.IoTWireless.CreateWirelessGatewayTask+    Amazonka.IoTWireless.CreateWirelessGatewayTaskDefinition+    Amazonka.IoTWireless.DeleteDestination+    Amazonka.IoTWireless.DeleteDeviceProfile+    Amazonka.IoTWireless.DeleteFuotaTask+    Amazonka.IoTWireless.DeleteMulticastGroup+    Amazonka.IoTWireless.DeleteNetworkAnalyzerConfiguration+    Amazonka.IoTWireless.DeleteQueuedMessages+    Amazonka.IoTWireless.DeleteServiceProfile+    Amazonka.IoTWireless.DeleteWirelessDevice+    Amazonka.IoTWireless.DeleteWirelessGateway+    Amazonka.IoTWireless.DeleteWirelessGatewayTask+    Amazonka.IoTWireless.DeleteWirelessGatewayTaskDefinition+    Amazonka.IoTWireless.DisassociateAwsAccountFromPartnerAccount+    Amazonka.IoTWireless.DisassociateMulticastGroupFromFuotaTask+    Amazonka.IoTWireless.DisassociateWirelessDeviceFromFuotaTask+    Amazonka.IoTWireless.DisassociateWirelessDeviceFromMulticastGroup+    Amazonka.IoTWireless.DisassociateWirelessDeviceFromThing+    Amazonka.IoTWireless.DisassociateWirelessGatewayFromCertificate+    Amazonka.IoTWireless.DisassociateWirelessGatewayFromThing+    Amazonka.IoTWireless.GetDestination+    Amazonka.IoTWireless.GetDeviceProfile+    Amazonka.IoTWireless.GetEventConfigurationByResourceTypes+    Amazonka.IoTWireless.GetFuotaTask+    Amazonka.IoTWireless.GetLogLevelsByResourceTypes+    Amazonka.IoTWireless.GetMulticastGroup+    Amazonka.IoTWireless.GetMulticastGroupSession+    Amazonka.IoTWireless.GetNetworkAnalyzerConfiguration+    Amazonka.IoTWireless.GetPartnerAccount+    Amazonka.IoTWireless.GetPositionEstimate+    Amazonka.IoTWireless.GetResourceEventConfiguration+    Amazonka.IoTWireless.GetResourceLogLevel+    Amazonka.IoTWireless.GetResourcePosition+    Amazonka.IoTWireless.GetServiceEndpoint+    Amazonka.IoTWireless.GetServiceProfile+    Amazonka.IoTWireless.GetWirelessDevice+    Amazonka.IoTWireless.GetWirelessDeviceStatistics+    Amazonka.IoTWireless.GetWirelessGateway+    Amazonka.IoTWireless.GetWirelessGatewayCertificate+    Amazonka.IoTWireless.GetWirelessGatewayFirmwareInformation+    Amazonka.IoTWireless.GetWirelessGatewayStatistics+    Amazonka.IoTWireless.GetWirelessGatewayTask+    Amazonka.IoTWireless.GetWirelessGatewayTaskDefinition+    Amazonka.IoTWireless.Lens+    Amazonka.IoTWireless.ListDestinations+    Amazonka.IoTWireless.ListDeviceProfiles+    Amazonka.IoTWireless.ListEventConfigurations+    Amazonka.IoTWireless.ListFuotaTasks+    Amazonka.IoTWireless.ListMulticastGroups+    Amazonka.IoTWireless.ListMulticastGroupsByFuotaTask+    Amazonka.IoTWireless.ListNetworkAnalyzerConfigurations+    Amazonka.IoTWireless.ListPartnerAccounts+    Amazonka.IoTWireless.ListQueuedMessages+    Amazonka.IoTWireless.ListServiceProfiles+    Amazonka.IoTWireless.ListTagsForResource+    Amazonka.IoTWireless.ListWirelessDevices+    Amazonka.IoTWireless.ListWirelessGateways+    Amazonka.IoTWireless.ListWirelessGatewayTaskDefinitions+    Amazonka.IoTWireless.PutResourceLogLevel+    Amazonka.IoTWireless.ResetAllResourceLogLevels+    Amazonka.IoTWireless.ResetResourceLogLevel+    Amazonka.IoTWireless.SendDataToMulticastGroup+    Amazonka.IoTWireless.SendDataToWirelessDevice+    Amazonka.IoTWireless.StartBulkAssociateWirelessDeviceWithMulticastGroup+    Amazonka.IoTWireless.StartBulkDisassociateWirelessDeviceFromMulticastGroup+    Amazonka.IoTWireless.StartFuotaTask+    Amazonka.IoTWireless.StartMulticastGroupSession+    Amazonka.IoTWireless.TagResource+    Amazonka.IoTWireless.TestWirelessDevice+    Amazonka.IoTWireless.Types+    Amazonka.IoTWireless.Types.AbpV1_0_x+    Amazonka.IoTWireless.Types.AbpV1_1+    Amazonka.IoTWireless.Types.ApplicationConfig+    Amazonka.IoTWireless.Types.ApplicationConfigType+    Amazonka.IoTWireless.Types.BatteryLevel+    Amazonka.IoTWireless.Types.Beaconing+    Amazonka.IoTWireless.Types.CdmaLocalId+    Amazonka.IoTWireless.Types.CdmaNmrObj+    Amazonka.IoTWireless.Types.CdmaObj+    Amazonka.IoTWireless.Types.CellTowers+    Amazonka.IoTWireless.Types.CertificateList+    Amazonka.IoTWireless.Types.ConnectionStatus+    Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration+    Amazonka.IoTWireless.Types.ConnectionStatusResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.Destinations+    Amazonka.IoTWireless.Types.DeviceProfile+    Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration+    Amazonka.IoTWireless.Types.DeviceRegistrationStateResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.DeviceState+    Amazonka.IoTWireless.Types.DlClass+    Amazonka.IoTWireless.Types.DownlinkMode+    Amazonka.IoTWireless.Types.DownlinkQueueMessage+    Amazonka.IoTWireless.Types.Event+    Amazonka.IoTWireless.Types.EventConfigurationItem+    Amazonka.IoTWireless.Types.EventNotificationItemConfigurations+    Amazonka.IoTWireless.Types.EventNotificationPartnerType+    Amazonka.IoTWireless.Types.EventNotificationResourceType+    Amazonka.IoTWireless.Types.EventNotificationTopicStatus+    Amazonka.IoTWireless.Types.ExpressionType+    Amazonka.IoTWireless.Types.FPorts+    Amazonka.IoTWireless.Types.FuotaDeviceStatus+    Amazonka.IoTWireless.Types.FuotaTask+    Amazonka.IoTWireless.Types.FuotaTaskStatus+    Amazonka.IoTWireless.Types.GatewayListItem+    Amazonka.IoTWireless.Types.GlobalIdentity+    Amazonka.IoTWireless.Types.Gnss+    Amazonka.IoTWireless.Types.GsmLocalId+    Amazonka.IoTWireless.Types.GsmNmrObj+    Amazonka.IoTWireless.Types.GsmObj+    Amazonka.IoTWireless.Types.IdentifierType+    Amazonka.IoTWireless.Types.Ip+    Amazonka.IoTWireless.Types.JoinEventConfiguration+    Amazonka.IoTWireless.Types.JoinResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.LogLevel+    Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations+    Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.LoRaWANDevice+    Amazonka.IoTWireless.Types.LoRaWANDeviceMetadata+    Amazonka.IoTWireless.Types.LoRaWANDeviceProfile+    Amazonka.IoTWireless.Types.LoRaWANFuotaTask+    Amazonka.IoTWireless.Types.LoRaWANFuotaTaskGetInfo+    Amazonka.IoTWireless.Types.LoRaWANGateway+    Amazonka.IoTWireless.Types.LoRaWANGatewayCurrentVersion+    Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata+    Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+    Amazonka.IoTWireless.Types.LoRaWANGetServiceProfileInfo+    Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations+    Amazonka.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.LoRaWANListDevice+    Amazonka.IoTWireless.Types.LoRaWANMulticast+    Amazonka.IoTWireless.Types.LoRaWANMulticastGet+    Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata+    Amazonka.IoTWireless.Types.LoRaWANMulticastSession+    Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+    Amazonka.IoTWireless.Types.LoRaWANServiceProfile+    Amazonka.IoTWireless.Types.LoRaWANStartFuotaTask+    Amazonka.IoTWireless.Types.LoRaWANUpdateDevice+    Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate+    Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry+    Amazonka.IoTWireless.Types.LteLocalId+    Amazonka.IoTWireless.Types.LteNmrObj+    Amazonka.IoTWireless.Types.LteObj+    Amazonka.IoTWireless.Types.MessageDeliveryStatusEventConfiguration+    Amazonka.IoTWireless.Types.MessageDeliveryStatusResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.MessageType+    Amazonka.IoTWireless.Types.MulticastGroup+    Amazonka.IoTWireless.Types.MulticastGroupByFuotaTask+    Amazonka.IoTWireless.Types.MulticastWirelessMetadata+    Amazonka.IoTWireless.Types.NetworkAnalyzerConfigurations+    Amazonka.IoTWireless.Types.OtaaV1_0_x+    Amazonka.IoTWireless.Types.OtaaV1_1+    Amazonka.IoTWireless.Types.ParticipatingGateways+    Amazonka.IoTWireless.Types.PartnerType+    Amazonka.IoTWireless.Types.Positioning+    Amazonka.IoTWireless.Types.PositioningConfigStatus+    Amazonka.IoTWireless.Types.PositionResourceType+    Amazonka.IoTWireless.Types.ProximityEventConfiguration+    Amazonka.IoTWireless.Types.ProximityResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.ServiceProfile+    Amazonka.IoTWireless.Types.SessionKeysAbpV1_0_x+    Amazonka.IoTWireless.Types.SessionKeysAbpV1_1+    Amazonka.IoTWireless.Types.SidewalkAccountInfo+    Amazonka.IoTWireless.Types.SidewalkAccountInfoWithFingerprint+    Amazonka.IoTWireless.Types.SidewalkDevice+    Amazonka.IoTWireless.Types.SidewalkDeviceMetadata+    Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+    Amazonka.IoTWireless.Types.SidewalkListDevice+    Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+    Amazonka.IoTWireless.Types.SidewalkSendDataToDevice+    Amazonka.IoTWireless.Types.SidewalkUpdateAccount+    Amazonka.IoTWireless.Types.SigningAlg+    Amazonka.IoTWireless.Types.SupportedRfRegion+    Amazonka.IoTWireless.Types.Tag+    Amazonka.IoTWireless.Types.TdscdmaLocalId+    Amazonka.IoTWireless.Types.TdscdmaNmrObj+    Amazonka.IoTWireless.Types.TdscdmaObj+    Amazonka.IoTWireless.Types.TraceContent+    Amazonka.IoTWireless.Types.UpdateAbpV1_0_x+    Amazonka.IoTWireless.Types.UpdateAbpV1_1+    Amazonka.IoTWireless.Types.UpdateFPorts+    Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskCreate+    Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskEntry+    Amazonka.IoTWireless.Types.WcdmaLocalId+    Amazonka.IoTWireless.Types.WcdmaNmrObj+    Amazonka.IoTWireless.Types.WcdmaObj+    Amazonka.IoTWireless.Types.WiFiAccessPoint+    Amazonka.IoTWireless.Types.WirelessDeviceEvent+    Amazonka.IoTWireless.Types.WirelessDeviceEventLogOption+    Amazonka.IoTWireless.Types.WirelessDeviceFrameInfo+    Amazonka.IoTWireless.Types.WirelessDeviceIdType+    Amazonka.IoTWireless.Types.WirelessDeviceLogOption+    Amazonka.IoTWireless.Types.WirelessDeviceStatistics+    Amazonka.IoTWireless.Types.WirelessDeviceType+    Amazonka.IoTWireless.Types.WirelessGatewayEvent+    Amazonka.IoTWireless.Types.WirelessGatewayEventLogOption+    Amazonka.IoTWireless.Types.WirelessGatewayIdType+    Amazonka.IoTWireless.Types.WirelessGatewayLogOption+    Amazonka.IoTWireless.Types.WirelessGatewayServiceType+    Amazonka.IoTWireless.Types.WirelessGatewayStatistics+    Amazonka.IoTWireless.Types.WirelessGatewayTaskDefinitionType+    Amazonka.IoTWireless.Types.WirelessGatewayTaskStatus+    Amazonka.IoTWireless.Types.WirelessGatewayType+    Amazonka.IoTWireless.Types.WirelessMetadata+    Amazonka.IoTWireless.UntagResource+    Amazonka.IoTWireless.UpdateDestination+    Amazonka.IoTWireless.UpdateEventConfigurationByResourceTypes+    Amazonka.IoTWireless.UpdateFuotaTask+    Amazonka.IoTWireless.UpdateLogLevelsByResourceTypes+    Amazonka.IoTWireless.UpdateMulticastGroup+    Amazonka.IoTWireless.UpdateNetworkAnalyzerConfiguration+    Amazonka.IoTWireless.UpdatePartnerAccount+    Amazonka.IoTWireless.UpdateResourceEventConfiguration+    Amazonka.IoTWireless.UpdateResourcePosition+    Amazonka.IoTWireless.UpdateWirelessDevice+    Amazonka.IoTWireless.UpdateWirelessGateway+    Amazonka.IoTWireless.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-iotwireless-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.IoTWireless+    Test.Amazonka.IoTWireless+    Test.Amazonka.IoTWireless.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-iotwireless+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AssociateAwsAccountWithPartnerAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateAwsAccountWithPartnerAccountResponse.proto view
+ fixture/AssociateMulticastGroupWithFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateMulticastGroupWithFuotaTaskResponse.proto view
+ fixture/AssociateWirelessDeviceWithFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateWirelessDeviceWithFuotaTaskResponse.proto view
+ fixture/AssociateWirelessDeviceWithMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateWirelessDeviceWithMulticastGroupResponse.proto view
+ fixture/AssociateWirelessDeviceWithThing.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateWirelessDeviceWithThingResponse.proto view
+ fixture/AssociateWirelessGatewayWithCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateWirelessGatewayWithCertificateResponse.proto view
+ fixture/AssociateWirelessGatewayWithThing.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/AssociateWirelessGatewayWithThingResponse.proto view
+ fixture/CancelMulticastGroupSession.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CancelMulticastGroupSessionResponse.proto view
+ fixture/CreateDestination.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateDestinationResponse.proto view
+ fixture/CreateDeviceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateDeviceProfileResponse.proto view
+ fixture/CreateFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateFuotaTaskResponse.proto view
+ fixture/CreateMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateMulticastGroupResponse.proto view
+ fixture/CreateNetworkAnalyzerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateNetworkAnalyzerConfigurationResponse.proto view
+ fixture/CreateServiceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateServiceProfileResponse.proto view
+ fixture/CreateWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateWirelessDeviceResponse.proto view
+ fixture/CreateWirelessGateway.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateWirelessGatewayResponse.proto view
+ fixture/CreateWirelessGatewayTask.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateWirelessGatewayTaskDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/CreateWirelessGatewayTaskDefinitionResponse.proto view
+ fixture/CreateWirelessGatewayTaskResponse.proto view
+ fixture/DeleteDestination.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteDestinationResponse.proto view
+ fixture/DeleteDeviceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteDeviceProfileResponse.proto view
+ fixture/DeleteFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteFuotaTaskResponse.proto view
+ fixture/DeleteMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteMulticastGroupResponse.proto view
+ fixture/DeleteNetworkAnalyzerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteNetworkAnalyzerConfigurationResponse.proto view
+ fixture/DeleteQueuedMessages.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteQueuedMessagesResponse.proto view
+ fixture/DeleteServiceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteServiceProfileResponse.proto view
+ fixture/DeleteWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteWirelessDeviceResponse.proto view
+ fixture/DeleteWirelessGateway.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteWirelessGatewayResponse.proto view
+ fixture/DeleteWirelessGatewayTask.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteWirelessGatewayTaskDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DeleteWirelessGatewayTaskDefinitionResponse.proto view
+ fixture/DeleteWirelessGatewayTaskResponse.proto view
+ fixture/DisassociateAwsAccountFromPartnerAccount.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateAwsAccountFromPartnerAccountResponse.proto view
+ fixture/DisassociateMulticastGroupFromFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateMulticastGroupFromFuotaTaskResponse.proto view
+ fixture/DisassociateWirelessDeviceFromFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateWirelessDeviceFromFuotaTaskResponse.proto view
+ fixture/DisassociateWirelessDeviceFromMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateWirelessDeviceFromMulticastGroupResponse.proto view
+ fixture/DisassociateWirelessDeviceFromThing.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateWirelessDeviceFromThingResponse.proto view
+ fixture/DisassociateWirelessGatewayFromCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateWirelessGatewayFromCertificateResponse.proto view
+ fixture/DisassociateWirelessGatewayFromThing.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/DisassociateWirelessGatewayFromThingResponse.proto view
+ fixture/GetDestination.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetDestinationResponse.proto view
+ fixture/GetDeviceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetDeviceProfileResponse.proto view
+ fixture/GetEventConfigurationByResourceTypes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetEventConfigurationByResourceTypesResponse.proto view
+ fixture/GetFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetFuotaTaskResponse.proto view
+ fixture/GetLogLevelsByResourceTypes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetLogLevelsByResourceTypesResponse.proto view
+ fixture/GetMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetMulticastGroupResponse.proto view
+ fixture/GetMulticastGroupSession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetMulticastGroupSessionResponse.proto view
+ fixture/GetNetworkAnalyzerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetNetworkAnalyzerConfigurationResponse.proto view
+ fixture/GetPartnerAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetPartnerAccountResponse.proto view
+ fixture/GetPosition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetPositionConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetPositionConfigurationResponse.proto view
+ fixture/GetPositionEstimate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetPositionEstimateResponse.proto view
+ fixture/GetPositionResponse.proto view
+ fixture/GetResourceEventConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetResourceEventConfigurationResponse.proto view
+ fixture/GetResourceLogLevel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetResourceLogLevelResponse.proto view
+ fixture/GetResourcePosition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetResourcePositionResponse.proto view
+ fixture/GetServiceEndpoint.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetServiceEndpointResponse.proto view
+ fixture/GetServiceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetServiceProfileResponse.proto view
+ fixture/GetWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessDeviceResponse.proto view
+ fixture/GetWirelessDeviceStatistics.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessDeviceStatisticsResponse.proto view
+ fixture/GetWirelessGateway.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayCertificate.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayCertificateResponse.proto view
+ fixture/GetWirelessGatewayFirmwareInformation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayFirmwareInformationResponse.proto view
+ fixture/GetWirelessGatewayResponse.proto view
+ fixture/GetWirelessGatewayStatistics.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayStatisticsResponse.proto view
+ fixture/GetWirelessGatewayTask.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayTaskDefinition.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/GetWirelessGatewayTaskDefinitionResponse.proto view
+ fixture/GetWirelessGatewayTaskResponse.proto view
+ fixture/ListDestinations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListDestinationsResponse.proto view
+ fixture/ListDeviceProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListDeviceProfilesResponse.proto view
+ fixture/ListEventConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListEventConfigurationsResponse.proto view
+ fixture/ListFuotaTasks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListFuotaTasksResponse.proto view
+ fixture/ListMulticastGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListMulticastGroupsByFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListMulticastGroupsByFuotaTaskResponse.proto view
+ fixture/ListMulticastGroupsResponse.proto view
+ fixture/ListNetworkAnalyzerConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListNetworkAnalyzerConfigurationsResponse.proto view
+ fixture/ListPartnerAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListPartnerAccountsResponse.proto view
+ fixture/ListPositionConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListPositionConfigurationsResponse.proto view
+ fixture/ListQueuedMessages.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListQueuedMessagesResponse.proto view
+ fixture/ListServiceProfiles.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListServiceProfilesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListWirelessDevices.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListWirelessDevicesResponse.proto view
+ fixture/ListWirelessGatewayTaskDefinitions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListWirelessGatewayTaskDefinitionsResponse.proto view
+ fixture/ListWirelessGateways.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ListWirelessGatewaysResponse.proto view
+ fixture/PutPositionConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/PutPositionConfigurationResponse.proto view
+ fixture/PutResourceLogLevel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/PutResourceLogLevelResponse.proto view
+ fixture/ResetAllResourceLogLevels.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ResetAllResourceLogLevelsResponse.proto view
+ fixture/ResetResourceLogLevel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/ResetResourceLogLevelResponse.proto view
+ fixture/SendDataToMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/SendDataToMulticastGroupResponse.proto view
+ fixture/SendDataToWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/SendDataToWirelessDeviceResponse.proto view
+ fixture/StartBulkAssociateWirelessDeviceWithMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/StartBulkAssociateWirelessDeviceWithMulticastGroupResponse.proto view
+ fixture/StartBulkDisassociateWirelessDeviceFromMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse.proto view
+ fixture/StartFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/StartFuotaTaskResponse.proto view
+ fixture/StartMulticastGroupSession.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/StartMulticastGroupSessionResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/TestWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/TestWirelessDeviceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateDestination.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateDestinationResponse.proto view
+ fixture/UpdateEventConfigurationByResourceTypes.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateEventConfigurationByResourceTypesResponse.proto view
+ fixture/UpdateFuotaTask.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateFuotaTaskResponse.proto view
+ fixture/UpdateLogLevelsByResourceTypes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateLogLevelsByResourceTypesResponse.proto view
+ fixture/UpdateMulticastGroup.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateMulticastGroupResponse.proto view
+ fixture/UpdateNetworkAnalyzerConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateNetworkAnalyzerConfigurationResponse.proto view
+ fixture/UpdatePartnerAccount.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdatePartnerAccountResponse.proto view
+ fixture/UpdatePosition.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdatePositionResponse.proto view
+ fixture/UpdateResourceEventConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateResourceEventConfigurationResponse.proto view
+ fixture/UpdateResourcePosition.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateResourcePositionResponse.proto view
+ fixture/UpdateWirelessDevice.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateWirelessDeviceResponse.proto view
+ fixture/UpdateWirelessGateway.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.iotwireless/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  api.iotwireless.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/UpdateWirelessGatewayResponse.proto view
+ gen/Amazonka/IoTWireless.hs view
@@ -0,0 +1,1271 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.IoTWireless+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2020-11-22@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS IoT Wireless provides bi-directional communication between+-- internet-connected wireless devices and the AWS Cloud. To onboard both+-- LoRaWAN and Sidewalk devices to AWS IoT, use the IoT Wireless API. These+-- wireless devices use the Low Power Wide Area Networking (LPWAN)+-- communication protocol to communicate with AWS IoT.+--+-- Using the API, you can perform create, read, update, and delete+-- operations for your wireless devices, gateways, destinations, and+-- profiles. After onboarding your devices, you can use the API operations+-- to set log levels and monitor your devices with CloudWatch.+--+-- You can also use the API operations to create multicast groups and+-- schedule a multicast session for sending a downlink message to devices+-- in the group. By using Firmware Updates Over-The-Air (FUOTA) API+-- operations, you can create a FUOTA task and schedule a session to update+-- the firmware of individual devices or an entire group of devices in a+-- multicast group.+module Amazonka.IoTWireless+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** TooManyTagsException+    _TooManyTagsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AssociateAwsAccountWithPartnerAccount+    AssociateAwsAccountWithPartnerAccount (AssociateAwsAccountWithPartnerAccount'),+    newAssociateAwsAccountWithPartnerAccount,+    AssociateAwsAccountWithPartnerAccountResponse (AssociateAwsAccountWithPartnerAccountResponse'),+    newAssociateAwsAccountWithPartnerAccountResponse,++    -- ** AssociateMulticastGroupWithFuotaTask+    AssociateMulticastGroupWithFuotaTask (AssociateMulticastGroupWithFuotaTask'),+    newAssociateMulticastGroupWithFuotaTask,+    AssociateMulticastGroupWithFuotaTaskResponse (AssociateMulticastGroupWithFuotaTaskResponse'),+    newAssociateMulticastGroupWithFuotaTaskResponse,++    -- ** AssociateWirelessDeviceWithFuotaTask+    AssociateWirelessDeviceWithFuotaTask (AssociateWirelessDeviceWithFuotaTask'),+    newAssociateWirelessDeviceWithFuotaTask,+    AssociateWirelessDeviceWithFuotaTaskResponse (AssociateWirelessDeviceWithFuotaTaskResponse'),+    newAssociateWirelessDeviceWithFuotaTaskResponse,++    -- ** AssociateWirelessDeviceWithMulticastGroup+    AssociateWirelessDeviceWithMulticastGroup (AssociateWirelessDeviceWithMulticastGroup'),+    newAssociateWirelessDeviceWithMulticastGroup,+    AssociateWirelessDeviceWithMulticastGroupResponse (AssociateWirelessDeviceWithMulticastGroupResponse'),+    newAssociateWirelessDeviceWithMulticastGroupResponse,++    -- ** AssociateWirelessDeviceWithThing+    AssociateWirelessDeviceWithThing (AssociateWirelessDeviceWithThing'),+    newAssociateWirelessDeviceWithThing,+    AssociateWirelessDeviceWithThingResponse (AssociateWirelessDeviceWithThingResponse'),+    newAssociateWirelessDeviceWithThingResponse,++    -- ** AssociateWirelessGatewayWithCertificate+    AssociateWirelessGatewayWithCertificate (AssociateWirelessGatewayWithCertificate'),+    newAssociateWirelessGatewayWithCertificate,+    AssociateWirelessGatewayWithCertificateResponse (AssociateWirelessGatewayWithCertificateResponse'),+    newAssociateWirelessGatewayWithCertificateResponse,++    -- ** AssociateWirelessGatewayWithThing+    AssociateWirelessGatewayWithThing (AssociateWirelessGatewayWithThing'),+    newAssociateWirelessGatewayWithThing,+    AssociateWirelessGatewayWithThingResponse (AssociateWirelessGatewayWithThingResponse'),+    newAssociateWirelessGatewayWithThingResponse,++    -- ** CancelMulticastGroupSession+    CancelMulticastGroupSession (CancelMulticastGroupSession'),+    newCancelMulticastGroupSession,+    CancelMulticastGroupSessionResponse (CancelMulticastGroupSessionResponse'),+    newCancelMulticastGroupSessionResponse,++    -- ** CreateDestination+    CreateDestination (CreateDestination'),+    newCreateDestination,+    CreateDestinationResponse (CreateDestinationResponse'),+    newCreateDestinationResponse,++    -- ** CreateDeviceProfile+    CreateDeviceProfile (CreateDeviceProfile'),+    newCreateDeviceProfile,+    CreateDeviceProfileResponse (CreateDeviceProfileResponse'),+    newCreateDeviceProfileResponse,++    -- ** CreateFuotaTask+    CreateFuotaTask (CreateFuotaTask'),+    newCreateFuotaTask,+    CreateFuotaTaskResponse (CreateFuotaTaskResponse'),+    newCreateFuotaTaskResponse,++    -- ** CreateMulticastGroup+    CreateMulticastGroup (CreateMulticastGroup'),+    newCreateMulticastGroup,+    CreateMulticastGroupResponse (CreateMulticastGroupResponse'),+    newCreateMulticastGroupResponse,++    -- ** CreateNetworkAnalyzerConfiguration+    CreateNetworkAnalyzerConfiguration (CreateNetworkAnalyzerConfiguration'),+    newCreateNetworkAnalyzerConfiguration,+    CreateNetworkAnalyzerConfigurationResponse (CreateNetworkAnalyzerConfigurationResponse'),+    newCreateNetworkAnalyzerConfigurationResponse,++    -- ** CreateServiceProfile+    CreateServiceProfile (CreateServiceProfile'),+    newCreateServiceProfile,+    CreateServiceProfileResponse (CreateServiceProfileResponse'),+    newCreateServiceProfileResponse,++    -- ** CreateWirelessDevice+    CreateWirelessDevice (CreateWirelessDevice'),+    newCreateWirelessDevice,+    CreateWirelessDeviceResponse (CreateWirelessDeviceResponse'),+    newCreateWirelessDeviceResponse,++    -- ** CreateWirelessGateway+    CreateWirelessGateway (CreateWirelessGateway'),+    newCreateWirelessGateway,+    CreateWirelessGatewayResponse (CreateWirelessGatewayResponse'),+    newCreateWirelessGatewayResponse,++    -- ** CreateWirelessGatewayTask+    CreateWirelessGatewayTask (CreateWirelessGatewayTask'),+    newCreateWirelessGatewayTask,+    CreateWirelessGatewayTaskResponse (CreateWirelessGatewayTaskResponse'),+    newCreateWirelessGatewayTaskResponse,++    -- ** CreateWirelessGatewayTaskDefinition+    CreateWirelessGatewayTaskDefinition (CreateWirelessGatewayTaskDefinition'),+    newCreateWirelessGatewayTaskDefinition,+    CreateWirelessGatewayTaskDefinitionResponse (CreateWirelessGatewayTaskDefinitionResponse'),+    newCreateWirelessGatewayTaskDefinitionResponse,++    -- ** DeleteDestination+    DeleteDestination (DeleteDestination'),+    newDeleteDestination,+    DeleteDestinationResponse (DeleteDestinationResponse'),+    newDeleteDestinationResponse,++    -- ** DeleteDeviceProfile+    DeleteDeviceProfile (DeleteDeviceProfile'),+    newDeleteDeviceProfile,+    DeleteDeviceProfileResponse (DeleteDeviceProfileResponse'),+    newDeleteDeviceProfileResponse,++    -- ** DeleteFuotaTask+    DeleteFuotaTask (DeleteFuotaTask'),+    newDeleteFuotaTask,+    DeleteFuotaTaskResponse (DeleteFuotaTaskResponse'),+    newDeleteFuotaTaskResponse,++    -- ** DeleteMulticastGroup+    DeleteMulticastGroup (DeleteMulticastGroup'),+    newDeleteMulticastGroup,+    DeleteMulticastGroupResponse (DeleteMulticastGroupResponse'),+    newDeleteMulticastGroupResponse,++    -- ** DeleteNetworkAnalyzerConfiguration+    DeleteNetworkAnalyzerConfiguration (DeleteNetworkAnalyzerConfiguration'),+    newDeleteNetworkAnalyzerConfiguration,+    DeleteNetworkAnalyzerConfigurationResponse (DeleteNetworkAnalyzerConfigurationResponse'),+    newDeleteNetworkAnalyzerConfigurationResponse,++    -- ** DeleteQueuedMessages+    DeleteQueuedMessages (DeleteQueuedMessages'),+    newDeleteQueuedMessages,+    DeleteQueuedMessagesResponse (DeleteQueuedMessagesResponse'),+    newDeleteQueuedMessagesResponse,++    -- ** DeleteServiceProfile+    DeleteServiceProfile (DeleteServiceProfile'),+    newDeleteServiceProfile,+    DeleteServiceProfileResponse (DeleteServiceProfileResponse'),+    newDeleteServiceProfileResponse,++    -- ** DeleteWirelessDevice+    DeleteWirelessDevice (DeleteWirelessDevice'),+    newDeleteWirelessDevice,+    DeleteWirelessDeviceResponse (DeleteWirelessDeviceResponse'),+    newDeleteWirelessDeviceResponse,++    -- ** DeleteWirelessGateway+    DeleteWirelessGateway (DeleteWirelessGateway'),+    newDeleteWirelessGateway,+    DeleteWirelessGatewayResponse (DeleteWirelessGatewayResponse'),+    newDeleteWirelessGatewayResponse,++    -- ** DeleteWirelessGatewayTask+    DeleteWirelessGatewayTask (DeleteWirelessGatewayTask'),+    newDeleteWirelessGatewayTask,+    DeleteWirelessGatewayTaskResponse (DeleteWirelessGatewayTaskResponse'),+    newDeleteWirelessGatewayTaskResponse,++    -- ** DeleteWirelessGatewayTaskDefinition+    DeleteWirelessGatewayTaskDefinition (DeleteWirelessGatewayTaskDefinition'),+    newDeleteWirelessGatewayTaskDefinition,+    DeleteWirelessGatewayTaskDefinitionResponse (DeleteWirelessGatewayTaskDefinitionResponse'),+    newDeleteWirelessGatewayTaskDefinitionResponse,++    -- ** DisassociateAwsAccountFromPartnerAccount+    DisassociateAwsAccountFromPartnerAccount (DisassociateAwsAccountFromPartnerAccount'),+    newDisassociateAwsAccountFromPartnerAccount,+    DisassociateAwsAccountFromPartnerAccountResponse (DisassociateAwsAccountFromPartnerAccountResponse'),+    newDisassociateAwsAccountFromPartnerAccountResponse,++    -- ** DisassociateMulticastGroupFromFuotaTask+    DisassociateMulticastGroupFromFuotaTask (DisassociateMulticastGroupFromFuotaTask'),+    newDisassociateMulticastGroupFromFuotaTask,+    DisassociateMulticastGroupFromFuotaTaskResponse (DisassociateMulticastGroupFromFuotaTaskResponse'),+    newDisassociateMulticastGroupFromFuotaTaskResponse,++    -- ** DisassociateWirelessDeviceFromFuotaTask+    DisassociateWirelessDeviceFromFuotaTask (DisassociateWirelessDeviceFromFuotaTask'),+    newDisassociateWirelessDeviceFromFuotaTask,+    DisassociateWirelessDeviceFromFuotaTaskResponse (DisassociateWirelessDeviceFromFuotaTaskResponse'),+    newDisassociateWirelessDeviceFromFuotaTaskResponse,++    -- ** DisassociateWirelessDeviceFromMulticastGroup+    DisassociateWirelessDeviceFromMulticastGroup (DisassociateWirelessDeviceFromMulticastGroup'),+    newDisassociateWirelessDeviceFromMulticastGroup,+    DisassociateWirelessDeviceFromMulticastGroupResponse (DisassociateWirelessDeviceFromMulticastGroupResponse'),+    newDisassociateWirelessDeviceFromMulticastGroupResponse,++    -- ** DisassociateWirelessDeviceFromThing+    DisassociateWirelessDeviceFromThing (DisassociateWirelessDeviceFromThing'),+    newDisassociateWirelessDeviceFromThing,+    DisassociateWirelessDeviceFromThingResponse (DisassociateWirelessDeviceFromThingResponse'),+    newDisassociateWirelessDeviceFromThingResponse,++    -- ** DisassociateWirelessGatewayFromCertificate+    DisassociateWirelessGatewayFromCertificate (DisassociateWirelessGatewayFromCertificate'),+    newDisassociateWirelessGatewayFromCertificate,+    DisassociateWirelessGatewayFromCertificateResponse (DisassociateWirelessGatewayFromCertificateResponse'),+    newDisassociateWirelessGatewayFromCertificateResponse,++    -- ** DisassociateWirelessGatewayFromThing+    DisassociateWirelessGatewayFromThing (DisassociateWirelessGatewayFromThing'),+    newDisassociateWirelessGatewayFromThing,+    DisassociateWirelessGatewayFromThingResponse (DisassociateWirelessGatewayFromThingResponse'),+    newDisassociateWirelessGatewayFromThingResponse,++    -- ** GetDestination+    GetDestination (GetDestination'),+    newGetDestination,+    GetDestinationResponse (GetDestinationResponse'),+    newGetDestinationResponse,++    -- ** GetDeviceProfile+    GetDeviceProfile (GetDeviceProfile'),+    newGetDeviceProfile,+    GetDeviceProfileResponse (GetDeviceProfileResponse'),+    newGetDeviceProfileResponse,++    -- ** GetEventConfigurationByResourceTypes+    GetEventConfigurationByResourceTypes (GetEventConfigurationByResourceTypes'),+    newGetEventConfigurationByResourceTypes,+    GetEventConfigurationByResourceTypesResponse (GetEventConfigurationByResourceTypesResponse'),+    newGetEventConfigurationByResourceTypesResponse,++    -- ** GetFuotaTask+    GetFuotaTask (GetFuotaTask'),+    newGetFuotaTask,+    GetFuotaTaskResponse (GetFuotaTaskResponse'),+    newGetFuotaTaskResponse,++    -- ** GetLogLevelsByResourceTypes+    GetLogLevelsByResourceTypes (GetLogLevelsByResourceTypes'),+    newGetLogLevelsByResourceTypes,+    GetLogLevelsByResourceTypesResponse (GetLogLevelsByResourceTypesResponse'),+    newGetLogLevelsByResourceTypesResponse,++    -- ** GetMulticastGroup+    GetMulticastGroup (GetMulticastGroup'),+    newGetMulticastGroup,+    GetMulticastGroupResponse (GetMulticastGroupResponse'),+    newGetMulticastGroupResponse,++    -- ** GetMulticastGroupSession+    GetMulticastGroupSession (GetMulticastGroupSession'),+    newGetMulticastGroupSession,+    GetMulticastGroupSessionResponse (GetMulticastGroupSessionResponse'),+    newGetMulticastGroupSessionResponse,++    -- ** GetNetworkAnalyzerConfiguration+    GetNetworkAnalyzerConfiguration (GetNetworkAnalyzerConfiguration'),+    newGetNetworkAnalyzerConfiguration,+    GetNetworkAnalyzerConfigurationResponse (GetNetworkAnalyzerConfigurationResponse'),+    newGetNetworkAnalyzerConfigurationResponse,++    -- ** GetPartnerAccount+    GetPartnerAccount (GetPartnerAccount'),+    newGetPartnerAccount,+    GetPartnerAccountResponse (GetPartnerAccountResponse'),+    newGetPartnerAccountResponse,++    -- ** GetPositionEstimate+    GetPositionEstimate (GetPositionEstimate'),+    newGetPositionEstimate,+    GetPositionEstimateResponse (GetPositionEstimateResponse'),+    newGetPositionEstimateResponse,++    -- ** GetResourceEventConfiguration+    GetResourceEventConfiguration (GetResourceEventConfiguration'),+    newGetResourceEventConfiguration,+    GetResourceEventConfigurationResponse (GetResourceEventConfigurationResponse'),+    newGetResourceEventConfigurationResponse,++    -- ** GetResourceLogLevel+    GetResourceLogLevel (GetResourceLogLevel'),+    newGetResourceLogLevel,+    GetResourceLogLevelResponse (GetResourceLogLevelResponse'),+    newGetResourceLogLevelResponse,++    -- ** GetResourcePosition+    GetResourcePosition (GetResourcePosition'),+    newGetResourcePosition,+    GetResourcePositionResponse (GetResourcePositionResponse'),+    newGetResourcePositionResponse,++    -- ** GetServiceEndpoint+    GetServiceEndpoint (GetServiceEndpoint'),+    newGetServiceEndpoint,+    GetServiceEndpointResponse (GetServiceEndpointResponse'),+    newGetServiceEndpointResponse,++    -- ** GetServiceProfile+    GetServiceProfile (GetServiceProfile'),+    newGetServiceProfile,+    GetServiceProfileResponse (GetServiceProfileResponse'),+    newGetServiceProfileResponse,++    -- ** GetWirelessDevice+    GetWirelessDevice (GetWirelessDevice'),+    newGetWirelessDevice,+    GetWirelessDeviceResponse (GetWirelessDeviceResponse'),+    newGetWirelessDeviceResponse,++    -- ** GetWirelessDeviceStatistics+    GetWirelessDeviceStatistics (GetWirelessDeviceStatistics'),+    newGetWirelessDeviceStatistics,+    GetWirelessDeviceStatisticsResponse (GetWirelessDeviceStatisticsResponse'),+    newGetWirelessDeviceStatisticsResponse,++    -- ** GetWirelessGateway+    GetWirelessGateway (GetWirelessGateway'),+    newGetWirelessGateway,+    GetWirelessGatewayResponse (GetWirelessGatewayResponse'),+    newGetWirelessGatewayResponse,++    -- ** GetWirelessGatewayCertificate+    GetWirelessGatewayCertificate (GetWirelessGatewayCertificate'),+    newGetWirelessGatewayCertificate,+    GetWirelessGatewayCertificateResponse (GetWirelessGatewayCertificateResponse'),+    newGetWirelessGatewayCertificateResponse,++    -- ** GetWirelessGatewayFirmwareInformation+    GetWirelessGatewayFirmwareInformation (GetWirelessGatewayFirmwareInformation'),+    newGetWirelessGatewayFirmwareInformation,+    GetWirelessGatewayFirmwareInformationResponse (GetWirelessGatewayFirmwareInformationResponse'),+    newGetWirelessGatewayFirmwareInformationResponse,++    -- ** GetWirelessGatewayStatistics+    GetWirelessGatewayStatistics (GetWirelessGatewayStatistics'),+    newGetWirelessGatewayStatistics,+    GetWirelessGatewayStatisticsResponse (GetWirelessGatewayStatisticsResponse'),+    newGetWirelessGatewayStatisticsResponse,++    -- ** GetWirelessGatewayTask+    GetWirelessGatewayTask (GetWirelessGatewayTask'),+    newGetWirelessGatewayTask,+    GetWirelessGatewayTaskResponse (GetWirelessGatewayTaskResponse'),+    newGetWirelessGatewayTaskResponse,++    -- ** GetWirelessGatewayTaskDefinition+    GetWirelessGatewayTaskDefinition (GetWirelessGatewayTaskDefinition'),+    newGetWirelessGatewayTaskDefinition,+    GetWirelessGatewayTaskDefinitionResponse (GetWirelessGatewayTaskDefinitionResponse'),+    newGetWirelessGatewayTaskDefinitionResponse,++    -- ** ListDestinations+    ListDestinations (ListDestinations'),+    newListDestinations,+    ListDestinationsResponse (ListDestinationsResponse'),+    newListDestinationsResponse,++    -- ** ListDeviceProfiles+    ListDeviceProfiles (ListDeviceProfiles'),+    newListDeviceProfiles,+    ListDeviceProfilesResponse (ListDeviceProfilesResponse'),+    newListDeviceProfilesResponse,++    -- ** ListEventConfigurations+    ListEventConfigurations (ListEventConfigurations'),+    newListEventConfigurations,+    ListEventConfigurationsResponse (ListEventConfigurationsResponse'),+    newListEventConfigurationsResponse,++    -- ** ListFuotaTasks+    ListFuotaTasks (ListFuotaTasks'),+    newListFuotaTasks,+    ListFuotaTasksResponse (ListFuotaTasksResponse'),+    newListFuotaTasksResponse,++    -- ** ListMulticastGroups+    ListMulticastGroups (ListMulticastGroups'),+    newListMulticastGroups,+    ListMulticastGroupsResponse (ListMulticastGroupsResponse'),+    newListMulticastGroupsResponse,++    -- ** ListMulticastGroupsByFuotaTask+    ListMulticastGroupsByFuotaTask (ListMulticastGroupsByFuotaTask'),+    newListMulticastGroupsByFuotaTask,+    ListMulticastGroupsByFuotaTaskResponse (ListMulticastGroupsByFuotaTaskResponse'),+    newListMulticastGroupsByFuotaTaskResponse,++    -- ** ListNetworkAnalyzerConfigurations+    ListNetworkAnalyzerConfigurations (ListNetworkAnalyzerConfigurations'),+    newListNetworkAnalyzerConfigurations,+    ListNetworkAnalyzerConfigurationsResponse (ListNetworkAnalyzerConfigurationsResponse'),+    newListNetworkAnalyzerConfigurationsResponse,++    -- ** ListPartnerAccounts+    ListPartnerAccounts (ListPartnerAccounts'),+    newListPartnerAccounts,+    ListPartnerAccountsResponse (ListPartnerAccountsResponse'),+    newListPartnerAccountsResponse,++    -- ** ListQueuedMessages+    ListQueuedMessages (ListQueuedMessages'),+    newListQueuedMessages,+    ListQueuedMessagesResponse (ListQueuedMessagesResponse'),+    newListQueuedMessagesResponse,++    -- ** ListServiceProfiles+    ListServiceProfiles (ListServiceProfiles'),+    newListServiceProfiles,+    ListServiceProfilesResponse (ListServiceProfilesResponse'),+    newListServiceProfilesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListWirelessDevices+    ListWirelessDevices (ListWirelessDevices'),+    newListWirelessDevices,+    ListWirelessDevicesResponse (ListWirelessDevicesResponse'),+    newListWirelessDevicesResponse,++    -- ** ListWirelessGatewayTaskDefinitions+    ListWirelessGatewayTaskDefinitions (ListWirelessGatewayTaskDefinitions'),+    newListWirelessGatewayTaskDefinitions,+    ListWirelessGatewayTaskDefinitionsResponse (ListWirelessGatewayTaskDefinitionsResponse'),+    newListWirelessGatewayTaskDefinitionsResponse,++    -- ** ListWirelessGateways+    ListWirelessGateways (ListWirelessGateways'),+    newListWirelessGateways,+    ListWirelessGatewaysResponse (ListWirelessGatewaysResponse'),+    newListWirelessGatewaysResponse,++    -- ** PutResourceLogLevel+    PutResourceLogLevel (PutResourceLogLevel'),+    newPutResourceLogLevel,+    PutResourceLogLevelResponse (PutResourceLogLevelResponse'),+    newPutResourceLogLevelResponse,++    -- ** ResetAllResourceLogLevels+    ResetAllResourceLogLevels (ResetAllResourceLogLevels'),+    newResetAllResourceLogLevels,+    ResetAllResourceLogLevelsResponse (ResetAllResourceLogLevelsResponse'),+    newResetAllResourceLogLevelsResponse,++    -- ** ResetResourceLogLevel+    ResetResourceLogLevel (ResetResourceLogLevel'),+    newResetResourceLogLevel,+    ResetResourceLogLevelResponse (ResetResourceLogLevelResponse'),+    newResetResourceLogLevelResponse,++    -- ** SendDataToMulticastGroup+    SendDataToMulticastGroup (SendDataToMulticastGroup'),+    newSendDataToMulticastGroup,+    SendDataToMulticastGroupResponse (SendDataToMulticastGroupResponse'),+    newSendDataToMulticastGroupResponse,++    -- ** SendDataToWirelessDevice+    SendDataToWirelessDevice (SendDataToWirelessDevice'),+    newSendDataToWirelessDevice,+    SendDataToWirelessDeviceResponse (SendDataToWirelessDeviceResponse'),+    newSendDataToWirelessDeviceResponse,++    -- ** StartBulkAssociateWirelessDeviceWithMulticastGroup+    StartBulkAssociateWirelessDeviceWithMulticastGroup (StartBulkAssociateWirelessDeviceWithMulticastGroup'),+    newStartBulkAssociateWirelessDeviceWithMulticastGroup,+    StartBulkAssociateWirelessDeviceWithMulticastGroupResponse (StartBulkAssociateWirelessDeviceWithMulticastGroupResponse'),+    newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse,++    -- ** StartBulkDisassociateWirelessDeviceFromMulticastGroup+    StartBulkDisassociateWirelessDeviceFromMulticastGroup (StartBulkDisassociateWirelessDeviceFromMulticastGroup'),+    newStartBulkDisassociateWirelessDeviceFromMulticastGroup,+    StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse (StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse'),+    newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse,++    -- ** StartFuotaTask+    StartFuotaTask (StartFuotaTask'),+    newStartFuotaTask,+    StartFuotaTaskResponse (StartFuotaTaskResponse'),+    newStartFuotaTaskResponse,++    -- ** StartMulticastGroupSession+    StartMulticastGroupSession (StartMulticastGroupSession'),+    newStartMulticastGroupSession,+    StartMulticastGroupSessionResponse (StartMulticastGroupSessionResponse'),+    newStartMulticastGroupSessionResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** TestWirelessDevice+    TestWirelessDevice (TestWirelessDevice'),+    newTestWirelessDevice,+    TestWirelessDeviceResponse (TestWirelessDeviceResponse'),+    newTestWirelessDeviceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateDestination+    UpdateDestination (UpdateDestination'),+    newUpdateDestination,+    UpdateDestinationResponse (UpdateDestinationResponse'),+    newUpdateDestinationResponse,++    -- ** UpdateEventConfigurationByResourceTypes+    UpdateEventConfigurationByResourceTypes (UpdateEventConfigurationByResourceTypes'),+    newUpdateEventConfigurationByResourceTypes,+    UpdateEventConfigurationByResourceTypesResponse (UpdateEventConfigurationByResourceTypesResponse'),+    newUpdateEventConfigurationByResourceTypesResponse,++    -- ** UpdateFuotaTask+    UpdateFuotaTask (UpdateFuotaTask'),+    newUpdateFuotaTask,+    UpdateFuotaTaskResponse (UpdateFuotaTaskResponse'),+    newUpdateFuotaTaskResponse,++    -- ** UpdateLogLevelsByResourceTypes+    UpdateLogLevelsByResourceTypes (UpdateLogLevelsByResourceTypes'),+    newUpdateLogLevelsByResourceTypes,+    UpdateLogLevelsByResourceTypesResponse (UpdateLogLevelsByResourceTypesResponse'),+    newUpdateLogLevelsByResourceTypesResponse,++    -- ** UpdateMulticastGroup+    UpdateMulticastGroup (UpdateMulticastGroup'),+    newUpdateMulticastGroup,+    UpdateMulticastGroupResponse (UpdateMulticastGroupResponse'),+    newUpdateMulticastGroupResponse,++    -- ** UpdateNetworkAnalyzerConfiguration+    UpdateNetworkAnalyzerConfiguration (UpdateNetworkAnalyzerConfiguration'),+    newUpdateNetworkAnalyzerConfiguration,+    UpdateNetworkAnalyzerConfigurationResponse (UpdateNetworkAnalyzerConfigurationResponse'),+    newUpdateNetworkAnalyzerConfigurationResponse,++    -- ** UpdatePartnerAccount+    UpdatePartnerAccount (UpdatePartnerAccount'),+    newUpdatePartnerAccount,+    UpdatePartnerAccountResponse (UpdatePartnerAccountResponse'),+    newUpdatePartnerAccountResponse,++    -- ** UpdateResourceEventConfiguration+    UpdateResourceEventConfiguration (UpdateResourceEventConfiguration'),+    newUpdateResourceEventConfiguration,+    UpdateResourceEventConfigurationResponse (UpdateResourceEventConfigurationResponse'),+    newUpdateResourceEventConfigurationResponse,++    -- ** UpdateResourcePosition+    UpdateResourcePosition (UpdateResourcePosition'),+    newUpdateResourcePosition,+    UpdateResourcePositionResponse (UpdateResourcePositionResponse'),+    newUpdateResourcePositionResponse,++    -- ** UpdateWirelessDevice+    UpdateWirelessDevice (UpdateWirelessDevice'),+    newUpdateWirelessDevice,+    UpdateWirelessDeviceResponse (UpdateWirelessDeviceResponse'),+    newUpdateWirelessDeviceResponse,++    -- ** UpdateWirelessGateway+    UpdateWirelessGateway (UpdateWirelessGateway'),+    newUpdateWirelessGateway,+    UpdateWirelessGatewayResponse (UpdateWirelessGatewayResponse'),+    newUpdateWirelessGatewayResponse,++    -- * Types++    -- ** ApplicationConfigType+    ApplicationConfigType (..),++    -- ** BatteryLevel+    BatteryLevel (..),++    -- ** ConnectionStatus+    ConnectionStatus (..),++    -- ** DeviceState+    DeviceState (..),++    -- ** DlClass+    DlClass (..),++    -- ** DownlinkMode+    DownlinkMode (..),++    -- ** Event+    Event (..),++    -- ** EventNotificationPartnerType+    EventNotificationPartnerType (..),++    -- ** EventNotificationResourceType+    EventNotificationResourceType (..),++    -- ** EventNotificationTopicStatus+    EventNotificationTopicStatus (..),++    -- ** ExpressionType+    ExpressionType (..),++    -- ** FuotaDeviceStatus+    FuotaDeviceStatus (..),++    -- ** FuotaTaskStatus+    FuotaTaskStatus (..),++    -- ** IdentifierType+    IdentifierType (..),++    -- ** LogLevel+    LogLevel (..),++    -- ** MessageType+    MessageType (..),++    -- ** PartnerType+    PartnerType (..),++    -- ** PositionResourceType+    PositionResourceType (..),++    -- ** PositioningConfigStatus+    PositioningConfigStatus (..),++    -- ** SigningAlg+    SigningAlg (..),++    -- ** SupportedRfRegion+    SupportedRfRegion (..),++    -- ** WirelessDeviceEvent+    WirelessDeviceEvent (..),++    -- ** WirelessDeviceFrameInfo+    WirelessDeviceFrameInfo (..),++    -- ** WirelessDeviceIdType+    WirelessDeviceIdType (..),++    -- ** WirelessDeviceType+    WirelessDeviceType (..),++    -- ** WirelessGatewayEvent+    WirelessGatewayEvent (..),++    -- ** WirelessGatewayIdType+    WirelessGatewayIdType (..),++    -- ** WirelessGatewayServiceType+    WirelessGatewayServiceType (..),++    -- ** WirelessGatewayTaskDefinitionType+    WirelessGatewayTaskDefinitionType (..),++    -- ** WirelessGatewayTaskStatus+    WirelessGatewayTaskStatus (..),++    -- ** WirelessGatewayType+    WirelessGatewayType (..),++    -- ** AbpV1_0_x+    AbpV1_0_x (AbpV1_0_x'),+    newAbpV1_0_x,++    -- ** AbpV1_1+    AbpV1_1 (AbpV1_1'),+    newAbpV1_1,++    -- ** ApplicationConfig+    ApplicationConfig (ApplicationConfig'),+    newApplicationConfig,++    -- ** Beaconing+    Beaconing (Beaconing'),+    newBeaconing,++    -- ** CdmaLocalId+    CdmaLocalId (CdmaLocalId'),+    newCdmaLocalId,++    -- ** CdmaNmrObj+    CdmaNmrObj (CdmaNmrObj'),+    newCdmaNmrObj,++    -- ** CdmaObj+    CdmaObj (CdmaObj'),+    newCdmaObj,++    -- ** CellTowers+    CellTowers (CellTowers'),+    newCellTowers,++    -- ** CertificateList+    CertificateList (CertificateList'),+    newCertificateList,++    -- ** ConnectionStatusEventConfiguration+    ConnectionStatusEventConfiguration (ConnectionStatusEventConfiguration'),+    newConnectionStatusEventConfiguration,++    -- ** ConnectionStatusResourceTypeEventConfiguration+    ConnectionStatusResourceTypeEventConfiguration (ConnectionStatusResourceTypeEventConfiguration'),+    newConnectionStatusResourceTypeEventConfiguration,++    -- ** Destinations+    Destinations (Destinations'),+    newDestinations,++    -- ** DeviceProfile+    DeviceProfile (DeviceProfile'),+    newDeviceProfile,++    -- ** DeviceRegistrationStateEventConfiguration+    DeviceRegistrationStateEventConfiguration (DeviceRegistrationStateEventConfiguration'),+    newDeviceRegistrationStateEventConfiguration,++    -- ** DeviceRegistrationStateResourceTypeEventConfiguration+    DeviceRegistrationStateResourceTypeEventConfiguration (DeviceRegistrationStateResourceTypeEventConfiguration'),+    newDeviceRegistrationStateResourceTypeEventConfiguration,++    -- ** DownlinkQueueMessage+    DownlinkQueueMessage (DownlinkQueueMessage'),+    newDownlinkQueueMessage,++    -- ** EventConfigurationItem+    EventConfigurationItem (EventConfigurationItem'),+    newEventConfigurationItem,++    -- ** EventNotificationItemConfigurations+    EventNotificationItemConfigurations (EventNotificationItemConfigurations'),+    newEventNotificationItemConfigurations,++    -- ** FPorts+    FPorts (FPorts'),+    newFPorts,++    -- ** FuotaTask+    FuotaTask (FuotaTask'),+    newFuotaTask,++    -- ** GatewayListItem+    GatewayListItem (GatewayListItem'),+    newGatewayListItem,++    -- ** GlobalIdentity+    GlobalIdentity (GlobalIdentity'),+    newGlobalIdentity,++    -- ** Gnss+    Gnss (Gnss'),+    newGnss,++    -- ** GsmLocalId+    GsmLocalId (GsmLocalId'),+    newGsmLocalId,++    -- ** GsmNmrObj+    GsmNmrObj (GsmNmrObj'),+    newGsmNmrObj,++    -- ** GsmObj+    GsmObj (GsmObj'),+    newGsmObj,++    -- ** Ip+    Ip (Ip'),+    newIp,++    -- ** JoinEventConfiguration+    JoinEventConfiguration (JoinEventConfiguration'),+    newJoinEventConfiguration,++    -- ** JoinResourceTypeEventConfiguration+    JoinResourceTypeEventConfiguration (JoinResourceTypeEventConfiguration'),+    newJoinResourceTypeEventConfiguration,++    -- ** LoRaWANConnectionStatusEventNotificationConfigurations+    LoRaWANConnectionStatusEventNotificationConfigurations (LoRaWANConnectionStatusEventNotificationConfigurations'),+    newLoRaWANConnectionStatusEventNotificationConfigurations,++    -- ** LoRaWANConnectionStatusResourceTypeEventConfiguration+    LoRaWANConnectionStatusResourceTypeEventConfiguration (LoRaWANConnectionStatusResourceTypeEventConfiguration'),+    newLoRaWANConnectionStatusResourceTypeEventConfiguration,++    -- ** LoRaWANDevice+    LoRaWANDevice (LoRaWANDevice'),+    newLoRaWANDevice,++    -- ** LoRaWANDeviceMetadata+    LoRaWANDeviceMetadata (LoRaWANDeviceMetadata'),+    newLoRaWANDeviceMetadata,++    -- ** LoRaWANDeviceProfile+    LoRaWANDeviceProfile (LoRaWANDeviceProfile'),+    newLoRaWANDeviceProfile,++    -- ** LoRaWANFuotaTask+    LoRaWANFuotaTask (LoRaWANFuotaTask'),+    newLoRaWANFuotaTask,++    -- ** LoRaWANFuotaTaskGetInfo+    LoRaWANFuotaTaskGetInfo (LoRaWANFuotaTaskGetInfo'),+    newLoRaWANFuotaTaskGetInfo,++    -- ** LoRaWANGateway+    LoRaWANGateway (LoRaWANGateway'),+    newLoRaWANGateway,++    -- ** LoRaWANGatewayCurrentVersion+    LoRaWANGatewayCurrentVersion (LoRaWANGatewayCurrentVersion'),+    newLoRaWANGatewayCurrentVersion,++    -- ** LoRaWANGatewayMetadata+    LoRaWANGatewayMetadata (LoRaWANGatewayMetadata'),+    newLoRaWANGatewayMetadata,++    -- ** LoRaWANGatewayVersion+    LoRaWANGatewayVersion (LoRaWANGatewayVersion'),+    newLoRaWANGatewayVersion,++    -- ** LoRaWANGetServiceProfileInfo+    LoRaWANGetServiceProfileInfo (LoRaWANGetServiceProfileInfo'),+    newLoRaWANGetServiceProfileInfo,++    -- ** LoRaWANJoinEventNotificationConfigurations+    LoRaWANJoinEventNotificationConfigurations (LoRaWANJoinEventNotificationConfigurations'),+    newLoRaWANJoinEventNotificationConfigurations,++    -- ** LoRaWANJoinResourceTypeEventConfiguration+    LoRaWANJoinResourceTypeEventConfiguration (LoRaWANJoinResourceTypeEventConfiguration'),+    newLoRaWANJoinResourceTypeEventConfiguration,++    -- ** LoRaWANListDevice+    LoRaWANListDevice (LoRaWANListDevice'),+    newLoRaWANListDevice,++    -- ** LoRaWANMulticast+    LoRaWANMulticast (LoRaWANMulticast'),+    newLoRaWANMulticast,++    -- ** LoRaWANMulticastGet+    LoRaWANMulticastGet (LoRaWANMulticastGet'),+    newLoRaWANMulticastGet,++    -- ** LoRaWANMulticastMetadata+    LoRaWANMulticastMetadata (LoRaWANMulticastMetadata'),+    newLoRaWANMulticastMetadata,++    -- ** LoRaWANMulticastSession+    LoRaWANMulticastSession (LoRaWANMulticastSession'),+    newLoRaWANMulticastSession,++    -- ** LoRaWANSendDataToDevice+    LoRaWANSendDataToDevice (LoRaWANSendDataToDevice'),+    newLoRaWANSendDataToDevice,++    -- ** LoRaWANServiceProfile+    LoRaWANServiceProfile (LoRaWANServiceProfile'),+    newLoRaWANServiceProfile,++    -- ** LoRaWANStartFuotaTask+    LoRaWANStartFuotaTask (LoRaWANStartFuotaTask'),+    newLoRaWANStartFuotaTask,++    -- ** LoRaWANUpdateDevice+    LoRaWANUpdateDevice (LoRaWANUpdateDevice'),+    newLoRaWANUpdateDevice,++    -- ** LoRaWANUpdateGatewayTaskCreate+    LoRaWANUpdateGatewayTaskCreate (LoRaWANUpdateGatewayTaskCreate'),+    newLoRaWANUpdateGatewayTaskCreate,++    -- ** LoRaWANUpdateGatewayTaskEntry+    LoRaWANUpdateGatewayTaskEntry (LoRaWANUpdateGatewayTaskEntry'),+    newLoRaWANUpdateGatewayTaskEntry,++    -- ** LteLocalId+    LteLocalId (LteLocalId'),+    newLteLocalId,++    -- ** LteNmrObj+    LteNmrObj (LteNmrObj'),+    newLteNmrObj,++    -- ** LteObj+    LteObj (LteObj'),+    newLteObj,++    -- ** MessageDeliveryStatusEventConfiguration+    MessageDeliveryStatusEventConfiguration (MessageDeliveryStatusEventConfiguration'),+    newMessageDeliveryStatusEventConfiguration,++    -- ** MessageDeliveryStatusResourceTypeEventConfiguration+    MessageDeliveryStatusResourceTypeEventConfiguration (MessageDeliveryStatusResourceTypeEventConfiguration'),+    newMessageDeliveryStatusResourceTypeEventConfiguration,++    -- ** MulticastGroup+    MulticastGroup (MulticastGroup'),+    newMulticastGroup,++    -- ** MulticastGroupByFuotaTask+    MulticastGroupByFuotaTask (MulticastGroupByFuotaTask'),+    newMulticastGroupByFuotaTask,++    -- ** MulticastWirelessMetadata+    MulticastWirelessMetadata (MulticastWirelessMetadata'),+    newMulticastWirelessMetadata,++    -- ** NetworkAnalyzerConfigurations+    NetworkAnalyzerConfigurations (NetworkAnalyzerConfigurations'),+    newNetworkAnalyzerConfigurations,++    -- ** OtaaV1_0_x+    OtaaV1_0_x (OtaaV1_0_x'),+    newOtaaV1_0_x,++    -- ** OtaaV1_1+    OtaaV1_1 (OtaaV1_1'),+    newOtaaV1_1,++    -- ** ParticipatingGateways+    ParticipatingGateways (ParticipatingGateways'),+    newParticipatingGateways,++    -- ** Positioning+    Positioning (Positioning'),+    newPositioning,++    -- ** ProximityEventConfiguration+    ProximityEventConfiguration (ProximityEventConfiguration'),+    newProximityEventConfiguration,++    -- ** ProximityResourceTypeEventConfiguration+    ProximityResourceTypeEventConfiguration (ProximityResourceTypeEventConfiguration'),+    newProximityResourceTypeEventConfiguration,++    -- ** ServiceProfile+    ServiceProfile (ServiceProfile'),+    newServiceProfile,++    -- ** SessionKeysAbpV1_0_x+    SessionKeysAbpV1_0_x (SessionKeysAbpV1_0_x'),+    newSessionKeysAbpV1_0_x,++    -- ** SessionKeysAbpV1_1+    SessionKeysAbpV1_1 (SessionKeysAbpV1_1'),+    newSessionKeysAbpV1_1,++    -- ** SidewalkAccountInfo+    SidewalkAccountInfo (SidewalkAccountInfo'),+    newSidewalkAccountInfo,++    -- ** SidewalkAccountInfoWithFingerprint+    SidewalkAccountInfoWithFingerprint (SidewalkAccountInfoWithFingerprint'),+    newSidewalkAccountInfoWithFingerprint,++    -- ** SidewalkDevice+    SidewalkDevice (SidewalkDevice'),+    newSidewalkDevice,++    -- ** SidewalkDeviceMetadata+    SidewalkDeviceMetadata (SidewalkDeviceMetadata'),+    newSidewalkDeviceMetadata,++    -- ** SidewalkEventNotificationConfigurations+    SidewalkEventNotificationConfigurations (SidewalkEventNotificationConfigurations'),+    newSidewalkEventNotificationConfigurations,++    -- ** SidewalkListDevice+    SidewalkListDevice (SidewalkListDevice'),+    newSidewalkListDevice,++    -- ** SidewalkResourceTypeEventConfiguration+    SidewalkResourceTypeEventConfiguration (SidewalkResourceTypeEventConfiguration'),+    newSidewalkResourceTypeEventConfiguration,++    -- ** SidewalkSendDataToDevice+    SidewalkSendDataToDevice (SidewalkSendDataToDevice'),+    newSidewalkSendDataToDevice,++    -- ** SidewalkUpdateAccount+    SidewalkUpdateAccount (SidewalkUpdateAccount'),+    newSidewalkUpdateAccount,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TdscdmaLocalId+    TdscdmaLocalId (TdscdmaLocalId'),+    newTdscdmaLocalId,++    -- ** TdscdmaNmrObj+    TdscdmaNmrObj (TdscdmaNmrObj'),+    newTdscdmaNmrObj,++    -- ** TdscdmaObj+    TdscdmaObj (TdscdmaObj'),+    newTdscdmaObj,++    -- ** TraceContent+    TraceContent (TraceContent'),+    newTraceContent,++    -- ** UpdateAbpV1_0_x+    UpdateAbpV1_0_x (UpdateAbpV1_0_x'),+    newUpdateAbpV1_0_x,++    -- ** UpdateAbpV1_1+    UpdateAbpV1_1 (UpdateAbpV1_1'),+    newUpdateAbpV1_1,++    -- ** UpdateFPorts+    UpdateFPorts (UpdateFPorts'),+    newUpdateFPorts,++    -- ** UpdateWirelessGatewayTaskCreate+    UpdateWirelessGatewayTaskCreate (UpdateWirelessGatewayTaskCreate'),+    newUpdateWirelessGatewayTaskCreate,++    -- ** UpdateWirelessGatewayTaskEntry+    UpdateWirelessGatewayTaskEntry (UpdateWirelessGatewayTaskEntry'),+    newUpdateWirelessGatewayTaskEntry,++    -- ** WcdmaLocalId+    WcdmaLocalId (WcdmaLocalId'),+    newWcdmaLocalId,++    -- ** WcdmaNmrObj+    WcdmaNmrObj (WcdmaNmrObj'),+    newWcdmaNmrObj,++    -- ** WcdmaObj+    WcdmaObj (WcdmaObj'),+    newWcdmaObj,++    -- ** WiFiAccessPoint+    WiFiAccessPoint (WiFiAccessPoint'),+    newWiFiAccessPoint,++    -- ** WirelessDeviceEventLogOption+    WirelessDeviceEventLogOption (WirelessDeviceEventLogOption'),+    newWirelessDeviceEventLogOption,++    -- ** WirelessDeviceLogOption+    WirelessDeviceLogOption (WirelessDeviceLogOption'),+    newWirelessDeviceLogOption,++    -- ** WirelessDeviceStatistics+    WirelessDeviceStatistics (WirelessDeviceStatistics'),+    newWirelessDeviceStatistics,++    -- ** WirelessGatewayEventLogOption+    WirelessGatewayEventLogOption (WirelessGatewayEventLogOption'),+    newWirelessGatewayEventLogOption,++    -- ** WirelessGatewayLogOption+    WirelessGatewayLogOption (WirelessGatewayLogOption'),+    newWirelessGatewayLogOption,++    -- ** WirelessGatewayStatistics+    WirelessGatewayStatistics (WirelessGatewayStatistics'),+    newWirelessGatewayStatistics,++    -- ** WirelessMetadata+    WirelessMetadata (WirelessMetadata'),+    newWirelessMetadata,+  )+where++import Amazonka.IoTWireless.AssociateAwsAccountWithPartnerAccount+import Amazonka.IoTWireless.AssociateMulticastGroupWithFuotaTask+import Amazonka.IoTWireless.AssociateWirelessDeviceWithFuotaTask+import Amazonka.IoTWireless.AssociateWirelessDeviceWithMulticastGroup+import Amazonka.IoTWireless.AssociateWirelessDeviceWithThing+import Amazonka.IoTWireless.AssociateWirelessGatewayWithCertificate+import Amazonka.IoTWireless.AssociateWirelessGatewayWithThing+import Amazonka.IoTWireless.CancelMulticastGroupSession+import Amazonka.IoTWireless.CreateDestination+import Amazonka.IoTWireless.CreateDeviceProfile+import Amazonka.IoTWireless.CreateFuotaTask+import Amazonka.IoTWireless.CreateMulticastGroup+import Amazonka.IoTWireless.CreateNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.CreateServiceProfile+import Amazonka.IoTWireless.CreateWirelessDevice+import Amazonka.IoTWireless.CreateWirelessGateway+import Amazonka.IoTWireless.CreateWirelessGatewayTask+import Amazonka.IoTWireless.CreateWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.DeleteDestination+import Amazonka.IoTWireless.DeleteDeviceProfile+import Amazonka.IoTWireless.DeleteFuotaTask+import Amazonka.IoTWireless.DeleteMulticastGroup+import Amazonka.IoTWireless.DeleteNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.DeleteQueuedMessages+import Amazonka.IoTWireless.DeleteServiceProfile+import Amazonka.IoTWireless.DeleteWirelessDevice+import Amazonka.IoTWireless.DeleteWirelessGateway+import Amazonka.IoTWireless.DeleteWirelessGatewayTask+import Amazonka.IoTWireless.DeleteWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.DisassociateAwsAccountFromPartnerAccount+import Amazonka.IoTWireless.DisassociateMulticastGroupFromFuotaTask+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromFuotaTask+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromMulticastGroup+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromThing+import Amazonka.IoTWireless.DisassociateWirelessGatewayFromCertificate+import Amazonka.IoTWireless.DisassociateWirelessGatewayFromThing+import Amazonka.IoTWireless.GetDestination+import Amazonka.IoTWireless.GetDeviceProfile+import Amazonka.IoTWireless.GetEventConfigurationByResourceTypes+import Amazonka.IoTWireless.GetFuotaTask+import Amazonka.IoTWireless.GetLogLevelsByResourceTypes+import Amazonka.IoTWireless.GetMulticastGroup+import Amazonka.IoTWireless.GetMulticastGroupSession+import Amazonka.IoTWireless.GetNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.GetPartnerAccount+import Amazonka.IoTWireless.GetPositionEstimate+import Amazonka.IoTWireless.GetResourceEventConfiguration+import Amazonka.IoTWireless.GetResourceLogLevel+import Amazonka.IoTWireless.GetResourcePosition+import Amazonka.IoTWireless.GetServiceEndpoint+import Amazonka.IoTWireless.GetServiceProfile+import Amazonka.IoTWireless.GetWirelessDevice+import Amazonka.IoTWireless.GetWirelessDeviceStatistics+import Amazonka.IoTWireless.GetWirelessGateway+import Amazonka.IoTWireless.GetWirelessGatewayCertificate+import Amazonka.IoTWireless.GetWirelessGatewayFirmwareInformation+import Amazonka.IoTWireless.GetWirelessGatewayStatistics+import Amazonka.IoTWireless.GetWirelessGatewayTask+import Amazonka.IoTWireless.GetWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.Lens+import Amazonka.IoTWireless.ListDestinations+import Amazonka.IoTWireless.ListDeviceProfiles+import Amazonka.IoTWireless.ListEventConfigurations+import Amazonka.IoTWireless.ListFuotaTasks+import Amazonka.IoTWireless.ListMulticastGroups+import Amazonka.IoTWireless.ListMulticastGroupsByFuotaTask+import Amazonka.IoTWireless.ListNetworkAnalyzerConfigurations+import Amazonka.IoTWireless.ListPartnerAccounts+import Amazonka.IoTWireless.ListQueuedMessages+import Amazonka.IoTWireless.ListServiceProfiles+import Amazonka.IoTWireless.ListTagsForResource+import Amazonka.IoTWireless.ListWirelessDevices+import Amazonka.IoTWireless.ListWirelessGatewayTaskDefinitions+import Amazonka.IoTWireless.ListWirelessGateways+import Amazonka.IoTWireless.PutResourceLogLevel+import Amazonka.IoTWireless.ResetAllResourceLogLevels+import Amazonka.IoTWireless.ResetResourceLogLevel+import Amazonka.IoTWireless.SendDataToMulticastGroup+import Amazonka.IoTWireless.SendDataToWirelessDevice+import Amazonka.IoTWireless.StartBulkAssociateWirelessDeviceWithMulticastGroup+import Amazonka.IoTWireless.StartBulkDisassociateWirelessDeviceFromMulticastGroup+import Amazonka.IoTWireless.StartFuotaTask+import Amazonka.IoTWireless.StartMulticastGroupSession+import Amazonka.IoTWireless.TagResource+import Amazonka.IoTWireless.TestWirelessDevice+import Amazonka.IoTWireless.Types+import Amazonka.IoTWireless.UntagResource+import Amazonka.IoTWireless.UpdateDestination+import Amazonka.IoTWireless.UpdateEventConfigurationByResourceTypes+import Amazonka.IoTWireless.UpdateFuotaTask+import Amazonka.IoTWireless.UpdateLogLevelsByResourceTypes+import Amazonka.IoTWireless.UpdateMulticastGroup+import Amazonka.IoTWireless.UpdateNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.UpdatePartnerAccount+import Amazonka.IoTWireless.UpdateResourceEventConfiguration+import Amazonka.IoTWireless.UpdateResourcePosition+import Amazonka.IoTWireless.UpdateWirelessDevice+import Amazonka.IoTWireless.UpdateWirelessGateway+import Amazonka.IoTWireless.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 'IoTWireless'.++-- $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/IoTWireless/AssociateAwsAccountWithPartnerAccount.hs view
@@ -0,0 +1,242 @@+{-# 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.IoTWireless.AssociateAwsAccountWithPartnerAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a partner account with your AWS account.+module Amazonka.IoTWireless.AssociateAwsAccountWithPartnerAccount+  ( -- * Creating a Request+    AssociateAwsAccountWithPartnerAccount (..),+    newAssociateAwsAccountWithPartnerAccount,++    -- * Request Lenses+    associateAwsAccountWithPartnerAccount_clientRequestToken,+    associateAwsAccountWithPartnerAccount_tags,+    associateAwsAccountWithPartnerAccount_sidewalk,++    -- * Destructuring the Response+    AssociateAwsAccountWithPartnerAccountResponse (..),+    newAssociateAwsAccountWithPartnerAccountResponse,++    -- * Response Lenses+    associateAwsAccountWithPartnerAccountResponse_arn,+    associateAwsAccountWithPartnerAccountResponse_sidewalk,+    associateAwsAccountWithPartnerAccountResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateAwsAccountWithPartnerAccount' smart constructor.+data AssociateAwsAccountWithPartnerAccount = AssociateAwsAccountWithPartnerAccount'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the specified resource. Tags are metadata that you+    -- can use to manage a resource.+    tags :: Prelude.Maybe [Tag],+    -- | The Sidewalk account credentials.+    sidewalk :: SidewalkAccountInfo+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAwsAccountWithPartnerAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'associateAwsAccountWithPartnerAccount_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'tags', 'associateAwsAccountWithPartnerAccount_tags' - The tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a resource.+--+-- 'sidewalk', 'associateAwsAccountWithPartnerAccount_sidewalk' - The Sidewalk account credentials.+newAssociateAwsAccountWithPartnerAccount ::+  -- | 'sidewalk'+  SidewalkAccountInfo ->+  AssociateAwsAccountWithPartnerAccount+newAssociateAwsAccountWithPartnerAccount pSidewalk_ =+  AssociateAwsAccountWithPartnerAccount'+    { clientRequestToken =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      sidewalk = pSidewalk_+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+associateAwsAccountWithPartnerAccount_clientRequestToken :: Lens.Lens' AssociateAwsAccountWithPartnerAccount (Prelude.Maybe Prelude.Text)+associateAwsAccountWithPartnerAccount_clientRequestToken = Lens.lens (\AssociateAwsAccountWithPartnerAccount' {clientRequestToken} -> clientRequestToken) (\s@AssociateAwsAccountWithPartnerAccount' {} a -> s {clientRequestToken = a} :: AssociateAwsAccountWithPartnerAccount)++-- | The tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a resource.+associateAwsAccountWithPartnerAccount_tags :: Lens.Lens' AssociateAwsAccountWithPartnerAccount (Prelude.Maybe [Tag])+associateAwsAccountWithPartnerAccount_tags = Lens.lens (\AssociateAwsAccountWithPartnerAccount' {tags} -> tags) (\s@AssociateAwsAccountWithPartnerAccount' {} a -> s {tags = a} :: AssociateAwsAccountWithPartnerAccount) Prelude.. Lens.mapping Lens.coerced++-- | The Sidewalk account credentials.+associateAwsAccountWithPartnerAccount_sidewalk :: Lens.Lens' AssociateAwsAccountWithPartnerAccount SidewalkAccountInfo+associateAwsAccountWithPartnerAccount_sidewalk = Lens.lens (\AssociateAwsAccountWithPartnerAccount' {sidewalk} -> sidewalk) (\s@AssociateAwsAccountWithPartnerAccount' {} a -> s {sidewalk = a} :: AssociateAwsAccountWithPartnerAccount)++instance+  Core.AWSRequest+    AssociateAwsAccountWithPartnerAccount+  where+  type+    AWSResponse+      AssociateAwsAccountWithPartnerAccount =+      AssociateAwsAccountWithPartnerAccountResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateAwsAccountWithPartnerAccountResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Sidewalk")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateAwsAccountWithPartnerAccount+  where+  hashWithSalt+    _salt+    AssociateAwsAccountWithPartnerAccount' {..} =+      _salt+        `Prelude.hashWithSalt` clientRequestToken+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` sidewalk++instance+  Prelude.NFData+    AssociateAwsAccountWithPartnerAccount+  where+  rnf AssociateAwsAccountWithPartnerAccount' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sidewalk++instance+  Data.ToHeaders+    AssociateAwsAccountWithPartnerAccount+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateAwsAccountWithPartnerAccount+  where+  toJSON AssociateAwsAccountWithPartnerAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Sidewalk" Data..= sidewalk)+          ]+      )++instance+  Data.ToPath+    AssociateAwsAccountWithPartnerAccount+  where+  toPath = Prelude.const "/partner-accounts"++instance+  Data.ToQuery+    AssociateAwsAccountWithPartnerAccount+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAwsAccountWithPartnerAccountResponse' smart constructor.+data AssociateAwsAccountWithPartnerAccountResponse = AssociateAwsAccountWithPartnerAccountResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk account credentials.+    sidewalk :: Prelude.Maybe SidewalkAccountInfo,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAwsAccountWithPartnerAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateAwsAccountWithPartnerAccountResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'sidewalk', 'associateAwsAccountWithPartnerAccountResponse_sidewalk' - The Sidewalk account credentials.+--+-- 'httpStatus', 'associateAwsAccountWithPartnerAccountResponse_httpStatus' - The response's http status code.+newAssociateAwsAccountWithPartnerAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateAwsAccountWithPartnerAccountResponse+newAssociateAwsAccountWithPartnerAccountResponse+  pHttpStatus_ =+    AssociateAwsAccountWithPartnerAccountResponse'+      { arn =+          Prelude.Nothing,+        sidewalk = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name of the resource.+associateAwsAccountWithPartnerAccountResponse_arn :: Lens.Lens' AssociateAwsAccountWithPartnerAccountResponse (Prelude.Maybe Prelude.Text)+associateAwsAccountWithPartnerAccountResponse_arn = Lens.lens (\AssociateAwsAccountWithPartnerAccountResponse' {arn} -> arn) (\s@AssociateAwsAccountWithPartnerAccountResponse' {} a -> s {arn = a} :: AssociateAwsAccountWithPartnerAccountResponse)++-- | The Sidewalk account credentials.+associateAwsAccountWithPartnerAccountResponse_sidewalk :: Lens.Lens' AssociateAwsAccountWithPartnerAccountResponse (Prelude.Maybe SidewalkAccountInfo)+associateAwsAccountWithPartnerAccountResponse_sidewalk = Lens.lens (\AssociateAwsAccountWithPartnerAccountResponse' {sidewalk} -> sidewalk) (\s@AssociateAwsAccountWithPartnerAccountResponse' {} a -> s {sidewalk = a} :: AssociateAwsAccountWithPartnerAccountResponse)++-- | The response's http status code.+associateAwsAccountWithPartnerAccountResponse_httpStatus :: Lens.Lens' AssociateAwsAccountWithPartnerAccountResponse Prelude.Int+associateAwsAccountWithPartnerAccountResponse_httpStatus = Lens.lens (\AssociateAwsAccountWithPartnerAccountResponse' {httpStatus} -> httpStatus) (\s@AssociateAwsAccountWithPartnerAccountResponse' {} a -> s {httpStatus = a} :: AssociateAwsAccountWithPartnerAccountResponse)++instance+  Prelude.NFData+    AssociateAwsAccountWithPartnerAccountResponse+  where+  rnf+    AssociateAwsAccountWithPartnerAccountResponse' {..} =+      Prelude.rnf arn+        `Prelude.seq` Prelude.rnf sidewalk+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateMulticastGroupWithFuotaTask.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.AssociateMulticastGroupWithFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate a multicast group with a FUOTA task.+module Amazonka.IoTWireless.AssociateMulticastGroupWithFuotaTask+  ( -- * Creating a Request+    AssociateMulticastGroupWithFuotaTask (..),+    newAssociateMulticastGroupWithFuotaTask,++    -- * Request Lenses+    associateMulticastGroupWithFuotaTask_id,+    associateMulticastGroupWithFuotaTask_multicastGroupId,++    -- * Destructuring the Response+    AssociateMulticastGroupWithFuotaTaskResponse (..),+    newAssociateMulticastGroupWithFuotaTaskResponse,++    -- * Response Lenses+    associateMulticastGroupWithFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateMulticastGroupWithFuotaTask' smart constructor.+data AssociateMulticastGroupWithFuotaTask = AssociateMulticastGroupWithFuotaTask'+  { id :: Prelude.Text,+    multicastGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateMulticastGroupWithFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateMulticastGroupWithFuotaTask_id' - Undocumented member.+--+-- 'multicastGroupId', 'associateMulticastGroupWithFuotaTask_multicastGroupId' - Undocumented member.+newAssociateMulticastGroupWithFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  -- | 'multicastGroupId'+  Prelude.Text ->+  AssociateMulticastGroupWithFuotaTask+newAssociateMulticastGroupWithFuotaTask+  pId_+  pMulticastGroupId_ =+    AssociateMulticastGroupWithFuotaTask'+      { id = pId_,+        multicastGroupId = pMulticastGroupId_+      }++-- | Undocumented member.+associateMulticastGroupWithFuotaTask_id :: Lens.Lens' AssociateMulticastGroupWithFuotaTask Prelude.Text+associateMulticastGroupWithFuotaTask_id = Lens.lens (\AssociateMulticastGroupWithFuotaTask' {id} -> id) (\s@AssociateMulticastGroupWithFuotaTask' {} a -> s {id = a} :: AssociateMulticastGroupWithFuotaTask)++-- | Undocumented member.+associateMulticastGroupWithFuotaTask_multicastGroupId :: Lens.Lens' AssociateMulticastGroupWithFuotaTask Prelude.Text+associateMulticastGroupWithFuotaTask_multicastGroupId = Lens.lens (\AssociateMulticastGroupWithFuotaTask' {multicastGroupId} -> multicastGroupId) (\s@AssociateMulticastGroupWithFuotaTask' {} a -> s {multicastGroupId = a} :: AssociateMulticastGroupWithFuotaTask)++instance+  Core.AWSRequest+    AssociateMulticastGroupWithFuotaTask+  where+  type+    AWSResponse AssociateMulticastGroupWithFuotaTask =+      AssociateMulticastGroupWithFuotaTaskResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateMulticastGroupWithFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateMulticastGroupWithFuotaTask+  where+  hashWithSalt+    _salt+    AssociateMulticastGroupWithFuotaTask' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` multicastGroupId++instance+  Prelude.NFData+    AssociateMulticastGroupWithFuotaTask+  where+  rnf AssociateMulticastGroupWithFuotaTask' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf multicastGroupId++instance+  Data.ToHeaders+    AssociateMulticastGroupWithFuotaTask+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateMulticastGroupWithFuotaTask+  where+  toJSON AssociateMulticastGroupWithFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("MulticastGroupId" Data..= multicastGroupId)+          ]+      )++instance+  Data.ToPath+    AssociateMulticastGroupWithFuotaTask+  where+  toPath AssociateMulticastGroupWithFuotaTask' {..} =+    Prelude.mconcat+      ["/fuota-tasks/", Data.toBS id, "/multicast-group"]++instance+  Data.ToQuery+    AssociateMulticastGroupWithFuotaTask+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateMulticastGroupWithFuotaTaskResponse' smart constructor.+data AssociateMulticastGroupWithFuotaTaskResponse = AssociateMulticastGroupWithFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateMulticastGroupWithFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateMulticastGroupWithFuotaTaskResponse_httpStatus' - The response's http status code.+newAssociateMulticastGroupWithFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateMulticastGroupWithFuotaTaskResponse+newAssociateMulticastGroupWithFuotaTaskResponse+  pHttpStatus_ =+    AssociateMulticastGroupWithFuotaTaskResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateMulticastGroupWithFuotaTaskResponse_httpStatus :: Lens.Lens' AssociateMulticastGroupWithFuotaTaskResponse Prelude.Int+associateMulticastGroupWithFuotaTaskResponse_httpStatus = Lens.lens (\AssociateMulticastGroupWithFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@AssociateMulticastGroupWithFuotaTaskResponse' {} a -> s {httpStatus = a} :: AssociateMulticastGroupWithFuotaTaskResponse)++instance+  Prelude.NFData+    AssociateMulticastGroupWithFuotaTaskResponse+  where+  rnf AssociateMulticastGroupWithFuotaTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateWirelessDeviceWithFuotaTask.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.AssociateWirelessDeviceWithFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associate a wireless device with a FUOTA task.+module Amazonka.IoTWireless.AssociateWirelessDeviceWithFuotaTask+  ( -- * Creating a Request+    AssociateWirelessDeviceWithFuotaTask (..),+    newAssociateWirelessDeviceWithFuotaTask,++    -- * Request Lenses+    associateWirelessDeviceWithFuotaTask_id,+    associateWirelessDeviceWithFuotaTask_wirelessDeviceId,++    -- * Destructuring the Response+    AssociateWirelessDeviceWithFuotaTaskResponse (..),+    newAssociateWirelessDeviceWithFuotaTaskResponse,++    -- * Response Lenses+    associateWirelessDeviceWithFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateWirelessDeviceWithFuotaTask' smart constructor.+data AssociateWirelessDeviceWithFuotaTask = AssociateWirelessDeviceWithFuotaTask'+  { id :: Prelude.Text,+    wirelessDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateWirelessDeviceWithFuotaTask_id' - Undocumented member.+--+-- 'wirelessDeviceId', 'associateWirelessDeviceWithFuotaTask_wirelessDeviceId' - Undocumented member.+newAssociateWirelessDeviceWithFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  -- | 'wirelessDeviceId'+  Prelude.Text ->+  AssociateWirelessDeviceWithFuotaTask+newAssociateWirelessDeviceWithFuotaTask+  pId_+  pWirelessDeviceId_ =+    AssociateWirelessDeviceWithFuotaTask'+      { id = pId_,+        wirelessDeviceId = pWirelessDeviceId_+      }++-- | Undocumented member.+associateWirelessDeviceWithFuotaTask_id :: Lens.Lens' AssociateWirelessDeviceWithFuotaTask Prelude.Text+associateWirelessDeviceWithFuotaTask_id = Lens.lens (\AssociateWirelessDeviceWithFuotaTask' {id} -> id) (\s@AssociateWirelessDeviceWithFuotaTask' {} a -> s {id = a} :: AssociateWirelessDeviceWithFuotaTask)++-- | Undocumented member.+associateWirelessDeviceWithFuotaTask_wirelessDeviceId :: Lens.Lens' AssociateWirelessDeviceWithFuotaTask Prelude.Text+associateWirelessDeviceWithFuotaTask_wirelessDeviceId = Lens.lens (\AssociateWirelessDeviceWithFuotaTask' {wirelessDeviceId} -> wirelessDeviceId) (\s@AssociateWirelessDeviceWithFuotaTask' {} a -> s {wirelessDeviceId = a} :: AssociateWirelessDeviceWithFuotaTask)++instance+  Core.AWSRequest+    AssociateWirelessDeviceWithFuotaTask+  where+  type+    AWSResponse AssociateWirelessDeviceWithFuotaTask =+      AssociateWirelessDeviceWithFuotaTaskResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateWirelessDeviceWithFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateWirelessDeviceWithFuotaTask+  where+  hashWithSalt+    _salt+    AssociateWirelessDeviceWithFuotaTask' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` wirelessDeviceId++instance+  Prelude.NFData+    AssociateWirelessDeviceWithFuotaTask+  where+  rnf AssociateWirelessDeviceWithFuotaTask' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf wirelessDeviceId++instance+  Data.ToHeaders+    AssociateWirelessDeviceWithFuotaTask+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateWirelessDeviceWithFuotaTask+  where+  toJSON AssociateWirelessDeviceWithFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WirelessDeviceId" Data..= wirelessDeviceId)+          ]+      )++instance+  Data.ToPath+    AssociateWirelessDeviceWithFuotaTask+  where+  toPath AssociateWirelessDeviceWithFuotaTask' {..} =+    Prelude.mconcat+      ["/fuota-tasks/", Data.toBS id, "/wireless-device"]++instance+  Data.ToQuery+    AssociateWirelessDeviceWithFuotaTask+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateWirelessDeviceWithFuotaTaskResponse' smart constructor.+data AssociateWirelessDeviceWithFuotaTaskResponse = AssociateWirelessDeviceWithFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateWirelessDeviceWithFuotaTaskResponse_httpStatus' - The response's http status code.+newAssociateWirelessDeviceWithFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateWirelessDeviceWithFuotaTaskResponse+newAssociateWirelessDeviceWithFuotaTaskResponse+  pHttpStatus_ =+    AssociateWirelessDeviceWithFuotaTaskResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateWirelessDeviceWithFuotaTaskResponse_httpStatus :: Lens.Lens' AssociateWirelessDeviceWithFuotaTaskResponse Prelude.Int+associateWirelessDeviceWithFuotaTaskResponse_httpStatus = Lens.lens (\AssociateWirelessDeviceWithFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@AssociateWirelessDeviceWithFuotaTaskResponse' {} a -> s {httpStatus = a} :: AssociateWirelessDeviceWithFuotaTaskResponse)++instance+  Prelude.NFData+    AssociateWirelessDeviceWithFuotaTaskResponse+  where+  rnf AssociateWirelessDeviceWithFuotaTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateWirelessDeviceWithMulticastGroup.hs view
@@ -0,0 +1,200 @@+{-# 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.IoTWireless.AssociateWirelessDeviceWithMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a wireless device with a multicast group.+module Amazonka.IoTWireless.AssociateWirelessDeviceWithMulticastGroup+  ( -- * Creating a Request+    AssociateWirelessDeviceWithMulticastGroup (..),+    newAssociateWirelessDeviceWithMulticastGroup,++    -- * Request Lenses+    associateWirelessDeviceWithMulticastGroup_id,+    associateWirelessDeviceWithMulticastGroup_wirelessDeviceId,++    -- * Destructuring the Response+    AssociateWirelessDeviceWithMulticastGroupResponse (..),+    newAssociateWirelessDeviceWithMulticastGroupResponse,++    -- * Response Lenses+    associateWirelessDeviceWithMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateWirelessDeviceWithMulticastGroup' smart constructor.+data AssociateWirelessDeviceWithMulticastGroup = AssociateWirelessDeviceWithMulticastGroup'+  { id :: Prelude.Text,+    wirelessDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateWirelessDeviceWithMulticastGroup_id' - Undocumented member.+--+-- 'wirelessDeviceId', 'associateWirelessDeviceWithMulticastGroup_wirelessDeviceId' - Undocumented member.+newAssociateWirelessDeviceWithMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  -- | 'wirelessDeviceId'+  Prelude.Text ->+  AssociateWirelessDeviceWithMulticastGroup+newAssociateWirelessDeviceWithMulticastGroup+  pId_+  pWirelessDeviceId_ =+    AssociateWirelessDeviceWithMulticastGroup'+      { id =+          pId_,+        wirelessDeviceId =+          pWirelessDeviceId_+      }++-- | Undocumented member.+associateWirelessDeviceWithMulticastGroup_id :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroup Prelude.Text+associateWirelessDeviceWithMulticastGroup_id = Lens.lens (\AssociateWirelessDeviceWithMulticastGroup' {id} -> id) (\s@AssociateWirelessDeviceWithMulticastGroup' {} a -> s {id = a} :: AssociateWirelessDeviceWithMulticastGroup)++-- | Undocumented member.+associateWirelessDeviceWithMulticastGroup_wirelessDeviceId :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroup Prelude.Text+associateWirelessDeviceWithMulticastGroup_wirelessDeviceId = Lens.lens (\AssociateWirelessDeviceWithMulticastGroup' {wirelessDeviceId} -> wirelessDeviceId) (\s@AssociateWirelessDeviceWithMulticastGroup' {} a -> s {wirelessDeviceId = a} :: AssociateWirelessDeviceWithMulticastGroup)++instance+  Core.AWSRequest+    AssociateWirelessDeviceWithMulticastGroup+  where+  type+    AWSResponse+      AssociateWirelessDeviceWithMulticastGroup =+      AssociateWirelessDeviceWithMulticastGroupResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateWirelessDeviceWithMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateWirelessDeviceWithMulticastGroup+  where+  hashWithSalt+    _salt+    AssociateWirelessDeviceWithMulticastGroup' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` wirelessDeviceId++instance+  Prelude.NFData+    AssociateWirelessDeviceWithMulticastGroup+  where+  rnf AssociateWirelessDeviceWithMulticastGroup' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf wirelessDeviceId++instance+  Data.ToHeaders+    AssociateWirelessDeviceWithMulticastGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateWirelessDeviceWithMulticastGroup+  where+  toJSON AssociateWirelessDeviceWithMulticastGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("WirelessDeviceId" Data..= wirelessDeviceId)+          ]+      )++instance+  Data.ToPath+    AssociateWirelessDeviceWithMulticastGroup+  where+  toPath AssociateWirelessDeviceWithMulticastGroup' {..} =+    Prelude.mconcat+      [ "/multicast-groups/",+        Data.toBS id,+        "/wireless-device"+      ]++instance+  Data.ToQuery+    AssociateWirelessDeviceWithMulticastGroup+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateWirelessDeviceWithMulticastGroupResponse' smart constructor.+data AssociateWirelessDeviceWithMulticastGroupResponse = AssociateWirelessDeviceWithMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateWirelessDeviceWithMulticastGroupResponse_httpStatus' - The response's http status code.+newAssociateWirelessDeviceWithMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateWirelessDeviceWithMulticastGroupResponse+newAssociateWirelessDeviceWithMulticastGroupResponse+  pHttpStatus_ =+    AssociateWirelessDeviceWithMulticastGroupResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateWirelessDeviceWithMulticastGroupResponse_httpStatus :: Lens.Lens' AssociateWirelessDeviceWithMulticastGroupResponse Prelude.Int+associateWirelessDeviceWithMulticastGroupResponse_httpStatus = Lens.lens (\AssociateWirelessDeviceWithMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@AssociateWirelessDeviceWithMulticastGroupResponse' {} a -> s {httpStatus = a} :: AssociateWirelessDeviceWithMulticastGroupResponse)++instance+  Prelude.NFData+    AssociateWirelessDeviceWithMulticastGroupResponse+  where+  rnf+    AssociateWirelessDeviceWithMulticastGroupResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateWirelessDeviceWithThing.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.AssociateWirelessDeviceWithThing+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a wireless device with a thing.+module Amazonka.IoTWireless.AssociateWirelessDeviceWithThing+  ( -- * Creating a Request+    AssociateWirelessDeviceWithThing (..),+    newAssociateWirelessDeviceWithThing,++    -- * Request Lenses+    associateWirelessDeviceWithThing_id,+    associateWirelessDeviceWithThing_thingArn,++    -- * Destructuring the Response+    AssociateWirelessDeviceWithThingResponse (..),+    newAssociateWirelessDeviceWithThingResponse,++    -- * Response Lenses+    associateWirelessDeviceWithThingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateWirelessDeviceWithThing' smart constructor.+data AssociateWirelessDeviceWithThing = AssociateWirelessDeviceWithThing'+  { -- | The ID of the resource to update.+    id :: Prelude.Text,+    -- | The ARN of the thing to associate with the wireless device.+    thingArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithThing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateWirelessDeviceWithThing_id' - The ID of the resource to update.+--+-- 'thingArn', 'associateWirelessDeviceWithThing_thingArn' - The ARN of the thing to associate with the wireless device.+newAssociateWirelessDeviceWithThing ::+  -- | 'id'+  Prelude.Text ->+  -- | 'thingArn'+  Prelude.Text ->+  AssociateWirelessDeviceWithThing+newAssociateWirelessDeviceWithThing pId_ pThingArn_ =+  AssociateWirelessDeviceWithThing'+    { id = pId_,+      thingArn = pThingArn_+    }++-- | The ID of the resource to update.+associateWirelessDeviceWithThing_id :: Lens.Lens' AssociateWirelessDeviceWithThing Prelude.Text+associateWirelessDeviceWithThing_id = Lens.lens (\AssociateWirelessDeviceWithThing' {id} -> id) (\s@AssociateWirelessDeviceWithThing' {} a -> s {id = a} :: AssociateWirelessDeviceWithThing)++-- | The ARN of the thing to associate with the wireless device.+associateWirelessDeviceWithThing_thingArn :: Lens.Lens' AssociateWirelessDeviceWithThing Prelude.Text+associateWirelessDeviceWithThing_thingArn = Lens.lens (\AssociateWirelessDeviceWithThing' {thingArn} -> thingArn) (\s@AssociateWirelessDeviceWithThing' {} a -> s {thingArn = a} :: AssociateWirelessDeviceWithThing)++instance+  Core.AWSRequest+    AssociateWirelessDeviceWithThing+  where+  type+    AWSResponse AssociateWirelessDeviceWithThing =+      AssociateWirelessDeviceWithThingResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateWirelessDeviceWithThingResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateWirelessDeviceWithThing+  where+  hashWithSalt+    _salt+    AssociateWirelessDeviceWithThing' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` thingArn++instance+  Prelude.NFData+    AssociateWirelessDeviceWithThing+  where+  rnf AssociateWirelessDeviceWithThing' {..} =+    Prelude.rnf id `Prelude.seq` Prelude.rnf thingArn++instance+  Data.ToHeaders+    AssociateWirelessDeviceWithThing+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON AssociateWirelessDeviceWithThing where+  toJSON AssociateWirelessDeviceWithThing' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ThingArn" Data..= thingArn)]+      )++instance Data.ToPath AssociateWirelessDeviceWithThing where+  toPath AssociateWirelessDeviceWithThing' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/thing"]++instance+  Data.ToQuery+    AssociateWirelessDeviceWithThing+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateWirelessDeviceWithThingResponse' smart constructor.+data AssociateWirelessDeviceWithThingResponse = AssociateWirelessDeviceWithThingResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessDeviceWithThingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateWirelessDeviceWithThingResponse_httpStatus' - The response's http status code.+newAssociateWirelessDeviceWithThingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateWirelessDeviceWithThingResponse+newAssociateWirelessDeviceWithThingResponse+  pHttpStatus_ =+    AssociateWirelessDeviceWithThingResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateWirelessDeviceWithThingResponse_httpStatus :: Lens.Lens' AssociateWirelessDeviceWithThingResponse Prelude.Int+associateWirelessDeviceWithThingResponse_httpStatus = Lens.lens (\AssociateWirelessDeviceWithThingResponse' {httpStatus} -> httpStatus) (\s@AssociateWirelessDeviceWithThingResponse' {} a -> s {httpStatus = a} :: AssociateWirelessDeviceWithThingResponse)++instance+  Prelude.NFData+    AssociateWirelessDeviceWithThingResponse+  where+  rnf AssociateWirelessDeviceWithThingResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateWirelessGatewayWithCertificate.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.AssociateWirelessGatewayWithCertificate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a wireless gateway with a certificate.+module Amazonka.IoTWireless.AssociateWirelessGatewayWithCertificate+  ( -- * Creating a Request+    AssociateWirelessGatewayWithCertificate (..),+    newAssociateWirelessGatewayWithCertificate,++    -- * Request Lenses+    associateWirelessGatewayWithCertificate_id,+    associateWirelessGatewayWithCertificate_iotCertificateId,++    -- * Destructuring the Response+    AssociateWirelessGatewayWithCertificateResponse (..),+    newAssociateWirelessGatewayWithCertificateResponse,++    -- * Response Lenses+    associateWirelessGatewayWithCertificateResponse_iotCertificateId,+    associateWirelessGatewayWithCertificateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateWirelessGatewayWithCertificate' smart constructor.+data AssociateWirelessGatewayWithCertificate = AssociateWirelessGatewayWithCertificate'+  { -- | The ID of the resource to update.+    id :: Prelude.Text,+    -- | The ID of the certificate to associate with the wireless gateway.+    iotCertificateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessGatewayWithCertificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateWirelessGatewayWithCertificate_id' - The ID of the resource to update.+--+-- 'iotCertificateId', 'associateWirelessGatewayWithCertificate_iotCertificateId' - The ID of the certificate to associate with the wireless gateway.+newAssociateWirelessGatewayWithCertificate ::+  -- | 'id'+  Prelude.Text ->+  -- | 'iotCertificateId'+  Prelude.Text ->+  AssociateWirelessGatewayWithCertificate+newAssociateWirelessGatewayWithCertificate+  pId_+  pIotCertificateId_ =+    AssociateWirelessGatewayWithCertificate'+      { id = pId_,+        iotCertificateId =+          pIotCertificateId_+      }++-- | The ID of the resource to update.+associateWirelessGatewayWithCertificate_id :: Lens.Lens' AssociateWirelessGatewayWithCertificate Prelude.Text+associateWirelessGatewayWithCertificate_id = Lens.lens (\AssociateWirelessGatewayWithCertificate' {id} -> id) (\s@AssociateWirelessGatewayWithCertificate' {} a -> s {id = a} :: AssociateWirelessGatewayWithCertificate)++-- | The ID of the certificate to associate with the wireless gateway.+associateWirelessGatewayWithCertificate_iotCertificateId :: Lens.Lens' AssociateWirelessGatewayWithCertificate Prelude.Text+associateWirelessGatewayWithCertificate_iotCertificateId = Lens.lens (\AssociateWirelessGatewayWithCertificate' {iotCertificateId} -> iotCertificateId) (\s@AssociateWirelessGatewayWithCertificate' {} a -> s {iotCertificateId = a} :: AssociateWirelessGatewayWithCertificate)++instance+  Core.AWSRequest+    AssociateWirelessGatewayWithCertificate+  where+  type+    AWSResponse+      AssociateWirelessGatewayWithCertificate =+      AssociateWirelessGatewayWithCertificateResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateWirelessGatewayWithCertificateResponse'+            Prelude.<$> (x Data..?> "IotCertificateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateWirelessGatewayWithCertificate+  where+  hashWithSalt+    _salt+    AssociateWirelessGatewayWithCertificate' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` iotCertificateId++instance+  Prelude.NFData+    AssociateWirelessGatewayWithCertificate+  where+  rnf AssociateWirelessGatewayWithCertificate' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf iotCertificateId++instance+  Data.ToHeaders+    AssociateWirelessGatewayWithCertificate+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateWirelessGatewayWithCertificate+  where+  toJSON AssociateWirelessGatewayWithCertificate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("IotCertificateId" Data..= iotCertificateId)+          ]+      )++instance+  Data.ToPath+    AssociateWirelessGatewayWithCertificate+  where+  toPath AssociateWirelessGatewayWithCertificate' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/certificate"]++instance+  Data.ToQuery+    AssociateWirelessGatewayWithCertificate+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateWirelessGatewayWithCertificateResponse' smart constructor.+data AssociateWirelessGatewayWithCertificateResponse = AssociateWirelessGatewayWithCertificateResponse'+  { -- | The ID of the certificate associated with the wireless gateway.+    iotCertificateId :: 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 'AssociateWirelessGatewayWithCertificateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iotCertificateId', 'associateWirelessGatewayWithCertificateResponse_iotCertificateId' - The ID of the certificate associated with the wireless gateway.+--+-- 'httpStatus', 'associateWirelessGatewayWithCertificateResponse_httpStatus' - The response's http status code.+newAssociateWirelessGatewayWithCertificateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateWirelessGatewayWithCertificateResponse+newAssociateWirelessGatewayWithCertificateResponse+  pHttpStatus_ =+    AssociateWirelessGatewayWithCertificateResponse'+      { iotCertificateId =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The ID of the certificate associated with the wireless gateway.+associateWirelessGatewayWithCertificateResponse_iotCertificateId :: Lens.Lens' AssociateWirelessGatewayWithCertificateResponse (Prelude.Maybe Prelude.Text)+associateWirelessGatewayWithCertificateResponse_iotCertificateId = Lens.lens (\AssociateWirelessGatewayWithCertificateResponse' {iotCertificateId} -> iotCertificateId) (\s@AssociateWirelessGatewayWithCertificateResponse' {} a -> s {iotCertificateId = a} :: AssociateWirelessGatewayWithCertificateResponse)++-- | The response's http status code.+associateWirelessGatewayWithCertificateResponse_httpStatus :: Lens.Lens' AssociateWirelessGatewayWithCertificateResponse Prelude.Int+associateWirelessGatewayWithCertificateResponse_httpStatus = Lens.lens (\AssociateWirelessGatewayWithCertificateResponse' {httpStatus} -> httpStatus) (\s@AssociateWirelessGatewayWithCertificateResponse' {} a -> s {httpStatus = a} :: AssociateWirelessGatewayWithCertificateResponse)++instance+  Prelude.NFData+    AssociateWirelessGatewayWithCertificateResponse+  where+  rnf+    AssociateWirelessGatewayWithCertificateResponse' {..} =+      Prelude.rnf iotCertificateId+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/AssociateWirelessGatewayWithThing.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.IoTWireless.AssociateWirelessGatewayWithThing+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a wireless gateway with a thing.+module Amazonka.IoTWireless.AssociateWirelessGatewayWithThing+  ( -- * Creating a Request+    AssociateWirelessGatewayWithThing (..),+    newAssociateWirelessGatewayWithThing,++    -- * Request Lenses+    associateWirelessGatewayWithThing_id,+    associateWirelessGatewayWithThing_thingArn,++    -- * Destructuring the Response+    AssociateWirelessGatewayWithThingResponse (..),+    newAssociateWirelessGatewayWithThingResponse,++    -- * Response Lenses+    associateWirelessGatewayWithThingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateWirelessGatewayWithThing' smart constructor.+data AssociateWirelessGatewayWithThing = AssociateWirelessGatewayWithThing'+  { -- | The ID of the resource to update.+    id :: Prelude.Text,+    -- | The ARN of the thing to associate with the wireless gateway.+    thingArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessGatewayWithThing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'associateWirelessGatewayWithThing_id' - The ID of the resource to update.+--+-- 'thingArn', 'associateWirelessGatewayWithThing_thingArn' - The ARN of the thing to associate with the wireless gateway.+newAssociateWirelessGatewayWithThing ::+  -- | 'id'+  Prelude.Text ->+  -- | 'thingArn'+  Prelude.Text ->+  AssociateWirelessGatewayWithThing+newAssociateWirelessGatewayWithThing pId_ pThingArn_ =+  AssociateWirelessGatewayWithThing'+    { id = pId_,+      thingArn = pThingArn_+    }++-- | The ID of the resource to update.+associateWirelessGatewayWithThing_id :: Lens.Lens' AssociateWirelessGatewayWithThing Prelude.Text+associateWirelessGatewayWithThing_id = Lens.lens (\AssociateWirelessGatewayWithThing' {id} -> id) (\s@AssociateWirelessGatewayWithThing' {} a -> s {id = a} :: AssociateWirelessGatewayWithThing)++-- | The ARN of the thing to associate with the wireless gateway.+associateWirelessGatewayWithThing_thingArn :: Lens.Lens' AssociateWirelessGatewayWithThing Prelude.Text+associateWirelessGatewayWithThing_thingArn = Lens.lens (\AssociateWirelessGatewayWithThing' {thingArn} -> thingArn) (\s@AssociateWirelessGatewayWithThing' {} a -> s {thingArn = a} :: AssociateWirelessGatewayWithThing)++instance+  Core.AWSRequest+    AssociateWirelessGatewayWithThing+  where+  type+    AWSResponse AssociateWirelessGatewayWithThing =+      AssociateWirelessGatewayWithThingResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AssociateWirelessGatewayWithThingResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateWirelessGatewayWithThing+  where+  hashWithSalt+    _salt+    AssociateWirelessGatewayWithThing' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` thingArn++instance+  Prelude.NFData+    AssociateWirelessGatewayWithThing+  where+  rnf AssociateWirelessGatewayWithThing' {..} =+    Prelude.rnf id `Prelude.seq` Prelude.rnf thingArn++instance+  Data.ToHeaders+    AssociateWirelessGatewayWithThing+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    AssociateWirelessGatewayWithThing+  where+  toJSON AssociateWirelessGatewayWithThing' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ThingArn" Data..= thingArn)]+      )++instance+  Data.ToPath+    AssociateWirelessGatewayWithThing+  where+  toPath AssociateWirelessGatewayWithThing' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/thing"]++instance+  Data.ToQuery+    AssociateWirelessGatewayWithThing+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateWirelessGatewayWithThingResponse' smart constructor.+data AssociateWirelessGatewayWithThingResponse = AssociateWirelessGatewayWithThingResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateWirelessGatewayWithThingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'associateWirelessGatewayWithThingResponse_httpStatus' - The response's http status code.+newAssociateWirelessGatewayWithThingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateWirelessGatewayWithThingResponse+newAssociateWirelessGatewayWithThingResponse+  pHttpStatus_ =+    AssociateWirelessGatewayWithThingResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+associateWirelessGatewayWithThingResponse_httpStatus :: Lens.Lens' AssociateWirelessGatewayWithThingResponse Prelude.Int+associateWirelessGatewayWithThingResponse_httpStatus = Lens.lens (\AssociateWirelessGatewayWithThingResponse' {httpStatus} -> httpStatus) (\s@AssociateWirelessGatewayWithThingResponse' {} a -> s {httpStatus = a} :: AssociateWirelessGatewayWithThingResponse)++instance+  Prelude.NFData+    AssociateWirelessGatewayWithThingResponse+  where+  rnf AssociateWirelessGatewayWithThingResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CancelMulticastGroupSession.hs view
@@ -0,0 +1,141 @@+{-# 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.IoTWireless.CancelMulticastGroupSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels an existing multicast group session.+module Amazonka.IoTWireless.CancelMulticastGroupSession+  ( -- * Creating a Request+    CancelMulticastGroupSession (..),+    newCancelMulticastGroupSession,++    -- * Request Lenses+    cancelMulticastGroupSession_id,++    -- * Destructuring the Response+    CancelMulticastGroupSessionResponse (..),+    newCancelMulticastGroupSessionResponse,++    -- * Response Lenses+    cancelMulticastGroupSessionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelMulticastGroupSession' smart constructor.+data CancelMulticastGroupSession = CancelMulticastGroupSession'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelMulticastGroupSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'cancelMulticastGroupSession_id' - Undocumented member.+newCancelMulticastGroupSession ::+  -- | 'id'+  Prelude.Text ->+  CancelMulticastGroupSession+newCancelMulticastGroupSession pId_ =+  CancelMulticastGroupSession' {id = pId_}++-- | Undocumented member.+cancelMulticastGroupSession_id :: Lens.Lens' CancelMulticastGroupSession Prelude.Text+cancelMulticastGroupSession_id = Lens.lens (\CancelMulticastGroupSession' {id} -> id) (\s@CancelMulticastGroupSession' {} a -> s {id = a} :: CancelMulticastGroupSession)++instance Core.AWSRequest CancelMulticastGroupSession where+  type+    AWSResponse CancelMulticastGroupSession =+      CancelMulticastGroupSessionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CancelMulticastGroupSessionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CancelMulticastGroupSession where+  hashWithSalt _salt CancelMulticastGroupSession' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData CancelMulticastGroupSession where+  rnf CancelMulticastGroupSession' {..} = Prelude.rnf id++instance Data.ToHeaders CancelMulticastGroupSession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath CancelMulticastGroupSession where+  toPath CancelMulticastGroupSession' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id, "/session"]++instance Data.ToQuery CancelMulticastGroupSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelMulticastGroupSessionResponse' smart constructor.+data CancelMulticastGroupSessionResponse = CancelMulticastGroupSessionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelMulticastGroupSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'cancelMulticastGroupSessionResponse_httpStatus' - The response's http status code.+newCancelMulticastGroupSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CancelMulticastGroupSessionResponse+newCancelMulticastGroupSessionResponse pHttpStatus_ =+  CancelMulticastGroupSessionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+cancelMulticastGroupSessionResponse_httpStatus :: Lens.Lens' CancelMulticastGroupSessionResponse Prelude.Int+cancelMulticastGroupSessionResponse_httpStatus = Lens.lens (\CancelMulticastGroupSessionResponse' {httpStatus} -> httpStatus) (\s@CancelMulticastGroupSessionResponse' {} a -> s {httpStatus = a} :: CancelMulticastGroupSessionResponse)++instance+  Prelude.NFData+    CancelMulticastGroupSessionResponse+  where+  rnf CancelMulticastGroupSessionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateDestination.hs view
@@ -0,0 +1,275 @@+{-# 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.IoTWireless.CreateDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new destination that maps a device message to an AWS IoT rule.+module Amazonka.IoTWireless.CreateDestination+  ( -- * Creating a Request+    CreateDestination (..),+    newCreateDestination,++    -- * Request Lenses+    createDestination_clientRequestToken,+    createDestination_description,+    createDestination_tags,+    createDestination_name,+    createDestination_expressionType,+    createDestination_expression,+    createDestination_roleArn,++    -- * Destructuring the Response+    CreateDestinationResponse (..),+    newCreateDestinationResponse,++    -- * Response Lenses+    createDestinationResponse_arn,+    createDestinationResponse_name,+    createDestinationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDestination' smart constructor.+data CreateDestination = CreateDestination'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the new resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the new destination. Tags are metadata that you+    -- can use to manage a resource.+    tags :: Prelude.Maybe [Tag],+    -- | The name of the new resource.+    name :: Prelude.Text,+    -- | The type of value in @Expression@.+    expressionType :: ExpressionType,+    -- | The rule name or topic rule to send messages to.+    expression :: Prelude.Text,+    -- | The ARN of the IAM Role that authorizes the destination.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createDestination_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'description', 'createDestination_description' - The description of the new resource.+--+-- 'tags', 'createDestination_tags' - The tags to attach to the new destination. Tags are metadata that you+-- can use to manage a resource.+--+-- 'name', 'createDestination_name' - The name of the new resource.+--+-- 'expressionType', 'createDestination_expressionType' - The type of value in @Expression@.+--+-- 'expression', 'createDestination_expression' - The rule name or topic rule to send messages to.+--+-- 'roleArn', 'createDestination_roleArn' - The ARN of the IAM Role that authorizes the destination.+newCreateDestination ::+  -- | 'name'+  Prelude.Text ->+  -- | 'expressionType'+  ExpressionType ->+  -- | 'expression'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  CreateDestination+newCreateDestination+  pName_+  pExpressionType_+  pExpression_+  pRoleArn_ =+    CreateDestination'+      { clientRequestToken =+          Prelude.Nothing,+        description = Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        expressionType = pExpressionType_,+        expression = pExpression_,+        roleArn = pRoleArn_+      }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createDestination_clientRequestToken :: Lens.Lens' CreateDestination (Prelude.Maybe Prelude.Text)+createDestination_clientRequestToken = Lens.lens (\CreateDestination' {clientRequestToken} -> clientRequestToken) (\s@CreateDestination' {} a -> s {clientRequestToken = a} :: CreateDestination)++-- | The description of the new resource.+createDestination_description :: Lens.Lens' CreateDestination (Prelude.Maybe Prelude.Text)+createDestination_description = Lens.lens (\CreateDestination' {description} -> description) (\s@CreateDestination' {} a -> s {description = a} :: CreateDestination)++-- | The tags to attach to the new destination. Tags are metadata that you+-- can use to manage a resource.+createDestination_tags :: Lens.Lens' CreateDestination (Prelude.Maybe [Tag])+createDestination_tags = Lens.lens (\CreateDestination' {tags} -> tags) (\s@CreateDestination' {} a -> s {tags = a} :: CreateDestination) Prelude.. Lens.mapping Lens.coerced++-- | The name of the new resource.+createDestination_name :: Lens.Lens' CreateDestination Prelude.Text+createDestination_name = Lens.lens (\CreateDestination' {name} -> name) (\s@CreateDestination' {} a -> s {name = a} :: CreateDestination)++-- | The type of value in @Expression@.+createDestination_expressionType :: Lens.Lens' CreateDestination ExpressionType+createDestination_expressionType = Lens.lens (\CreateDestination' {expressionType} -> expressionType) (\s@CreateDestination' {} a -> s {expressionType = a} :: CreateDestination)++-- | The rule name or topic rule to send messages to.+createDestination_expression :: Lens.Lens' CreateDestination Prelude.Text+createDestination_expression = Lens.lens (\CreateDestination' {expression} -> expression) (\s@CreateDestination' {} a -> s {expression = a} :: CreateDestination)++-- | The ARN of the IAM Role that authorizes the destination.+createDestination_roleArn :: Lens.Lens' CreateDestination Prelude.Text+createDestination_roleArn = Lens.lens (\CreateDestination' {roleArn} -> roleArn) (\s@CreateDestination' {} a -> s {roleArn = a} :: CreateDestination)++instance Core.AWSRequest CreateDestination where+  type+    AWSResponse CreateDestination =+      CreateDestinationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDestinationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDestination where+  hashWithSalt _salt CreateDestination' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` expressionType+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData CreateDestination where+  rnf CreateDestination' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToHeaders CreateDestination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateDestination where+  toJSON CreateDestination' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("ExpressionType" Data..= expressionType),+            Prelude.Just ("Expression" Data..= expression),+            Prelude.Just ("RoleArn" Data..= roleArn)+          ]+      )++instance Data.ToPath CreateDestination where+  toPath = Prelude.const "/destinations"++instance Data.ToQuery CreateDestination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDestinationResponse' smart constructor.+data CreateDestinationResponse = CreateDestinationResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the new resource.+    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 'CreateDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDestinationResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'name', 'createDestinationResponse_name' - The name of the new resource.+--+-- 'httpStatus', 'createDestinationResponse_httpStatus' - The response's http status code.+newCreateDestinationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDestinationResponse+newCreateDestinationResponse pHttpStatus_ =+  CreateDestinationResponse'+    { arn = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the new resource.+createDestinationResponse_arn :: Lens.Lens' CreateDestinationResponse (Prelude.Maybe Prelude.Text)+createDestinationResponse_arn = Lens.lens (\CreateDestinationResponse' {arn} -> arn) (\s@CreateDestinationResponse' {} a -> s {arn = a} :: CreateDestinationResponse)++-- | The name of the new resource.+createDestinationResponse_name :: Lens.Lens' CreateDestinationResponse (Prelude.Maybe Prelude.Text)+createDestinationResponse_name = Lens.lens (\CreateDestinationResponse' {name} -> name) (\s@CreateDestinationResponse' {} a -> s {name = a} :: CreateDestinationResponse)++-- | The response's http status code.+createDestinationResponse_httpStatus :: Lens.Lens' CreateDestinationResponse Prelude.Int+createDestinationResponse_httpStatus = Lens.lens (\CreateDestinationResponse' {httpStatus} -> httpStatus) (\s@CreateDestinationResponse' {} a -> s {httpStatus = a} :: CreateDestinationResponse)++instance Prelude.NFData CreateDestinationResponse where+  rnf CreateDestinationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateDeviceProfile.hs view
@@ -0,0 +1,223 @@+{-# 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.IoTWireless.CreateDeviceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new device profile.+module Amazonka.IoTWireless.CreateDeviceProfile+  ( -- * Creating a Request+    CreateDeviceProfile (..),+    newCreateDeviceProfile,++    -- * Request Lenses+    createDeviceProfile_clientRequestToken,+    createDeviceProfile_loRaWAN,+    createDeviceProfile_name,+    createDeviceProfile_tags,++    -- * Destructuring the Response+    CreateDeviceProfileResponse (..),+    newCreateDeviceProfileResponse,++    -- * Response Lenses+    createDeviceProfileResponse_arn,+    createDeviceProfileResponse_id,+    createDeviceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDeviceProfile' smart constructor.+data CreateDeviceProfile = CreateDeviceProfile'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The device profile information to use to create the device profile.+    loRaWAN :: Prelude.Maybe LoRaWANDeviceProfile,+    -- | The name of the new resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the new device profile. Tags are metadata that you+    -- can use to manage a resource.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDeviceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createDeviceProfile_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'loRaWAN', 'createDeviceProfile_loRaWAN' - The device profile information to use to create the device profile.+--+-- 'name', 'createDeviceProfile_name' - The name of the new resource.+--+-- 'tags', 'createDeviceProfile_tags' - The tags to attach to the new device profile. Tags are metadata that you+-- can use to manage a resource.+newCreateDeviceProfile ::+  CreateDeviceProfile+newCreateDeviceProfile =+  CreateDeviceProfile'+    { clientRequestToken =+        Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createDeviceProfile_clientRequestToken :: Lens.Lens' CreateDeviceProfile (Prelude.Maybe Prelude.Text)+createDeviceProfile_clientRequestToken = Lens.lens (\CreateDeviceProfile' {clientRequestToken} -> clientRequestToken) (\s@CreateDeviceProfile' {} a -> s {clientRequestToken = a} :: CreateDeviceProfile)++-- | The device profile information to use to create the device profile.+createDeviceProfile_loRaWAN :: Lens.Lens' CreateDeviceProfile (Prelude.Maybe LoRaWANDeviceProfile)+createDeviceProfile_loRaWAN = Lens.lens (\CreateDeviceProfile' {loRaWAN} -> loRaWAN) (\s@CreateDeviceProfile' {} a -> s {loRaWAN = a} :: CreateDeviceProfile)++-- | The name of the new resource.+createDeviceProfile_name :: Lens.Lens' CreateDeviceProfile (Prelude.Maybe Prelude.Text)+createDeviceProfile_name = Lens.lens (\CreateDeviceProfile' {name} -> name) (\s@CreateDeviceProfile' {} a -> s {name = a} :: CreateDeviceProfile)++-- | The tags to attach to the new device profile. Tags are metadata that you+-- can use to manage a resource.+createDeviceProfile_tags :: Lens.Lens' CreateDeviceProfile (Prelude.Maybe [Tag])+createDeviceProfile_tags = Lens.lens (\CreateDeviceProfile' {tags} -> tags) (\s@CreateDeviceProfile' {} a -> s {tags = a} :: CreateDeviceProfile) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateDeviceProfile where+  type+    AWSResponse CreateDeviceProfile =+      CreateDeviceProfileResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDeviceProfileResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDeviceProfile where+  hashWithSalt _salt CreateDeviceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CreateDeviceProfile where+  rnf CreateDeviceProfile' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders CreateDeviceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateDeviceProfile where+  toJSON CreateDeviceProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateDeviceProfile where+  toPath = Prelude.const "/device-profiles"++instance Data.ToQuery CreateDeviceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDeviceProfileResponse' smart constructor.+data CreateDeviceProfileResponse = CreateDeviceProfileResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new device profile.+    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 'CreateDeviceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createDeviceProfileResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'id', 'createDeviceProfileResponse_id' - The ID of the new device profile.+--+-- 'httpStatus', 'createDeviceProfileResponse_httpStatus' - The response's http status code.+newCreateDeviceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDeviceProfileResponse+newCreateDeviceProfileResponse pHttpStatus_ =+  CreateDeviceProfileResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the new resource.+createDeviceProfileResponse_arn :: Lens.Lens' CreateDeviceProfileResponse (Prelude.Maybe Prelude.Text)+createDeviceProfileResponse_arn = Lens.lens (\CreateDeviceProfileResponse' {arn} -> arn) (\s@CreateDeviceProfileResponse' {} a -> s {arn = a} :: CreateDeviceProfileResponse)++-- | The ID of the new device profile.+createDeviceProfileResponse_id :: Lens.Lens' CreateDeviceProfileResponse (Prelude.Maybe Prelude.Text)+createDeviceProfileResponse_id = Lens.lens (\CreateDeviceProfileResponse' {id} -> id) (\s@CreateDeviceProfileResponse' {} a -> s {id = a} :: CreateDeviceProfileResponse)++-- | The response's http status code.+createDeviceProfileResponse_httpStatus :: Lens.Lens' CreateDeviceProfileResponse Prelude.Int+createDeviceProfileResponse_httpStatus = Lens.lens (\CreateDeviceProfileResponse' {httpStatus} -> httpStatus) (\s@CreateDeviceProfileResponse' {} a -> s {httpStatus = a} :: CreateDeviceProfileResponse)++instance Prelude.NFData CreateDeviceProfileResponse where+  rnf CreateDeviceProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateFuotaTask.hs view
@@ -0,0 +1,249 @@+{-# 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.IoTWireless.CreateFuotaTask+-- 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 FUOTA task.+module Amazonka.IoTWireless.CreateFuotaTask+  ( -- * Creating a Request+    CreateFuotaTask (..),+    newCreateFuotaTask,++    -- * Request Lenses+    createFuotaTask_clientRequestToken,+    createFuotaTask_description,+    createFuotaTask_loRaWAN,+    createFuotaTask_name,+    createFuotaTask_tags,+    createFuotaTask_firmwareUpdateImage,+    createFuotaTask_firmwareUpdateRole,++    -- * Destructuring the Response+    CreateFuotaTaskResponse (..),+    newCreateFuotaTaskResponse,++    -- * Response Lenses+    createFuotaTaskResponse_arn,+    createFuotaTaskResponse_id,+    createFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFuotaTask' smart constructor.+data CreateFuotaTask = CreateFuotaTask'+  { clientRequestToken :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    loRaWAN :: Prelude.Maybe LoRaWANFuotaTask,+    name :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe [Tag],+    firmwareUpdateImage :: Prelude.Text,+    firmwareUpdateRole :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createFuotaTask_clientRequestToken' - Undocumented member.+--+-- 'description', 'createFuotaTask_description' - Undocumented member.+--+-- 'loRaWAN', 'createFuotaTask_loRaWAN' - Undocumented member.+--+-- 'name', 'createFuotaTask_name' - Undocumented member.+--+-- 'tags', 'createFuotaTask_tags' - Undocumented member.+--+-- 'firmwareUpdateImage', 'createFuotaTask_firmwareUpdateImage' - Undocumented member.+--+-- 'firmwareUpdateRole', 'createFuotaTask_firmwareUpdateRole' - Undocumented member.+newCreateFuotaTask ::+  -- | 'firmwareUpdateImage'+  Prelude.Text ->+  -- | 'firmwareUpdateRole'+  Prelude.Text ->+  CreateFuotaTask+newCreateFuotaTask+  pFirmwareUpdateImage_+  pFirmwareUpdateRole_ =+    CreateFuotaTask'+      { clientRequestToken =+          Prelude.Nothing,+        description = Prelude.Nothing,+        loRaWAN = Prelude.Nothing,+        name = Prelude.Nothing,+        tags = Prelude.Nothing,+        firmwareUpdateImage = pFirmwareUpdateImage_,+        firmwareUpdateRole = pFirmwareUpdateRole_+      }++-- | Undocumented member.+createFuotaTask_clientRequestToken :: Lens.Lens' CreateFuotaTask (Prelude.Maybe Prelude.Text)+createFuotaTask_clientRequestToken = Lens.lens (\CreateFuotaTask' {clientRequestToken} -> clientRequestToken) (\s@CreateFuotaTask' {} a -> s {clientRequestToken = a} :: CreateFuotaTask)++-- | Undocumented member.+createFuotaTask_description :: Lens.Lens' CreateFuotaTask (Prelude.Maybe Prelude.Text)+createFuotaTask_description = Lens.lens (\CreateFuotaTask' {description} -> description) (\s@CreateFuotaTask' {} a -> s {description = a} :: CreateFuotaTask)++-- | Undocumented member.+createFuotaTask_loRaWAN :: Lens.Lens' CreateFuotaTask (Prelude.Maybe LoRaWANFuotaTask)+createFuotaTask_loRaWAN = Lens.lens (\CreateFuotaTask' {loRaWAN} -> loRaWAN) (\s@CreateFuotaTask' {} a -> s {loRaWAN = a} :: CreateFuotaTask)++-- | Undocumented member.+createFuotaTask_name :: Lens.Lens' CreateFuotaTask (Prelude.Maybe Prelude.Text)+createFuotaTask_name = Lens.lens (\CreateFuotaTask' {name} -> name) (\s@CreateFuotaTask' {} a -> s {name = a} :: CreateFuotaTask)++-- | Undocumented member.+createFuotaTask_tags :: Lens.Lens' CreateFuotaTask (Prelude.Maybe [Tag])+createFuotaTask_tags = Lens.lens (\CreateFuotaTask' {tags} -> tags) (\s@CreateFuotaTask' {} a -> s {tags = a} :: CreateFuotaTask) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createFuotaTask_firmwareUpdateImage :: Lens.Lens' CreateFuotaTask Prelude.Text+createFuotaTask_firmwareUpdateImage = Lens.lens (\CreateFuotaTask' {firmwareUpdateImage} -> firmwareUpdateImage) (\s@CreateFuotaTask' {} a -> s {firmwareUpdateImage = a} :: CreateFuotaTask)++-- | Undocumented member.+createFuotaTask_firmwareUpdateRole :: Lens.Lens' CreateFuotaTask Prelude.Text+createFuotaTask_firmwareUpdateRole = Lens.lens (\CreateFuotaTask' {firmwareUpdateRole} -> firmwareUpdateRole) (\s@CreateFuotaTask' {} a -> s {firmwareUpdateRole = a} :: CreateFuotaTask)++instance Core.AWSRequest CreateFuotaTask where+  type+    AWSResponse CreateFuotaTask =+      CreateFuotaTaskResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateFuotaTaskResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateFuotaTask where+  hashWithSalt _salt CreateFuotaTask' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` firmwareUpdateImage+      `Prelude.hashWithSalt` firmwareUpdateRole++instance Prelude.NFData CreateFuotaTask where+  rnf CreateFuotaTask' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf firmwareUpdateImage+      `Prelude.seq` Prelude.rnf firmwareUpdateRole++instance Data.ToHeaders CreateFuotaTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateFuotaTask where+  toJSON CreateFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("FirmwareUpdateImage" Data..= firmwareUpdateImage),+            Prelude.Just+              ("FirmwareUpdateRole" Data..= firmwareUpdateRole)+          ]+      )++instance Data.ToPath CreateFuotaTask where+  toPath = Prelude.const "/fuota-tasks"++instance Data.ToQuery CreateFuotaTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFuotaTaskResponse' smart constructor.+data CreateFuotaTaskResponse = CreateFuotaTaskResponse'+  { arn :: Prelude.Maybe Prelude.Text,+    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 'CreateFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createFuotaTaskResponse_arn' - Undocumented member.+--+-- 'id', 'createFuotaTaskResponse_id' - Undocumented member.+--+-- 'httpStatus', 'createFuotaTaskResponse_httpStatus' - The response's http status code.+newCreateFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateFuotaTaskResponse+newCreateFuotaTaskResponse pHttpStatus_ =+  CreateFuotaTaskResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createFuotaTaskResponse_arn :: Lens.Lens' CreateFuotaTaskResponse (Prelude.Maybe Prelude.Text)+createFuotaTaskResponse_arn = Lens.lens (\CreateFuotaTaskResponse' {arn} -> arn) (\s@CreateFuotaTaskResponse' {} a -> s {arn = a} :: CreateFuotaTaskResponse)++-- | Undocumented member.+createFuotaTaskResponse_id :: Lens.Lens' CreateFuotaTaskResponse (Prelude.Maybe Prelude.Text)+createFuotaTaskResponse_id = Lens.lens (\CreateFuotaTaskResponse' {id} -> id) (\s@CreateFuotaTaskResponse' {} a -> s {id = a} :: CreateFuotaTaskResponse)++-- | The response's http status code.+createFuotaTaskResponse_httpStatus :: Lens.Lens' CreateFuotaTaskResponse Prelude.Int+createFuotaTaskResponse_httpStatus = Lens.lens (\CreateFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@CreateFuotaTaskResponse' {} a -> s {httpStatus = a} :: CreateFuotaTaskResponse)++instance Prelude.NFData CreateFuotaTaskResponse where+  rnf CreateFuotaTaskResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateMulticastGroup.hs view
@@ -0,0 +1,231 @@+{-# 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.IoTWireless.CreateMulticastGroup+-- 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 multicast group.+module Amazonka.IoTWireless.CreateMulticastGroup+  ( -- * Creating a Request+    CreateMulticastGroup (..),+    newCreateMulticastGroup,++    -- * Request Lenses+    createMulticastGroup_clientRequestToken,+    createMulticastGroup_description,+    createMulticastGroup_name,+    createMulticastGroup_tags,+    createMulticastGroup_loRaWAN,++    -- * Destructuring the Response+    CreateMulticastGroupResponse (..),+    newCreateMulticastGroupResponse,++    -- * Response Lenses+    createMulticastGroupResponse_arn,+    createMulticastGroupResponse_id,+    createMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMulticastGroup' smart constructor.+data CreateMulticastGroup = CreateMulticastGroup'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the multicast group.+    description :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe [Tag],+    loRaWAN :: LoRaWANMulticast+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createMulticastGroup_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'description', 'createMulticastGroup_description' - The description of the multicast group.+--+-- 'name', 'createMulticastGroup_name' - Undocumented member.+--+-- 'tags', 'createMulticastGroup_tags' - Undocumented member.+--+-- 'loRaWAN', 'createMulticastGroup_loRaWAN' - Undocumented member.+newCreateMulticastGroup ::+  -- | 'loRaWAN'+  LoRaWANMulticast ->+  CreateMulticastGroup+newCreateMulticastGroup pLoRaWAN_ =+  CreateMulticastGroup'+    { clientRequestToken =+        Prelude.Nothing,+      description = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing,+      loRaWAN = pLoRaWAN_+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createMulticastGroup_clientRequestToken :: Lens.Lens' CreateMulticastGroup (Prelude.Maybe Prelude.Text)+createMulticastGroup_clientRequestToken = Lens.lens (\CreateMulticastGroup' {clientRequestToken} -> clientRequestToken) (\s@CreateMulticastGroup' {} a -> s {clientRequestToken = a} :: CreateMulticastGroup)++-- | The description of the multicast group.+createMulticastGroup_description :: Lens.Lens' CreateMulticastGroup (Prelude.Maybe Prelude.Text)+createMulticastGroup_description = Lens.lens (\CreateMulticastGroup' {description} -> description) (\s@CreateMulticastGroup' {} a -> s {description = a} :: CreateMulticastGroup)++-- | Undocumented member.+createMulticastGroup_name :: Lens.Lens' CreateMulticastGroup (Prelude.Maybe Prelude.Text)+createMulticastGroup_name = Lens.lens (\CreateMulticastGroup' {name} -> name) (\s@CreateMulticastGroup' {} a -> s {name = a} :: CreateMulticastGroup)++-- | Undocumented member.+createMulticastGroup_tags :: Lens.Lens' CreateMulticastGroup (Prelude.Maybe [Tag])+createMulticastGroup_tags = Lens.lens (\CreateMulticastGroup' {tags} -> tags) (\s@CreateMulticastGroup' {} a -> s {tags = a} :: CreateMulticastGroup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createMulticastGroup_loRaWAN :: Lens.Lens' CreateMulticastGroup LoRaWANMulticast+createMulticastGroup_loRaWAN = Lens.lens (\CreateMulticastGroup' {loRaWAN} -> loRaWAN) (\s@CreateMulticastGroup' {} a -> s {loRaWAN = a} :: CreateMulticastGroup)++instance Core.AWSRequest CreateMulticastGroup where+  type+    AWSResponse CreateMulticastGroup =+      CreateMulticastGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMulticastGroupResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMulticastGroup where+  hashWithSalt _salt CreateMulticastGroup' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` loRaWAN++instance Prelude.NFData CreateMulticastGroup where+  rnf CreateMulticastGroup' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf loRaWAN++instance Data.ToHeaders CreateMulticastGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMulticastGroup where+  toJSON CreateMulticastGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("LoRaWAN" Data..= loRaWAN)+          ]+      )++instance Data.ToPath CreateMulticastGroup where+  toPath = Prelude.const "/multicast-groups"++instance Data.ToQuery CreateMulticastGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMulticastGroupResponse' smart constructor.+data CreateMulticastGroupResponse = CreateMulticastGroupResponse'+  { arn :: Prelude.Maybe Prelude.Text,+    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 'CreateMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createMulticastGroupResponse_arn' - Undocumented member.+--+-- 'id', 'createMulticastGroupResponse_id' - Undocumented member.+--+-- 'httpStatus', 'createMulticastGroupResponse_httpStatus' - The response's http status code.+newCreateMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMulticastGroupResponse+newCreateMulticastGroupResponse pHttpStatus_ =+  CreateMulticastGroupResponse'+    { arn =+        Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createMulticastGroupResponse_arn :: Lens.Lens' CreateMulticastGroupResponse (Prelude.Maybe Prelude.Text)+createMulticastGroupResponse_arn = Lens.lens (\CreateMulticastGroupResponse' {arn} -> arn) (\s@CreateMulticastGroupResponse' {} a -> s {arn = a} :: CreateMulticastGroupResponse)++-- | Undocumented member.+createMulticastGroupResponse_id :: Lens.Lens' CreateMulticastGroupResponse (Prelude.Maybe Prelude.Text)+createMulticastGroupResponse_id = Lens.lens (\CreateMulticastGroupResponse' {id} -> id) (\s@CreateMulticastGroupResponse' {} a -> s {id = a} :: CreateMulticastGroupResponse)++-- | The response's http status code.+createMulticastGroupResponse_httpStatus :: Lens.Lens' CreateMulticastGroupResponse Prelude.Int+createMulticastGroupResponse_httpStatus = Lens.lens (\CreateMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@CreateMulticastGroupResponse' {} a -> s {httpStatus = a} :: CreateMulticastGroupResponse)++instance Prelude.NFData CreateMulticastGroupResponse where+  rnf CreateMulticastGroupResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateNetworkAnalyzerConfiguration.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.IoTWireless.CreateNetworkAnalyzerConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new network analyzer configuration.+module Amazonka.IoTWireless.CreateNetworkAnalyzerConfiguration+  ( -- * Creating a Request+    CreateNetworkAnalyzerConfiguration (..),+    newCreateNetworkAnalyzerConfiguration,++    -- * Request Lenses+    createNetworkAnalyzerConfiguration_clientRequestToken,+    createNetworkAnalyzerConfiguration_description,+    createNetworkAnalyzerConfiguration_tags,+    createNetworkAnalyzerConfiguration_traceContent,+    createNetworkAnalyzerConfiguration_wirelessDevices,+    createNetworkAnalyzerConfiguration_wirelessGateways,+    createNetworkAnalyzerConfiguration_name,++    -- * Destructuring the Response+    CreateNetworkAnalyzerConfigurationResponse (..),+    newCreateNetworkAnalyzerConfigurationResponse,++    -- * Response Lenses+    createNetworkAnalyzerConfigurationResponse_arn,+    createNetworkAnalyzerConfigurationResponse_name,+    createNetworkAnalyzerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNetworkAnalyzerConfiguration' smart constructor.+data CreateNetworkAnalyzerConfiguration = CreateNetworkAnalyzerConfiguration'+  { clientRequestToken :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe [Tag],+    traceContent :: Prelude.Maybe TraceContent,+    -- | Wireless device resources to add to the network analyzer configuration.+    -- Provide the @WirelessDeviceId@ of the resource to add in the input+    -- array.+    wirelessDevices :: Prelude.Maybe [Prelude.Text],+    -- | Wireless gateway resources to add to the network analyzer configuration.+    -- Provide the @WirelessGatewayId@ of the resource to add in the input+    -- array.+    wirelessGateways :: Prelude.Maybe [Prelude.Text],+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetworkAnalyzerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createNetworkAnalyzerConfiguration_clientRequestToken' - Undocumented member.+--+-- 'description', 'createNetworkAnalyzerConfiguration_description' - Undocumented member.+--+-- 'tags', 'createNetworkAnalyzerConfiguration_tags' - Undocumented member.+--+-- 'traceContent', 'createNetworkAnalyzerConfiguration_traceContent' - Undocumented member.+--+-- 'wirelessDevices', 'createNetworkAnalyzerConfiguration_wirelessDevices' - Wireless device resources to add to the network analyzer configuration.+-- Provide the @WirelessDeviceId@ of the resource to add in the input+-- array.+--+-- 'wirelessGateways', 'createNetworkAnalyzerConfiguration_wirelessGateways' - Wireless gateway resources to add to the network analyzer configuration.+-- Provide the @WirelessGatewayId@ of the resource to add in the input+-- array.+--+-- 'name', 'createNetworkAnalyzerConfiguration_name' - Undocumented member.+newCreateNetworkAnalyzerConfiguration ::+  -- | 'name'+  Prelude.Text ->+  CreateNetworkAnalyzerConfiguration+newCreateNetworkAnalyzerConfiguration pName_ =+  CreateNetworkAnalyzerConfiguration'+    { clientRequestToken =+        Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      traceContent = Prelude.Nothing,+      wirelessDevices = Prelude.Nothing,+      wirelessGateways = Prelude.Nothing,+      name = pName_+    }++-- | Undocumented member.+createNetworkAnalyzerConfiguration_clientRequestToken :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe Prelude.Text)+createNetworkAnalyzerConfiguration_clientRequestToken = Lens.lens (\CreateNetworkAnalyzerConfiguration' {clientRequestToken} -> clientRequestToken) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {clientRequestToken = a} :: CreateNetworkAnalyzerConfiguration)++-- | Undocumented member.+createNetworkAnalyzerConfiguration_description :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe Prelude.Text)+createNetworkAnalyzerConfiguration_description = Lens.lens (\CreateNetworkAnalyzerConfiguration' {description} -> description) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {description = a} :: CreateNetworkAnalyzerConfiguration)++-- | Undocumented member.+createNetworkAnalyzerConfiguration_tags :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe [Tag])+createNetworkAnalyzerConfiguration_tags = Lens.lens (\CreateNetworkAnalyzerConfiguration' {tags} -> tags) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {tags = a} :: CreateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createNetworkAnalyzerConfiguration_traceContent :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe TraceContent)+createNetworkAnalyzerConfiguration_traceContent = Lens.lens (\CreateNetworkAnalyzerConfiguration' {traceContent} -> traceContent) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {traceContent = a} :: CreateNetworkAnalyzerConfiguration)++-- | Wireless device resources to add to the network analyzer configuration.+-- Provide the @WirelessDeviceId@ of the resource to add in the input+-- array.+createNetworkAnalyzerConfiguration_wirelessDevices :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+createNetworkAnalyzerConfiguration_wirelessDevices = Lens.lens (\CreateNetworkAnalyzerConfiguration' {wirelessDevices} -> wirelessDevices) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {wirelessDevices = a} :: CreateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Wireless gateway resources to add to the network analyzer configuration.+-- Provide the @WirelessGatewayId@ of the resource to add in the input+-- array.+createNetworkAnalyzerConfiguration_wirelessGateways :: Lens.Lens' CreateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+createNetworkAnalyzerConfiguration_wirelessGateways = Lens.lens (\CreateNetworkAnalyzerConfiguration' {wirelessGateways} -> wirelessGateways) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {wirelessGateways = a} :: CreateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createNetworkAnalyzerConfiguration_name :: Lens.Lens' CreateNetworkAnalyzerConfiguration Prelude.Text+createNetworkAnalyzerConfiguration_name = Lens.lens (\CreateNetworkAnalyzerConfiguration' {name} -> name) (\s@CreateNetworkAnalyzerConfiguration' {} a -> s {name = a} :: CreateNetworkAnalyzerConfiguration)++instance+  Core.AWSRequest+    CreateNetworkAnalyzerConfiguration+  where+  type+    AWSResponse CreateNetworkAnalyzerConfiguration =+      CreateNetworkAnalyzerConfigurationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateNetworkAnalyzerConfigurationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateNetworkAnalyzerConfiguration+  where+  hashWithSalt+    _salt+    CreateNetworkAnalyzerConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` clientRequestToken+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` traceContent+        `Prelude.hashWithSalt` wirelessDevices+        `Prelude.hashWithSalt` wirelessGateways+        `Prelude.hashWithSalt` name++instance+  Prelude.NFData+    CreateNetworkAnalyzerConfiguration+  where+  rnf CreateNetworkAnalyzerConfiguration' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf traceContent+      `Prelude.seq` Prelude.rnf wirelessDevices+      `Prelude.seq` Prelude.rnf wirelessGateways+      `Prelude.seq` Prelude.rnf name++instance+  Data.ToHeaders+    CreateNetworkAnalyzerConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    CreateNetworkAnalyzerConfiguration+  where+  toJSON CreateNetworkAnalyzerConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            ("TraceContent" Data..=) Prelude.<$> traceContent,+            ("WirelessDevices" Data..=)+              Prelude.<$> wirelessDevices,+            ("WirelessGateways" Data..=)+              Prelude.<$> wirelessGateways,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance+  Data.ToPath+    CreateNetworkAnalyzerConfiguration+  where+  toPath =+    Prelude.const "/network-analyzer-configurations"++instance+  Data.ToQuery+    CreateNetworkAnalyzerConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNetworkAnalyzerConfigurationResponse' smart constructor.+data CreateNetworkAnalyzerConfigurationResponse = CreateNetworkAnalyzerConfigurationResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    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 'CreateNetworkAnalyzerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNetworkAnalyzerConfigurationResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'name', 'createNetworkAnalyzerConfigurationResponse_name' - Undocumented member.+--+-- 'httpStatus', 'createNetworkAnalyzerConfigurationResponse_httpStatus' - The response's http status code.+newCreateNetworkAnalyzerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateNetworkAnalyzerConfigurationResponse+newCreateNetworkAnalyzerConfigurationResponse+  pHttpStatus_ =+    CreateNetworkAnalyzerConfigurationResponse'+      { arn =+          Prelude.Nothing,+        name = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name of the new resource.+createNetworkAnalyzerConfigurationResponse_arn :: Lens.Lens' CreateNetworkAnalyzerConfigurationResponse (Prelude.Maybe Prelude.Text)+createNetworkAnalyzerConfigurationResponse_arn = Lens.lens (\CreateNetworkAnalyzerConfigurationResponse' {arn} -> arn) (\s@CreateNetworkAnalyzerConfigurationResponse' {} a -> s {arn = a} :: CreateNetworkAnalyzerConfigurationResponse)++-- | Undocumented member.+createNetworkAnalyzerConfigurationResponse_name :: Lens.Lens' CreateNetworkAnalyzerConfigurationResponse (Prelude.Maybe Prelude.Text)+createNetworkAnalyzerConfigurationResponse_name = Lens.lens (\CreateNetworkAnalyzerConfigurationResponse' {name} -> name) (\s@CreateNetworkAnalyzerConfigurationResponse' {} a -> s {name = a} :: CreateNetworkAnalyzerConfigurationResponse)++-- | The response's http status code.+createNetworkAnalyzerConfigurationResponse_httpStatus :: Lens.Lens' CreateNetworkAnalyzerConfigurationResponse Prelude.Int+createNetworkAnalyzerConfigurationResponse_httpStatus = Lens.lens (\CreateNetworkAnalyzerConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateNetworkAnalyzerConfigurationResponse' {} a -> s {httpStatus = a} :: CreateNetworkAnalyzerConfigurationResponse)++instance+  Prelude.NFData+    CreateNetworkAnalyzerConfigurationResponse+  where+  rnf CreateNetworkAnalyzerConfigurationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateServiceProfile.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.CreateServiceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new service profile.+module Amazonka.IoTWireless.CreateServiceProfile+  ( -- * Creating a Request+    CreateServiceProfile (..),+    newCreateServiceProfile,++    -- * Request Lenses+    createServiceProfile_clientRequestToken,+    createServiceProfile_loRaWAN,+    createServiceProfile_name,+    createServiceProfile_tags,++    -- * Destructuring the Response+    CreateServiceProfileResponse (..),+    newCreateServiceProfileResponse,++    -- * Response Lenses+    createServiceProfileResponse_arn,+    createServiceProfileResponse_id,+    createServiceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateServiceProfile' smart constructor.+data CreateServiceProfile = CreateServiceProfile'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The service profile information to use to create the service profile.+    loRaWAN :: Prelude.Maybe LoRaWANServiceProfile,+    -- | The name of the new resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the new service profile. Tags are metadata that+    -- you can use to manage a resource.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateServiceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createServiceProfile_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'loRaWAN', 'createServiceProfile_loRaWAN' - The service profile information to use to create the service profile.+--+-- 'name', 'createServiceProfile_name' - The name of the new resource.+--+-- 'tags', 'createServiceProfile_tags' - The tags to attach to the new service profile. Tags are metadata that+-- you can use to manage a resource.+newCreateServiceProfile ::+  CreateServiceProfile+newCreateServiceProfile =+  CreateServiceProfile'+    { clientRequestToken =+        Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createServiceProfile_clientRequestToken :: Lens.Lens' CreateServiceProfile (Prelude.Maybe Prelude.Text)+createServiceProfile_clientRequestToken = Lens.lens (\CreateServiceProfile' {clientRequestToken} -> clientRequestToken) (\s@CreateServiceProfile' {} a -> s {clientRequestToken = a} :: CreateServiceProfile)++-- | The service profile information to use to create the service profile.+createServiceProfile_loRaWAN :: Lens.Lens' CreateServiceProfile (Prelude.Maybe LoRaWANServiceProfile)+createServiceProfile_loRaWAN = Lens.lens (\CreateServiceProfile' {loRaWAN} -> loRaWAN) (\s@CreateServiceProfile' {} a -> s {loRaWAN = a} :: CreateServiceProfile)++-- | The name of the new resource.+createServiceProfile_name :: Lens.Lens' CreateServiceProfile (Prelude.Maybe Prelude.Text)+createServiceProfile_name = Lens.lens (\CreateServiceProfile' {name} -> name) (\s@CreateServiceProfile' {} a -> s {name = a} :: CreateServiceProfile)++-- | The tags to attach to the new service profile. Tags are metadata that+-- you can use to manage a resource.+createServiceProfile_tags :: Lens.Lens' CreateServiceProfile (Prelude.Maybe [Tag])+createServiceProfile_tags = Lens.lens (\CreateServiceProfile' {tags} -> tags) (\s@CreateServiceProfile' {} a -> s {tags = a} :: CreateServiceProfile) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateServiceProfile where+  type+    AWSResponse CreateServiceProfile =+      CreateServiceProfileResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateServiceProfileResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateServiceProfile where+  hashWithSalt _salt CreateServiceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CreateServiceProfile where+  rnf CreateServiceProfile' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders CreateServiceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateServiceProfile where+  toJSON CreateServiceProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateServiceProfile where+  toPath = Prelude.const "/service-profiles"++instance Data.ToQuery CreateServiceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateServiceProfileResponse' smart constructor.+data CreateServiceProfileResponse = CreateServiceProfileResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new service profile.+    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 'CreateServiceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createServiceProfileResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'id', 'createServiceProfileResponse_id' - The ID of the new service profile.+--+-- 'httpStatus', 'createServiceProfileResponse_httpStatus' - The response's http status code.+newCreateServiceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateServiceProfileResponse+newCreateServiceProfileResponse pHttpStatus_ =+  CreateServiceProfileResponse'+    { arn =+        Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the new resource.+createServiceProfileResponse_arn :: Lens.Lens' CreateServiceProfileResponse (Prelude.Maybe Prelude.Text)+createServiceProfileResponse_arn = Lens.lens (\CreateServiceProfileResponse' {arn} -> arn) (\s@CreateServiceProfileResponse' {} a -> s {arn = a} :: CreateServiceProfileResponse)++-- | The ID of the new service profile.+createServiceProfileResponse_id :: Lens.Lens' CreateServiceProfileResponse (Prelude.Maybe Prelude.Text)+createServiceProfileResponse_id = Lens.lens (\CreateServiceProfileResponse' {id} -> id) (\s@CreateServiceProfileResponse' {} a -> s {id = a} :: CreateServiceProfileResponse)++-- | The response's http status code.+createServiceProfileResponse_httpStatus :: Lens.Lens' CreateServiceProfileResponse Prelude.Int+createServiceProfileResponse_httpStatus = Lens.lens (\CreateServiceProfileResponse' {httpStatus} -> httpStatus) (\s@CreateServiceProfileResponse' {} a -> s {httpStatus = a} :: CreateServiceProfileResponse)++instance Prelude.NFData CreateServiceProfileResponse where+  rnf CreateServiceProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateWirelessDevice.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.CreateWirelessDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provisions a wireless device.+module Amazonka.IoTWireless.CreateWirelessDevice+  ( -- * Creating a Request+    CreateWirelessDevice (..),+    newCreateWirelessDevice,++    -- * Request Lenses+    createWirelessDevice_clientRequestToken,+    createWirelessDevice_description,+    createWirelessDevice_loRaWAN,+    createWirelessDevice_name,+    createWirelessDevice_positioning,+    createWirelessDevice_tags,+    createWirelessDevice_type,+    createWirelessDevice_destinationName,++    -- * Destructuring the Response+    CreateWirelessDeviceResponse (..),+    newCreateWirelessDeviceResponse,++    -- * Response Lenses+    createWirelessDeviceResponse_arn,+    createWirelessDeviceResponse_id,+    createWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWirelessDevice' smart constructor.+data CreateWirelessDevice = CreateWirelessDevice'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the new resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The device configuration information to use to create the wireless+    -- device.+    loRaWAN :: Prelude.Maybe LoRaWANDevice,+    -- | The name of the new resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | FPort values for the GNSS, stream, and ClockSync functions of the+    -- positioning information.+    positioning :: Prelude.Maybe PositioningConfigStatus,+    -- | The tags to attach to the new wireless device. Tags are metadata that+    -- you can use to manage a resource.+    tags :: Prelude.Maybe [Tag],+    -- | The wireless device type.+    type' :: WirelessDeviceType,+    -- | The name of the destination to assign to the new wireless device.+    destinationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createWirelessDevice_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'description', 'createWirelessDevice_description' - The description of the new resource.+--+-- 'loRaWAN', 'createWirelessDevice_loRaWAN' - The device configuration information to use to create the wireless+-- device.+--+-- 'name', 'createWirelessDevice_name' - The name of the new resource.+--+-- 'positioning', 'createWirelessDevice_positioning' - FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+--+-- 'tags', 'createWirelessDevice_tags' - The tags to attach to the new wireless device. Tags are metadata that+-- you can use to manage a resource.+--+-- 'type'', 'createWirelessDevice_type' - The wireless device type.+--+-- 'destinationName', 'createWirelessDevice_destinationName' - The name of the destination to assign to the new wireless device.+newCreateWirelessDevice ::+  -- | 'type''+  WirelessDeviceType ->+  -- | 'destinationName'+  Prelude.Text ->+  CreateWirelessDevice+newCreateWirelessDevice pType_ pDestinationName_ =+  CreateWirelessDevice'+    { clientRequestToken =+        Prelude.Nothing,+      description = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      positioning = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = pType_,+      destinationName = pDestinationName_+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createWirelessDevice_clientRequestToken :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe Prelude.Text)+createWirelessDevice_clientRequestToken = Lens.lens (\CreateWirelessDevice' {clientRequestToken} -> clientRequestToken) (\s@CreateWirelessDevice' {} a -> s {clientRequestToken = a} :: CreateWirelessDevice)++-- | The description of the new resource.+createWirelessDevice_description :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe Prelude.Text)+createWirelessDevice_description = Lens.lens (\CreateWirelessDevice' {description} -> description) (\s@CreateWirelessDevice' {} a -> s {description = a} :: CreateWirelessDevice)++-- | The device configuration information to use to create the wireless+-- device.+createWirelessDevice_loRaWAN :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe LoRaWANDevice)+createWirelessDevice_loRaWAN = Lens.lens (\CreateWirelessDevice' {loRaWAN} -> loRaWAN) (\s@CreateWirelessDevice' {} a -> s {loRaWAN = a} :: CreateWirelessDevice)++-- | The name of the new resource.+createWirelessDevice_name :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe Prelude.Text)+createWirelessDevice_name = Lens.lens (\CreateWirelessDevice' {name} -> name) (\s@CreateWirelessDevice' {} a -> s {name = a} :: CreateWirelessDevice)++-- | FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+createWirelessDevice_positioning :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe PositioningConfigStatus)+createWirelessDevice_positioning = Lens.lens (\CreateWirelessDevice' {positioning} -> positioning) (\s@CreateWirelessDevice' {} a -> s {positioning = a} :: CreateWirelessDevice)++-- | The tags to attach to the new wireless device. Tags are metadata that+-- you can use to manage a resource.+createWirelessDevice_tags :: Lens.Lens' CreateWirelessDevice (Prelude.Maybe [Tag])+createWirelessDevice_tags = Lens.lens (\CreateWirelessDevice' {tags} -> tags) (\s@CreateWirelessDevice' {} a -> s {tags = a} :: CreateWirelessDevice) Prelude.. Lens.mapping Lens.coerced++-- | The wireless device type.+createWirelessDevice_type :: Lens.Lens' CreateWirelessDevice WirelessDeviceType+createWirelessDevice_type = Lens.lens (\CreateWirelessDevice' {type'} -> type') (\s@CreateWirelessDevice' {} a -> s {type' = a} :: CreateWirelessDevice)++-- | The name of the destination to assign to the new wireless device.+createWirelessDevice_destinationName :: Lens.Lens' CreateWirelessDevice Prelude.Text+createWirelessDevice_destinationName = Lens.lens (\CreateWirelessDevice' {destinationName} -> destinationName) (\s@CreateWirelessDevice' {} a -> s {destinationName = a} :: CreateWirelessDevice)++instance Core.AWSRequest CreateWirelessDevice where+  type+    AWSResponse CreateWirelessDevice =+      CreateWirelessDeviceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWirelessDeviceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWirelessDevice where+  hashWithSalt _salt CreateWirelessDevice' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` positioning+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` destinationName++instance Prelude.NFData CreateWirelessDevice where+  rnf CreateWirelessDevice' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf positioning+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf destinationName++instance Data.ToHeaders CreateWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateWirelessDevice where+  toJSON CreateWirelessDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name,+            ("Positioning" Data..=) Prelude.<$> positioning,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just+              ("DestinationName" Data..= destinationName)+          ]+      )++instance Data.ToPath CreateWirelessDevice where+  toPath = Prelude.const "/wireless-devices"++instance Data.ToQuery CreateWirelessDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWirelessDeviceResponse' smart constructor.+data CreateWirelessDeviceResponse = CreateWirelessDeviceResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new wireless device.+    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 'CreateWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createWirelessDeviceResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'id', 'createWirelessDeviceResponse_id' - The ID of the new wireless device.+--+-- 'httpStatus', 'createWirelessDeviceResponse_httpStatus' - The response's http status code.+newCreateWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWirelessDeviceResponse+newCreateWirelessDeviceResponse pHttpStatus_ =+  CreateWirelessDeviceResponse'+    { arn =+        Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the new resource.+createWirelessDeviceResponse_arn :: Lens.Lens' CreateWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+createWirelessDeviceResponse_arn = Lens.lens (\CreateWirelessDeviceResponse' {arn} -> arn) (\s@CreateWirelessDeviceResponse' {} a -> s {arn = a} :: CreateWirelessDeviceResponse)++-- | The ID of the new wireless device.+createWirelessDeviceResponse_id :: Lens.Lens' CreateWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+createWirelessDeviceResponse_id = Lens.lens (\CreateWirelessDeviceResponse' {id} -> id) (\s@CreateWirelessDeviceResponse' {} a -> s {id = a} :: CreateWirelessDeviceResponse)++-- | The response's http status code.+createWirelessDeviceResponse_httpStatus :: Lens.Lens' CreateWirelessDeviceResponse Prelude.Int+createWirelessDeviceResponse_httpStatus = Lens.lens (\CreateWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@CreateWirelessDeviceResponse' {} a -> s {httpStatus = a} :: CreateWirelessDeviceResponse)++instance Prelude.NFData CreateWirelessDeviceResponse where+  rnf CreateWirelessDeviceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateWirelessGateway.hs view
@@ -0,0 +1,242 @@+{-# 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.IoTWireless.CreateWirelessGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provisions a wireless gateway.+module Amazonka.IoTWireless.CreateWirelessGateway+  ( -- * Creating a Request+    CreateWirelessGateway (..),+    newCreateWirelessGateway,++    -- * Request Lenses+    createWirelessGateway_clientRequestToken,+    createWirelessGateway_description,+    createWirelessGateway_name,+    createWirelessGateway_tags,+    createWirelessGateway_loRaWAN,++    -- * Destructuring the Response+    CreateWirelessGatewayResponse (..),+    newCreateWirelessGatewayResponse,++    -- * Response Lenses+    createWirelessGatewayResponse_arn,+    createWirelessGatewayResponse_id,+    createWirelessGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWirelessGateway' smart constructor.+data CreateWirelessGateway = CreateWirelessGateway'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the new resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the new resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the new wireless gateway. Tags are metadata that+    -- you can use to manage a resource.+    tags :: Prelude.Maybe [Tag],+    -- | The gateway configuration information to use to create the wireless+    -- gateway.+    loRaWAN :: LoRaWANGateway+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWirelessGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createWirelessGateway_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'description', 'createWirelessGateway_description' - The description of the new resource.+--+-- 'name', 'createWirelessGateway_name' - The name of the new resource.+--+-- 'tags', 'createWirelessGateway_tags' - The tags to attach to the new wireless gateway. Tags are metadata that+-- you can use to manage a resource.+--+-- 'loRaWAN', 'createWirelessGateway_loRaWAN' - The gateway configuration information to use to create the wireless+-- gateway.+newCreateWirelessGateway ::+  -- | 'loRaWAN'+  LoRaWANGateway ->+  CreateWirelessGateway+newCreateWirelessGateway pLoRaWAN_ =+  CreateWirelessGateway'+    { clientRequestToken =+        Prelude.Nothing,+      description = Prelude.Nothing,+      name = Prelude.Nothing,+      tags = Prelude.Nothing,+      loRaWAN = pLoRaWAN_+    }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createWirelessGateway_clientRequestToken :: Lens.Lens' CreateWirelessGateway (Prelude.Maybe Prelude.Text)+createWirelessGateway_clientRequestToken = Lens.lens (\CreateWirelessGateway' {clientRequestToken} -> clientRequestToken) (\s@CreateWirelessGateway' {} a -> s {clientRequestToken = a} :: CreateWirelessGateway)++-- | The description of the new resource.+createWirelessGateway_description :: Lens.Lens' CreateWirelessGateway (Prelude.Maybe Prelude.Text)+createWirelessGateway_description = Lens.lens (\CreateWirelessGateway' {description} -> description) (\s@CreateWirelessGateway' {} a -> s {description = a} :: CreateWirelessGateway)++-- | The name of the new resource.+createWirelessGateway_name :: Lens.Lens' CreateWirelessGateway (Prelude.Maybe Prelude.Text)+createWirelessGateway_name = Lens.lens (\CreateWirelessGateway' {name} -> name) (\s@CreateWirelessGateway' {} a -> s {name = a} :: CreateWirelessGateway)++-- | The tags to attach to the new wireless gateway. Tags are metadata that+-- you can use to manage a resource.+createWirelessGateway_tags :: Lens.Lens' CreateWirelessGateway (Prelude.Maybe [Tag])+createWirelessGateway_tags = Lens.lens (\CreateWirelessGateway' {tags} -> tags) (\s@CreateWirelessGateway' {} a -> s {tags = a} :: CreateWirelessGateway) Prelude.. Lens.mapping Lens.coerced++-- | The gateway configuration information to use to create the wireless+-- gateway.+createWirelessGateway_loRaWAN :: Lens.Lens' CreateWirelessGateway LoRaWANGateway+createWirelessGateway_loRaWAN = Lens.lens (\CreateWirelessGateway' {loRaWAN} -> loRaWAN) (\s@CreateWirelessGateway' {} a -> s {loRaWAN = a} :: CreateWirelessGateway)++instance Core.AWSRequest CreateWirelessGateway where+  type+    AWSResponse CreateWirelessGateway =+      CreateWirelessGatewayResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWirelessGatewayResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWirelessGateway where+  hashWithSalt _salt CreateWirelessGateway' {..} =+    _salt+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` loRaWAN++instance Prelude.NFData CreateWirelessGateway where+  rnf CreateWirelessGateway' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf loRaWAN++instance Data.ToHeaders CreateWirelessGateway where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateWirelessGateway where+  toJSON CreateWirelessGateway' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("LoRaWAN" Data..= loRaWAN)+          ]+      )++instance Data.ToPath CreateWirelessGateway where+  toPath = Prelude.const "/wireless-gateways"++instance Data.ToQuery CreateWirelessGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWirelessGatewayResponse' smart constructor.+data CreateWirelessGatewayResponse = CreateWirelessGatewayResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new wireless gateway.+    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 'CreateWirelessGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createWirelessGatewayResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'id', 'createWirelessGatewayResponse_id' - The ID of the new wireless gateway.+--+-- 'httpStatus', 'createWirelessGatewayResponse_httpStatus' - The response's http status code.+newCreateWirelessGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWirelessGatewayResponse+newCreateWirelessGatewayResponse pHttpStatus_ =+  CreateWirelessGatewayResponse'+    { arn =+        Prelude.Nothing,+      id = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the new resource.+createWirelessGatewayResponse_arn :: Lens.Lens' CreateWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+createWirelessGatewayResponse_arn = Lens.lens (\CreateWirelessGatewayResponse' {arn} -> arn) (\s@CreateWirelessGatewayResponse' {} a -> s {arn = a} :: CreateWirelessGatewayResponse)++-- | The ID of the new wireless gateway.+createWirelessGatewayResponse_id :: Lens.Lens' CreateWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+createWirelessGatewayResponse_id = Lens.lens (\CreateWirelessGatewayResponse' {id} -> id) (\s@CreateWirelessGatewayResponse' {} a -> s {id = a} :: CreateWirelessGatewayResponse)++-- | The response's http status code.+createWirelessGatewayResponse_httpStatus :: Lens.Lens' CreateWirelessGatewayResponse Prelude.Int+createWirelessGatewayResponse_httpStatus = Lens.lens (\CreateWirelessGatewayResponse' {httpStatus} -> httpStatus) (\s@CreateWirelessGatewayResponse' {} a -> s {httpStatus = a} :: CreateWirelessGatewayResponse)++instance Prelude.NFData CreateWirelessGatewayResponse where+  rnf CreateWirelessGatewayResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateWirelessGatewayTask.hs view
@@ -0,0 +1,199 @@+{-# 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.IoTWireless.CreateWirelessGatewayTask+-- 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 task for a wireless gateway.+module Amazonka.IoTWireless.CreateWirelessGatewayTask+  ( -- * Creating a Request+    CreateWirelessGatewayTask (..),+    newCreateWirelessGatewayTask,++    -- * Request Lenses+    createWirelessGatewayTask_id,+    createWirelessGatewayTask_wirelessGatewayTaskDefinitionId,++    -- * Destructuring the Response+    CreateWirelessGatewayTaskResponse (..),+    newCreateWirelessGatewayTaskResponse,++    -- * Response Lenses+    createWirelessGatewayTaskResponse_status,+    createWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId,+    createWirelessGatewayTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWirelessGatewayTask' smart constructor.+data CreateWirelessGatewayTask = CreateWirelessGatewayTask'+  { -- | The ID of the resource to update.+    id :: Prelude.Text,+    -- | The ID of the WirelessGatewayTaskDefinition.+    wirelessGatewayTaskDefinitionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWirelessGatewayTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'createWirelessGatewayTask_id' - The ID of the resource to update.+--+-- 'wirelessGatewayTaskDefinitionId', 'createWirelessGatewayTask_wirelessGatewayTaskDefinitionId' - The ID of the WirelessGatewayTaskDefinition.+newCreateWirelessGatewayTask ::+  -- | 'id'+  Prelude.Text ->+  -- | 'wirelessGatewayTaskDefinitionId'+  Prelude.Text ->+  CreateWirelessGatewayTask+newCreateWirelessGatewayTask+  pId_+  pWirelessGatewayTaskDefinitionId_ =+    CreateWirelessGatewayTask'+      { id = pId_,+        wirelessGatewayTaskDefinitionId =+          pWirelessGatewayTaskDefinitionId_+      }++-- | The ID of the resource to update.+createWirelessGatewayTask_id :: Lens.Lens' CreateWirelessGatewayTask Prelude.Text+createWirelessGatewayTask_id = Lens.lens (\CreateWirelessGatewayTask' {id} -> id) (\s@CreateWirelessGatewayTask' {} a -> s {id = a} :: CreateWirelessGatewayTask)++-- | The ID of the WirelessGatewayTaskDefinition.+createWirelessGatewayTask_wirelessGatewayTaskDefinitionId :: Lens.Lens' CreateWirelessGatewayTask Prelude.Text+createWirelessGatewayTask_wirelessGatewayTaskDefinitionId = Lens.lens (\CreateWirelessGatewayTask' {wirelessGatewayTaskDefinitionId} -> wirelessGatewayTaskDefinitionId) (\s@CreateWirelessGatewayTask' {} a -> s {wirelessGatewayTaskDefinitionId = a} :: CreateWirelessGatewayTask)++instance Core.AWSRequest CreateWirelessGatewayTask where+  type+    AWSResponse CreateWirelessGatewayTask =+      CreateWirelessGatewayTaskResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWirelessGatewayTaskResponse'+            Prelude.<$> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "WirelessGatewayTaskDefinitionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWirelessGatewayTask where+  hashWithSalt _salt CreateWirelessGatewayTask' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` wirelessGatewayTaskDefinitionId++instance Prelude.NFData CreateWirelessGatewayTask where+  rnf CreateWirelessGatewayTask' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf wirelessGatewayTaskDefinitionId++instance Data.ToHeaders CreateWirelessGatewayTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateWirelessGatewayTask where+  toJSON CreateWirelessGatewayTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "WirelessGatewayTaskDefinitionId"+                  Data..= wirelessGatewayTaskDefinitionId+              )+          ]+      )++instance Data.ToPath CreateWirelessGatewayTask where+  toPath CreateWirelessGatewayTask' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/tasks"]++instance Data.ToQuery CreateWirelessGatewayTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWirelessGatewayTaskResponse' smart constructor.+data CreateWirelessGatewayTaskResponse = CreateWirelessGatewayTaskResponse'+  { -- | The status of the request.+    status :: Prelude.Maybe WirelessGatewayTaskStatus,+    -- | The ID of the WirelessGatewayTaskDefinition.+    wirelessGatewayTaskDefinitionId :: 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 'CreateWirelessGatewayTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'createWirelessGatewayTaskResponse_status' - The status of the request.+--+-- 'wirelessGatewayTaskDefinitionId', 'createWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId' - The ID of the WirelessGatewayTaskDefinition.+--+-- 'httpStatus', 'createWirelessGatewayTaskResponse_httpStatus' - The response's http status code.+newCreateWirelessGatewayTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWirelessGatewayTaskResponse+newCreateWirelessGatewayTaskResponse pHttpStatus_ =+  CreateWirelessGatewayTaskResponse'+    { status =+        Prelude.Nothing,+      wirelessGatewayTaskDefinitionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The status of the request.+createWirelessGatewayTaskResponse_status :: Lens.Lens' CreateWirelessGatewayTaskResponse (Prelude.Maybe WirelessGatewayTaskStatus)+createWirelessGatewayTaskResponse_status = Lens.lens (\CreateWirelessGatewayTaskResponse' {status} -> status) (\s@CreateWirelessGatewayTaskResponse' {} a -> s {status = a} :: CreateWirelessGatewayTaskResponse)++-- | The ID of the WirelessGatewayTaskDefinition.+createWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId :: Lens.Lens' CreateWirelessGatewayTaskResponse (Prelude.Maybe Prelude.Text)+createWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId = Lens.lens (\CreateWirelessGatewayTaskResponse' {wirelessGatewayTaskDefinitionId} -> wirelessGatewayTaskDefinitionId) (\s@CreateWirelessGatewayTaskResponse' {} a -> s {wirelessGatewayTaskDefinitionId = a} :: CreateWirelessGatewayTaskResponse)++-- | The response's http status code.+createWirelessGatewayTaskResponse_httpStatus :: Lens.Lens' CreateWirelessGatewayTaskResponse Prelude.Int+createWirelessGatewayTaskResponse_httpStatus = Lens.lens (\CreateWirelessGatewayTaskResponse' {httpStatus} -> httpStatus) (\s@CreateWirelessGatewayTaskResponse' {} a -> s {httpStatus = a} :: CreateWirelessGatewayTaskResponse)++instance+  Prelude.NFData+    CreateWirelessGatewayTaskResponse+  where+  rnf CreateWirelessGatewayTaskResponse' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf wirelessGatewayTaskDefinitionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/CreateWirelessGatewayTaskDefinition.hs view
@@ -0,0 +1,275 @@+{-# 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.IoTWireless.CreateWirelessGatewayTaskDefinition+-- 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 gateway task definition.+module Amazonka.IoTWireless.CreateWirelessGatewayTaskDefinition+  ( -- * Creating a Request+    CreateWirelessGatewayTaskDefinition (..),+    newCreateWirelessGatewayTaskDefinition,++    -- * Request Lenses+    createWirelessGatewayTaskDefinition_clientRequestToken,+    createWirelessGatewayTaskDefinition_name,+    createWirelessGatewayTaskDefinition_tags,+    createWirelessGatewayTaskDefinition_update,+    createWirelessGatewayTaskDefinition_autoCreateTasks,++    -- * Destructuring the Response+    CreateWirelessGatewayTaskDefinitionResponse (..),+    newCreateWirelessGatewayTaskDefinitionResponse,++    -- * Response Lenses+    createWirelessGatewayTaskDefinitionResponse_arn,+    createWirelessGatewayTaskDefinitionResponse_id,+    createWirelessGatewayTaskDefinitionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWirelessGatewayTaskDefinition' smart constructor.+data CreateWirelessGatewayTaskDefinition = CreateWirelessGatewayTaskDefinition'+  { -- | Each resource must have a unique client request token. If you try to+    -- create a new resource with the same token as a resource that already+    -- exists, an exception occurs. If you omit this value, AWS SDKs will+    -- automatically generate a unique client request.+    clientRequestToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the new resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The tags to attach to the specified resource. Tags are metadata that you+    -- can use to manage a resource.+    tags :: Prelude.Maybe [Tag],+    -- | Information about the gateways to update.+    update :: Prelude.Maybe UpdateWirelessGatewayTaskCreate,+    -- | Whether to automatically create tasks using this task definition for all+    -- gateways with the specified current version. If @false@, the task must+    -- me created by calling @CreateWirelessGatewayTask@.+    autoCreateTasks :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWirelessGatewayTaskDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createWirelessGatewayTaskDefinition_clientRequestToken' - Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+--+-- 'name', 'createWirelessGatewayTaskDefinition_name' - The name of the new resource.+--+-- 'tags', 'createWirelessGatewayTaskDefinition_tags' - The tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a resource.+--+-- 'update', 'createWirelessGatewayTaskDefinition_update' - Information about the gateways to update.+--+-- 'autoCreateTasks', 'createWirelessGatewayTaskDefinition_autoCreateTasks' - Whether to automatically create tasks using this task definition for all+-- gateways with the specified current version. If @false@, the task must+-- me created by calling @CreateWirelessGatewayTask@.+newCreateWirelessGatewayTaskDefinition ::+  -- | 'autoCreateTasks'+  Prelude.Bool ->+  CreateWirelessGatewayTaskDefinition+newCreateWirelessGatewayTaskDefinition+  pAutoCreateTasks_ =+    CreateWirelessGatewayTaskDefinition'+      { clientRequestToken =+          Prelude.Nothing,+        name = Prelude.Nothing,+        tags = Prelude.Nothing,+        update = Prelude.Nothing,+        autoCreateTasks = pAutoCreateTasks_+      }++-- | Each resource must have a unique client request token. If you try to+-- create a new resource with the same token as a resource that already+-- exists, an exception occurs. If you omit this value, AWS SDKs will+-- automatically generate a unique client request.+createWirelessGatewayTaskDefinition_clientRequestToken :: Lens.Lens' CreateWirelessGatewayTaskDefinition (Prelude.Maybe Prelude.Text)+createWirelessGatewayTaskDefinition_clientRequestToken = Lens.lens (\CreateWirelessGatewayTaskDefinition' {clientRequestToken} -> clientRequestToken) (\s@CreateWirelessGatewayTaskDefinition' {} a -> s {clientRequestToken = a} :: CreateWirelessGatewayTaskDefinition)++-- | The name of the new resource.+createWirelessGatewayTaskDefinition_name :: Lens.Lens' CreateWirelessGatewayTaskDefinition (Prelude.Maybe Prelude.Text)+createWirelessGatewayTaskDefinition_name = Lens.lens (\CreateWirelessGatewayTaskDefinition' {name} -> name) (\s@CreateWirelessGatewayTaskDefinition' {} a -> s {name = a} :: CreateWirelessGatewayTaskDefinition)++-- | The tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a resource.+createWirelessGatewayTaskDefinition_tags :: Lens.Lens' CreateWirelessGatewayTaskDefinition (Prelude.Maybe [Tag])+createWirelessGatewayTaskDefinition_tags = Lens.lens (\CreateWirelessGatewayTaskDefinition' {tags} -> tags) (\s@CreateWirelessGatewayTaskDefinition' {} a -> s {tags = a} :: CreateWirelessGatewayTaskDefinition) Prelude.. Lens.mapping Lens.coerced++-- | Information about the gateways to update.+createWirelessGatewayTaskDefinition_update :: Lens.Lens' CreateWirelessGatewayTaskDefinition (Prelude.Maybe UpdateWirelessGatewayTaskCreate)+createWirelessGatewayTaskDefinition_update = Lens.lens (\CreateWirelessGatewayTaskDefinition' {update} -> update) (\s@CreateWirelessGatewayTaskDefinition' {} a -> s {update = a} :: CreateWirelessGatewayTaskDefinition)++-- | Whether to automatically create tasks using this task definition for all+-- gateways with the specified current version. If @false@, the task must+-- me created by calling @CreateWirelessGatewayTask@.+createWirelessGatewayTaskDefinition_autoCreateTasks :: Lens.Lens' CreateWirelessGatewayTaskDefinition Prelude.Bool+createWirelessGatewayTaskDefinition_autoCreateTasks = Lens.lens (\CreateWirelessGatewayTaskDefinition' {autoCreateTasks} -> autoCreateTasks) (\s@CreateWirelessGatewayTaskDefinition' {} a -> s {autoCreateTasks = a} :: CreateWirelessGatewayTaskDefinition)++instance+  Core.AWSRequest+    CreateWirelessGatewayTaskDefinition+  where+  type+    AWSResponse CreateWirelessGatewayTaskDefinition =+      CreateWirelessGatewayTaskDefinitionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWirelessGatewayTaskDefinitionResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateWirelessGatewayTaskDefinition+  where+  hashWithSalt+    _salt+    CreateWirelessGatewayTaskDefinition' {..} =+      _salt+        `Prelude.hashWithSalt` clientRequestToken+        `Prelude.hashWithSalt` name+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` update+        `Prelude.hashWithSalt` autoCreateTasks++instance+  Prelude.NFData+    CreateWirelessGatewayTaskDefinition+  where+  rnf CreateWirelessGatewayTaskDefinition' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf update+      `Prelude.seq` Prelude.rnf autoCreateTasks++instance+  Data.ToHeaders+    CreateWirelessGatewayTaskDefinition+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    CreateWirelessGatewayTaskDefinition+  where+  toJSON CreateWirelessGatewayTaskDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Name" Data..=) Prelude.<$> name,+            ("Tags" Data..=) Prelude.<$> tags,+            ("Update" Data..=) Prelude.<$> update,+            Prelude.Just+              ("AutoCreateTasks" Data..= autoCreateTasks)+          ]+      )++instance+  Data.ToPath+    CreateWirelessGatewayTaskDefinition+  where+  toPath =+    Prelude.const "/wireless-gateway-task-definitions"++instance+  Data.ToQuery+    CreateWirelessGatewayTaskDefinition+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWirelessGatewayTaskDefinitionResponse' smart constructor.+data CreateWirelessGatewayTaskDefinitionResponse = CreateWirelessGatewayTaskDefinitionResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new wireless gateway task definition.+    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 'CreateWirelessGatewayTaskDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createWirelessGatewayTaskDefinitionResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'createWirelessGatewayTaskDefinitionResponse_id' - The ID of the new wireless gateway task definition.+--+-- 'httpStatus', 'createWirelessGatewayTaskDefinitionResponse_httpStatus' - The response's http status code.+newCreateWirelessGatewayTaskDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWirelessGatewayTaskDefinitionResponse+newCreateWirelessGatewayTaskDefinitionResponse+  pHttpStatus_ =+    CreateWirelessGatewayTaskDefinitionResponse'+      { arn =+          Prelude.Nothing,+        id = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name of the resource.+createWirelessGatewayTaskDefinitionResponse_arn :: Lens.Lens' CreateWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)+createWirelessGatewayTaskDefinitionResponse_arn = Lens.lens (\CreateWirelessGatewayTaskDefinitionResponse' {arn} -> arn) (\s@CreateWirelessGatewayTaskDefinitionResponse' {} a -> s {arn = a} :: CreateWirelessGatewayTaskDefinitionResponse)++-- | The ID of the new wireless gateway task definition.+createWirelessGatewayTaskDefinitionResponse_id :: Lens.Lens' CreateWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)+createWirelessGatewayTaskDefinitionResponse_id = Lens.lens (\CreateWirelessGatewayTaskDefinitionResponse' {id} -> id) (\s@CreateWirelessGatewayTaskDefinitionResponse' {} a -> s {id = a} :: CreateWirelessGatewayTaskDefinitionResponse)++-- | The response's http status code.+createWirelessGatewayTaskDefinitionResponse_httpStatus :: Lens.Lens' CreateWirelessGatewayTaskDefinitionResponse Prelude.Int+createWirelessGatewayTaskDefinitionResponse_httpStatus = Lens.lens (\CreateWirelessGatewayTaskDefinitionResponse' {httpStatus} -> httpStatus) (\s@CreateWirelessGatewayTaskDefinitionResponse' {} a -> s {httpStatus = a} :: CreateWirelessGatewayTaskDefinitionResponse)++instance+  Prelude.NFData+    CreateWirelessGatewayTaskDefinitionResponse+  where+  rnf CreateWirelessGatewayTaskDefinitionResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteDestination.hs view
@@ -0,0 +1,138 @@+{-# 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.IoTWireless.DeleteDestination+-- 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 destination.+module Amazonka.IoTWireless.DeleteDestination+  ( -- * Creating a Request+    DeleteDestination (..),+    newDeleteDestination,++    -- * Request Lenses+    deleteDestination_name,++    -- * Destructuring the Response+    DeleteDestinationResponse (..),+    newDeleteDestinationResponse,++    -- * Response Lenses+    deleteDestinationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDestination' smart constructor.+data DeleteDestination = DeleteDestination'+  { -- | The name of the resource to delete.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDestination_name' - The name of the resource to delete.+newDeleteDestination ::+  -- | 'name'+  Prelude.Text ->+  DeleteDestination+newDeleteDestination pName_ =+  DeleteDestination' {name = pName_}++-- | The name of the resource to delete.+deleteDestination_name :: Lens.Lens' DeleteDestination Prelude.Text+deleteDestination_name = Lens.lens (\DeleteDestination' {name} -> name) (\s@DeleteDestination' {} a -> s {name = a} :: DeleteDestination)++instance Core.AWSRequest DeleteDestination where+  type+    AWSResponse DeleteDestination =+      DeleteDestinationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteDestinationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDestination where+  hashWithSalt _salt DeleteDestination' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeleteDestination where+  rnf DeleteDestination' {..} = Prelude.rnf name++instance Data.ToHeaders DeleteDestination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDestination where+  toPath DeleteDestination' {..} =+    Prelude.mconcat ["/destinations/", Data.toBS name]++instance Data.ToQuery DeleteDestination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDestinationResponse' smart constructor.+data DeleteDestinationResponse = DeleteDestinationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDestinationResponse_httpStatus' - The response's http status code.+newDeleteDestinationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDestinationResponse+newDeleteDestinationResponse pHttpStatus_ =+  DeleteDestinationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteDestinationResponse_httpStatus :: Lens.Lens' DeleteDestinationResponse Prelude.Int+deleteDestinationResponse_httpStatus = Lens.lens (\DeleteDestinationResponse' {httpStatus} -> httpStatus) (\s@DeleteDestinationResponse' {} a -> s {httpStatus = a} :: DeleteDestinationResponse)++instance Prelude.NFData DeleteDestinationResponse where+  rnf DeleteDestinationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteDeviceProfile.hs view
@@ -0,0 +1,138 @@+{-# 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.IoTWireless.DeleteDeviceProfile+-- 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 device profile.+module Amazonka.IoTWireless.DeleteDeviceProfile+  ( -- * Creating a Request+    DeleteDeviceProfile (..),+    newDeleteDeviceProfile,++    -- * Request Lenses+    deleteDeviceProfile_id,++    -- * Destructuring the Response+    DeleteDeviceProfileResponse (..),+    newDeleteDeviceProfileResponse,++    -- * Response Lenses+    deleteDeviceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDeviceProfile' smart constructor.+data DeleteDeviceProfile = DeleteDeviceProfile'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDeviceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteDeviceProfile_id' - The ID of the resource to delete.+newDeleteDeviceProfile ::+  -- | 'id'+  Prelude.Text ->+  DeleteDeviceProfile+newDeleteDeviceProfile pId_ =+  DeleteDeviceProfile' {id = pId_}++-- | The ID of the resource to delete.+deleteDeviceProfile_id :: Lens.Lens' DeleteDeviceProfile Prelude.Text+deleteDeviceProfile_id = Lens.lens (\DeleteDeviceProfile' {id} -> id) (\s@DeleteDeviceProfile' {} a -> s {id = a} :: DeleteDeviceProfile)++instance Core.AWSRequest DeleteDeviceProfile where+  type+    AWSResponse DeleteDeviceProfile =+      DeleteDeviceProfileResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteDeviceProfileResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDeviceProfile where+  hashWithSalt _salt DeleteDeviceProfile' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteDeviceProfile where+  rnf DeleteDeviceProfile' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteDeviceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteDeviceProfile where+  toPath DeleteDeviceProfile' {..} =+    Prelude.mconcat ["/device-profiles/", Data.toBS id]++instance Data.ToQuery DeleteDeviceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDeviceProfileResponse' smart constructor.+data DeleteDeviceProfileResponse = DeleteDeviceProfileResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDeviceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteDeviceProfileResponse_httpStatus' - The response's http status code.+newDeleteDeviceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDeviceProfileResponse+newDeleteDeviceProfileResponse pHttpStatus_ =+  DeleteDeviceProfileResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteDeviceProfileResponse_httpStatus :: Lens.Lens' DeleteDeviceProfileResponse Prelude.Int+deleteDeviceProfileResponse_httpStatus = Lens.lens (\DeleteDeviceProfileResponse' {httpStatus} -> httpStatus) (\s@DeleteDeviceProfileResponse' {} a -> s {httpStatus = a} :: DeleteDeviceProfileResponse)++instance Prelude.NFData DeleteDeviceProfileResponse where+  rnf DeleteDeviceProfileResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteFuotaTask.hs view
@@ -0,0 +1,133 @@+{-# 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.IoTWireless.DeleteFuotaTask+-- 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 FUOTA task.+module Amazonka.IoTWireless.DeleteFuotaTask+  ( -- * Creating a Request+    DeleteFuotaTask (..),+    newDeleteFuotaTask,++    -- * Request Lenses+    deleteFuotaTask_id,++    -- * Destructuring the Response+    DeleteFuotaTaskResponse (..),+    newDeleteFuotaTaskResponse,++    -- * Response Lenses+    deleteFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFuotaTask' smart constructor.+data DeleteFuotaTask = DeleteFuotaTask'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteFuotaTask_id' - Undocumented member.+newDeleteFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  DeleteFuotaTask+newDeleteFuotaTask pId_ = DeleteFuotaTask' {id = pId_}++-- | Undocumented member.+deleteFuotaTask_id :: Lens.Lens' DeleteFuotaTask Prelude.Text+deleteFuotaTask_id = Lens.lens (\DeleteFuotaTask' {id} -> id) (\s@DeleteFuotaTask' {} a -> s {id = a} :: DeleteFuotaTask)++instance Core.AWSRequest DeleteFuotaTask where+  type+    AWSResponse DeleteFuotaTask =+      DeleteFuotaTaskResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteFuotaTask where+  hashWithSalt _salt DeleteFuotaTask' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteFuotaTask where+  rnf DeleteFuotaTask' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteFuotaTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteFuotaTask where+  toPath DeleteFuotaTask' {..} =+    Prelude.mconcat ["/fuota-tasks/", Data.toBS id]++instance Data.ToQuery DeleteFuotaTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFuotaTaskResponse' smart constructor.+data DeleteFuotaTaskResponse = DeleteFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteFuotaTaskResponse_httpStatus' - The response's http status code.+newDeleteFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteFuotaTaskResponse+newDeleteFuotaTaskResponse pHttpStatus_ =+  DeleteFuotaTaskResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteFuotaTaskResponse_httpStatus :: Lens.Lens' DeleteFuotaTaskResponse Prelude.Int+deleteFuotaTaskResponse_httpStatus = Lens.lens (\DeleteFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@DeleteFuotaTaskResponse' {} a -> s {httpStatus = a} :: DeleteFuotaTaskResponse)++instance Prelude.NFData DeleteFuotaTaskResponse where+  rnf DeleteFuotaTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteMulticastGroup.hs view
@@ -0,0 +1,138 @@+{-# 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.IoTWireless.DeleteMulticastGroup+-- 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 multicast group if it is not in use by a fuota task.+module Amazonka.IoTWireless.DeleteMulticastGroup+  ( -- * Creating a Request+    DeleteMulticastGroup (..),+    newDeleteMulticastGroup,++    -- * Request Lenses+    deleteMulticastGroup_id,++    -- * Destructuring the Response+    DeleteMulticastGroupResponse (..),+    newDeleteMulticastGroupResponse,++    -- * Response Lenses+    deleteMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteMulticastGroup' smart constructor.+data DeleteMulticastGroup = DeleteMulticastGroup'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteMulticastGroup_id' - Undocumented member.+newDeleteMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  DeleteMulticastGroup+newDeleteMulticastGroup pId_ =+  DeleteMulticastGroup' {id = pId_}++-- | Undocumented member.+deleteMulticastGroup_id :: Lens.Lens' DeleteMulticastGroup Prelude.Text+deleteMulticastGroup_id = Lens.lens (\DeleteMulticastGroup' {id} -> id) (\s@DeleteMulticastGroup' {} a -> s {id = a} :: DeleteMulticastGroup)++instance Core.AWSRequest DeleteMulticastGroup where+  type+    AWSResponse DeleteMulticastGroup =+      DeleteMulticastGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteMulticastGroup where+  hashWithSalt _salt DeleteMulticastGroup' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteMulticastGroup where+  rnf DeleteMulticastGroup' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteMulticastGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteMulticastGroup where+  toPath DeleteMulticastGroup' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id]++instance Data.ToQuery DeleteMulticastGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMulticastGroupResponse' smart constructor.+data DeleteMulticastGroupResponse = DeleteMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteMulticastGroupResponse_httpStatus' - The response's http status code.+newDeleteMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteMulticastGroupResponse+newDeleteMulticastGroupResponse pHttpStatus_ =+  DeleteMulticastGroupResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteMulticastGroupResponse_httpStatus :: Lens.Lens' DeleteMulticastGroupResponse Prelude.Int+deleteMulticastGroupResponse_httpStatus = Lens.lens (\DeleteMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteMulticastGroupResponse' {} a -> s {httpStatus = a} :: DeleteMulticastGroupResponse)++instance Prelude.NFData DeleteMulticastGroupResponse where+  rnf DeleteMulticastGroupResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteNetworkAnalyzerConfiguration.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.IoTWireless.DeleteNetworkAnalyzerConfiguration+-- 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 network analyzer configuration.+module Amazonka.IoTWireless.DeleteNetworkAnalyzerConfiguration+  ( -- * Creating a Request+    DeleteNetworkAnalyzerConfiguration (..),+    newDeleteNetworkAnalyzerConfiguration,++    -- * Request Lenses+    deleteNetworkAnalyzerConfiguration_configurationName,++    -- * Destructuring the Response+    DeleteNetworkAnalyzerConfigurationResponse (..),+    newDeleteNetworkAnalyzerConfigurationResponse,++    -- * Response Lenses+    deleteNetworkAnalyzerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNetworkAnalyzerConfiguration' smart constructor.+data DeleteNetworkAnalyzerConfiguration = DeleteNetworkAnalyzerConfiguration'+  { configurationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetworkAnalyzerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationName', 'deleteNetworkAnalyzerConfiguration_configurationName' - Undocumented member.+newDeleteNetworkAnalyzerConfiguration ::+  -- | 'configurationName'+  Prelude.Text ->+  DeleteNetworkAnalyzerConfiguration+newDeleteNetworkAnalyzerConfiguration+  pConfigurationName_ =+    DeleteNetworkAnalyzerConfiguration'+      { configurationName =+          pConfigurationName_+      }++-- | Undocumented member.+deleteNetworkAnalyzerConfiguration_configurationName :: Lens.Lens' DeleteNetworkAnalyzerConfiguration Prelude.Text+deleteNetworkAnalyzerConfiguration_configurationName = Lens.lens (\DeleteNetworkAnalyzerConfiguration' {configurationName} -> configurationName) (\s@DeleteNetworkAnalyzerConfiguration' {} a -> s {configurationName = a} :: DeleteNetworkAnalyzerConfiguration)++instance+  Core.AWSRequest+    DeleteNetworkAnalyzerConfiguration+  where+  type+    AWSResponse DeleteNetworkAnalyzerConfiguration =+      DeleteNetworkAnalyzerConfigurationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteNetworkAnalyzerConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteNetworkAnalyzerConfiguration+  where+  hashWithSalt+    _salt+    DeleteNetworkAnalyzerConfiguration' {..} =+      _salt `Prelude.hashWithSalt` configurationName++instance+  Prelude.NFData+    DeleteNetworkAnalyzerConfiguration+  where+  rnf DeleteNetworkAnalyzerConfiguration' {..} =+    Prelude.rnf configurationName++instance+  Data.ToHeaders+    DeleteNetworkAnalyzerConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteNetworkAnalyzerConfiguration+  where+  toPath DeleteNetworkAnalyzerConfiguration' {..} =+    Prelude.mconcat+      [ "/network-analyzer-configurations/",+        Data.toBS configurationName+      ]++instance+  Data.ToQuery+    DeleteNetworkAnalyzerConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteNetworkAnalyzerConfigurationResponse' smart constructor.+data DeleteNetworkAnalyzerConfigurationResponse = DeleteNetworkAnalyzerConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetworkAnalyzerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteNetworkAnalyzerConfigurationResponse_httpStatus' - The response's http status code.+newDeleteNetworkAnalyzerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteNetworkAnalyzerConfigurationResponse+newDeleteNetworkAnalyzerConfigurationResponse+  pHttpStatus_ =+    DeleteNetworkAnalyzerConfigurationResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+deleteNetworkAnalyzerConfigurationResponse_httpStatus :: Lens.Lens' DeleteNetworkAnalyzerConfigurationResponse Prelude.Int+deleteNetworkAnalyzerConfigurationResponse_httpStatus = Lens.lens (\DeleteNetworkAnalyzerConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteNetworkAnalyzerConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteNetworkAnalyzerConfigurationResponse)++instance+  Prelude.NFData+    DeleteNetworkAnalyzerConfigurationResponse+  where+  rnf DeleteNetworkAnalyzerConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteQueuedMessages.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.IoTWireless.DeleteQueuedMessages+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Remove queued messages from the downlink queue.+module Amazonka.IoTWireless.DeleteQueuedMessages+  ( -- * Creating a Request+    DeleteQueuedMessages (..),+    newDeleteQueuedMessages,++    -- * Request Lenses+    deleteQueuedMessages_wirelessDeviceType,+    deleteQueuedMessages_id,+    deleteQueuedMessages_messageId,++    -- * Destructuring the Response+    DeleteQueuedMessagesResponse (..),+    newDeleteQueuedMessagesResponse,++    -- * Response Lenses+    deleteQueuedMessagesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteQueuedMessages' smart constructor.+data DeleteQueuedMessages = DeleteQueuedMessages'+  { -- | The wireless device type, which can be either Sidewalk or LoRaWAN.+    wirelessDeviceType :: Prelude.Maybe WirelessDeviceType,+    -- | The ID of a given wireless device for which downlink messages will be+    -- deleted.+    id :: Prelude.Text,+    -- | If message ID is @\"*\"@, it cleares the entire downlink queue for a+    -- given device, specified by the wireless device ID. Otherwise, the+    -- downlink message with the specified message ID will be deleted.+    messageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteQueuedMessages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessDeviceType', 'deleteQueuedMessages_wirelessDeviceType' - The wireless device type, which can be either Sidewalk or LoRaWAN.+--+-- 'id', 'deleteQueuedMessages_id' - The ID of a given wireless device for which downlink messages will be+-- deleted.+--+-- 'messageId', 'deleteQueuedMessages_messageId' - If message ID is @\"*\"@, it cleares the entire downlink queue for a+-- given device, specified by the wireless device ID. Otherwise, the+-- downlink message with the specified message ID will be deleted.+newDeleteQueuedMessages ::+  -- | 'id'+  Prelude.Text ->+  -- | 'messageId'+  Prelude.Text ->+  DeleteQueuedMessages+newDeleteQueuedMessages pId_ pMessageId_ =+  DeleteQueuedMessages'+    { wirelessDeviceType =+        Prelude.Nothing,+      id = pId_,+      messageId = pMessageId_+    }++-- | The wireless device type, which can be either Sidewalk or LoRaWAN.+deleteQueuedMessages_wirelessDeviceType :: Lens.Lens' DeleteQueuedMessages (Prelude.Maybe WirelessDeviceType)+deleteQueuedMessages_wirelessDeviceType = Lens.lens (\DeleteQueuedMessages' {wirelessDeviceType} -> wirelessDeviceType) (\s@DeleteQueuedMessages' {} a -> s {wirelessDeviceType = a} :: DeleteQueuedMessages)++-- | The ID of a given wireless device for which downlink messages will be+-- deleted.+deleteQueuedMessages_id :: Lens.Lens' DeleteQueuedMessages Prelude.Text+deleteQueuedMessages_id = Lens.lens (\DeleteQueuedMessages' {id} -> id) (\s@DeleteQueuedMessages' {} a -> s {id = a} :: DeleteQueuedMessages)++-- | If message ID is @\"*\"@, it cleares the entire downlink queue for a+-- given device, specified by the wireless device ID. Otherwise, the+-- downlink message with the specified message ID will be deleted.+deleteQueuedMessages_messageId :: Lens.Lens' DeleteQueuedMessages Prelude.Text+deleteQueuedMessages_messageId = Lens.lens (\DeleteQueuedMessages' {messageId} -> messageId) (\s@DeleteQueuedMessages' {} a -> s {messageId = a} :: DeleteQueuedMessages)++instance Core.AWSRequest DeleteQueuedMessages where+  type+    AWSResponse DeleteQueuedMessages =+      DeleteQueuedMessagesResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteQueuedMessagesResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteQueuedMessages where+  hashWithSalt _salt DeleteQueuedMessages' {..} =+    _salt+      `Prelude.hashWithSalt` wirelessDeviceType+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` messageId++instance Prelude.NFData DeleteQueuedMessages where+  rnf DeleteQueuedMessages' {..} =+    Prelude.rnf wirelessDeviceType+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf messageId++instance Data.ToHeaders DeleteQueuedMessages where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteQueuedMessages where+  toPath DeleteQueuedMessages' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/data"]++instance Data.ToQuery DeleteQueuedMessages where+  toQuery DeleteQueuedMessages' {..} =+    Prelude.mconcat+      [ "WirelessDeviceType" Data.=: wirelessDeviceType,+        "messageId" Data.=: messageId+      ]++-- | /See:/ 'newDeleteQueuedMessagesResponse' smart constructor.+data DeleteQueuedMessagesResponse = DeleteQueuedMessagesResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteQueuedMessagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteQueuedMessagesResponse_httpStatus' - The response's http status code.+newDeleteQueuedMessagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteQueuedMessagesResponse+newDeleteQueuedMessagesResponse pHttpStatus_ =+  DeleteQueuedMessagesResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteQueuedMessagesResponse_httpStatus :: Lens.Lens' DeleteQueuedMessagesResponse Prelude.Int+deleteQueuedMessagesResponse_httpStatus = Lens.lens (\DeleteQueuedMessagesResponse' {httpStatus} -> httpStatus) (\s@DeleteQueuedMessagesResponse' {} a -> s {httpStatus = a} :: DeleteQueuedMessagesResponse)++instance Prelude.NFData DeleteQueuedMessagesResponse where+  rnf DeleteQueuedMessagesResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteServiceProfile.hs view
@@ -0,0 +1,139 @@+{-# 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.IoTWireless.DeleteServiceProfile+-- 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 service profile.+module Amazonka.IoTWireless.DeleteServiceProfile+  ( -- * Creating a Request+    DeleteServiceProfile (..),+    newDeleteServiceProfile,++    -- * Request Lenses+    deleteServiceProfile_id,++    -- * Destructuring the Response+    DeleteServiceProfileResponse (..),+    newDeleteServiceProfileResponse,++    -- * Response Lenses+    deleteServiceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteServiceProfile' smart constructor.+data DeleteServiceProfile = DeleteServiceProfile'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteServiceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteServiceProfile_id' - The ID of the resource to delete.+newDeleteServiceProfile ::+  -- | 'id'+  Prelude.Text ->+  DeleteServiceProfile+newDeleteServiceProfile pId_ =+  DeleteServiceProfile' {id = pId_}++-- | The ID of the resource to delete.+deleteServiceProfile_id :: Lens.Lens' DeleteServiceProfile Prelude.Text+deleteServiceProfile_id = Lens.lens (\DeleteServiceProfile' {id} -> id) (\s@DeleteServiceProfile' {} a -> s {id = a} :: DeleteServiceProfile)++instance Core.AWSRequest DeleteServiceProfile where+  type+    AWSResponse DeleteServiceProfile =+      DeleteServiceProfileResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteServiceProfileResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteServiceProfile where+  hashWithSalt _salt DeleteServiceProfile' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteServiceProfile where+  rnf DeleteServiceProfile' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteServiceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteServiceProfile where+  toPath DeleteServiceProfile' {..} =+    Prelude.mconcat+      ["/service-profiles/", Data.toBS id]++instance Data.ToQuery DeleteServiceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteServiceProfileResponse' smart constructor.+data DeleteServiceProfileResponse = DeleteServiceProfileResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteServiceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteServiceProfileResponse_httpStatus' - The response's http status code.+newDeleteServiceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteServiceProfileResponse+newDeleteServiceProfileResponse pHttpStatus_ =+  DeleteServiceProfileResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteServiceProfileResponse_httpStatus :: Lens.Lens' DeleteServiceProfileResponse Prelude.Int+deleteServiceProfileResponse_httpStatus = Lens.lens (\DeleteServiceProfileResponse' {httpStatus} -> httpStatus) (\s@DeleteServiceProfileResponse' {} a -> s {httpStatus = a} :: DeleteServiceProfileResponse)++instance Prelude.NFData DeleteServiceProfileResponse where+  rnf DeleteServiceProfileResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteWirelessDevice.hs view
@@ -0,0 +1,139 @@+{-# 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.IoTWireless.DeleteWirelessDevice+-- 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 wireless device.+module Amazonka.IoTWireless.DeleteWirelessDevice+  ( -- * Creating a Request+    DeleteWirelessDevice (..),+    newDeleteWirelessDevice,++    -- * Request Lenses+    deleteWirelessDevice_id,++    -- * Destructuring the Response+    DeleteWirelessDeviceResponse (..),+    newDeleteWirelessDeviceResponse,++    -- * Response Lenses+    deleteWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWirelessDevice' smart constructor.+data DeleteWirelessDevice = DeleteWirelessDevice'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteWirelessDevice_id' - The ID of the resource to delete.+newDeleteWirelessDevice ::+  -- | 'id'+  Prelude.Text ->+  DeleteWirelessDevice+newDeleteWirelessDevice pId_ =+  DeleteWirelessDevice' {id = pId_}++-- | The ID of the resource to delete.+deleteWirelessDevice_id :: Lens.Lens' DeleteWirelessDevice Prelude.Text+deleteWirelessDevice_id = Lens.lens (\DeleteWirelessDevice' {id} -> id) (\s@DeleteWirelessDevice' {} a -> s {id = a} :: DeleteWirelessDevice)++instance Core.AWSRequest DeleteWirelessDevice where+  type+    AWSResponse DeleteWirelessDevice =+      DeleteWirelessDeviceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWirelessDeviceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWirelessDevice where+  hashWithSalt _salt DeleteWirelessDevice' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteWirelessDevice where+  rnf DeleteWirelessDevice' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteWirelessDevice where+  toPath DeleteWirelessDevice' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id]++instance Data.ToQuery DeleteWirelessDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWirelessDeviceResponse' smart constructor.+data DeleteWirelessDeviceResponse = DeleteWirelessDeviceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteWirelessDeviceResponse_httpStatus' - The response's http status code.+newDeleteWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWirelessDeviceResponse+newDeleteWirelessDeviceResponse pHttpStatus_ =+  DeleteWirelessDeviceResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteWirelessDeviceResponse_httpStatus :: Lens.Lens' DeleteWirelessDeviceResponse Prelude.Int+deleteWirelessDeviceResponse_httpStatus = Lens.lens (\DeleteWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@DeleteWirelessDeviceResponse' {} a -> s {httpStatus = a} :: DeleteWirelessDeviceResponse)++instance Prelude.NFData DeleteWirelessDeviceResponse where+  rnf DeleteWirelessDeviceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteWirelessGateway.hs view
@@ -0,0 +1,139 @@+{-# 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.IoTWireless.DeleteWirelessGateway+-- 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 wireless gateway.+module Amazonka.IoTWireless.DeleteWirelessGateway+  ( -- * Creating a Request+    DeleteWirelessGateway (..),+    newDeleteWirelessGateway,++    -- * Request Lenses+    deleteWirelessGateway_id,++    -- * Destructuring the Response+    DeleteWirelessGatewayResponse (..),+    newDeleteWirelessGatewayResponse,++    -- * Response Lenses+    deleteWirelessGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWirelessGateway' smart constructor.+data DeleteWirelessGateway = DeleteWirelessGateway'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteWirelessGateway_id' - The ID of the resource to delete.+newDeleteWirelessGateway ::+  -- | 'id'+  Prelude.Text ->+  DeleteWirelessGateway+newDeleteWirelessGateway pId_ =+  DeleteWirelessGateway' {id = pId_}++-- | The ID of the resource to delete.+deleteWirelessGateway_id :: Lens.Lens' DeleteWirelessGateway Prelude.Text+deleteWirelessGateway_id = Lens.lens (\DeleteWirelessGateway' {id} -> id) (\s@DeleteWirelessGateway' {} a -> s {id = a} :: DeleteWirelessGateway)++instance Core.AWSRequest DeleteWirelessGateway where+  type+    AWSResponse DeleteWirelessGateway =+      DeleteWirelessGatewayResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWirelessGatewayResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWirelessGateway where+  hashWithSalt _salt DeleteWirelessGateway' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteWirelessGateway where+  rnf DeleteWirelessGateway' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteWirelessGateway where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteWirelessGateway where+  toPath DeleteWirelessGateway' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id]++instance Data.ToQuery DeleteWirelessGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWirelessGatewayResponse' smart constructor.+data DeleteWirelessGatewayResponse = DeleteWirelessGatewayResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteWirelessGatewayResponse_httpStatus' - The response's http status code.+newDeleteWirelessGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWirelessGatewayResponse+newDeleteWirelessGatewayResponse pHttpStatus_ =+  DeleteWirelessGatewayResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteWirelessGatewayResponse_httpStatus :: Lens.Lens' DeleteWirelessGatewayResponse Prelude.Int+deleteWirelessGatewayResponse_httpStatus = Lens.lens (\DeleteWirelessGatewayResponse' {httpStatus} -> httpStatus) (\s@DeleteWirelessGatewayResponse' {} a -> s {httpStatus = a} :: DeleteWirelessGatewayResponse)++instance Prelude.NFData DeleteWirelessGatewayResponse where+  rnf DeleteWirelessGatewayResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteWirelessGatewayTask.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.DeleteWirelessGatewayTask+-- 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 wireless gateway task.+module Amazonka.IoTWireless.DeleteWirelessGatewayTask+  ( -- * Creating a Request+    DeleteWirelessGatewayTask (..),+    newDeleteWirelessGatewayTask,++    -- * Request Lenses+    deleteWirelessGatewayTask_id,++    -- * Destructuring the Response+    DeleteWirelessGatewayTaskResponse (..),+    newDeleteWirelessGatewayTaskResponse,++    -- * Response Lenses+    deleteWirelessGatewayTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWirelessGatewayTask' smart constructor.+data DeleteWirelessGatewayTask = DeleteWirelessGatewayTask'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGatewayTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteWirelessGatewayTask_id' - The ID of the resource to delete.+newDeleteWirelessGatewayTask ::+  -- | 'id'+  Prelude.Text ->+  DeleteWirelessGatewayTask+newDeleteWirelessGatewayTask pId_ =+  DeleteWirelessGatewayTask' {id = pId_}++-- | The ID of the resource to delete.+deleteWirelessGatewayTask_id :: Lens.Lens' DeleteWirelessGatewayTask Prelude.Text+deleteWirelessGatewayTask_id = Lens.lens (\DeleteWirelessGatewayTask' {id} -> id) (\s@DeleteWirelessGatewayTask' {} a -> s {id = a} :: DeleteWirelessGatewayTask)++instance Core.AWSRequest DeleteWirelessGatewayTask where+  type+    AWSResponse DeleteWirelessGatewayTask =+      DeleteWirelessGatewayTaskResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWirelessGatewayTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWirelessGatewayTask where+  hashWithSalt _salt DeleteWirelessGatewayTask' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteWirelessGatewayTask where+  rnf DeleteWirelessGatewayTask' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteWirelessGatewayTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteWirelessGatewayTask where+  toPath DeleteWirelessGatewayTask' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/tasks"]++instance Data.ToQuery DeleteWirelessGatewayTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWirelessGatewayTaskResponse' smart constructor.+data DeleteWirelessGatewayTaskResponse = DeleteWirelessGatewayTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGatewayTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteWirelessGatewayTaskResponse_httpStatus' - The response's http status code.+newDeleteWirelessGatewayTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWirelessGatewayTaskResponse+newDeleteWirelessGatewayTaskResponse pHttpStatus_ =+  DeleteWirelessGatewayTaskResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteWirelessGatewayTaskResponse_httpStatus :: Lens.Lens' DeleteWirelessGatewayTaskResponse Prelude.Int+deleteWirelessGatewayTaskResponse_httpStatus = Lens.lens (\DeleteWirelessGatewayTaskResponse' {httpStatus} -> httpStatus) (\s@DeleteWirelessGatewayTaskResponse' {} a -> s {httpStatus = a} :: DeleteWirelessGatewayTaskResponse)++instance+  Prelude.NFData+    DeleteWirelessGatewayTaskResponse+  where+  rnf DeleteWirelessGatewayTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DeleteWirelessGatewayTaskDefinition.hs view
@@ -0,0 +1,165 @@+{-# 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.IoTWireless.DeleteWirelessGatewayTaskDefinition+-- 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 wireless gateway task definition. Deleting this task+-- definition does not affect tasks that are currently in progress.+module Amazonka.IoTWireless.DeleteWirelessGatewayTaskDefinition+  ( -- * Creating a Request+    DeleteWirelessGatewayTaskDefinition (..),+    newDeleteWirelessGatewayTaskDefinition,++    -- * Request Lenses+    deleteWirelessGatewayTaskDefinition_id,++    -- * Destructuring the Response+    DeleteWirelessGatewayTaskDefinitionResponse (..),+    newDeleteWirelessGatewayTaskDefinitionResponse,++    -- * Response Lenses+    deleteWirelessGatewayTaskDefinitionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWirelessGatewayTaskDefinition' smart constructor.+data DeleteWirelessGatewayTaskDefinition = DeleteWirelessGatewayTaskDefinition'+  { -- | The ID of the resource to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGatewayTaskDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteWirelessGatewayTaskDefinition_id' - The ID of the resource to delete.+newDeleteWirelessGatewayTaskDefinition ::+  -- | 'id'+  Prelude.Text ->+  DeleteWirelessGatewayTaskDefinition+newDeleteWirelessGatewayTaskDefinition pId_ =+  DeleteWirelessGatewayTaskDefinition' {id = pId_}++-- | The ID of the resource to delete.+deleteWirelessGatewayTaskDefinition_id :: Lens.Lens' DeleteWirelessGatewayTaskDefinition Prelude.Text+deleteWirelessGatewayTaskDefinition_id = Lens.lens (\DeleteWirelessGatewayTaskDefinition' {id} -> id) (\s@DeleteWirelessGatewayTaskDefinition' {} a -> s {id = a} :: DeleteWirelessGatewayTaskDefinition)++instance+  Core.AWSRequest+    DeleteWirelessGatewayTaskDefinition+  where+  type+    AWSResponse DeleteWirelessGatewayTaskDefinition =+      DeleteWirelessGatewayTaskDefinitionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWirelessGatewayTaskDefinitionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteWirelessGatewayTaskDefinition+  where+  hashWithSalt+    _salt+    DeleteWirelessGatewayTaskDefinition' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DeleteWirelessGatewayTaskDefinition+  where+  rnf DeleteWirelessGatewayTaskDefinition' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    DeleteWirelessGatewayTaskDefinition+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteWirelessGatewayTaskDefinition+  where+  toPath DeleteWirelessGatewayTaskDefinition' {..} =+    Prelude.mconcat+      ["/wireless-gateway-task-definitions/", Data.toBS id]++instance+  Data.ToQuery+    DeleteWirelessGatewayTaskDefinition+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWirelessGatewayTaskDefinitionResponse' smart constructor.+data DeleteWirelessGatewayTaskDefinitionResponse = DeleteWirelessGatewayTaskDefinitionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWirelessGatewayTaskDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteWirelessGatewayTaskDefinitionResponse_httpStatus' - The response's http status code.+newDeleteWirelessGatewayTaskDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWirelessGatewayTaskDefinitionResponse+newDeleteWirelessGatewayTaskDefinitionResponse+  pHttpStatus_ =+    DeleteWirelessGatewayTaskDefinitionResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+deleteWirelessGatewayTaskDefinitionResponse_httpStatus :: Lens.Lens' DeleteWirelessGatewayTaskDefinitionResponse Prelude.Int+deleteWirelessGatewayTaskDefinitionResponse_httpStatus = Lens.lens (\DeleteWirelessGatewayTaskDefinitionResponse' {httpStatus} -> httpStatus) (\s@DeleteWirelessGatewayTaskDefinitionResponse' {} a -> s {httpStatus = a} :: DeleteWirelessGatewayTaskDefinitionResponse)++instance+  Prelude.NFData+    DeleteWirelessGatewayTaskDefinitionResponse+  where+  rnf DeleteWirelessGatewayTaskDefinitionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateAwsAccountFromPartnerAccount.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.IoTWireless.DisassociateAwsAccountFromPartnerAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates your AWS account from a partner account. If+-- @PartnerAccountId@ and @PartnerType@ are @null@, disassociates your AWS+-- account from all partner accounts.+module Amazonka.IoTWireless.DisassociateAwsAccountFromPartnerAccount+  ( -- * Creating a Request+    DisassociateAwsAccountFromPartnerAccount (..),+    newDisassociateAwsAccountFromPartnerAccount,++    -- * Request Lenses+    disassociateAwsAccountFromPartnerAccount_partnerAccountId,+    disassociateAwsAccountFromPartnerAccount_partnerType,++    -- * Destructuring the Response+    DisassociateAwsAccountFromPartnerAccountResponse (..),+    newDisassociateAwsAccountFromPartnerAccountResponse,++    -- * Response Lenses+    disassociateAwsAccountFromPartnerAccountResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateAwsAccountFromPartnerAccount' smart constructor.+data DisassociateAwsAccountFromPartnerAccount = DisassociateAwsAccountFromPartnerAccount'+  { -- | The partner account ID to disassociate from the AWS account.+    partnerAccountId :: Prelude.Text,+    -- | The partner type.+    partnerType :: PartnerType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAwsAccountFromPartnerAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'partnerAccountId', 'disassociateAwsAccountFromPartnerAccount_partnerAccountId' - The partner account ID to disassociate from the AWS account.+--+-- 'partnerType', 'disassociateAwsAccountFromPartnerAccount_partnerType' - The partner type.+newDisassociateAwsAccountFromPartnerAccount ::+  -- | 'partnerAccountId'+  Prelude.Text ->+  -- | 'partnerType'+  PartnerType ->+  DisassociateAwsAccountFromPartnerAccount+newDisassociateAwsAccountFromPartnerAccount+  pPartnerAccountId_+  pPartnerType_ =+    DisassociateAwsAccountFromPartnerAccount'+      { partnerAccountId =+          pPartnerAccountId_,+        partnerType = pPartnerType_+      }++-- | The partner account ID to disassociate from the AWS account.+disassociateAwsAccountFromPartnerAccount_partnerAccountId :: Lens.Lens' DisassociateAwsAccountFromPartnerAccount Prelude.Text+disassociateAwsAccountFromPartnerAccount_partnerAccountId = Lens.lens (\DisassociateAwsAccountFromPartnerAccount' {partnerAccountId} -> partnerAccountId) (\s@DisassociateAwsAccountFromPartnerAccount' {} a -> s {partnerAccountId = a} :: DisassociateAwsAccountFromPartnerAccount)++-- | The partner type.+disassociateAwsAccountFromPartnerAccount_partnerType :: Lens.Lens' DisassociateAwsAccountFromPartnerAccount PartnerType+disassociateAwsAccountFromPartnerAccount_partnerType = Lens.lens (\DisassociateAwsAccountFromPartnerAccount' {partnerType} -> partnerType) (\s@DisassociateAwsAccountFromPartnerAccount' {} a -> s {partnerType = a} :: DisassociateAwsAccountFromPartnerAccount)++instance+  Core.AWSRequest+    DisassociateAwsAccountFromPartnerAccount+  where+  type+    AWSResponse+      DisassociateAwsAccountFromPartnerAccount =+      DisassociateAwsAccountFromPartnerAccountResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateAwsAccountFromPartnerAccountResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateAwsAccountFromPartnerAccount+  where+  hashWithSalt+    _salt+    DisassociateAwsAccountFromPartnerAccount' {..} =+      _salt+        `Prelude.hashWithSalt` partnerAccountId+        `Prelude.hashWithSalt` partnerType++instance+  Prelude.NFData+    DisassociateAwsAccountFromPartnerAccount+  where+  rnf DisassociateAwsAccountFromPartnerAccount' {..} =+    Prelude.rnf partnerAccountId+      `Prelude.seq` Prelude.rnf partnerType++instance+  Data.ToHeaders+    DisassociateAwsAccountFromPartnerAccount+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateAwsAccountFromPartnerAccount+  where+  toPath DisassociateAwsAccountFromPartnerAccount' {..} =+    Prelude.mconcat+      ["/partner-accounts/", Data.toBS partnerAccountId]++instance+  Data.ToQuery+    DisassociateAwsAccountFromPartnerAccount+  where+  toQuery DisassociateAwsAccountFromPartnerAccount' {..} =+    Prelude.mconcat ["partnerType" Data.=: partnerType]++-- | /See:/ 'newDisassociateAwsAccountFromPartnerAccountResponse' smart constructor.+data DisassociateAwsAccountFromPartnerAccountResponse = DisassociateAwsAccountFromPartnerAccountResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAwsAccountFromPartnerAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateAwsAccountFromPartnerAccountResponse_httpStatus' - The response's http status code.+newDisassociateAwsAccountFromPartnerAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateAwsAccountFromPartnerAccountResponse+newDisassociateAwsAccountFromPartnerAccountResponse+  pHttpStatus_ =+    DisassociateAwsAccountFromPartnerAccountResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateAwsAccountFromPartnerAccountResponse_httpStatus :: Lens.Lens' DisassociateAwsAccountFromPartnerAccountResponse Prelude.Int+disassociateAwsAccountFromPartnerAccountResponse_httpStatus = Lens.lens (\DisassociateAwsAccountFromPartnerAccountResponse' {httpStatus} -> httpStatus) (\s@DisassociateAwsAccountFromPartnerAccountResponse' {} a -> s {httpStatus = a} :: DisassociateAwsAccountFromPartnerAccountResponse)++instance+  Prelude.NFData+    DisassociateAwsAccountFromPartnerAccountResponse+  where+  rnf+    DisassociateAwsAccountFromPartnerAccountResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateMulticastGroupFromFuotaTask.hs view
@@ -0,0 +1,188 @@+{-# 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.IoTWireless.DisassociateMulticastGroupFromFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a multicast group from a fuota task.+module Amazonka.IoTWireless.DisassociateMulticastGroupFromFuotaTask+  ( -- * Creating a Request+    DisassociateMulticastGroupFromFuotaTask (..),+    newDisassociateMulticastGroupFromFuotaTask,++    -- * Request Lenses+    disassociateMulticastGroupFromFuotaTask_id,+    disassociateMulticastGroupFromFuotaTask_multicastGroupId,++    -- * Destructuring the Response+    DisassociateMulticastGroupFromFuotaTaskResponse (..),+    newDisassociateMulticastGroupFromFuotaTaskResponse,++    -- * Response Lenses+    disassociateMulticastGroupFromFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateMulticastGroupFromFuotaTask' smart constructor.+data DisassociateMulticastGroupFromFuotaTask = DisassociateMulticastGroupFromFuotaTask'+  { id :: Prelude.Text,+    multicastGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateMulticastGroupFromFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateMulticastGroupFromFuotaTask_id' - Undocumented member.+--+-- 'multicastGroupId', 'disassociateMulticastGroupFromFuotaTask_multicastGroupId' - Undocumented member.+newDisassociateMulticastGroupFromFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  -- | 'multicastGroupId'+  Prelude.Text ->+  DisassociateMulticastGroupFromFuotaTask+newDisassociateMulticastGroupFromFuotaTask+  pId_+  pMulticastGroupId_ =+    DisassociateMulticastGroupFromFuotaTask'+      { id = pId_,+        multicastGroupId =+          pMulticastGroupId_+      }++-- | Undocumented member.+disassociateMulticastGroupFromFuotaTask_id :: Lens.Lens' DisassociateMulticastGroupFromFuotaTask Prelude.Text+disassociateMulticastGroupFromFuotaTask_id = Lens.lens (\DisassociateMulticastGroupFromFuotaTask' {id} -> id) (\s@DisassociateMulticastGroupFromFuotaTask' {} a -> s {id = a} :: DisassociateMulticastGroupFromFuotaTask)++-- | Undocumented member.+disassociateMulticastGroupFromFuotaTask_multicastGroupId :: Lens.Lens' DisassociateMulticastGroupFromFuotaTask Prelude.Text+disassociateMulticastGroupFromFuotaTask_multicastGroupId = Lens.lens (\DisassociateMulticastGroupFromFuotaTask' {multicastGroupId} -> multicastGroupId) (\s@DisassociateMulticastGroupFromFuotaTask' {} a -> s {multicastGroupId = a} :: DisassociateMulticastGroupFromFuotaTask)++instance+  Core.AWSRequest+    DisassociateMulticastGroupFromFuotaTask+  where+  type+    AWSResponse+      DisassociateMulticastGroupFromFuotaTask =+      DisassociateMulticastGroupFromFuotaTaskResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateMulticastGroupFromFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateMulticastGroupFromFuotaTask+  where+  hashWithSalt+    _salt+    DisassociateMulticastGroupFromFuotaTask' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` multicastGroupId++instance+  Prelude.NFData+    DisassociateMulticastGroupFromFuotaTask+  where+  rnf DisassociateMulticastGroupFromFuotaTask' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf multicastGroupId++instance+  Data.ToHeaders+    DisassociateMulticastGroupFromFuotaTask+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateMulticastGroupFromFuotaTask+  where+  toPath DisassociateMulticastGroupFromFuotaTask' {..} =+    Prelude.mconcat+      [ "/fuota-tasks/",+        Data.toBS id,+        "/multicast-groups/",+        Data.toBS multicastGroupId+      ]++instance+  Data.ToQuery+    DisassociateMulticastGroupFromFuotaTask+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateMulticastGroupFromFuotaTaskResponse' smart constructor.+data DisassociateMulticastGroupFromFuotaTaskResponse = DisassociateMulticastGroupFromFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateMulticastGroupFromFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateMulticastGroupFromFuotaTaskResponse_httpStatus' - The response's http status code.+newDisassociateMulticastGroupFromFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateMulticastGroupFromFuotaTaskResponse+newDisassociateMulticastGroupFromFuotaTaskResponse+  pHttpStatus_ =+    DisassociateMulticastGroupFromFuotaTaskResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateMulticastGroupFromFuotaTaskResponse_httpStatus :: Lens.Lens' DisassociateMulticastGroupFromFuotaTaskResponse Prelude.Int+disassociateMulticastGroupFromFuotaTaskResponse_httpStatus = Lens.lens (\DisassociateMulticastGroupFromFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@DisassociateMulticastGroupFromFuotaTaskResponse' {} a -> s {httpStatus = a} :: DisassociateMulticastGroupFromFuotaTaskResponse)++instance+  Prelude.NFData+    DisassociateMulticastGroupFromFuotaTaskResponse+  where+  rnf+    DisassociateMulticastGroupFromFuotaTaskResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateWirelessDeviceFromFuotaTask.hs view
@@ -0,0 +1,188 @@+{-# 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.IoTWireless.DisassociateWirelessDeviceFromFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a wireless device from a FUOTA task.+module Amazonka.IoTWireless.DisassociateWirelessDeviceFromFuotaTask+  ( -- * Creating a Request+    DisassociateWirelessDeviceFromFuotaTask (..),+    newDisassociateWirelessDeviceFromFuotaTask,++    -- * Request Lenses+    disassociateWirelessDeviceFromFuotaTask_id,+    disassociateWirelessDeviceFromFuotaTask_wirelessDeviceId,++    -- * Destructuring the Response+    DisassociateWirelessDeviceFromFuotaTaskResponse (..),+    newDisassociateWirelessDeviceFromFuotaTaskResponse,++    -- * Response Lenses+    disassociateWirelessDeviceFromFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateWirelessDeviceFromFuotaTask' smart constructor.+data DisassociateWirelessDeviceFromFuotaTask = DisassociateWirelessDeviceFromFuotaTask'+  { id :: Prelude.Text,+    wirelessDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateWirelessDeviceFromFuotaTask_id' - Undocumented member.+--+-- 'wirelessDeviceId', 'disassociateWirelessDeviceFromFuotaTask_wirelessDeviceId' - Undocumented member.+newDisassociateWirelessDeviceFromFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  -- | 'wirelessDeviceId'+  Prelude.Text ->+  DisassociateWirelessDeviceFromFuotaTask+newDisassociateWirelessDeviceFromFuotaTask+  pId_+  pWirelessDeviceId_ =+    DisassociateWirelessDeviceFromFuotaTask'+      { id = pId_,+        wirelessDeviceId =+          pWirelessDeviceId_+      }++-- | Undocumented member.+disassociateWirelessDeviceFromFuotaTask_id :: Lens.Lens' DisassociateWirelessDeviceFromFuotaTask Prelude.Text+disassociateWirelessDeviceFromFuotaTask_id = Lens.lens (\DisassociateWirelessDeviceFromFuotaTask' {id} -> id) (\s@DisassociateWirelessDeviceFromFuotaTask' {} a -> s {id = a} :: DisassociateWirelessDeviceFromFuotaTask)++-- | Undocumented member.+disassociateWirelessDeviceFromFuotaTask_wirelessDeviceId :: Lens.Lens' DisassociateWirelessDeviceFromFuotaTask Prelude.Text+disassociateWirelessDeviceFromFuotaTask_wirelessDeviceId = Lens.lens (\DisassociateWirelessDeviceFromFuotaTask' {wirelessDeviceId} -> wirelessDeviceId) (\s@DisassociateWirelessDeviceFromFuotaTask' {} a -> s {wirelessDeviceId = a} :: DisassociateWirelessDeviceFromFuotaTask)++instance+  Core.AWSRequest+    DisassociateWirelessDeviceFromFuotaTask+  where+  type+    AWSResponse+      DisassociateWirelessDeviceFromFuotaTask =+      DisassociateWirelessDeviceFromFuotaTaskResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateWirelessDeviceFromFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateWirelessDeviceFromFuotaTask+  where+  hashWithSalt+    _salt+    DisassociateWirelessDeviceFromFuotaTask' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` wirelessDeviceId++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromFuotaTask+  where+  rnf DisassociateWirelessDeviceFromFuotaTask' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf wirelessDeviceId++instance+  Data.ToHeaders+    DisassociateWirelessDeviceFromFuotaTask+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateWirelessDeviceFromFuotaTask+  where+  toPath DisassociateWirelessDeviceFromFuotaTask' {..} =+    Prelude.mconcat+      [ "/fuota-tasks/",+        Data.toBS id,+        "/wireless-devices/",+        Data.toBS wirelessDeviceId+      ]++instance+  Data.ToQuery+    DisassociateWirelessDeviceFromFuotaTask+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateWirelessDeviceFromFuotaTaskResponse' smart constructor.+data DisassociateWirelessDeviceFromFuotaTaskResponse = DisassociateWirelessDeviceFromFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateWirelessDeviceFromFuotaTaskResponse_httpStatus' - The response's http status code.+newDisassociateWirelessDeviceFromFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateWirelessDeviceFromFuotaTaskResponse+newDisassociateWirelessDeviceFromFuotaTaskResponse+  pHttpStatus_ =+    DisassociateWirelessDeviceFromFuotaTaskResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateWirelessDeviceFromFuotaTaskResponse_httpStatus :: Lens.Lens' DisassociateWirelessDeviceFromFuotaTaskResponse Prelude.Int+disassociateWirelessDeviceFromFuotaTaskResponse_httpStatus = Lens.lens (\DisassociateWirelessDeviceFromFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@DisassociateWirelessDeviceFromFuotaTaskResponse' {} a -> s {httpStatus = a} :: DisassociateWirelessDeviceFromFuotaTaskResponse)++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromFuotaTaskResponse+  where+  rnf+    DisassociateWirelessDeviceFromFuotaTaskResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateWirelessDeviceFromMulticastGroup.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.IoTWireless.DisassociateWirelessDeviceFromMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a wireless device from a multicast group.+module Amazonka.IoTWireless.DisassociateWirelessDeviceFromMulticastGroup+  ( -- * Creating a Request+    DisassociateWirelessDeviceFromMulticastGroup (..),+    newDisassociateWirelessDeviceFromMulticastGroup,++    -- * Request Lenses+    disassociateWirelessDeviceFromMulticastGroup_id,+    disassociateWirelessDeviceFromMulticastGroup_wirelessDeviceId,++    -- * Destructuring the Response+    DisassociateWirelessDeviceFromMulticastGroupResponse (..),+    newDisassociateWirelessDeviceFromMulticastGroupResponse,++    -- * Response Lenses+    disassociateWirelessDeviceFromMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateWirelessDeviceFromMulticastGroup' smart constructor.+data DisassociateWirelessDeviceFromMulticastGroup = DisassociateWirelessDeviceFromMulticastGroup'+  { id :: Prelude.Text,+    wirelessDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateWirelessDeviceFromMulticastGroup_id' - Undocumented member.+--+-- 'wirelessDeviceId', 'disassociateWirelessDeviceFromMulticastGroup_wirelessDeviceId' - Undocumented member.+newDisassociateWirelessDeviceFromMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  -- | 'wirelessDeviceId'+  Prelude.Text ->+  DisassociateWirelessDeviceFromMulticastGroup+newDisassociateWirelessDeviceFromMulticastGroup+  pId_+  pWirelessDeviceId_ =+    DisassociateWirelessDeviceFromMulticastGroup'+      { id =+          pId_,+        wirelessDeviceId =+          pWirelessDeviceId_+      }++-- | Undocumented member.+disassociateWirelessDeviceFromMulticastGroup_id :: Lens.Lens' DisassociateWirelessDeviceFromMulticastGroup Prelude.Text+disassociateWirelessDeviceFromMulticastGroup_id = Lens.lens (\DisassociateWirelessDeviceFromMulticastGroup' {id} -> id) (\s@DisassociateWirelessDeviceFromMulticastGroup' {} a -> s {id = a} :: DisassociateWirelessDeviceFromMulticastGroup)++-- | Undocumented member.+disassociateWirelessDeviceFromMulticastGroup_wirelessDeviceId :: Lens.Lens' DisassociateWirelessDeviceFromMulticastGroup Prelude.Text+disassociateWirelessDeviceFromMulticastGroup_wirelessDeviceId = Lens.lens (\DisassociateWirelessDeviceFromMulticastGroup' {wirelessDeviceId} -> wirelessDeviceId) (\s@DisassociateWirelessDeviceFromMulticastGroup' {} a -> s {wirelessDeviceId = a} :: DisassociateWirelessDeviceFromMulticastGroup)++instance+  Core.AWSRequest+    DisassociateWirelessDeviceFromMulticastGroup+  where+  type+    AWSResponse+      DisassociateWirelessDeviceFromMulticastGroup =+      DisassociateWirelessDeviceFromMulticastGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateWirelessDeviceFromMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateWirelessDeviceFromMulticastGroup+  where+  hashWithSalt+    _salt+    DisassociateWirelessDeviceFromMulticastGroup' {..} =+      _salt+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` wirelessDeviceId++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromMulticastGroup+  where+  rnf DisassociateWirelessDeviceFromMulticastGroup' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf wirelessDeviceId++instance+  Data.ToHeaders+    DisassociateWirelessDeviceFromMulticastGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateWirelessDeviceFromMulticastGroup+  where+  toPath+    DisassociateWirelessDeviceFromMulticastGroup' {..} =+      Prelude.mconcat+        [ "/multicast-groups/",+          Data.toBS id,+          "/wireless-devices/",+          Data.toBS wirelessDeviceId+        ]++instance+  Data.ToQuery+    DisassociateWirelessDeviceFromMulticastGroup+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateWirelessDeviceFromMulticastGroupResponse' smart constructor.+data DisassociateWirelessDeviceFromMulticastGroupResponse = DisassociateWirelessDeviceFromMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateWirelessDeviceFromMulticastGroupResponse_httpStatus' - The response's http status code.+newDisassociateWirelessDeviceFromMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateWirelessDeviceFromMulticastGroupResponse+newDisassociateWirelessDeviceFromMulticastGroupResponse+  pHttpStatus_ =+    DisassociateWirelessDeviceFromMulticastGroupResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateWirelessDeviceFromMulticastGroupResponse_httpStatus :: Lens.Lens' DisassociateWirelessDeviceFromMulticastGroupResponse Prelude.Int+disassociateWirelessDeviceFromMulticastGroupResponse_httpStatus = Lens.lens (\DisassociateWirelessDeviceFromMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@DisassociateWirelessDeviceFromMulticastGroupResponse' {} a -> s {httpStatus = a} :: DisassociateWirelessDeviceFromMulticastGroupResponse)++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromMulticastGroupResponse+  where+  rnf+    DisassociateWirelessDeviceFromMulticastGroupResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateWirelessDeviceFromThing.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.IoTWireless.DisassociateWirelessDeviceFromThing+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a wireless device from its currently associated thing.+module Amazonka.IoTWireless.DisassociateWirelessDeviceFromThing+  ( -- * Creating a Request+    DisassociateWirelessDeviceFromThing (..),+    newDisassociateWirelessDeviceFromThing,++    -- * Request Lenses+    disassociateWirelessDeviceFromThing_id,++    -- * Destructuring the Response+    DisassociateWirelessDeviceFromThingResponse (..),+    newDisassociateWirelessDeviceFromThingResponse,++    -- * Response Lenses+    disassociateWirelessDeviceFromThingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateWirelessDeviceFromThing' smart constructor.+data DisassociateWirelessDeviceFromThing = DisassociateWirelessDeviceFromThing'+  { -- | The ID of the resource to update.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromThing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateWirelessDeviceFromThing_id' - The ID of the resource to update.+newDisassociateWirelessDeviceFromThing ::+  -- | 'id'+  Prelude.Text ->+  DisassociateWirelessDeviceFromThing+newDisassociateWirelessDeviceFromThing pId_ =+  DisassociateWirelessDeviceFromThing' {id = pId_}++-- | The ID of the resource to update.+disassociateWirelessDeviceFromThing_id :: Lens.Lens' DisassociateWirelessDeviceFromThing Prelude.Text+disassociateWirelessDeviceFromThing_id = Lens.lens (\DisassociateWirelessDeviceFromThing' {id} -> id) (\s@DisassociateWirelessDeviceFromThing' {} a -> s {id = a} :: DisassociateWirelessDeviceFromThing)++instance+  Core.AWSRequest+    DisassociateWirelessDeviceFromThing+  where+  type+    AWSResponse DisassociateWirelessDeviceFromThing =+      DisassociateWirelessDeviceFromThingResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateWirelessDeviceFromThingResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateWirelessDeviceFromThing+  where+  hashWithSalt+    _salt+    DisassociateWirelessDeviceFromThing' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromThing+  where+  rnf DisassociateWirelessDeviceFromThing' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    DisassociateWirelessDeviceFromThing+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateWirelessDeviceFromThing+  where+  toPath DisassociateWirelessDeviceFromThing' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/thing"]++instance+  Data.ToQuery+    DisassociateWirelessDeviceFromThing+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateWirelessDeviceFromThingResponse' smart constructor.+data DisassociateWirelessDeviceFromThingResponse = DisassociateWirelessDeviceFromThingResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessDeviceFromThingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateWirelessDeviceFromThingResponse_httpStatus' - The response's http status code.+newDisassociateWirelessDeviceFromThingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateWirelessDeviceFromThingResponse+newDisassociateWirelessDeviceFromThingResponse+  pHttpStatus_ =+    DisassociateWirelessDeviceFromThingResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateWirelessDeviceFromThingResponse_httpStatus :: Lens.Lens' DisassociateWirelessDeviceFromThingResponse Prelude.Int+disassociateWirelessDeviceFromThingResponse_httpStatus = Lens.lens (\DisassociateWirelessDeviceFromThingResponse' {httpStatus} -> httpStatus) (\s@DisassociateWirelessDeviceFromThingResponse' {} a -> s {httpStatus = a} :: DisassociateWirelessDeviceFromThingResponse)++instance+  Prelude.NFData+    DisassociateWirelessDeviceFromThingResponse+  where+  rnf DisassociateWirelessDeviceFromThingResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateWirelessGatewayFromCertificate.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.IoTWireless.DisassociateWirelessGatewayFromCertificate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a wireless gateway from its currently associated+-- certificate.+module Amazonka.IoTWireless.DisassociateWirelessGatewayFromCertificate+  ( -- * Creating a Request+    DisassociateWirelessGatewayFromCertificate (..),+    newDisassociateWirelessGatewayFromCertificate,++    -- * Request Lenses+    disassociateWirelessGatewayFromCertificate_id,++    -- * Destructuring the Response+    DisassociateWirelessGatewayFromCertificateResponse (..),+    newDisassociateWirelessGatewayFromCertificateResponse,++    -- * Response Lenses+    disassociateWirelessGatewayFromCertificateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateWirelessGatewayFromCertificate' smart constructor.+data DisassociateWirelessGatewayFromCertificate = DisassociateWirelessGatewayFromCertificate'+  { -- | The ID of the resource to update.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessGatewayFromCertificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateWirelessGatewayFromCertificate_id' - The ID of the resource to update.+newDisassociateWirelessGatewayFromCertificate ::+  -- | 'id'+  Prelude.Text ->+  DisassociateWirelessGatewayFromCertificate+newDisassociateWirelessGatewayFromCertificate pId_ =+  DisassociateWirelessGatewayFromCertificate'+    { id =+        pId_+    }++-- | The ID of the resource to update.+disassociateWirelessGatewayFromCertificate_id :: Lens.Lens' DisassociateWirelessGatewayFromCertificate Prelude.Text+disassociateWirelessGatewayFromCertificate_id = Lens.lens (\DisassociateWirelessGatewayFromCertificate' {id} -> id) (\s@DisassociateWirelessGatewayFromCertificate' {} a -> s {id = a} :: DisassociateWirelessGatewayFromCertificate)++instance+  Core.AWSRequest+    DisassociateWirelessGatewayFromCertificate+  where+  type+    AWSResponse+      DisassociateWirelessGatewayFromCertificate =+      DisassociateWirelessGatewayFromCertificateResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateWirelessGatewayFromCertificateResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateWirelessGatewayFromCertificate+  where+  hashWithSalt+    _salt+    DisassociateWirelessGatewayFromCertificate' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DisassociateWirelessGatewayFromCertificate+  where+  rnf DisassociateWirelessGatewayFromCertificate' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    DisassociateWirelessGatewayFromCertificate+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateWirelessGatewayFromCertificate+  where+  toPath+    DisassociateWirelessGatewayFromCertificate' {..} =+      Prelude.mconcat+        ["/wireless-gateways/", Data.toBS id, "/certificate"]++instance+  Data.ToQuery+    DisassociateWirelessGatewayFromCertificate+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateWirelessGatewayFromCertificateResponse' smart constructor.+data DisassociateWirelessGatewayFromCertificateResponse = DisassociateWirelessGatewayFromCertificateResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessGatewayFromCertificateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateWirelessGatewayFromCertificateResponse_httpStatus' - The response's http status code.+newDisassociateWirelessGatewayFromCertificateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateWirelessGatewayFromCertificateResponse+newDisassociateWirelessGatewayFromCertificateResponse+  pHttpStatus_ =+    DisassociateWirelessGatewayFromCertificateResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateWirelessGatewayFromCertificateResponse_httpStatus :: Lens.Lens' DisassociateWirelessGatewayFromCertificateResponse Prelude.Int+disassociateWirelessGatewayFromCertificateResponse_httpStatus = Lens.lens (\DisassociateWirelessGatewayFromCertificateResponse' {httpStatus} -> httpStatus) (\s@DisassociateWirelessGatewayFromCertificateResponse' {} a -> s {httpStatus = a} :: DisassociateWirelessGatewayFromCertificateResponse)++instance+  Prelude.NFData+    DisassociateWirelessGatewayFromCertificateResponse+  where+  rnf+    DisassociateWirelessGatewayFromCertificateResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/DisassociateWirelessGatewayFromThing.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.IoTWireless.DisassociateWirelessGatewayFromThing+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a wireless gateway from its currently associated thing.+module Amazonka.IoTWireless.DisassociateWirelessGatewayFromThing+  ( -- * Creating a Request+    DisassociateWirelessGatewayFromThing (..),+    newDisassociateWirelessGatewayFromThing,++    -- * Request Lenses+    disassociateWirelessGatewayFromThing_id,++    -- * Destructuring the Response+    DisassociateWirelessGatewayFromThingResponse (..),+    newDisassociateWirelessGatewayFromThingResponse,++    -- * Response Lenses+    disassociateWirelessGatewayFromThingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateWirelessGatewayFromThing' smart constructor.+data DisassociateWirelessGatewayFromThing = DisassociateWirelessGatewayFromThing'+  { -- | The ID of the resource to update.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessGatewayFromThing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'disassociateWirelessGatewayFromThing_id' - The ID of the resource to update.+newDisassociateWirelessGatewayFromThing ::+  -- | 'id'+  Prelude.Text ->+  DisassociateWirelessGatewayFromThing+newDisassociateWirelessGatewayFromThing pId_ =+  DisassociateWirelessGatewayFromThing' {id = pId_}++-- | The ID of the resource to update.+disassociateWirelessGatewayFromThing_id :: Lens.Lens' DisassociateWirelessGatewayFromThing Prelude.Text+disassociateWirelessGatewayFromThing_id = Lens.lens (\DisassociateWirelessGatewayFromThing' {id} -> id) (\s@DisassociateWirelessGatewayFromThing' {} a -> s {id = a} :: DisassociateWirelessGatewayFromThing)++instance+  Core.AWSRequest+    DisassociateWirelessGatewayFromThing+  where+  type+    AWSResponse DisassociateWirelessGatewayFromThing =+      DisassociateWirelessGatewayFromThingResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DisassociateWirelessGatewayFromThingResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateWirelessGatewayFromThing+  where+  hashWithSalt+    _salt+    DisassociateWirelessGatewayFromThing' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DisassociateWirelessGatewayFromThing+  where+  rnf DisassociateWirelessGatewayFromThing' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    DisassociateWirelessGatewayFromThing+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DisassociateWirelessGatewayFromThing+  where+  toPath DisassociateWirelessGatewayFromThing' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/thing"]++instance+  Data.ToQuery+    DisassociateWirelessGatewayFromThing+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateWirelessGatewayFromThingResponse' smart constructor.+data DisassociateWirelessGatewayFromThingResponse = DisassociateWirelessGatewayFromThingResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateWirelessGatewayFromThingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'disassociateWirelessGatewayFromThingResponse_httpStatus' - The response's http status code.+newDisassociateWirelessGatewayFromThingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateWirelessGatewayFromThingResponse+newDisassociateWirelessGatewayFromThingResponse+  pHttpStatus_ =+    DisassociateWirelessGatewayFromThingResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+disassociateWirelessGatewayFromThingResponse_httpStatus :: Lens.Lens' DisassociateWirelessGatewayFromThingResponse Prelude.Int+disassociateWirelessGatewayFromThingResponse_httpStatus = Lens.lens (\DisassociateWirelessGatewayFromThingResponse' {httpStatus} -> httpStatus) (\s@DisassociateWirelessGatewayFromThingResponse' {} a -> s {httpStatus = a} :: DisassociateWirelessGatewayFromThingResponse)++instance+  Prelude.NFData+    DisassociateWirelessGatewayFromThingResponse+  where+  rnf DisassociateWirelessGatewayFromThingResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetDestination.hs view
@@ -0,0 +1,209 @@+{-# 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.IoTWireless.GetDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a destination.+module Amazonka.IoTWireless.GetDestination+  ( -- * Creating a Request+    GetDestination (..),+    newGetDestination,++    -- * Request Lenses+    getDestination_name,++    -- * Destructuring the Response+    GetDestinationResponse (..),+    newGetDestinationResponse,++    -- * Response Lenses+    getDestinationResponse_arn,+    getDestinationResponse_description,+    getDestinationResponse_expression,+    getDestinationResponse_expressionType,+    getDestinationResponse_name,+    getDestinationResponse_roleArn,+    getDestinationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDestination' smart constructor.+data GetDestination = GetDestination'+  { -- | The name of the resource to get.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDestination_name' - The name of the resource to get.+newGetDestination ::+  -- | 'name'+  Prelude.Text ->+  GetDestination+newGetDestination pName_ =+  GetDestination' {name = pName_}++-- | The name of the resource to get.+getDestination_name :: Lens.Lens' GetDestination Prelude.Text+getDestination_name = Lens.lens (\GetDestination' {name} -> name) (\s@GetDestination' {} a -> s {name = a} :: GetDestination)++instance Core.AWSRequest GetDestination where+  type+    AWSResponse GetDestination =+      GetDestinationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDestinationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Expression")+            Prelude.<*> (x Data..?> "ExpressionType")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RoleArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDestination where+  hashWithSalt _salt GetDestination' {..} =+    _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetDestination where+  rnf GetDestination' {..} = Prelude.rnf name++instance Data.ToHeaders GetDestination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetDestination where+  toPath GetDestination' {..} =+    Prelude.mconcat ["/destinations/", Data.toBS name]++instance Data.ToQuery GetDestination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDestinationResponse' smart constructor.+data GetDestinationResponse = GetDestinationResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The rule name or topic rule to send messages to.+    expression :: Prelude.Maybe Prelude.Text,+    -- | The type of value in @Expression@.+    expressionType :: Prelude.Maybe ExpressionType,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the IAM Role that authorizes the destination.+    roleArn :: 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 'GetDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDestinationResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'description', 'getDestinationResponse_description' - The description of the resource.+--+-- 'expression', 'getDestinationResponse_expression' - The rule name or topic rule to send messages to.+--+-- 'expressionType', 'getDestinationResponse_expressionType' - The type of value in @Expression@.+--+-- 'name', 'getDestinationResponse_name' - The name of the resource.+--+-- 'roleArn', 'getDestinationResponse_roleArn' - The ARN of the IAM Role that authorizes the destination.+--+-- 'httpStatus', 'getDestinationResponse_httpStatus' - The response's http status code.+newGetDestinationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDestinationResponse+newGetDestinationResponse pHttpStatus_ =+  GetDestinationResponse'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      expression = Prelude.Nothing,+      expressionType = Prelude.Nothing,+      name = Prelude.Nothing,+      roleArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the resource.+getDestinationResponse_arn :: Lens.Lens' GetDestinationResponse (Prelude.Maybe Prelude.Text)+getDestinationResponse_arn = Lens.lens (\GetDestinationResponse' {arn} -> arn) (\s@GetDestinationResponse' {} a -> s {arn = a} :: GetDestinationResponse)++-- | The description of the resource.+getDestinationResponse_description :: Lens.Lens' GetDestinationResponse (Prelude.Maybe Prelude.Text)+getDestinationResponse_description = Lens.lens (\GetDestinationResponse' {description} -> description) (\s@GetDestinationResponse' {} a -> s {description = a} :: GetDestinationResponse)++-- | The rule name or topic rule to send messages to.+getDestinationResponse_expression :: Lens.Lens' GetDestinationResponse (Prelude.Maybe Prelude.Text)+getDestinationResponse_expression = Lens.lens (\GetDestinationResponse' {expression} -> expression) (\s@GetDestinationResponse' {} a -> s {expression = a} :: GetDestinationResponse)++-- | The type of value in @Expression@.+getDestinationResponse_expressionType :: Lens.Lens' GetDestinationResponse (Prelude.Maybe ExpressionType)+getDestinationResponse_expressionType = Lens.lens (\GetDestinationResponse' {expressionType} -> expressionType) (\s@GetDestinationResponse' {} a -> s {expressionType = a} :: GetDestinationResponse)++-- | The name of the resource.+getDestinationResponse_name :: Lens.Lens' GetDestinationResponse (Prelude.Maybe Prelude.Text)+getDestinationResponse_name = Lens.lens (\GetDestinationResponse' {name} -> name) (\s@GetDestinationResponse' {} a -> s {name = a} :: GetDestinationResponse)++-- | The ARN of the IAM Role that authorizes the destination.+getDestinationResponse_roleArn :: Lens.Lens' GetDestinationResponse (Prelude.Maybe Prelude.Text)+getDestinationResponse_roleArn = Lens.lens (\GetDestinationResponse' {roleArn} -> roleArn) (\s@GetDestinationResponse' {} a -> s {roleArn = a} :: GetDestinationResponse)++-- | The response's http status code.+getDestinationResponse_httpStatus :: Lens.Lens' GetDestinationResponse Prelude.Int+getDestinationResponse_httpStatus = Lens.lens (\GetDestinationResponse' {httpStatus} -> httpStatus) (\s@GetDestinationResponse' {} a -> s {httpStatus = a} :: GetDestinationResponse)++instance Prelude.NFData GetDestinationResponse where+  rnf GetDestinationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetDeviceProfile.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.IoTWireless.GetDeviceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a device profile.+module Amazonka.IoTWireless.GetDeviceProfile+  ( -- * Creating a Request+    GetDeviceProfile (..),+    newGetDeviceProfile,++    -- * Request Lenses+    getDeviceProfile_id,++    -- * Destructuring the Response+    GetDeviceProfileResponse (..),+    newGetDeviceProfileResponse,++    -- * Response Lenses+    getDeviceProfileResponse_arn,+    getDeviceProfileResponse_id,+    getDeviceProfileResponse_loRaWAN,+    getDeviceProfileResponse_name,+    getDeviceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDeviceProfile' smart constructor.+data GetDeviceProfile = GetDeviceProfile'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeviceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getDeviceProfile_id' - The ID of the resource to get.+newGetDeviceProfile ::+  -- | 'id'+  Prelude.Text ->+  GetDeviceProfile+newGetDeviceProfile pId_ =+  GetDeviceProfile' {id = pId_}++-- | The ID of the resource to get.+getDeviceProfile_id :: Lens.Lens' GetDeviceProfile Prelude.Text+getDeviceProfile_id = Lens.lens (\GetDeviceProfile' {id} -> id) (\s@GetDeviceProfile' {} a -> s {id = a} :: GetDeviceProfile)++instance Core.AWSRequest GetDeviceProfile where+  type+    AWSResponse GetDeviceProfile =+      GetDeviceProfileResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDeviceProfileResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDeviceProfile where+  hashWithSalt _salt GetDeviceProfile' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetDeviceProfile where+  rnf GetDeviceProfile' {..} = Prelude.rnf id++instance Data.ToHeaders GetDeviceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetDeviceProfile where+  toPath GetDeviceProfile' {..} =+    Prelude.mconcat ["/device-profiles/", Data.toBS id]++instance Data.ToQuery GetDeviceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDeviceProfileResponse' smart constructor.+data GetDeviceProfileResponse = GetDeviceProfileResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device profile.+    id :: Prelude.Maybe Prelude.Text,+    -- | Information about the device profile.+    loRaWAN :: Prelude.Maybe LoRaWANDeviceProfile,+    -- | The name of the resource.+    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 'GetDeviceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getDeviceProfileResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'getDeviceProfileResponse_id' - The ID of the device profile.+--+-- 'loRaWAN', 'getDeviceProfileResponse_loRaWAN' - Information about the device profile.+--+-- 'name', 'getDeviceProfileResponse_name' - The name of the resource.+--+-- 'httpStatus', 'getDeviceProfileResponse_httpStatus' - The response's http status code.+newGetDeviceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDeviceProfileResponse+newGetDeviceProfileResponse pHttpStatus_ =+  GetDeviceProfileResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the resource.+getDeviceProfileResponse_arn :: Lens.Lens' GetDeviceProfileResponse (Prelude.Maybe Prelude.Text)+getDeviceProfileResponse_arn = Lens.lens (\GetDeviceProfileResponse' {arn} -> arn) (\s@GetDeviceProfileResponse' {} a -> s {arn = a} :: GetDeviceProfileResponse)++-- | The ID of the device profile.+getDeviceProfileResponse_id :: Lens.Lens' GetDeviceProfileResponse (Prelude.Maybe Prelude.Text)+getDeviceProfileResponse_id = Lens.lens (\GetDeviceProfileResponse' {id} -> id) (\s@GetDeviceProfileResponse' {} a -> s {id = a} :: GetDeviceProfileResponse)++-- | Information about the device profile.+getDeviceProfileResponse_loRaWAN :: Lens.Lens' GetDeviceProfileResponse (Prelude.Maybe LoRaWANDeviceProfile)+getDeviceProfileResponse_loRaWAN = Lens.lens (\GetDeviceProfileResponse' {loRaWAN} -> loRaWAN) (\s@GetDeviceProfileResponse' {} a -> s {loRaWAN = a} :: GetDeviceProfileResponse)++-- | The name of the resource.+getDeviceProfileResponse_name :: Lens.Lens' GetDeviceProfileResponse (Prelude.Maybe Prelude.Text)+getDeviceProfileResponse_name = Lens.lens (\GetDeviceProfileResponse' {name} -> name) (\s@GetDeviceProfileResponse' {} a -> s {name = a} :: GetDeviceProfileResponse)++-- | The response's http status code.+getDeviceProfileResponse_httpStatus :: Lens.Lens' GetDeviceProfileResponse Prelude.Int+getDeviceProfileResponse_httpStatus = Lens.lens (\GetDeviceProfileResponse' {httpStatus} -> httpStatus) (\s@GetDeviceProfileResponse' {} a -> s {httpStatus = a} :: GetDeviceProfileResponse)++instance Prelude.NFData GetDeviceProfileResponse where+  rnf GetDeviceProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetEventConfigurationByResourceTypes.hs view
@@ -0,0 +1,214 @@+{-# 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.IoTWireless.GetEventConfigurationByResourceTypes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the event configuration based on resource types.+module Amazonka.IoTWireless.GetEventConfigurationByResourceTypes+  ( -- * Creating a Request+    GetEventConfigurationByResourceTypes (..),+    newGetEventConfigurationByResourceTypes,++    -- * Destructuring the Response+    GetEventConfigurationByResourceTypesResponse (..),+    newGetEventConfigurationByResourceTypesResponse,++    -- * Response Lenses+    getEventConfigurationByResourceTypesResponse_connectionStatus,+    getEventConfigurationByResourceTypesResponse_deviceRegistrationState,+    getEventConfigurationByResourceTypesResponse_join,+    getEventConfigurationByResourceTypesResponse_messageDeliveryStatus,+    getEventConfigurationByResourceTypesResponse_proximity,+    getEventConfigurationByResourceTypesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEventConfigurationByResourceTypes' smart constructor.+data GetEventConfigurationByResourceTypes = GetEventConfigurationByResourceTypes'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventConfigurationByResourceTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetEventConfigurationByResourceTypes ::+  GetEventConfigurationByResourceTypes+newGetEventConfigurationByResourceTypes =+  GetEventConfigurationByResourceTypes'++instance+  Core.AWSRequest+    GetEventConfigurationByResourceTypes+  where+  type+    AWSResponse GetEventConfigurationByResourceTypes =+      GetEventConfigurationByResourceTypesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEventConfigurationByResourceTypesResponse'+            Prelude.<$> (x Data..?> "ConnectionStatus")+            Prelude.<*> (x Data..?> "DeviceRegistrationState")+            Prelude.<*> (x Data..?> "Join")+            Prelude.<*> (x Data..?> "MessageDeliveryStatus")+            Prelude.<*> (x Data..?> "Proximity")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetEventConfigurationByResourceTypes+  where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance+  Prelude.NFData+    GetEventConfigurationByResourceTypes+  where+  rnf _ = ()++instance+  Data.ToHeaders+    GetEventConfigurationByResourceTypes+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetEventConfigurationByResourceTypes+  where+  toPath =+    Prelude.const+      "/event-configurations-resource-types"++instance+  Data.ToQuery+    GetEventConfigurationByResourceTypes+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEventConfigurationByResourceTypesResponse' smart constructor.+data GetEventConfigurationByResourceTypesResponse = GetEventConfigurationByResourceTypesResponse'+  { -- | Resource type event configuration for the connection status event.+    connectionStatus :: Prelude.Maybe ConnectionStatusResourceTypeEventConfiguration,+    -- | Resource type event configuration for the device registration state+    -- event.+    deviceRegistrationState :: Prelude.Maybe DeviceRegistrationStateResourceTypeEventConfiguration,+    -- | Resource type event configuration for the join event.+    join :: Prelude.Maybe JoinResourceTypeEventConfiguration,+    -- | Resource type event configuration object for the message delivery status+    -- event.+    messageDeliveryStatus :: Prelude.Maybe MessageDeliveryStatusResourceTypeEventConfiguration,+    -- | Resource type event configuration for the proximity event.+    proximity :: Prelude.Maybe ProximityResourceTypeEventConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEventConfigurationByResourceTypesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'getEventConfigurationByResourceTypesResponse_connectionStatus' - Resource type event configuration for the connection status event.+--+-- 'deviceRegistrationState', 'getEventConfigurationByResourceTypesResponse_deviceRegistrationState' - Resource type event configuration for the device registration state+-- event.+--+-- 'join', 'getEventConfigurationByResourceTypesResponse_join' - Resource type event configuration for the join event.+--+-- 'messageDeliveryStatus', 'getEventConfigurationByResourceTypesResponse_messageDeliveryStatus' - Resource type event configuration object for the message delivery status+-- event.+--+-- 'proximity', 'getEventConfigurationByResourceTypesResponse_proximity' - Resource type event configuration for the proximity event.+--+-- 'httpStatus', 'getEventConfigurationByResourceTypesResponse_httpStatus' - The response's http status code.+newGetEventConfigurationByResourceTypesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetEventConfigurationByResourceTypesResponse+newGetEventConfigurationByResourceTypesResponse+  pHttpStatus_ =+    GetEventConfigurationByResourceTypesResponse'+      { connectionStatus =+          Prelude.Nothing,+        deviceRegistrationState =+          Prelude.Nothing,+        join = Prelude.Nothing,+        messageDeliveryStatus =+          Prelude.Nothing,+        proximity = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Resource type event configuration for the connection status event.+getEventConfigurationByResourceTypesResponse_connectionStatus :: Lens.Lens' GetEventConfigurationByResourceTypesResponse (Prelude.Maybe ConnectionStatusResourceTypeEventConfiguration)+getEventConfigurationByResourceTypesResponse_connectionStatus = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {connectionStatus} -> connectionStatus) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {connectionStatus = a} :: GetEventConfigurationByResourceTypesResponse)++-- | Resource type event configuration for the device registration state+-- event.+getEventConfigurationByResourceTypesResponse_deviceRegistrationState :: Lens.Lens' GetEventConfigurationByResourceTypesResponse (Prelude.Maybe DeviceRegistrationStateResourceTypeEventConfiguration)+getEventConfigurationByResourceTypesResponse_deviceRegistrationState = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {deviceRegistrationState} -> deviceRegistrationState) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {deviceRegistrationState = a} :: GetEventConfigurationByResourceTypesResponse)++-- | Resource type event configuration for the join event.+getEventConfigurationByResourceTypesResponse_join :: Lens.Lens' GetEventConfigurationByResourceTypesResponse (Prelude.Maybe JoinResourceTypeEventConfiguration)+getEventConfigurationByResourceTypesResponse_join = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {join} -> join) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {join = a} :: GetEventConfigurationByResourceTypesResponse)++-- | Resource type event configuration object for the message delivery status+-- event.+getEventConfigurationByResourceTypesResponse_messageDeliveryStatus :: Lens.Lens' GetEventConfigurationByResourceTypesResponse (Prelude.Maybe MessageDeliveryStatusResourceTypeEventConfiguration)+getEventConfigurationByResourceTypesResponse_messageDeliveryStatus = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {messageDeliveryStatus} -> messageDeliveryStatus) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {messageDeliveryStatus = a} :: GetEventConfigurationByResourceTypesResponse)++-- | Resource type event configuration for the proximity event.+getEventConfigurationByResourceTypesResponse_proximity :: Lens.Lens' GetEventConfigurationByResourceTypesResponse (Prelude.Maybe ProximityResourceTypeEventConfiguration)+getEventConfigurationByResourceTypesResponse_proximity = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {proximity} -> proximity) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {proximity = a} :: GetEventConfigurationByResourceTypesResponse)++-- | The response's http status code.+getEventConfigurationByResourceTypesResponse_httpStatus :: Lens.Lens' GetEventConfigurationByResourceTypesResponse Prelude.Int+getEventConfigurationByResourceTypesResponse_httpStatus = Lens.lens (\GetEventConfigurationByResourceTypesResponse' {httpStatus} -> httpStatus) (\s@GetEventConfigurationByResourceTypesResponse' {} a -> s {httpStatus = a} :: GetEventConfigurationByResourceTypesResponse)++instance+  Prelude.NFData+    GetEventConfigurationByResourceTypesResponse+  where+  rnf GetEventConfigurationByResourceTypesResponse' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf deviceRegistrationState+      `Prelude.seq` Prelude.rnf join+      `Prelude.seq` Prelude.rnf messageDeliveryStatus+      `Prelude.seq` Prelude.rnf proximity+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetFuotaTask.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.GetFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a FUOTA task.+module Amazonka.IoTWireless.GetFuotaTask+  ( -- * Creating a Request+    GetFuotaTask (..),+    newGetFuotaTask,++    -- * Request Lenses+    getFuotaTask_id,++    -- * Destructuring the Response+    GetFuotaTaskResponse (..),+    newGetFuotaTaskResponse,++    -- * Response Lenses+    getFuotaTaskResponse_arn,+    getFuotaTaskResponse_createdAt,+    getFuotaTaskResponse_description,+    getFuotaTaskResponse_firmwareUpdateImage,+    getFuotaTaskResponse_firmwareUpdateRole,+    getFuotaTaskResponse_id,+    getFuotaTaskResponse_loRaWAN,+    getFuotaTaskResponse_name,+    getFuotaTaskResponse_status,+    getFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFuotaTask' smart constructor.+data GetFuotaTask = GetFuotaTask'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getFuotaTask_id' - Undocumented member.+newGetFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  GetFuotaTask+newGetFuotaTask pId_ = GetFuotaTask' {id = pId_}++-- | Undocumented member.+getFuotaTask_id :: Lens.Lens' GetFuotaTask Prelude.Text+getFuotaTask_id = Lens.lens (\GetFuotaTask' {id} -> id) (\s@GetFuotaTask' {} a -> s {id = a} :: GetFuotaTask)++instance Core.AWSRequest GetFuotaTask where+  type AWSResponse GetFuotaTask = GetFuotaTaskResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetFuotaTaskResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedAt")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "FirmwareUpdateImage")+            Prelude.<*> (x Data..?> "FirmwareUpdateRole")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetFuotaTask where+  hashWithSalt _salt GetFuotaTask' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetFuotaTask where+  rnf GetFuotaTask' {..} = Prelude.rnf id++instance Data.ToHeaders GetFuotaTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetFuotaTask where+  toPath GetFuotaTask' {..} =+    Prelude.mconcat ["/fuota-tasks/", Data.toBS id]++instance Data.ToQuery GetFuotaTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFuotaTaskResponse' smart constructor.+data GetFuotaTaskResponse = GetFuotaTaskResponse'+  { arn :: Prelude.Maybe Prelude.Text,+    createdAt :: Prelude.Maybe Data.POSIX,+    description :: Prelude.Maybe Prelude.Text,+    firmwareUpdateImage :: Prelude.Maybe Prelude.Text,+    firmwareUpdateRole :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Maybe Prelude.Text,+    loRaWAN :: Prelude.Maybe LoRaWANFuotaTaskGetInfo,+    name :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe FuotaTaskStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getFuotaTaskResponse_arn' - Undocumented member.+--+-- 'createdAt', 'getFuotaTaskResponse_createdAt' - Undocumented member.+--+-- 'description', 'getFuotaTaskResponse_description' - Undocumented member.+--+-- 'firmwareUpdateImage', 'getFuotaTaskResponse_firmwareUpdateImage' - Undocumented member.+--+-- 'firmwareUpdateRole', 'getFuotaTaskResponse_firmwareUpdateRole' - Undocumented member.+--+-- 'id', 'getFuotaTaskResponse_id' - Undocumented member.+--+-- 'loRaWAN', 'getFuotaTaskResponse_loRaWAN' - Undocumented member.+--+-- 'name', 'getFuotaTaskResponse_name' - Undocumented member.+--+-- 'status', 'getFuotaTaskResponse_status' - Undocumented member.+--+-- 'httpStatus', 'getFuotaTaskResponse_httpStatus' - The response's http status code.+newGetFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetFuotaTaskResponse+newGetFuotaTaskResponse pHttpStatus_ =+  GetFuotaTaskResponse'+    { arn = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      firmwareUpdateImage = Prelude.Nothing,+      firmwareUpdateRole = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getFuotaTaskResponse_arn :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_arn = Lens.lens (\GetFuotaTaskResponse' {arn} -> arn) (\s@GetFuotaTaskResponse' {} a -> s {arn = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_createdAt :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.UTCTime)+getFuotaTaskResponse_createdAt = Lens.lens (\GetFuotaTaskResponse' {createdAt} -> createdAt) (\s@GetFuotaTaskResponse' {} a -> s {createdAt = a} :: GetFuotaTaskResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+getFuotaTaskResponse_description :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_description = Lens.lens (\GetFuotaTaskResponse' {description} -> description) (\s@GetFuotaTaskResponse' {} a -> s {description = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_firmwareUpdateImage :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_firmwareUpdateImage = Lens.lens (\GetFuotaTaskResponse' {firmwareUpdateImage} -> firmwareUpdateImage) (\s@GetFuotaTaskResponse' {} a -> s {firmwareUpdateImage = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_firmwareUpdateRole :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_firmwareUpdateRole = Lens.lens (\GetFuotaTaskResponse' {firmwareUpdateRole} -> firmwareUpdateRole) (\s@GetFuotaTaskResponse' {} a -> s {firmwareUpdateRole = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_id :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_id = Lens.lens (\GetFuotaTaskResponse' {id} -> id) (\s@GetFuotaTaskResponse' {} a -> s {id = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_loRaWAN :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe LoRaWANFuotaTaskGetInfo)+getFuotaTaskResponse_loRaWAN = Lens.lens (\GetFuotaTaskResponse' {loRaWAN} -> loRaWAN) (\s@GetFuotaTaskResponse' {} a -> s {loRaWAN = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_name :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe Prelude.Text)+getFuotaTaskResponse_name = Lens.lens (\GetFuotaTaskResponse' {name} -> name) (\s@GetFuotaTaskResponse' {} a -> s {name = a} :: GetFuotaTaskResponse)++-- | Undocumented member.+getFuotaTaskResponse_status :: Lens.Lens' GetFuotaTaskResponse (Prelude.Maybe FuotaTaskStatus)+getFuotaTaskResponse_status = Lens.lens (\GetFuotaTaskResponse' {status} -> status) (\s@GetFuotaTaskResponse' {} a -> s {status = a} :: GetFuotaTaskResponse)++-- | The response's http status code.+getFuotaTaskResponse_httpStatus :: Lens.Lens' GetFuotaTaskResponse Prelude.Int+getFuotaTaskResponse_httpStatus = Lens.lens (\GetFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@GetFuotaTaskResponse' {} a -> s {httpStatus = a} :: GetFuotaTaskResponse)++instance Prelude.NFData GetFuotaTaskResponse where+  rnf GetFuotaTaskResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf firmwareUpdateImage+      `Prelude.seq` Prelude.rnf firmwareUpdateRole+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetLogLevelsByResourceTypes.hs view
@@ -0,0 +1,168 @@+{-# 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.IoTWireless.GetLogLevelsByResourceTypes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns current default log levels or log levels by resource types.+-- Based on resource types, log levels can be for wireless device log+-- options or wireless gateway log options.+module Amazonka.IoTWireless.GetLogLevelsByResourceTypes+  ( -- * Creating a Request+    GetLogLevelsByResourceTypes (..),+    newGetLogLevelsByResourceTypes,++    -- * Destructuring the Response+    GetLogLevelsByResourceTypesResponse (..),+    newGetLogLevelsByResourceTypesResponse,++    -- * Response Lenses+    getLogLevelsByResourceTypesResponse_defaultLogLevel,+    getLogLevelsByResourceTypesResponse_wirelessDeviceLogOptions,+    getLogLevelsByResourceTypesResponse_wirelessGatewayLogOptions,+    getLogLevelsByResourceTypesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLogLevelsByResourceTypes' smart constructor.+data GetLogLevelsByResourceTypes = GetLogLevelsByResourceTypes'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLogLevelsByResourceTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetLogLevelsByResourceTypes ::+  GetLogLevelsByResourceTypes+newGetLogLevelsByResourceTypes =+  GetLogLevelsByResourceTypes'++instance Core.AWSRequest GetLogLevelsByResourceTypes where+  type+    AWSResponse GetLogLevelsByResourceTypes =+      GetLogLevelsByResourceTypesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLogLevelsByResourceTypesResponse'+            Prelude.<$> (x Data..?> "DefaultLogLevel")+            Prelude.<*> ( x+                            Data..?> "WirelessDeviceLogOptions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "WirelessGatewayLogOptions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLogLevelsByResourceTypes where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetLogLevelsByResourceTypes where+  rnf _ = ()++instance Data.ToHeaders GetLogLevelsByResourceTypes where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetLogLevelsByResourceTypes where+  toPath = Prelude.const "/log-levels"++instance Data.ToQuery GetLogLevelsByResourceTypes where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetLogLevelsByResourceTypesResponse' smart constructor.+data GetLogLevelsByResourceTypesResponse = GetLogLevelsByResourceTypesResponse'+  { defaultLogLevel :: Prelude.Maybe LogLevel,+    wirelessDeviceLogOptions :: Prelude.Maybe [WirelessDeviceLogOption],+    wirelessGatewayLogOptions :: Prelude.Maybe [WirelessGatewayLogOption],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLogLevelsByResourceTypesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultLogLevel', 'getLogLevelsByResourceTypesResponse_defaultLogLevel' - Undocumented member.+--+-- 'wirelessDeviceLogOptions', 'getLogLevelsByResourceTypesResponse_wirelessDeviceLogOptions' - Undocumented member.+--+-- 'wirelessGatewayLogOptions', 'getLogLevelsByResourceTypesResponse_wirelessGatewayLogOptions' - Undocumented member.+--+-- 'httpStatus', 'getLogLevelsByResourceTypesResponse_httpStatus' - The response's http status code.+newGetLogLevelsByResourceTypesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLogLevelsByResourceTypesResponse+newGetLogLevelsByResourceTypesResponse pHttpStatus_ =+  GetLogLevelsByResourceTypesResponse'+    { defaultLogLevel =+        Prelude.Nothing,+      wirelessDeviceLogOptions =+        Prelude.Nothing,+      wirelessGatewayLogOptions =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getLogLevelsByResourceTypesResponse_defaultLogLevel :: Lens.Lens' GetLogLevelsByResourceTypesResponse (Prelude.Maybe LogLevel)+getLogLevelsByResourceTypesResponse_defaultLogLevel = Lens.lens (\GetLogLevelsByResourceTypesResponse' {defaultLogLevel} -> defaultLogLevel) (\s@GetLogLevelsByResourceTypesResponse' {} a -> s {defaultLogLevel = a} :: GetLogLevelsByResourceTypesResponse)++-- | Undocumented member.+getLogLevelsByResourceTypesResponse_wirelessDeviceLogOptions :: Lens.Lens' GetLogLevelsByResourceTypesResponse (Prelude.Maybe [WirelessDeviceLogOption])+getLogLevelsByResourceTypesResponse_wirelessDeviceLogOptions = Lens.lens (\GetLogLevelsByResourceTypesResponse' {wirelessDeviceLogOptions} -> wirelessDeviceLogOptions) (\s@GetLogLevelsByResourceTypesResponse' {} a -> s {wirelessDeviceLogOptions = a} :: GetLogLevelsByResourceTypesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+getLogLevelsByResourceTypesResponse_wirelessGatewayLogOptions :: Lens.Lens' GetLogLevelsByResourceTypesResponse (Prelude.Maybe [WirelessGatewayLogOption])+getLogLevelsByResourceTypesResponse_wirelessGatewayLogOptions = Lens.lens (\GetLogLevelsByResourceTypesResponse' {wirelessGatewayLogOptions} -> wirelessGatewayLogOptions) (\s@GetLogLevelsByResourceTypesResponse' {} a -> s {wirelessGatewayLogOptions = a} :: GetLogLevelsByResourceTypesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getLogLevelsByResourceTypesResponse_httpStatus :: Lens.Lens' GetLogLevelsByResourceTypesResponse Prelude.Int+getLogLevelsByResourceTypesResponse_httpStatus = Lens.lens (\GetLogLevelsByResourceTypesResponse' {httpStatus} -> httpStatus) (\s@GetLogLevelsByResourceTypesResponse' {} a -> s {httpStatus = a} :: GetLogLevelsByResourceTypesResponse)++instance+  Prelude.NFData+    GetLogLevelsByResourceTypesResponse+  where+  rnf GetLogLevelsByResourceTypesResponse' {..} =+    Prelude.rnf defaultLogLevel+      `Prelude.seq` Prelude.rnf wirelessDeviceLogOptions+      `Prelude.seq` Prelude.rnf wirelessGatewayLogOptions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetMulticastGroup.hs view
@@ -0,0 +1,214 @@+{-# 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.IoTWireless.GetMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a multicast group.+module Amazonka.IoTWireless.GetMulticastGroup+  ( -- * Creating a Request+    GetMulticastGroup (..),+    newGetMulticastGroup,++    -- * Request Lenses+    getMulticastGroup_id,++    -- * Destructuring the Response+    GetMulticastGroupResponse (..),+    newGetMulticastGroupResponse,++    -- * Response Lenses+    getMulticastGroupResponse_arn,+    getMulticastGroupResponse_createdAt,+    getMulticastGroupResponse_description,+    getMulticastGroupResponse_id,+    getMulticastGroupResponse_loRaWAN,+    getMulticastGroupResponse_name,+    getMulticastGroupResponse_status,+    getMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMulticastGroup' smart constructor.+data GetMulticastGroup = GetMulticastGroup'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getMulticastGroup_id' - Undocumented member.+newGetMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  GetMulticastGroup+newGetMulticastGroup pId_ =+  GetMulticastGroup' {id = pId_}++-- | Undocumented member.+getMulticastGroup_id :: Lens.Lens' GetMulticastGroup Prelude.Text+getMulticastGroup_id = Lens.lens (\GetMulticastGroup' {id} -> id) (\s@GetMulticastGroup' {} a -> s {id = a} :: GetMulticastGroup)++instance Core.AWSRequest GetMulticastGroup where+  type+    AWSResponse GetMulticastGroup =+      GetMulticastGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMulticastGroupResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedAt")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMulticastGroup where+  hashWithSalt _salt GetMulticastGroup' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetMulticastGroup where+  rnf GetMulticastGroup' {..} = Prelude.rnf id++instance Data.ToHeaders GetMulticastGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMulticastGroup where+  toPath GetMulticastGroup' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id]++instance Data.ToQuery GetMulticastGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMulticastGroupResponse' smart constructor.+data GetMulticastGroupResponse = GetMulticastGroupResponse'+  { arn :: Prelude.Maybe Prelude.Text,+    createdAt :: Prelude.Maybe Data.POSIX,+    description :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Maybe Prelude.Text,+    loRaWAN :: Prelude.Maybe LoRaWANMulticastGet,+    name :: Prelude.Maybe Prelude.Text,+    status :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getMulticastGroupResponse_arn' - Undocumented member.+--+-- 'createdAt', 'getMulticastGroupResponse_createdAt' - Undocumented member.+--+-- 'description', 'getMulticastGroupResponse_description' - Undocumented member.+--+-- 'id', 'getMulticastGroupResponse_id' - Undocumented member.+--+-- 'loRaWAN', 'getMulticastGroupResponse_loRaWAN' - Undocumented member.+--+-- 'name', 'getMulticastGroupResponse_name' - Undocumented member.+--+-- 'status', 'getMulticastGroupResponse_status' - Undocumented member.+--+-- 'httpStatus', 'getMulticastGroupResponse_httpStatus' - The response's http status code.+newGetMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMulticastGroupResponse+newGetMulticastGroupResponse pHttpStatus_ =+  GetMulticastGroupResponse'+    { arn = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getMulticastGroupResponse_arn :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.Text)+getMulticastGroupResponse_arn = Lens.lens (\GetMulticastGroupResponse' {arn} -> arn) (\s@GetMulticastGroupResponse' {} a -> s {arn = a} :: GetMulticastGroupResponse)++-- | Undocumented member.+getMulticastGroupResponse_createdAt :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.UTCTime)+getMulticastGroupResponse_createdAt = Lens.lens (\GetMulticastGroupResponse' {createdAt} -> createdAt) (\s@GetMulticastGroupResponse' {} a -> s {createdAt = a} :: GetMulticastGroupResponse) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+getMulticastGroupResponse_description :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.Text)+getMulticastGroupResponse_description = Lens.lens (\GetMulticastGroupResponse' {description} -> description) (\s@GetMulticastGroupResponse' {} a -> s {description = a} :: GetMulticastGroupResponse)++-- | Undocumented member.+getMulticastGroupResponse_id :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.Text)+getMulticastGroupResponse_id = Lens.lens (\GetMulticastGroupResponse' {id} -> id) (\s@GetMulticastGroupResponse' {} a -> s {id = a} :: GetMulticastGroupResponse)++-- | Undocumented member.+getMulticastGroupResponse_loRaWAN :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe LoRaWANMulticastGet)+getMulticastGroupResponse_loRaWAN = Lens.lens (\GetMulticastGroupResponse' {loRaWAN} -> loRaWAN) (\s@GetMulticastGroupResponse' {} a -> s {loRaWAN = a} :: GetMulticastGroupResponse)++-- | Undocumented member.+getMulticastGroupResponse_name :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.Text)+getMulticastGroupResponse_name = Lens.lens (\GetMulticastGroupResponse' {name} -> name) (\s@GetMulticastGroupResponse' {} a -> s {name = a} :: GetMulticastGroupResponse)++-- | Undocumented member.+getMulticastGroupResponse_status :: Lens.Lens' GetMulticastGroupResponse (Prelude.Maybe Prelude.Text)+getMulticastGroupResponse_status = Lens.lens (\GetMulticastGroupResponse' {status} -> status) (\s@GetMulticastGroupResponse' {} a -> s {status = a} :: GetMulticastGroupResponse)++-- | The response's http status code.+getMulticastGroupResponse_httpStatus :: Lens.Lens' GetMulticastGroupResponse Prelude.Int+getMulticastGroupResponse_httpStatus = Lens.lens (\GetMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@GetMulticastGroupResponse' {} a -> s {httpStatus = a} :: GetMulticastGroupResponse)++instance Prelude.NFData GetMulticastGroupResponse where+  rnf GetMulticastGroupResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetMulticastGroupSession.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.IoTWireless.GetMulticastGroupSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a multicast group session.+module Amazonka.IoTWireless.GetMulticastGroupSession+  ( -- * Creating a Request+    GetMulticastGroupSession (..),+    newGetMulticastGroupSession,++    -- * Request Lenses+    getMulticastGroupSession_id,++    -- * Destructuring the Response+    GetMulticastGroupSessionResponse (..),+    newGetMulticastGroupSessionResponse,++    -- * Response Lenses+    getMulticastGroupSessionResponse_loRaWAN,+    getMulticastGroupSessionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMulticastGroupSession' smart constructor.+data GetMulticastGroupSession = GetMulticastGroupSession'+  { id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMulticastGroupSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getMulticastGroupSession_id' - Undocumented member.+newGetMulticastGroupSession ::+  -- | 'id'+  Prelude.Text ->+  GetMulticastGroupSession+newGetMulticastGroupSession pId_ =+  GetMulticastGroupSession' {id = pId_}++-- | Undocumented member.+getMulticastGroupSession_id :: Lens.Lens' GetMulticastGroupSession Prelude.Text+getMulticastGroupSession_id = Lens.lens (\GetMulticastGroupSession' {id} -> id) (\s@GetMulticastGroupSession' {} a -> s {id = a} :: GetMulticastGroupSession)++instance Core.AWSRequest GetMulticastGroupSession where+  type+    AWSResponse GetMulticastGroupSession =+      GetMulticastGroupSessionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMulticastGroupSessionResponse'+            Prelude.<$> (x Data..?> "LoRaWAN")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMulticastGroupSession where+  hashWithSalt _salt GetMulticastGroupSession' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetMulticastGroupSession where+  rnf GetMulticastGroupSession' {..} = Prelude.rnf id++instance Data.ToHeaders GetMulticastGroupSession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMulticastGroupSession where+  toPath GetMulticastGroupSession' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id, "/session"]++instance Data.ToQuery GetMulticastGroupSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMulticastGroupSessionResponse' smart constructor.+data GetMulticastGroupSessionResponse = GetMulticastGroupSessionResponse'+  { loRaWAN :: Prelude.Maybe LoRaWANMulticastSession,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMulticastGroupSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'getMulticastGroupSessionResponse_loRaWAN' - Undocumented member.+--+-- 'httpStatus', 'getMulticastGroupSessionResponse_httpStatus' - The response's http status code.+newGetMulticastGroupSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMulticastGroupSessionResponse+newGetMulticastGroupSessionResponse pHttpStatus_ =+  GetMulticastGroupSessionResponse'+    { loRaWAN =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getMulticastGroupSessionResponse_loRaWAN :: Lens.Lens' GetMulticastGroupSessionResponse (Prelude.Maybe LoRaWANMulticastSession)+getMulticastGroupSessionResponse_loRaWAN = Lens.lens (\GetMulticastGroupSessionResponse' {loRaWAN} -> loRaWAN) (\s@GetMulticastGroupSessionResponse' {} a -> s {loRaWAN = a} :: GetMulticastGroupSessionResponse)++-- | The response's http status code.+getMulticastGroupSessionResponse_httpStatus :: Lens.Lens' GetMulticastGroupSessionResponse Prelude.Int+getMulticastGroupSessionResponse_httpStatus = Lens.lens (\GetMulticastGroupSessionResponse' {httpStatus} -> httpStatus) (\s@GetMulticastGroupSessionResponse' {} a -> s {httpStatus = a} :: GetMulticastGroupSessionResponse)++instance+  Prelude.NFData+    GetMulticastGroupSessionResponse+  where+  rnf GetMulticastGroupSessionResponse' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetNetworkAnalyzerConfiguration.hs view
@@ -0,0 +1,244 @@+{-# 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.IoTWireless.GetNetworkAnalyzerConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get network analyzer configuration.+module Amazonka.IoTWireless.GetNetworkAnalyzerConfiguration+  ( -- * Creating a Request+    GetNetworkAnalyzerConfiguration (..),+    newGetNetworkAnalyzerConfiguration,++    -- * Request Lenses+    getNetworkAnalyzerConfiguration_configurationName,++    -- * Destructuring the Response+    GetNetworkAnalyzerConfigurationResponse (..),+    newGetNetworkAnalyzerConfigurationResponse,++    -- * Response Lenses+    getNetworkAnalyzerConfigurationResponse_arn,+    getNetworkAnalyzerConfigurationResponse_description,+    getNetworkAnalyzerConfigurationResponse_name,+    getNetworkAnalyzerConfigurationResponse_traceContent,+    getNetworkAnalyzerConfigurationResponse_wirelessDevices,+    getNetworkAnalyzerConfigurationResponse_wirelessGateways,+    getNetworkAnalyzerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkAnalyzerConfiguration' smart constructor.+data GetNetworkAnalyzerConfiguration = GetNetworkAnalyzerConfiguration'+  { configurationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkAnalyzerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationName', 'getNetworkAnalyzerConfiguration_configurationName' - Undocumented member.+newGetNetworkAnalyzerConfiguration ::+  -- | 'configurationName'+  Prelude.Text ->+  GetNetworkAnalyzerConfiguration+newGetNetworkAnalyzerConfiguration+  pConfigurationName_ =+    GetNetworkAnalyzerConfiguration'+      { configurationName =+          pConfigurationName_+      }++-- | Undocumented member.+getNetworkAnalyzerConfiguration_configurationName :: Lens.Lens' GetNetworkAnalyzerConfiguration Prelude.Text+getNetworkAnalyzerConfiguration_configurationName = Lens.lens (\GetNetworkAnalyzerConfiguration' {configurationName} -> configurationName) (\s@GetNetworkAnalyzerConfiguration' {} a -> s {configurationName = a} :: GetNetworkAnalyzerConfiguration)++instance+  Core.AWSRequest+    GetNetworkAnalyzerConfiguration+  where+  type+    AWSResponse GetNetworkAnalyzerConfiguration =+      GetNetworkAnalyzerConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkAnalyzerConfigurationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "TraceContent")+            Prelude.<*> ( x+                            Data..?> "WirelessDevices"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "WirelessGateways"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetNetworkAnalyzerConfiguration+  where+  hashWithSalt+    _salt+    GetNetworkAnalyzerConfiguration' {..} =+      _salt `Prelude.hashWithSalt` configurationName++instance+  Prelude.NFData+    GetNetworkAnalyzerConfiguration+  where+  rnf GetNetworkAnalyzerConfiguration' {..} =+    Prelude.rnf configurationName++instance+  Data.ToHeaders+    GetNetworkAnalyzerConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetNetworkAnalyzerConfiguration where+  toPath GetNetworkAnalyzerConfiguration' {..} =+    Prelude.mconcat+      [ "/network-analyzer-configurations/",+        Data.toBS configurationName+      ]++instance Data.ToQuery GetNetworkAnalyzerConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkAnalyzerConfigurationResponse' smart constructor.+data GetNetworkAnalyzerConfigurationResponse = GetNetworkAnalyzerConfigurationResponse'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    traceContent :: Prelude.Maybe TraceContent,+    -- | List of wireless gateway resources that have been added to the network+    -- analyzer configuration.+    wirelessDevices :: Prelude.Maybe [Prelude.Text],+    -- | List of wireless gateway resources that have been added to the network+    -- analyzer configuration.+    wirelessGateways :: 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 'GetNetworkAnalyzerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkAnalyzerConfigurationResponse_arn' - The Amazon Resource Name of the new resource.+--+-- 'description', 'getNetworkAnalyzerConfigurationResponse_description' - Undocumented member.+--+-- 'name', 'getNetworkAnalyzerConfigurationResponse_name' - Undocumented member.+--+-- 'traceContent', 'getNetworkAnalyzerConfigurationResponse_traceContent' - Undocumented member.+--+-- 'wirelessDevices', 'getNetworkAnalyzerConfigurationResponse_wirelessDevices' - List of wireless gateway resources that have been added to the network+-- analyzer configuration.+--+-- 'wirelessGateways', 'getNetworkAnalyzerConfigurationResponse_wirelessGateways' - List of wireless gateway resources that have been added to the network+-- analyzer configuration.+--+-- 'httpStatus', 'getNetworkAnalyzerConfigurationResponse_httpStatus' - The response's http status code.+newGetNetworkAnalyzerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkAnalyzerConfigurationResponse+newGetNetworkAnalyzerConfigurationResponse+  pHttpStatus_ =+    GetNetworkAnalyzerConfigurationResponse'+      { arn =+          Prelude.Nothing,+        description = Prelude.Nothing,+        name = Prelude.Nothing,+        traceContent = Prelude.Nothing,+        wirelessDevices = Prelude.Nothing,+        wirelessGateways = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name of the new resource.+getNetworkAnalyzerConfigurationResponse_arn :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe Prelude.Text)+getNetworkAnalyzerConfigurationResponse_arn = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {arn} -> arn) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {arn = a} :: GetNetworkAnalyzerConfigurationResponse)++-- | Undocumented member.+getNetworkAnalyzerConfigurationResponse_description :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe Prelude.Text)+getNetworkAnalyzerConfigurationResponse_description = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {description} -> description) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {description = a} :: GetNetworkAnalyzerConfigurationResponse)++-- | Undocumented member.+getNetworkAnalyzerConfigurationResponse_name :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe Prelude.Text)+getNetworkAnalyzerConfigurationResponse_name = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {name} -> name) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {name = a} :: GetNetworkAnalyzerConfigurationResponse)++-- | Undocumented member.+getNetworkAnalyzerConfigurationResponse_traceContent :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe TraceContent)+getNetworkAnalyzerConfigurationResponse_traceContent = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {traceContent} -> traceContent) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {traceContent = a} :: GetNetworkAnalyzerConfigurationResponse)++-- | List of wireless gateway resources that have been added to the network+-- analyzer configuration.+getNetworkAnalyzerConfigurationResponse_wirelessDevices :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe [Prelude.Text])+getNetworkAnalyzerConfigurationResponse_wirelessDevices = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {wirelessDevices} -> wirelessDevices) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {wirelessDevices = a} :: GetNetworkAnalyzerConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of wireless gateway resources that have been added to the network+-- analyzer configuration.+getNetworkAnalyzerConfigurationResponse_wirelessGateways :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse (Prelude.Maybe [Prelude.Text])+getNetworkAnalyzerConfigurationResponse_wirelessGateways = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {wirelessGateways} -> wirelessGateways) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {wirelessGateways = a} :: GetNetworkAnalyzerConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getNetworkAnalyzerConfigurationResponse_httpStatus :: Lens.Lens' GetNetworkAnalyzerConfigurationResponse Prelude.Int+getNetworkAnalyzerConfigurationResponse_httpStatus = Lens.lens (\GetNetworkAnalyzerConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetNetworkAnalyzerConfigurationResponse' {} a -> s {httpStatus = a} :: GetNetworkAnalyzerConfigurationResponse)++instance+  Prelude.NFData+    GetNetworkAnalyzerConfigurationResponse+  where+  rnf GetNetworkAnalyzerConfigurationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf traceContent+      `Prelude.seq` Prelude.rnf wirelessDevices+      `Prelude.seq` Prelude.rnf wirelessGateways+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetPartnerAccount.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.GetPartnerAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a partner account. If @PartnerAccountId@ and+-- @PartnerType@ are @null@, returns all partner accounts.+module Amazonka.IoTWireless.GetPartnerAccount+  ( -- * Creating a Request+    GetPartnerAccount (..),+    newGetPartnerAccount,++    -- * Request Lenses+    getPartnerAccount_partnerAccountId,+    getPartnerAccount_partnerType,++    -- * Destructuring the Response+    GetPartnerAccountResponse (..),+    newGetPartnerAccountResponse,++    -- * Response Lenses+    getPartnerAccountResponse_accountLinked,+    getPartnerAccountResponse_sidewalk,+    getPartnerAccountResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPartnerAccount' smart constructor.+data GetPartnerAccount = GetPartnerAccount'+  { -- | The partner account ID to disassociate from the AWS account.+    partnerAccountId :: Prelude.Text,+    -- | The partner type.+    partnerType :: PartnerType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPartnerAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'partnerAccountId', 'getPartnerAccount_partnerAccountId' - The partner account ID to disassociate from the AWS account.+--+-- 'partnerType', 'getPartnerAccount_partnerType' - The partner type.+newGetPartnerAccount ::+  -- | 'partnerAccountId'+  Prelude.Text ->+  -- | 'partnerType'+  PartnerType ->+  GetPartnerAccount+newGetPartnerAccount pPartnerAccountId_ pPartnerType_ =+  GetPartnerAccount'+    { partnerAccountId =+        pPartnerAccountId_,+      partnerType = pPartnerType_+    }++-- | The partner account ID to disassociate from the AWS account.+getPartnerAccount_partnerAccountId :: Lens.Lens' GetPartnerAccount Prelude.Text+getPartnerAccount_partnerAccountId = Lens.lens (\GetPartnerAccount' {partnerAccountId} -> partnerAccountId) (\s@GetPartnerAccount' {} a -> s {partnerAccountId = a} :: GetPartnerAccount)++-- | The partner type.+getPartnerAccount_partnerType :: Lens.Lens' GetPartnerAccount PartnerType+getPartnerAccount_partnerType = Lens.lens (\GetPartnerAccount' {partnerType} -> partnerType) (\s@GetPartnerAccount' {} a -> s {partnerType = a} :: GetPartnerAccount)++instance Core.AWSRequest GetPartnerAccount where+  type+    AWSResponse GetPartnerAccount =+      GetPartnerAccountResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPartnerAccountResponse'+            Prelude.<$> (x Data..?> "AccountLinked")+            Prelude.<*> (x Data..?> "Sidewalk")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPartnerAccount where+  hashWithSalt _salt GetPartnerAccount' {..} =+    _salt+      `Prelude.hashWithSalt` partnerAccountId+      `Prelude.hashWithSalt` partnerType++instance Prelude.NFData GetPartnerAccount where+  rnf GetPartnerAccount' {..} =+    Prelude.rnf partnerAccountId+      `Prelude.seq` Prelude.rnf partnerType++instance Data.ToHeaders GetPartnerAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetPartnerAccount where+  toPath GetPartnerAccount' {..} =+    Prelude.mconcat+      ["/partner-accounts/", Data.toBS partnerAccountId]++instance Data.ToQuery GetPartnerAccount where+  toQuery GetPartnerAccount' {..} =+    Prelude.mconcat ["partnerType" Data.=: partnerType]++-- | /See:/ 'newGetPartnerAccountResponse' smart constructor.+data GetPartnerAccountResponse = GetPartnerAccountResponse'+  { -- | Whether the partner account is linked to the AWS account.+    accountLinked :: Prelude.Maybe Prelude.Bool,+    -- | The Sidewalk account credentials.+    sidewalk :: Prelude.Maybe SidewalkAccountInfoWithFingerprint,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPartnerAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountLinked', 'getPartnerAccountResponse_accountLinked' - Whether the partner account is linked to the AWS account.+--+-- 'sidewalk', 'getPartnerAccountResponse_sidewalk' - The Sidewalk account credentials.+--+-- 'httpStatus', 'getPartnerAccountResponse_httpStatus' - The response's http status code.+newGetPartnerAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPartnerAccountResponse+newGetPartnerAccountResponse pHttpStatus_ =+  GetPartnerAccountResponse'+    { accountLinked =+        Prelude.Nothing,+      sidewalk = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Whether the partner account is linked to the AWS account.+getPartnerAccountResponse_accountLinked :: Lens.Lens' GetPartnerAccountResponse (Prelude.Maybe Prelude.Bool)+getPartnerAccountResponse_accountLinked = Lens.lens (\GetPartnerAccountResponse' {accountLinked} -> accountLinked) (\s@GetPartnerAccountResponse' {} a -> s {accountLinked = a} :: GetPartnerAccountResponse)++-- | The Sidewalk account credentials.+getPartnerAccountResponse_sidewalk :: Lens.Lens' GetPartnerAccountResponse (Prelude.Maybe SidewalkAccountInfoWithFingerprint)+getPartnerAccountResponse_sidewalk = Lens.lens (\GetPartnerAccountResponse' {sidewalk} -> sidewalk) (\s@GetPartnerAccountResponse' {} a -> s {sidewalk = a} :: GetPartnerAccountResponse)++-- | The response's http status code.+getPartnerAccountResponse_httpStatus :: Lens.Lens' GetPartnerAccountResponse Prelude.Int+getPartnerAccountResponse_httpStatus = Lens.lens (\GetPartnerAccountResponse' {httpStatus} -> httpStatus) (\s@GetPartnerAccountResponse' {} a -> s {httpStatus = a} :: GetPartnerAccountResponse)++instance Prelude.NFData GetPartnerAccountResponse where+  rnf GetPartnerAccountResponse' {..} =+    Prelude.rnf accountLinked+      `Prelude.seq` Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetPositionEstimate.hs view
@@ -0,0 +1,250 @@+{-# 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.IoTWireless.GetPositionEstimate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get estimated position information as a payload in GeoJSON format. The+-- payload measurement data is resolved using solvers that are provided by+-- third-party vendors.+module Amazonka.IoTWireless.GetPositionEstimate+  ( -- * Creating a Request+    GetPositionEstimate (..),+    newGetPositionEstimate,++    -- * Request Lenses+    getPositionEstimate_cellTowers,+    getPositionEstimate_gnss,+    getPositionEstimate_ip,+    getPositionEstimate_timestamp,+    getPositionEstimate_wiFiAccessPoints,++    -- * Destructuring the Response+    GetPositionEstimateResponse (..),+    newGetPositionEstimateResponse,++    -- * Response Lenses+    getPositionEstimateResponse_geoJsonPayload,+    getPositionEstimateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPositionEstimate' smart constructor.+data GetPositionEstimate = GetPositionEstimate'+  { -- | Retrieves an estimated device position by resolving measurement data+    -- from cellular radio towers. The position is resolved using HERE\'s+    -- cellular-based solver.+    cellTowers :: Prelude.Maybe CellTowers,+    -- | Retrieves an estimated device position by resolving the global+    -- navigation satellite system (GNSS) scan data. The position is resolved+    -- using the GNSS solver powered by LoRa Cloud.+    gnss :: Prelude.Maybe Gnss,+    -- | Retrieves an estimated device position by resolving the IP address+    -- information from the device. The position is resolved using MaxMind\'s+    -- IP-based solver.+    ip :: Prelude.Maybe Ip,+    -- | Optional information that specifies the time when the position+    -- information will be resolved. It uses the UNIX timestamp format. If not+    -- specified, the time at which the request was received will be used.+    timestamp :: Prelude.Maybe Data.POSIX,+    -- | Retrieves an estimated device position by resolving WLAN measurement+    -- data. The position is resolved using HERE\'s Wi-Fi based solver.+    wiFiAccessPoints :: Prelude.Maybe [WiFiAccessPoint]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPositionEstimate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cellTowers', 'getPositionEstimate_cellTowers' - Retrieves an estimated device position by resolving measurement data+-- from cellular radio towers. The position is resolved using HERE\'s+-- cellular-based solver.+--+-- 'gnss', 'getPositionEstimate_gnss' - Retrieves an estimated device position by resolving the global+-- navigation satellite system (GNSS) scan data. The position is resolved+-- using the GNSS solver powered by LoRa Cloud.+--+-- 'ip', 'getPositionEstimate_ip' - Retrieves an estimated device position by resolving the IP address+-- information from the device. The position is resolved using MaxMind\'s+-- IP-based solver.+--+-- 'timestamp', 'getPositionEstimate_timestamp' - Optional information that specifies the time when the position+-- information will be resolved. It uses the UNIX timestamp format. If not+-- specified, the time at which the request was received will be used.+--+-- 'wiFiAccessPoints', 'getPositionEstimate_wiFiAccessPoints' - Retrieves an estimated device position by resolving WLAN measurement+-- data. The position is resolved using HERE\'s Wi-Fi based solver.+newGetPositionEstimate ::+  GetPositionEstimate+newGetPositionEstimate =+  GetPositionEstimate'+    { cellTowers = Prelude.Nothing,+      gnss = Prelude.Nothing,+      ip = Prelude.Nothing,+      timestamp = Prelude.Nothing,+      wiFiAccessPoints = Prelude.Nothing+    }++-- | Retrieves an estimated device position by resolving measurement data+-- from cellular radio towers. The position is resolved using HERE\'s+-- cellular-based solver.+getPositionEstimate_cellTowers :: Lens.Lens' GetPositionEstimate (Prelude.Maybe CellTowers)+getPositionEstimate_cellTowers = Lens.lens (\GetPositionEstimate' {cellTowers} -> cellTowers) (\s@GetPositionEstimate' {} a -> s {cellTowers = a} :: GetPositionEstimate)++-- | Retrieves an estimated device position by resolving the global+-- navigation satellite system (GNSS) scan data. The position is resolved+-- using the GNSS solver powered by LoRa Cloud.+getPositionEstimate_gnss :: Lens.Lens' GetPositionEstimate (Prelude.Maybe Gnss)+getPositionEstimate_gnss = Lens.lens (\GetPositionEstimate' {gnss} -> gnss) (\s@GetPositionEstimate' {} a -> s {gnss = a} :: GetPositionEstimate)++-- | Retrieves an estimated device position by resolving the IP address+-- information from the device. The position is resolved using MaxMind\'s+-- IP-based solver.+getPositionEstimate_ip :: Lens.Lens' GetPositionEstimate (Prelude.Maybe Ip)+getPositionEstimate_ip = Lens.lens (\GetPositionEstimate' {ip} -> ip) (\s@GetPositionEstimate' {} a -> s {ip = a} :: GetPositionEstimate)++-- | Optional information that specifies the time when the position+-- information will be resolved. It uses the UNIX timestamp format. If not+-- specified, the time at which the request was received will be used.+getPositionEstimate_timestamp :: Lens.Lens' GetPositionEstimate (Prelude.Maybe Prelude.UTCTime)+getPositionEstimate_timestamp = Lens.lens (\GetPositionEstimate' {timestamp} -> timestamp) (\s@GetPositionEstimate' {} a -> s {timestamp = a} :: GetPositionEstimate) Prelude.. Lens.mapping Data._Time++-- | Retrieves an estimated device position by resolving WLAN measurement+-- data. The position is resolved using HERE\'s Wi-Fi based solver.+getPositionEstimate_wiFiAccessPoints :: Lens.Lens' GetPositionEstimate (Prelude.Maybe [WiFiAccessPoint])+getPositionEstimate_wiFiAccessPoints = Lens.lens (\GetPositionEstimate' {wiFiAccessPoints} -> wiFiAccessPoints) (\s@GetPositionEstimate' {} a -> s {wiFiAccessPoints = a} :: GetPositionEstimate) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest GetPositionEstimate where+  type+    AWSResponse GetPositionEstimate =+      GetPositionEstimateResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveBytes+      ( \s h x ->+          GetPositionEstimateResponse'+            Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPositionEstimate where+  hashWithSalt _salt GetPositionEstimate' {..} =+    _salt+      `Prelude.hashWithSalt` cellTowers+      `Prelude.hashWithSalt` gnss+      `Prelude.hashWithSalt` ip+      `Prelude.hashWithSalt` timestamp+      `Prelude.hashWithSalt` wiFiAccessPoints++instance Prelude.NFData GetPositionEstimate where+  rnf GetPositionEstimate' {..} =+    Prelude.rnf cellTowers+      `Prelude.seq` Prelude.rnf gnss+      `Prelude.seq` Prelude.rnf ip+      `Prelude.seq` Prelude.rnf timestamp+      `Prelude.seq` Prelude.rnf wiFiAccessPoints++instance Data.ToHeaders GetPositionEstimate where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON GetPositionEstimate where+  toJSON GetPositionEstimate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CellTowers" Data..=) Prelude.<$> cellTowers,+            ("Gnss" Data..=) Prelude.<$> gnss,+            ("Ip" Data..=) Prelude.<$> ip,+            ("Timestamp" Data..=) Prelude.<$> timestamp,+            ("WiFiAccessPoints" Data..=)+              Prelude.<$> wiFiAccessPoints+          ]+      )++instance Data.ToPath GetPositionEstimate where+  toPath = Prelude.const "/position-estimate"++instance Data.ToQuery GetPositionEstimate where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPositionEstimateResponse' smart constructor.+data GetPositionEstimateResponse = GetPositionEstimateResponse'+  { -- | The position information of the resource, displayed as a JSON payload.+    -- The payload uses the GeoJSON format, which a format that\'s used to+    -- encode geographic data structures. For more information, see+    -- <https://geojson.org/ GeoJSON>.+    geoJsonPayload :: Prelude.Maybe Prelude.ByteString,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPositionEstimateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoJsonPayload', 'getPositionEstimateResponse_geoJsonPayload' - The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+--+-- 'httpStatus', 'getPositionEstimateResponse_httpStatus' - The response's http status code.+newGetPositionEstimateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPositionEstimateResponse+newGetPositionEstimateResponse pHttpStatus_ =+  GetPositionEstimateResponse'+    { geoJsonPayload =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+getPositionEstimateResponse_geoJsonPayload :: Lens.Lens' GetPositionEstimateResponse (Prelude.Maybe Prelude.ByteString)+getPositionEstimateResponse_geoJsonPayload = Lens.lens (\GetPositionEstimateResponse' {geoJsonPayload} -> geoJsonPayload) (\s@GetPositionEstimateResponse' {} a -> s {geoJsonPayload = a} :: GetPositionEstimateResponse)++-- | The response's http status code.+getPositionEstimateResponse_httpStatus :: Lens.Lens' GetPositionEstimateResponse Prelude.Int+getPositionEstimateResponse_httpStatus = Lens.lens (\GetPositionEstimateResponse' {httpStatus} -> httpStatus) (\s@GetPositionEstimateResponse' {} a -> s {httpStatus = a} :: GetPositionEstimateResponse)++instance Prelude.NFData GetPositionEstimateResponse where+  rnf GetPositionEstimateResponse' {..} =+    Prelude.rnf geoJsonPayload+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetResourceEventConfiguration.hs view
@@ -0,0 +1,253 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.GetResourceEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the event configuration for a particular resource identifier.+module Amazonka.IoTWireless.GetResourceEventConfiguration+  ( -- * Creating a Request+    GetResourceEventConfiguration (..),+    newGetResourceEventConfiguration,++    -- * Request Lenses+    getResourceEventConfiguration_partnerType,+    getResourceEventConfiguration_identifier,+    getResourceEventConfiguration_identifierType,++    -- * Destructuring the Response+    GetResourceEventConfigurationResponse (..),+    newGetResourceEventConfigurationResponse,++    -- * Response Lenses+    getResourceEventConfigurationResponse_connectionStatus,+    getResourceEventConfigurationResponse_deviceRegistrationState,+    getResourceEventConfigurationResponse_join,+    getResourceEventConfigurationResponse_messageDeliveryStatus,+    getResourceEventConfigurationResponse_proximity,+    getResourceEventConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceEventConfiguration' smart constructor.+data GetResourceEventConfiguration = GetResourceEventConfiguration'+  { -- | Partner type of the resource if the identifier type is+    -- @PartnerAccountId@.+    partnerType :: Prelude.Maybe EventNotificationPartnerType,+    -- | Resource identifier to opt in for event messaging.+    identifier :: Prelude.Text,+    -- | Identifier type of the particular resource identifier for event+    -- configuration.+    identifierType :: IdentifierType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'partnerType', 'getResourceEventConfiguration_partnerType' - Partner type of the resource if the identifier type is+-- @PartnerAccountId@.+--+-- 'identifier', 'getResourceEventConfiguration_identifier' - Resource identifier to opt in for event messaging.+--+-- 'identifierType', 'getResourceEventConfiguration_identifierType' - Identifier type of the particular resource identifier for event+-- configuration.+newGetResourceEventConfiguration ::+  -- | 'identifier'+  Prelude.Text ->+  -- | 'identifierType'+  IdentifierType ->+  GetResourceEventConfiguration+newGetResourceEventConfiguration+  pIdentifier_+  pIdentifierType_ =+    GetResourceEventConfiguration'+      { partnerType =+          Prelude.Nothing,+        identifier = pIdentifier_,+        identifierType = pIdentifierType_+      }++-- | Partner type of the resource if the identifier type is+-- @PartnerAccountId@.+getResourceEventConfiguration_partnerType :: Lens.Lens' GetResourceEventConfiguration (Prelude.Maybe EventNotificationPartnerType)+getResourceEventConfiguration_partnerType = Lens.lens (\GetResourceEventConfiguration' {partnerType} -> partnerType) (\s@GetResourceEventConfiguration' {} a -> s {partnerType = a} :: GetResourceEventConfiguration)++-- | Resource identifier to opt in for event messaging.+getResourceEventConfiguration_identifier :: Lens.Lens' GetResourceEventConfiguration Prelude.Text+getResourceEventConfiguration_identifier = Lens.lens (\GetResourceEventConfiguration' {identifier} -> identifier) (\s@GetResourceEventConfiguration' {} a -> s {identifier = a} :: GetResourceEventConfiguration)++-- | Identifier type of the particular resource identifier for event+-- configuration.+getResourceEventConfiguration_identifierType :: Lens.Lens' GetResourceEventConfiguration IdentifierType+getResourceEventConfiguration_identifierType = Lens.lens (\GetResourceEventConfiguration' {identifierType} -> identifierType) (\s@GetResourceEventConfiguration' {} a -> s {identifierType = a} :: GetResourceEventConfiguration)++instance+  Core.AWSRequest+    GetResourceEventConfiguration+  where+  type+    AWSResponse GetResourceEventConfiguration =+      GetResourceEventConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourceEventConfigurationResponse'+            Prelude.<$> (x Data..?> "ConnectionStatus")+            Prelude.<*> (x Data..?> "DeviceRegistrationState")+            Prelude.<*> (x Data..?> "Join")+            Prelude.<*> (x Data..?> "MessageDeliveryStatus")+            Prelude.<*> (x Data..?> "Proximity")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetResourceEventConfiguration+  where+  hashWithSalt _salt GetResourceEventConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` partnerType+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` identifierType++instance Prelude.NFData GetResourceEventConfiguration where+  rnf GetResourceEventConfiguration' {..} =+    Prelude.rnf partnerType+      `Prelude.seq` Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierType++instance Data.ToHeaders GetResourceEventConfiguration where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetResourceEventConfiguration where+  toPath GetResourceEventConfiguration' {..} =+    Prelude.mconcat+      ["/event-configurations/", Data.toBS identifier]++instance Data.ToQuery GetResourceEventConfiguration where+  toQuery GetResourceEventConfiguration' {..} =+    Prelude.mconcat+      [ "partnerType" Data.=: partnerType,+        "identifierType" Data.=: identifierType+      ]++-- | /See:/ 'newGetResourceEventConfigurationResponse' smart constructor.+data GetResourceEventConfigurationResponse = GetResourceEventConfigurationResponse'+  { -- | Event configuration for the connection status event.+    connectionStatus :: Prelude.Maybe ConnectionStatusEventConfiguration,+    -- | Event configuration for the device registration state event.+    deviceRegistrationState :: Prelude.Maybe DeviceRegistrationStateEventConfiguration,+    -- | Event configuration for the join event.+    join :: Prelude.Maybe JoinEventConfiguration,+    -- | Event configuration for the message delivery status event.+    messageDeliveryStatus :: Prelude.Maybe MessageDeliveryStatusEventConfiguration,+    -- | Event configuration for the proximity event.+    proximity :: Prelude.Maybe ProximityEventConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceEventConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'getResourceEventConfigurationResponse_connectionStatus' - Event configuration for the connection status event.+--+-- 'deviceRegistrationState', 'getResourceEventConfigurationResponse_deviceRegistrationState' - Event configuration for the device registration state event.+--+-- 'join', 'getResourceEventConfigurationResponse_join' - Event configuration for the join event.+--+-- 'messageDeliveryStatus', 'getResourceEventConfigurationResponse_messageDeliveryStatus' - Event configuration for the message delivery status event.+--+-- 'proximity', 'getResourceEventConfigurationResponse_proximity' - Event configuration for the proximity event.+--+-- 'httpStatus', 'getResourceEventConfigurationResponse_httpStatus' - The response's http status code.+newGetResourceEventConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourceEventConfigurationResponse+newGetResourceEventConfigurationResponse pHttpStatus_ =+  GetResourceEventConfigurationResponse'+    { connectionStatus =+        Prelude.Nothing,+      deviceRegistrationState =+        Prelude.Nothing,+      join = Prelude.Nothing,+      messageDeliveryStatus =+        Prelude.Nothing,+      proximity = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Event configuration for the connection status event.+getResourceEventConfigurationResponse_connectionStatus :: Lens.Lens' GetResourceEventConfigurationResponse (Prelude.Maybe ConnectionStatusEventConfiguration)+getResourceEventConfigurationResponse_connectionStatus = Lens.lens (\GetResourceEventConfigurationResponse' {connectionStatus} -> connectionStatus) (\s@GetResourceEventConfigurationResponse' {} a -> s {connectionStatus = a} :: GetResourceEventConfigurationResponse)++-- | Event configuration for the device registration state event.+getResourceEventConfigurationResponse_deviceRegistrationState :: Lens.Lens' GetResourceEventConfigurationResponse (Prelude.Maybe DeviceRegistrationStateEventConfiguration)+getResourceEventConfigurationResponse_deviceRegistrationState = Lens.lens (\GetResourceEventConfigurationResponse' {deviceRegistrationState} -> deviceRegistrationState) (\s@GetResourceEventConfigurationResponse' {} a -> s {deviceRegistrationState = a} :: GetResourceEventConfigurationResponse)++-- | Event configuration for the join event.+getResourceEventConfigurationResponse_join :: Lens.Lens' GetResourceEventConfigurationResponse (Prelude.Maybe JoinEventConfiguration)+getResourceEventConfigurationResponse_join = Lens.lens (\GetResourceEventConfigurationResponse' {join} -> join) (\s@GetResourceEventConfigurationResponse' {} a -> s {join = a} :: GetResourceEventConfigurationResponse)++-- | Event configuration for the message delivery status event.+getResourceEventConfigurationResponse_messageDeliveryStatus :: Lens.Lens' GetResourceEventConfigurationResponse (Prelude.Maybe MessageDeliveryStatusEventConfiguration)+getResourceEventConfigurationResponse_messageDeliveryStatus = Lens.lens (\GetResourceEventConfigurationResponse' {messageDeliveryStatus} -> messageDeliveryStatus) (\s@GetResourceEventConfigurationResponse' {} a -> s {messageDeliveryStatus = a} :: GetResourceEventConfigurationResponse)++-- | Event configuration for the proximity event.+getResourceEventConfigurationResponse_proximity :: Lens.Lens' GetResourceEventConfigurationResponse (Prelude.Maybe ProximityEventConfiguration)+getResourceEventConfigurationResponse_proximity = Lens.lens (\GetResourceEventConfigurationResponse' {proximity} -> proximity) (\s@GetResourceEventConfigurationResponse' {} a -> s {proximity = a} :: GetResourceEventConfigurationResponse)++-- | The response's http status code.+getResourceEventConfigurationResponse_httpStatus :: Lens.Lens' GetResourceEventConfigurationResponse Prelude.Int+getResourceEventConfigurationResponse_httpStatus = Lens.lens (\GetResourceEventConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetResourceEventConfigurationResponse' {} a -> s {httpStatus = a} :: GetResourceEventConfigurationResponse)++instance+  Prelude.NFData+    GetResourceEventConfigurationResponse+  where+  rnf GetResourceEventConfigurationResponse' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf deviceRegistrationState+      `Prelude.seq` Prelude.rnf join+      `Prelude.seq` Prelude.rnf messageDeliveryStatus+      `Prelude.seq` Prelude.rnf proximity+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetResourceLogLevel.hs view
@@ -0,0 +1,177 @@+{-# 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.IoTWireless.GetResourceLogLevel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Fetches the log-level override, if any, for a given resource-ID and+-- resource-type. It can be used for a wireless device or a wireless+-- gateway.+module Amazonka.IoTWireless.GetResourceLogLevel+  ( -- * Creating a Request+    GetResourceLogLevel (..),+    newGetResourceLogLevel,++    -- * Request Lenses+    getResourceLogLevel_resourceIdentifier,+    getResourceLogLevel_resourceType,++    -- * Destructuring the Response+    GetResourceLogLevelResponse (..),+    newGetResourceLogLevelResponse,++    -- * Response Lenses+    getResourceLogLevelResponse_logLevel,+    getResourceLogLevelResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceLogLevel' smart constructor.+data GetResourceLogLevel = GetResourceLogLevel'+  { resourceIdentifier :: Prelude.Text,+    -- | The type of the resource, which can be @WirelessDevice@ or+    -- @WirelessGateway@.+    resourceType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceLogLevel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceIdentifier', 'getResourceLogLevel_resourceIdentifier' - Undocumented member.+--+-- 'resourceType', 'getResourceLogLevel_resourceType' - The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+newGetResourceLogLevel ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  GetResourceLogLevel+newGetResourceLogLevel+  pResourceIdentifier_+  pResourceType_ =+    GetResourceLogLevel'+      { resourceIdentifier =+          pResourceIdentifier_,+        resourceType = pResourceType_+      }++-- | Undocumented member.+getResourceLogLevel_resourceIdentifier :: Lens.Lens' GetResourceLogLevel Prelude.Text+getResourceLogLevel_resourceIdentifier = Lens.lens (\GetResourceLogLevel' {resourceIdentifier} -> resourceIdentifier) (\s@GetResourceLogLevel' {} a -> s {resourceIdentifier = a} :: GetResourceLogLevel)++-- | The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+getResourceLogLevel_resourceType :: Lens.Lens' GetResourceLogLevel Prelude.Text+getResourceLogLevel_resourceType = Lens.lens (\GetResourceLogLevel' {resourceType} -> resourceType) (\s@GetResourceLogLevel' {} a -> s {resourceType = a} :: GetResourceLogLevel)++instance Core.AWSRequest GetResourceLogLevel where+  type+    AWSResponse GetResourceLogLevel =+      GetResourceLogLevelResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourceLogLevelResponse'+            Prelude.<$> (x Data..?> "LogLevel")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetResourceLogLevel where+  hashWithSalt _salt GetResourceLogLevel' {..} =+    _salt+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData GetResourceLogLevel where+  rnf GetResourceLogLevel' {..} =+    Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders GetResourceLogLevel where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetResourceLogLevel where+  toPath GetResourceLogLevel' {..} =+    Prelude.mconcat+      ["/log-levels/", Data.toBS resourceIdentifier]++instance Data.ToQuery GetResourceLogLevel where+  toQuery GetResourceLogLevel' {..} =+    Prelude.mconcat+      ["resourceType" Data.=: resourceType]++-- | /See:/ 'newGetResourceLogLevelResponse' smart constructor.+data GetResourceLogLevelResponse = GetResourceLogLevelResponse'+  { logLevel :: Prelude.Maybe LogLevel,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceLogLevelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logLevel', 'getResourceLogLevelResponse_logLevel' - Undocumented member.+--+-- 'httpStatus', 'getResourceLogLevelResponse_httpStatus' - The response's http status code.+newGetResourceLogLevelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourceLogLevelResponse+newGetResourceLogLevelResponse pHttpStatus_ =+  GetResourceLogLevelResponse'+    { logLevel =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getResourceLogLevelResponse_logLevel :: Lens.Lens' GetResourceLogLevelResponse (Prelude.Maybe LogLevel)+getResourceLogLevelResponse_logLevel = Lens.lens (\GetResourceLogLevelResponse' {logLevel} -> logLevel) (\s@GetResourceLogLevelResponse' {} a -> s {logLevel = a} :: GetResourceLogLevelResponse)++-- | The response's http status code.+getResourceLogLevelResponse_httpStatus :: Lens.Lens' GetResourceLogLevelResponse Prelude.Int+getResourceLogLevelResponse_httpStatus = Lens.lens (\GetResourceLogLevelResponse' {httpStatus} -> httpStatus) (\s@GetResourceLogLevelResponse' {} a -> s {httpStatus = a} :: GetResourceLogLevelResponse)++instance Prelude.NFData GetResourceLogLevelResponse where+  rnf GetResourceLogLevelResponse' {..} =+    Prelude.rnf logLevel+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetResourcePosition.hs view
@@ -0,0 +1,196 @@+{-# 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.IoTWireless.GetResourcePosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the position information for a given wireless device or a wireless+-- gateway resource. The postion information uses the+-- <https://gisgeography.com/wgs84-world-geodetic-system/ World Geodetic System (WGS84)>.+module Amazonka.IoTWireless.GetResourcePosition+  ( -- * Creating a Request+    GetResourcePosition (..),+    newGetResourcePosition,++    -- * Request Lenses+    getResourcePosition_resourceIdentifier,+    getResourcePosition_resourceType,++    -- * Destructuring the Response+    GetResourcePositionResponse (..),+    newGetResourcePositionResponse,++    -- * Response Lenses+    getResourcePositionResponse_geoJsonPayload,+    getResourcePositionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourcePosition' smart constructor.+data GetResourcePosition = GetResourcePosition'+  { -- | The identifier of the resource for which position information is+    -- retrieved. It can be the wireless device ID or the wireless gateway ID+    -- depending on the resource type.+    resourceIdentifier :: Prelude.Text,+    -- | The type of resource for which position information is retrieved, which+    -- can be a wireless device or a wireless gateway.+    resourceType :: PositionResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourcePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceIdentifier', 'getResourcePosition_resourceIdentifier' - The identifier of the resource for which position information is+-- retrieved. It can be the wireless device ID or the wireless gateway ID+-- depending on the resource type.+--+-- 'resourceType', 'getResourcePosition_resourceType' - The type of resource for which position information is retrieved, which+-- can be a wireless device or a wireless gateway.+newGetResourcePosition ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'resourceType'+  PositionResourceType ->+  GetResourcePosition+newGetResourcePosition+  pResourceIdentifier_+  pResourceType_ =+    GetResourcePosition'+      { resourceIdentifier =+          pResourceIdentifier_,+        resourceType = pResourceType_+      }++-- | The identifier of the resource for which position information is+-- retrieved. It can be the wireless device ID or the wireless gateway ID+-- depending on the resource type.+getResourcePosition_resourceIdentifier :: Lens.Lens' GetResourcePosition Prelude.Text+getResourcePosition_resourceIdentifier = Lens.lens (\GetResourcePosition' {resourceIdentifier} -> resourceIdentifier) (\s@GetResourcePosition' {} a -> s {resourceIdentifier = a} :: GetResourcePosition)++-- | The type of resource for which position information is retrieved, which+-- can be a wireless device or a wireless gateway.+getResourcePosition_resourceType :: Lens.Lens' GetResourcePosition PositionResourceType+getResourcePosition_resourceType = Lens.lens (\GetResourcePosition' {resourceType} -> resourceType) (\s@GetResourcePosition' {} a -> s {resourceType = a} :: GetResourcePosition)++instance Core.AWSRequest GetResourcePosition where+  type+    AWSResponse GetResourcePosition =+      GetResourcePositionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveBytes+      ( \s h x ->+          GetResourcePositionResponse'+            Prelude.<$> (Prelude.pure (Prelude.Just (Prelude.coerce x)))+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetResourcePosition where+  hashWithSalt _salt GetResourcePosition' {..} =+    _salt+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData GetResourcePosition where+  rnf GetResourcePosition' {..} =+    Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders GetResourcePosition where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetResourcePosition where+  toPath GetResourcePosition' {..} =+    Prelude.mconcat+      [ "/resource-positions/",+        Data.toBS resourceIdentifier+      ]++instance Data.ToQuery GetResourcePosition where+  toQuery GetResourcePosition' {..} =+    Prelude.mconcat+      ["resourceType" Data.=: resourceType]++-- | /See:/ 'newGetResourcePositionResponse' smart constructor.+data GetResourcePositionResponse = GetResourcePositionResponse'+  { -- | The position information of the resource, displayed as a JSON payload.+    -- The payload uses the GeoJSON format, which a format that\'s used to+    -- encode geographic data structures. For more information, see+    -- <https://geojson.org/ GeoJSON>.+    geoJsonPayload :: Prelude.Maybe Prelude.ByteString,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourcePositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoJsonPayload', 'getResourcePositionResponse_geoJsonPayload' - The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+--+-- 'httpStatus', 'getResourcePositionResponse_httpStatus' - The response's http status code.+newGetResourcePositionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourcePositionResponse+newGetResourcePositionResponse pHttpStatus_ =+  GetResourcePositionResponse'+    { geoJsonPayload =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+getResourcePositionResponse_geoJsonPayload :: Lens.Lens' GetResourcePositionResponse (Prelude.Maybe Prelude.ByteString)+getResourcePositionResponse_geoJsonPayload = Lens.lens (\GetResourcePositionResponse' {geoJsonPayload} -> geoJsonPayload) (\s@GetResourcePositionResponse' {} a -> s {geoJsonPayload = a} :: GetResourcePositionResponse)++-- | The response's http status code.+getResourcePositionResponse_httpStatus :: Lens.Lens' GetResourcePositionResponse Prelude.Int+getResourcePositionResponse_httpStatus = Lens.lens (\GetResourcePositionResponse' {httpStatus} -> httpStatus) (\s@GetResourcePositionResponse' {} a -> s {httpStatus = a} :: GetResourcePositionResponse)++instance Prelude.NFData GetResourcePositionResponse where+  rnf GetResourcePositionResponse' {..} =+    Prelude.rnf geoJsonPayload+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetServiceEndpoint.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.GetServiceEndpoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the account-specific endpoint for Configuration and Update Server+-- (CUPS) protocol or LoRaWAN Network Server (LNS) connections.+module Amazonka.IoTWireless.GetServiceEndpoint+  ( -- * Creating a Request+    GetServiceEndpoint (..),+    newGetServiceEndpoint,++    -- * Request Lenses+    getServiceEndpoint_serviceType,++    -- * Destructuring the Response+    GetServiceEndpointResponse (..),+    newGetServiceEndpointResponse,++    -- * Response Lenses+    getServiceEndpointResponse_serverTrust,+    getServiceEndpointResponse_serviceEndpoint,+    getServiceEndpointResponse_serviceType,+    getServiceEndpointResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetServiceEndpoint' smart constructor.+data GetServiceEndpoint = GetServiceEndpoint'+  { -- | The service type for which to get endpoint information about. Can be+    -- @CUPS@ for the Configuration and Update Server endpoint, or @LNS@ for+    -- the LoRaWAN Network Server endpoint or @CLAIM@ for the global endpoint.+    serviceType :: Prelude.Maybe WirelessGatewayServiceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServiceEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceType', 'getServiceEndpoint_serviceType' - The service type for which to get endpoint information about. Can be+-- @CUPS@ for the Configuration and Update Server endpoint, or @LNS@ for+-- the LoRaWAN Network Server endpoint or @CLAIM@ for the global endpoint.+newGetServiceEndpoint ::+  GetServiceEndpoint+newGetServiceEndpoint =+  GetServiceEndpoint' {serviceType = Prelude.Nothing}++-- | The service type for which to get endpoint information about. Can be+-- @CUPS@ for the Configuration and Update Server endpoint, or @LNS@ for+-- the LoRaWAN Network Server endpoint or @CLAIM@ for the global endpoint.+getServiceEndpoint_serviceType :: Lens.Lens' GetServiceEndpoint (Prelude.Maybe WirelessGatewayServiceType)+getServiceEndpoint_serviceType = Lens.lens (\GetServiceEndpoint' {serviceType} -> serviceType) (\s@GetServiceEndpoint' {} a -> s {serviceType = a} :: GetServiceEndpoint)++instance Core.AWSRequest GetServiceEndpoint where+  type+    AWSResponse GetServiceEndpoint =+      GetServiceEndpointResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetServiceEndpointResponse'+            Prelude.<$> (x Data..?> "ServerTrust")+            Prelude.<*> (x Data..?> "ServiceEndpoint")+            Prelude.<*> (x Data..?> "ServiceType")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetServiceEndpoint where+  hashWithSalt _salt GetServiceEndpoint' {..} =+    _salt `Prelude.hashWithSalt` serviceType++instance Prelude.NFData GetServiceEndpoint where+  rnf GetServiceEndpoint' {..} = Prelude.rnf serviceType++instance Data.ToHeaders GetServiceEndpoint where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetServiceEndpoint where+  toPath = Prelude.const "/service-endpoint"++instance Data.ToQuery GetServiceEndpoint where+  toQuery GetServiceEndpoint' {..} =+    Prelude.mconcat ["serviceType" Data.=: serviceType]++-- | /See:/ 'newGetServiceEndpointResponse' smart constructor.+data GetServiceEndpointResponse = GetServiceEndpointResponse'+  { -- | The Root CA of the server trust certificate.+    serverTrust :: Prelude.Maybe Prelude.Text,+    -- | The service endpoint value.+    serviceEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The endpoint\'s service type.+    serviceType :: Prelude.Maybe WirelessGatewayServiceType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServiceEndpointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serverTrust', 'getServiceEndpointResponse_serverTrust' - The Root CA of the server trust certificate.+--+-- 'serviceEndpoint', 'getServiceEndpointResponse_serviceEndpoint' - The service endpoint value.+--+-- 'serviceType', 'getServiceEndpointResponse_serviceType' - The endpoint\'s service type.+--+-- 'httpStatus', 'getServiceEndpointResponse_httpStatus' - The response's http status code.+newGetServiceEndpointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetServiceEndpointResponse+newGetServiceEndpointResponse pHttpStatus_ =+  GetServiceEndpointResponse'+    { serverTrust =+        Prelude.Nothing,+      serviceEndpoint = Prelude.Nothing,+      serviceType = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Root CA of the server trust certificate.+getServiceEndpointResponse_serverTrust :: Lens.Lens' GetServiceEndpointResponse (Prelude.Maybe Prelude.Text)+getServiceEndpointResponse_serverTrust = Lens.lens (\GetServiceEndpointResponse' {serverTrust} -> serverTrust) (\s@GetServiceEndpointResponse' {} a -> s {serverTrust = a} :: GetServiceEndpointResponse)++-- | The service endpoint value.+getServiceEndpointResponse_serviceEndpoint :: Lens.Lens' GetServiceEndpointResponse (Prelude.Maybe Prelude.Text)+getServiceEndpointResponse_serviceEndpoint = Lens.lens (\GetServiceEndpointResponse' {serviceEndpoint} -> serviceEndpoint) (\s@GetServiceEndpointResponse' {} a -> s {serviceEndpoint = a} :: GetServiceEndpointResponse)++-- | The endpoint\'s service type.+getServiceEndpointResponse_serviceType :: Lens.Lens' GetServiceEndpointResponse (Prelude.Maybe WirelessGatewayServiceType)+getServiceEndpointResponse_serviceType = Lens.lens (\GetServiceEndpointResponse' {serviceType} -> serviceType) (\s@GetServiceEndpointResponse' {} a -> s {serviceType = a} :: GetServiceEndpointResponse)++-- | The response's http status code.+getServiceEndpointResponse_httpStatus :: Lens.Lens' GetServiceEndpointResponse Prelude.Int+getServiceEndpointResponse_httpStatus = Lens.lens (\GetServiceEndpointResponse' {httpStatus} -> httpStatus) (\s@GetServiceEndpointResponse' {} a -> s {httpStatus = a} :: GetServiceEndpointResponse)++instance Prelude.NFData GetServiceEndpointResponse where+  rnf GetServiceEndpointResponse' {..} =+    Prelude.rnf serverTrust+      `Prelude.seq` Prelude.rnf serviceEndpoint+      `Prelude.seq` Prelude.rnf serviceType+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetServiceProfile.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.IoTWireless.GetServiceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a service profile.+module Amazonka.IoTWireless.GetServiceProfile+  ( -- * Creating a Request+    GetServiceProfile (..),+    newGetServiceProfile,++    -- * Request Lenses+    getServiceProfile_id,++    -- * Destructuring the Response+    GetServiceProfileResponse (..),+    newGetServiceProfileResponse,++    -- * Response Lenses+    getServiceProfileResponse_arn,+    getServiceProfileResponse_id,+    getServiceProfileResponse_loRaWAN,+    getServiceProfileResponse_name,+    getServiceProfileResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetServiceProfile' smart constructor.+data GetServiceProfile = GetServiceProfile'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServiceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getServiceProfile_id' - The ID of the resource to get.+newGetServiceProfile ::+  -- | 'id'+  Prelude.Text ->+  GetServiceProfile+newGetServiceProfile pId_ =+  GetServiceProfile' {id = pId_}++-- | The ID of the resource to get.+getServiceProfile_id :: Lens.Lens' GetServiceProfile Prelude.Text+getServiceProfile_id = Lens.lens (\GetServiceProfile' {id} -> id) (\s@GetServiceProfile' {} a -> s {id = a} :: GetServiceProfile)++instance Core.AWSRequest GetServiceProfile where+  type+    AWSResponse GetServiceProfile =+      GetServiceProfileResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetServiceProfileResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetServiceProfile where+  hashWithSalt _salt GetServiceProfile' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetServiceProfile where+  rnf GetServiceProfile' {..} = Prelude.rnf id++instance Data.ToHeaders GetServiceProfile where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetServiceProfile where+  toPath GetServiceProfile' {..} =+    Prelude.mconcat+      ["/service-profiles/", Data.toBS id]++instance Data.ToQuery GetServiceProfile where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetServiceProfileResponse' smart constructor.+data GetServiceProfileResponse = GetServiceProfileResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the service profile.+    id :: Prelude.Maybe Prelude.Text,+    -- | Information about the service profile.+    loRaWAN :: Prelude.Maybe LoRaWANGetServiceProfileInfo,+    -- | The name of the resource.+    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 'GetServiceProfileResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getServiceProfileResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'getServiceProfileResponse_id' - The ID of the service profile.+--+-- 'loRaWAN', 'getServiceProfileResponse_loRaWAN' - Information about the service profile.+--+-- 'name', 'getServiceProfileResponse_name' - The name of the resource.+--+-- 'httpStatus', 'getServiceProfileResponse_httpStatus' - The response's http status code.+newGetServiceProfileResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetServiceProfileResponse+newGetServiceProfileResponse pHttpStatus_ =+  GetServiceProfileResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the resource.+getServiceProfileResponse_arn :: Lens.Lens' GetServiceProfileResponse (Prelude.Maybe Prelude.Text)+getServiceProfileResponse_arn = Lens.lens (\GetServiceProfileResponse' {arn} -> arn) (\s@GetServiceProfileResponse' {} a -> s {arn = a} :: GetServiceProfileResponse)++-- | The ID of the service profile.+getServiceProfileResponse_id :: Lens.Lens' GetServiceProfileResponse (Prelude.Maybe Prelude.Text)+getServiceProfileResponse_id = Lens.lens (\GetServiceProfileResponse' {id} -> id) (\s@GetServiceProfileResponse' {} a -> s {id = a} :: GetServiceProfileResponse)++-- | Information about the service profile.+getServiceProfileResponse_loRaWAN :: Lens.Lens' GetServiceProfileResponse (Prelude.Maybe LoRaWANGetServiceProfileInfo)+getServiceProfileResponse_loRaWAN = Lens.lens (\GetServiceProfileResponse' {loRaWAN} -> loRaWAN) (\s@GetServiceProfileResponse' {} a -> s {loRaWAN = a} :: GetServiceProfileResponse)++-- | The name of the resource.+getServiceProfileResponse_name :: Lens.Lens' GetServiceProfileResponse (Prelude.Maybe Prelude.Text)+getServiceProfileResponse_name = Lens.lens (\GetServiceProfileResponse' {name} -> name) (\s@GetServiceProfileResponse' {} a -> s {name = a} :: GetServiceProfileResponse)++-- | The response's http status code.+getServiceProfileResponse_httpStatus :: Lens.Lens' GetServiceProfileResponse Prelude.Int+getServiceProfileResponse_httpStatus = Lens.lens (\GetServiceProfileResponse' {httpStatus} -> httpStatus) (\s@GetServiceProfileResponse' {} a -> s {httpStatus = a} :: GetServiceProfileResponse)++instance Prelude.NFData GetServiceProfileResponse where+  rnf GetServiceProfileResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessDevice.hs view
@@ -0,0 +1,296 @@+{-# 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.IoTWireless.GetWirelessDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a wireless device.+module Amazonka.IoTWireless.GetWirelessDevice+  ( -- * Creating a Request+    GetWirelessDevice (..),+    newGetWirelessDevice,++    -- * Request Lenses+    getWirelessDevice_identifier,+    getWirelessDevice_identifierType,++    -- * Destructuring the Response+    GetWirelessDeviceResponse (..),+    newGetWirelessDeviceResponse,++    -- * Response Lenses+    getWirelessDeviceResponse_arn,+    getWirelessDeviceResponse_description,+    getWirelessDeviceResponse_destinationName,+    getWirelessDeviceResponse_id,+    getWirelessDeviceResponse_loRaWAN,+    getWirelessDeviceResponse_name,+    getWirelessDeviceResponse_positioning,+    getWirelessDeviceResponse_sidewalk,+    getWirelessDeviceResponse_thingArn,+    getWirelessDeviceResponse_thingName,+    getWirelessDeviceResponse_type,+    getWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessDevice' smart constructor.+data GetWirelessDevice = GetWirelessDevice'+  { -- | The identifier of the wireless device to get.+    identifier :: Prelude.Text,+    -- | The type of identifier used in @identifier@.+    identifierType :: WirelessDeviceIdType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'getWirelessDevice_identifier' - The identifier of the wireless device to get.+--+-- 'identifierType', 'getWirelessDevice_identifierType' - The type of identifier used in @identifier@.+newGetWirelessDevice ::+  -- | 'identifier'+  Prelude.Text ->+  -- | 'identifierType'+  WirelessDeviceIdType ->+  GetWirelessDevice+newGetWirelessDevice pIdentifier_ pIdentifierType_ =+  GetWirelessDevice'+    { identifier = pIdentifier_,+      identifierType = pIdentifierType_+    }++-- | The identifier of the wireless device to get.+getWirelessDevice_identifier :: Lens.Lens' GetWirelessDevice Prelude.Text+getWirelessDevice_identifier = Lens.lens (\GetWirelessDevice' {identifier} -> identifier) (\s@GetWirelessDevice' {} a -> s {identifier = a} :: GetWirelessDevice)++-- | The type of identifier used in @identifier@.+getWirelessDevice_identifierType :: Lens.Lens' GetWirelessDevice WirelessDeviceIdType+getWirelessDevice_identifierType = Lens.lens (\GetWirelessDevice' {identifierType} -> identifierType) (\s@GetWirelessDevice' {} a -> s {identifierType = a} :: GetWirelessDevice)++instance Core.AWSRequest GetWirelessDevice where+  type+    AWSResponse GetWirelessDevice =+      GetWirelessDeviceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessDeviceResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "DestinationName")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Positioning")+            Prelude.<*> (x Data..?> "Sidewalk")+            Prelude.<*> (x Data..?> "ThingArn")+            Prelude.<*> (x Data..?> "ThingName")+            Prelude.<*> (x Data..?> "Type")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWirelessDevice where+  hashWithSalt _salt GetWirelessDevice' {..} =+    _salt+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` identifierType++instance Prelude.NFData GetWirelessDevice where+  rnf GetWirelessDevice' {..} =+    Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierType++instance Data.ToHeaders GetWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessDevice where+  toPath GetWirelessDevice' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS identifier]++instance Data.ToQuery GetWirelessDevice where+  toQuery GetWirelessDevice' {..} =+    Prelude.mconcat+      ["identifierType" Data.=: identifierType]++-- | /See:/ 'newGetWirelessDeviceResponse' smart constructor.+data GetWirelessDeviceResponse = GetWirelessDeviceResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the destination to which the device is assigned.+    destinationName :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless device.+    id :: Prelude.Maybe Prelude.Text,+    -- | Information about the wireless device.+    loRaWAN :: Prelude.Maybe LoRaWANDevice,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | FPort values for the GNSS, stream, and ClockSync functions of the+    -- positioning information.+    positioning :: Prelude.Maybe PositioningConfigStatus,+    -- | Sidewalk device object.+    sidewalk :: Prelude.Maybe SidewalkDevice,+    -- | The ARN of the thing associated with the wireless device.+    thingArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the thing associated with the wireless device. The value is+    -- empty if a thing isn\'t associated with the device.+    thingName :: Prelude.Maybe Prelude.Text,+    -- | The wireless device type.+    type' :: Prelude.Maybe WirelessDeviceType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getWirelessDeviceResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'description', 'getWirelessDeviceResponse_description' - The description of the resource.+--+-- 'destinationName', 'getWirelessDeviceResponse_destinationName' - The name of the destination to which the device is assigned.+--+-- 'id', 'getWirelessDeviceResponse_id' - The ID of the wireless device.+--+-- 'loRaWAN', 'getWirelessDeviceResponse_loRaWAN' - Information about the wireless device.+--+-- 'name', 'getWirelessDeviceResponse_name' - The name of the resource.+--+-- 'positioning', 'getWirelessDeviceResponse_positioning' - FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+--+-- 'sidewalk', 'getWirelessDeviceResponse_sidewalk' - Sidewalk device object.+--+-- 'thingArn', 'getWirelessDeviceResponse_thingArn' - The ARN of the thing associated with the wireless device.+--+-- 'thingName', 'getWirelessDeviceResponse_thingName' - The name of the thing associated with the wireless device. The value is+-- empty if a thing isn\'t associated with the device.+--+-- 'type'', 'getWirelessDeviceResponse_type' - The wireless device type.+--+-- 'httpStatus', 'getWirelessDeviceResponse_httpStatus' - The response's http status code.+newGetWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessDeviceResponse+newGetWirelessDeviceResponse pHttpStatus_ =+  GetWirelessDeviceResponse'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      destinationName = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      positioning = Prelude.Nothing,+      sidewalk = Prelude.Nothing,+      thingArn = Prelude.Nothing,+      thingName = Prelude.Nothing,+      type' = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the resource.+getWirelessDeviceResponse_arn :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_arn = Lens.lens (\GetWirelessDeviceResponse' {arn} -> arn) (\s@GetWirelessDeviceResponse' {} a -> s {arn = a} :: GetWirelessDeviceResponse)++-- | The description of the resource.+getWirelessDeviceResponse_description :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_description = Lens.lens (\GetWirelessDeviceResponse' {description} -> description) (\s@GetWirelessDeviceResponse' {} a -> s {description = a} :: GetWirelessDeviceResponse)++-- | The name of the destination to which the device is assigned.+getWirelessDeviceResponse_destinationName :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_destinationName = Lens.lens (\GetWirelessDeviceResponse' {destinationName} -> destinationName) (\s@GetWirelessDeviceResponse' {} a -> s {destinationName = a} :: GetWirelessDeviceResponse)++-- | The ID of the wireless device.+getWirelessDeviceResponse_id :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_id = Lens.lens (\GetWirelessDeviceResponse' {id} -> id) (\s@GetWirelessDeviceResponse' {} a -> s {id = a} :: GetWirelessDeviceResponse)++-- | Information about the wireless device.+getWirelessDeviceResponse_loRaWAN :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe LoRaWANDevice)+getWirelessDeviceResponse_loRaWAN = Lens.lens (\GetWirelessDeviceResponse' {loRaWAN} -> loRaWAN) (\s@GetWirelessDeviceResponse' {} a -> s {loRaWAN = a} :: GetWirelessDeviceResponse)++-- | The name of the resource.+getWirelessDeviceResponse_name :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_name = Lens.lens (\GetWirelessDeviceResponse' {name} -> name) (\s@GetWirelessDeviceResponse' {} a -> s {name = a} :: GetWirelessDeviceResponse)++-- | FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+getWirelessDeviceResponse_positioning :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe PositioningConfigStatus)+getWirelessDeviceResponse_positioning = Lens.lens (\GetWirelessDeviceResponse' {positioning} -> positioning) (\s@GetWirelessDeviceResponse' {} a -> s {positioning = a} :: GetWirelessDeviceResponse)++-- | Sidewalk device object.+getWirelessDeviceResponse_sidewalk :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe SidewalkDevice)+getWirelessDeviceResponse_sidewalk = Lens.lens (\GetWirelessDeviceResponse' {sidewalk} -> sidewalk) (\s@GetWirelessDeviceResponse' {} a -> s {sidewalk = a} :: GetWirelessDeviceResponse)++-- | The ARN of the thing associated with the wireless device.+getWirelessDeviceResponse_thingArn :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_thingArn = Lens.lens (\GetWirelessDeviceResponse' {thingArn} -> thingArn) (\s@GetWirelessDeviceResponse' {} a -> s {thingArn = a} :: GetWirelessDeviceResponse)++-- | The name of the thing associated with the wireless device. The value is+-- empty if a thing isn\'t associated with the device.+getWirelessDeviceResponse_thingName :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceResponse_thingName = Lens.lens (\GetWirelessDeviceResponse' {thingName} -> thingName) (\s@GetWirelessDeviceResponse' {} a -> s {thingName = a} :: GetWirelessDeviceResponse)++-- | The wireless device type.+getWirelessDeviceResponse_type :: Lens.Lens' GetWirelessDeviceResponse (Prelude.Maybe WirelessDeviceType)+getWirelessDeviceResponse_type = Lens.lens (\GetWirelessDeviceResponse' {type'} -> type') (\s@GetWirelessDeviceResponse' {} a -> s {type' = a} :: GetWirelessDeviceResponse)++-- | The response's http status code.+getWirelessDeviceResponse_httpStatus :: Lens.Lens' GetWirelessDeviceResponse Prelude.Int+getWirelessDeviceResponse_httpStatus = Lens.lens (\GetWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@GetWirelessDeviceResponse' {} a -> s {httpStatus = a} :: GetWirelessDeviceResponse)++instance Prelude.NFData GetWirelessDeviceResponse where+  rnf GetWirelessDeviceResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationName+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf positioning+      `Prelude.seq` Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf thingArn+      `Prelude.seq` Prelude.rnf thingName+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessDeviceStatistics.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.IoTWireless.GetWirelessDeviceStatistics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets operating information about a wireless device.+module Amazonka.IoTWireless.GetWirelessDeviceStatistics+  ( -- * Creating a Request+    GetWirelessDeviceStatistics (..),+    newGetWirelessDeviceStatistics,++    -- * Request Lenses+    getWirelessDeviceStatistics_wirelessDeviceId,++    -- * Destructuring the Response+    GetWirelessDeviceStatisticsResponse (..),+    newGetWirelessDeviceStatisticsResponse,++    -- * Response Lenses+    getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt,+    getWirelessDeviceStatisticsResponse_loRaWAN,+    getWirelessDeviceStatisticsResponse_sidewalk,+    getWirelessDeviceStatisticsResponse_wirelessDeviceId,+    getWirelessDeviceStatisticsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessDeviceStatistics' smart constructor.+data GetWirelessDeviceStatistics = GetWirelessDeviceStatistics'+  { -- | The ID of the wireless device for which to get the data.+    wirelessDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessDeviceStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessDeviceId', 'getWirelessDeviceStatistics_wirelessDeviceId' - The ID of the wireless device for which to get the data.+newGetWirelessDeviceStatistics ::+  -- | 'wirelessDeviceId'+  Prelude.Text ->+  GetWirelessDeviceStatistics+newGetWirelessDeviceStatistics pWirelessDeviceId_ =+  GetWirelessDeviceStatistics'+    { wirelessDeviceId =+        pWirelessDeviceId_+    }++-- | The ID of the wireless device for which to get the data.+getWirelessDeviceStatistics_wirelessDeviceId :: Lens.Lens' GetWirelessDeviceStatistics Prelude.Text+getWirelessDeviceStatistics_wirelessDeviceId = Lens.lens (\GetWirelessDeviceStatistics' {wirelessDeviceId} -> wirelessDeviceId) (\s@GetWirelessDeviceStatistics' {} a -> s {wirelessDeviceId = a} :: GetWirelessDeviceStatistics)++instance Core.AWSRequest GetWirelessDeviceStatistics where+  type+    AWSResponse GetWirelessDeviceStatistics =+      GetWirelessDeviceStatisticsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessDeviceStatisticsResponse'+            Prelude.<$> (x Data..?> "LastUplinkReceivedAt")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Sidewalk")+            Prelude.<*> (x Data..?> "WirelessDeviceId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWirelessDeviceStatistics where+  hashWithSalt _salt GetWirelessDeviceStatistics' {..} =+    _salt `Prelude.hashWithSalt` wirelessDeviceId++instance Prelude.NFData GetWirelessDeviceStatistics where+  rnf GetWirelessDeviceStatistics' {..} =+    Prelude.rnf wirelessDeviceId++instance Data.ToHeaders GetWirelessDeviceStatistics where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessDeviceStatistics where+  toPath GetWirelessDeviceStatistics' {..} =+    Prelude.mconcat+      [ "/wireless-devices/",+        Data.toBS wirelessDeviceId,+        "/statistics"+      ]++instance Data.ToQuery GetWirelessDeviceStatistics where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessDeviceStatisticsResponse' smart constructor.+data GetWirelessDeviceStatisticsResponse = GetWirelessDeviceStatisticsResponse'+  { -- | The date and time when the most recent uplink was received.+    lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,+    -- | Information about the wireless device\'s operations.+    loRaWAN :: Prelude.Maybe LoRaWANDeviceMetadata,+    -- | MetaData for Sidewalk device.+    sidewalk :: Prelude.Maybe SidewalkDeviceMetadata,+    -- | The ID of the wireless device.+    wirelessDeviceId :: 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 'GetWirelessDeviceStatisticsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lastUplinkReceivedAt', 'getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.+--+-- 'loRaWAN', 'getWirelessDeviceStatisticsResponse_loRaWAN' - Information about the wireless device\'s operations.+--+-- 'sidewalk', 'getWirelessDeviceStatisticsResponse_sidewalk' - MetaData for Sidewalk device.+--+-- 'wirelessDeviceId', 'getWirelessDeviceStatisticsResponse_wirelessDeviceId' - The ID of the wireless device.+--+-- 'httpStatus', 'getWirelessDeviceStatisticsResponse_httpStatus' - The response's http status code.+newGetWirelessDeviceStatisticsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessDeviceStatisticsResponse+newGetWirelessDeviceStatisticsResponse pHttpStatus_ =+  GetWirelessDeviceStatisticsResponse'+    { lastUplinkReceivedAt =+        Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      sidewalk = Prelude.Nothing,+      wirelessDeviceId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The date and time when the most recent uplink was received.+getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt = Lens.lens (\GetWirelessDeviceStatisticsResponse' {lastUplinkReceivedAt} -> lastUplinkReceivedAt) (\s@GetWirelessDeviceStatisticsResponse' {} a -> s {lastUplinkReceivedAt = a} :: GetWirelessDeviceStatisticsResponse)++-- | Information about the wireless device\'s operations.+getWirelessDeviceStatisticsResponse_loRaWAN :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe LoRaWANDeviceMetadata)+getWirelessDeviceStatisticsResponse_loRaWAN = Lens.lens (\GetWirelessDeviceStatisticsResponse' {loRaWAN} -> loRaWAN) (\s@GetWirelessDeviceStatisticsResponse' {} a -> s {loRaWAN = a} :: GetWirelessDeviceStatisticsResponse)++-- | MetaData for Sidewalk device.+getWirelessDeviceStatisticsResponse_sidewalk :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe SidewalkDeviceMetadata)+getWirelessDeviceStatisticsResponse_sidewalk = Lens.lens (\GetWirelessDeviceStatisticsResponse' {sidewalk} -> sidewalk) (\s@GetWirelessDeviceStatisticsResponse' {} a -> s {sidewalk = a} :: GetWirelessDeviceStatisticsResponse)++-- | The ID of the wireless device.+getWirelessDeviceStatisticsResponse_wirelessDeviceId :: Lens.Lens' GetWirelessDeviceStatisticsResponse (Prelude.Maybe Prelude.Text)+getWirelessDeviceStatisticsResponse_wirelessDeviceId = Lens.lens (\GetWirelessDeviceStatisticsResponse' {wirelessDeviceId} -> wirelessDeviceId) (\s@GetWirelessDeviceStatisticsResponse' {} a -> s {wirelessDeviceId = a} :: GetWirelessDeviceStatisticsResponse)++-- | The response's http status code.+getWirelessDeviceStatisticsResponse_httpStatus :: Lens.Lens' GetWirelessDeviceStatisticsResponse Prelude.Int+getWirelessDeviceStatisticsResponse_httpStatus = Lens.lens (\GetWirelessDeviceStatisticsResponse' {httpStatus} -> httpStatus) (\s@GetWirelessDeviceStatisticsResponse' {} a -> s {httpStatus = a} :: GetWirelessDeviceStatisticsResponse)++instance+  Prelude.NFData+    GetWirelessDeviceStatisticsResponse+  where+  rnf GetWirelessDeviceStatisticsResponse' {..} =+    Prelude.rnf lastUplinkReceivedAt+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf wirelessDeviceId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGateway.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.IoTWireless.GetWirelessGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a wireless gateway.+module Amazonka.IoTWireless.GetWirelessGateway+  ( -- * Creating a Request+    GetWirelessGateway (..),+    newGetWirelessGateway,++    -- * Request Lenses+    getWirelessGateway_identifier,+    getWirelessGateway_identifierType,++    -- * Destructuring the Response+    GetWirelessGatewayResponse (..),+    newGetWirelessGatewayResponse,++    -- * Response Lenses+    getWirelessGatewayResponse_arn,+    getWirelessGatewayResponse_description,+    getWirelessGatewayResponse_id,+    getWirelessGatewayResponse_loRaWAN,+    getWirelessGatewayResponse_name,+    getWirelessGatewayResponse_thingArn,+    getWirelessGatewayResponse_thingName,+    getWirelessGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGateway' smart constructor.+data GetWirelessGateway = GetWirelessGateway'+  { -- | The identifier of the wireless gateway to get.+    identifier :: Prelude.Text,+    -- | The type of identifier used in @identifier@.+    identifierType :: WirelessGatewayIdType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'getWirelessGateway_identifier' - The identifier of the wireless gateway to get.+--+-- 'identifierType', 'getWirelessGateway_identifierType' - The type of identifier used in @identifier@.+newGetWirelessGateway ::+  -- | 'identifier'+  Prelude.Text ->+  -- | 'identifierType'+  WirelessGatewayIdType ->+  GetWirelessGateway+newGetWirelessGateway pIdentifier_ pIdentifierType_ =+  GetWirelessGateway'+    { identifier = pIdentifier_,+      identifierType = pIdentifierType_+    }++-- | The identifier of the wireless gateway to get.+getWirelessGateway_identifier :: Lens.Lens' GetWirelessGateway Prelude.Text+getWirelessGateway_identifier = Lens.lens (\GetWirelessGateway' {identifier} -> identifier) (\s@GetWirelessGateway' {} a -> s {identifier = a} :: GetWirelessGateway)++-- | The type of identifier used in @identifier@.+getWirelessGateway_identifierType :: Lens.Lens' GetWirelessGateway WirelessGatewayIdType+getWirelessGateway_identifierType = Lens.lens (\GetWirelessGateway' {identifierType} -> identifierType) (\s@GetWirelessGateway' {} a -> s {identifierType = a} :: GetWirelessGateway)++instance Core.AWSRequest GetWirelessGateway where+  type+    AWSResponse GetWirelessGateway =+      GetWirelessGatewayResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Id")+            Prelude.<*> (x Data..?> "LoRaWAN")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "ThingArn")+            Prelude.<*> (x Data..?> "ThingName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWirelessGateway where+  hashWithSalt _salt GetWirelessGateway' {..} =+    _salt+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` identifierType++instance Prelude.NFData GetWirelessGateway where+  rnf GetWirelessGateway' {..} =+    Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierType++instance Data.ToHeaders GetWirelessGateway where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessGateway where+  toPath GetWirelessGateway' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS identifier]++instance Data.ToQuery GetWirelessGateway where+  toQuery GetWirelessGateway' {..} =+    Prelude.mconcat+      ["identifierType" Data.=: identifierType]++-- | /See:/ 'newGetWirelessGatewayResponse' smart constructor.+data GetWirelessGatewayResponse = GetWirelessGatewayResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless gateway.+    id :: Prelude.Maybe Prelude.Text,+    -- | Information about the wireless gateway.+    loRaWAN :: Prelude.Maybe LoRaWANGateway,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the thing associated with the wireless gateway.+    thingArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the thing associated with the wireless gateway. The value is+    -- empty if a thing isn\'t associated with the gateway.+    thingName :: 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 'GetWirelessGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getWirelessGatewayResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'description', 'getWirelessGatewayResponse_description' - The description of the resource.+--+-- 'id', 'getWirelessGatewayResponse_id' - The ID of the wireless gateway.+--+-- 'loRaWAN', 'getWirelessGatewayResponse_loRaWAN' - Information about the wireless gateway.+--+-- 'name', 'getWirelessGatewayResponse_name' - The name of the resource.+--+-- 'thingArn', 'getWirelessGatewayResponse_thingArn' - The ARN of the thing associated with the wireless gateway.+--+-- 'thingName', 'getWirelessGatewayResponse_thingName' - The name of the thing associated with the wireless gateway. The value is+-- empty if a thing isn\'t associated with the gateway.+--+-- 'httpStatus', 'getWirelessGatewayResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayResponse+newGetWirelessGatewayResponse pHttpStatus_ =+  GetWirelessGatewayResponse'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      thingArn = Prelude.Nothing,+      thingName = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name of the resource.+getWirelessGatewayResponse_arn :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_arn = Lens.lens (\GetWirelessGatewayResponse' {arn} -> arn) (\s@GetWirelessGatewayResponse' {} a -> s {arn = a} :: GetWirelessGatewayResponse)++-- | The description of the resource.+getWirelessGatewayResponse_description :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_description = Lens.lens (\GetWirelessGatewayResponse' {description} -> description) (\s@GetWirelessGatewayResponse' {} a -> s {description = a} :: GetWirelessGatewayResponse)++-- | The ID of the wireless gateway.+getWirelessGatewayResponse_id :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_id = Lens.lens (\GetWirelessGatewayResponse' {id} -> id) (\s@GetWirelessGatewayResponse' {} a -> s {id = a} :: GetWirelessGatewayResponse)++-- | Information about the wireless gateway.+getWirelessGatewayResponse_loRaWAN :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe LoRaWANGateway)+getWirelessGatewayResponse_loRaWAN = Lens.lens (\GetWirelessGatewayResponse' {loRaWAN} -> loRaWAN) (\s@GetWirelessGatewayResponse' {} a -> s {loRaWAN = a} :: GetWirelessGatewayResponse)++-- | The name of the resource.+getWirelessGatewayResponse_name :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_name = Lens.lens (\GetWirelessGatewayResponse' {name} -> name) (\s@GetWirelessGatewayResponse' {} a -> s {name = a} :: GetWirelessGatewayResponse)++-- | The ARN of the thing associated with the wireless gateway.+getWirelessGatewayResponse_thingArn :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_thingArn = Lens.lens (\GetWirelessGatewayResponse' {thingArn} -> thingArn) (\s@GetWirelessGatewayResponse' {} a -> s {thingArn = a} :: GetWirelessGatewayResponse)++-- | The name of the thing associated with the wireless gateway. The value is+-- empty if a thing isn\'t associated with the gateway.+getWirelessGatewayResponse_thingName :: Lens.Lens' GetWirelessGatewayResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayResponse_thingName = Lens.lens (\GetWirelessGatewayResponse' {thingName} -> thingName) (\s@GetWirelessGatewayResponse' {} a -> s {thingName = a} :: GetWirelessGatewayResponse)++-- | The response's http status code.+getWirelessGatewayResponse_httpStatus :: Lens.Lens' GetWirelessGatewayResponse Prelude.Int+getWirelessGatewayResponse_httpStatus = Lens.lens (\GetWirelessGatewayResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayResponse)++instance Prelude.NFData GetWirelessGatewayResponse where+  rnf GetWirelessGatewayResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf thingArn+      `Prelude.seq` Prelude.rnf thingName+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGatewayCertificate.hs view
@@ -0,0 +1,178 @@+{-# 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.IoTWireless.GetWirelessGatewayCertificate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the ID of the certificate that is currently associated with a+-- wireless gateway.+module Amazonka.IoTWireless.GetWirelessGatewayCertificate+  ( -- * Creating a Request+    GetWirelessGatewayCertificate (..),+    newGetWirelessGatewayCertificate,++    -- * Request Lenses+    getWirelessGatewayCertificate_id,++    -- * Destructuring the Response+    GetWirelessGatewayCertificateResponse (..),+    newGetWirelessGatewayCertificateResponse,++    -- * Response Lenses+    getWirelessGatewayCertificateResponse_iotCertificateId,+    getWirelessGatewayCertificateResponse_loRaWANNetworkServerCertificateId,+    getWirelessGatewayCertificateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGatewayCertificate' smart constructor.+data GetWirelessGatewayCertificate = GetWirelessGatewayCertificate'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayCertificate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getWirelessGatewayCertificate_id' - The ID of the resource to get.+newGetWirelessGatewayCertificate ::+  -- | 'id'+  Prelude.Text ->+  GetWirelessGatewayCertificate+newGetWirelessGatewayCertificate pId_ =+  GetWirelessGatewayCertificate' {id = pId_}++-- | The ID of the resource to get.+getWirelessGatewayCertificate_id :: Lens.Lens' GetWirelessGatewayCertificate Prelude.Text+getWirelessGatewayCertificate_id = Lens.lens (\GetWirelessGatewayCertificate' {id} -> id) (\s@GetWirelessGatewayCertificate' {} a -> s {id = a} :: GetWirelessGatewayCertificate)++instance+  Core.AWSRequest+    GetWirelessGatewayCertificate+  where+  type+    AWSResponse GetWirelessGatewayCertificate =+      GetWirelessGatewayCertificateResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayCertificateResponse'+            Prelude.<$> (x Data..?> "IotCertificateId")+            Prelude.<*> (x Data..?> "LoRaWANNetworkServerCertificateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetWirelessGatewayCertificate+  where+  hashWithSalt _salt GetWirelessGatewayCertificate' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetWirelessGatewayCertificate where+  rnf GetWirelessGatewayCertificate' {..} =+    Prelude.rnf id++instance Data.ToHeaders GetWirelessGatewayCertificate where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessGatewayCertificate where+  toPath GetWirelessGatewayCertificate' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/certificate"]++instance Data.ToQuery GetWirelessGatewayCertificate where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessGatewayCertificateResponse' smart constructor.+data GetWirelessGatewayCertificateResponse = GetWirelessGatewayCertificateResponse'+  { -- | The ID of the certificate associated with the wireless gateway.+    iotCertificateId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the certificate that is associated with the wireless gateway+    -- and used for the LoRaWANNetworkServer endpoint.+    loRaWANNetworkServerCertificateId :: 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 'GetWirelessGatewayCertificateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'iotCertificateId', 'getWirelessGatewayCertificateResponse_iotCertificateId' - The ID of the certificate associated with the wireless gateway.+--+-- 'loRaWANNetworkServerCertificateId', 'getWirelessGatewayCertificateResponse_loRaWANNetworkServerCertificateId' - The ID of the certificate that is associated with the wireless gateway+-- and used for the LoRaWANNetworkServer endpoint.+--+-- 'httpStatus', 'getWirelessGatewayCertificateResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayCertificateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayCertificateResponse+newGetWirelessGatewayCertificateResponse pHttpStatus_ =+  GetWirelessGatewayCertificateResponse'+    { iotCertificateId =+        Prelude.Nothing,+      loRaWANNetworkServerCertificateId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the certificate associated with the wireless gateway.+getWirelessGatewayCertificateResponse_iotCertificateId :: Lens.Lens' GetWirelessGatewayCertificateResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayCertificateResponse_iotCertificateId = Lens.lens (\GetWirelessGatewayCertificateResponse' {iotCertificateId} -> iotCertificateId) (\s@GetWirelessGatewayCertificateResponse' {} a -> s {iotCertificateId = a} :: GetWirelessGatewayCertificateResponse)++-- | The ID of the certificate that is associated with the wireless gateway+-- and used for the LoRaWANNetworkServer endpoint.+getWirelessGatewayCertificateResponse_loRaWANNetworkServerCertificateId :: Lens.Lens' GetWirelessGatewayCertificateResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayCertificateResponse_loRaWANNetworkServerCertificateId = Lens.lens (\GetWirelessGatewayCertificateResponse' {loRaWANNetworkServerCertificateId} -> loRaWANNetworkServerCertificateId) (\s@GetWirelessGatewayCertificateResponse' {} a -> s {loRaWANNetworkServerCertificateId = a} :: GetWirelessGatewayCertificateResponse)++-- | The response's http status code.+getWirelessGatewayCertificateResponse_httpStatus :: Lens.Lens' GetWirelessGatewayCertificateResponse Prelude.Int+getWirelessGatewayCertificateResponse_httpStatus = Lens.lens (\GetWirelessGatewayCertificateResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayCertificateResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayCertificateResponse)++instance+  Prelude.NFData+    GetWirelessGatewayCertificateResponse+  where+  rnf GetWirelessGatewayCertificateResponse' {..} =+    Prelude.rnf iotCertificateId+      `Prelude.seq` Prelude.rnf loRaWANNetworkServerCertificateId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGatewayFirmwareInformation.hs view
@@ -0,0 +1,182 @@+{-# 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.IoTWireless.GetWirelessGatewayFirmwareInformation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the firmware version and other information about a wireless+-- gateway.+module Amazonka.IoTWireless.GetWirelessGatewayFirmwareInformation+  ( -- * Creating a Request+    GetWirelessGatewayFirmwareInformation (..),+    newGetWirelessGatewayFirmwareInformation,++    -- * Request Lenses+    getWirelessGatewayFirmwareInformation_id,++    -- * Destructuring the Response+    GetWirelessGatewayFirmwareInformationResponse (..),+    newGetWirelessGatewayFirmwareInformationResponse,++    -- * Response Lenses+    getWirelessGatewayFirmwareInformationResponse_loRaWAN,+    getWirelessGatewayFirmwareInformationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGatewayFirmwareInformation' smart constructor.+data GetWirelessGatewayFirmwareInformation = GetWirelessGatewayFirmwareInformation'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayFirmwareInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getWirelessGatewayFirmwareInformation_id' - The ID of the resource to get.+newGetWirelessGatewayFirmwareInformation ::+  -- | 'id'+  Prelude.Text ->+  GetWirelessGatewayFirmwareInformation+newGetWirelessGatewayFirmwareInformation pId_ =+  GetWirelessGatewayFirmwareInformation' {id = pId_}++-- | The ID of the resource to get.+getWirelessGatewayFirmwareInformation_id :: Lens.Lens' GetWirelessGatewayFirmwareInformation Prelude.Text+getWirelessGatewayFirmwareInformation_id = Lens.lens (\GetWirelessGatewayFirmwareInformation' {id} -> id) (\s@GetWirelessGatewayFirmwareInformation' {} a -> s {id = a} :: GetWirelessGatewayFirmwareInformation)++instance+  Core.AWSRequest+    GetWirelessGatewayFirmwareInformation+  where+  type+    AWSResponse+      GetWirelessGatewayFirmwareInformation =+      GetWirelessGatewayFirmwareInformationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayFirmwareInformationResponse'+            Prelude.<$> (x Data..?> "LoRaWAN")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetWirelessGatewayFirmwareInformation+  where+  hashWithSalt+    _salt+    GetWirelessGatewayFirmwareInformation' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    GetWirelessGatewayFirmwareInformation+  where+  rnf GetWirelessGatewayFirmwareInformation' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    GetWirelessGatewayFirmwareInformation+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetWirelessGatewayFirmwareInformation+  where+  toPath GetWirelessGatewayFirmwareInformation' {..} =+    Prelude.mconcat+      [ "/wireless-gateways/",+        Data.toBS id,+        "/firmware-information"+      ]++instance+  Data.ToQuery+    GetWirelessGatewayFirmwareInformation+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessGatewayFirmwareInformationResponse' smart constructor.+data GetWirelessGatewayFirmwareInformationResponse = GetWirelessGatewayFirmwareInformationResponse'+  { -- | Information about the wireless gateway\'s firmware.+    loRaWAN :: Prelude.Maybe LoRaWANGatewayCurrentVersion,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayFirmwareInformationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'getWirelessGatewayFirmwareInformationResponse_loRaWAN' - Information about the wireless gateway\'s firmware.+--+-- 'httpStatus', 'getWirelessGatewayFirmwareInformationResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayFirmwareInformationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayFirmwareInformationResponse+newGetWirelessGatewayFirmwareInformationResponse+  pHttpStatus_ =+    GetWirelessGatewayFirmwareInformationResponse'+      { loRaWAN =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Information about the wireless gateway\'s firmware.+getWirelessGatewayFirmwareInformationResponse_loRaWAN :: Lens.Lens' GetWirelessGatewayFirmwareInformationResponse (Prelude.Maybe LoRaWANGatewayCurrentVersion)+getWirelessGatewayFirmwareInformationResponse_loRaWAN = Lens.lens (\GetWirelessGatewayFirmwareInformationResponse' {loRaWAN} -> loRaWAN) (\s@GetWirelessGatewayFirmwareInformationResponse' {} a -> s {loRaWAN = a} :: GetWirelessGatewayFirmwareInformationResponse)++-- | The response's http status code.+getWirelessGatewayFirmwareInformationResponse_httpStatus :: Lens.Lens' GetWirelessGatewayFirmwareInformationResponse Prelude.Int+getWirelessGatewayFirmwareInformationResponse_httpStatus = Lens.lens (\GetWirelessGatewayFirmwareInformationResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayFirmwareInformationResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayFirmwareInformationResponse)++instance+  Prelude.NFData+    GetWirelessGatewayFirmwareInformationResponse+  where+  rnf+    GetWirelessGatewayFirmwareInformationResponse' {..} =+      Prelude.rnf loRaWAN+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGatewayStatistics.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.IoTWireless.GetWirelessGatewayStatistics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets operating information about a wireless gateway.+module Amazonka.IoTWireless.GetWirelessGatewayStatistics+  ( -- * Creating a Request+    GetWirelessGatewayStatistics (..),+    newGetWirelessGatewayStatistics,++    -- * Request Lenses+    getWirelessGatewayStatistics_wirelessGatewayId,++    -- * Destructuring the Response+    GetWirelessGatewayStatisticsResponse (..),+    newGetWirelessGatewayStatisticsResponse,++    -- * Response Lenses+    getWirelessGatewayStatisticsResponse_connectionStatus,+    getWirelessGatewayStatisticsResponse_lastUplinkReceivedAt,+    getWirelessGatewayStatisticsResponse_wirelessGatewayId,+    getWirelessGatewayStatisticsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGatewayStatistics' smart constructor.+data GetWirelessGatewayStatistics = GetWirelessGatewayStatistics'+  { -- | The ID of the wireless gateway for which to get the data.+    wirelessGatewayId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessGatewayId', 'getWirelessGatewayStatistics_wirelessGatewayId' - The ID of the wireless gateway for which to get the data.+newGetWirelessGatewayStatistics ::+  -- | 'wirelessGatewayId'+  Prelude.Text ->+  GetWirelessGatewayStatistics+newGetWirelessGatewayStatistics pWirelessGatewayId_ =+  GetWirelessGatewayStatistics'+    { wirelessGatewayId =+        pWirelessGatewayId_+    }++-- | The ID of the wireless gateway for which to get the data.+getWirelessGatewayStatistics_wirelessGatewayId :: Lens.Lens' GetWirelessGatewayStatistics Prelude.Text+getWirelessGatewayStatistics_wirelessGatewayId = Lens.lens (\GetWirelessGatewayStatistics' {wirelessGatewayId} -> wirelessGatewayId) (\s@GetWirelessGatewayStatistics' {} a -> s {wirelessGatewayId = a} :: GetWirelessGatewayStatistics)++instance Core.AWSRequest GetWirelessGatewayStatistics where+  type+    AWSResponse GetWirelessGatewayStatistics =+      GetWirelessGatewayStatisticsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayStatisticsResponse'+            Prelude.<$> (x Data..?> "ConnectionStatus")+            Prelude.<*> (x Data..?> "LastUplinkReceivedAt")+            Prelude.<*> (x Data..?> "WirelessGatewayId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetWirelessGatewayStatistics+  where+  hashWithSalt _salt GetWirelessGatewayStatistics' {..} =+    _salt `Prelude.hashWithSalt` wirelessGatewayId++instance Prelude.NFData GetWirelessGatewayStatistics where+  rnf GetWirelessGatewayStatistics' {..} =+    Prelude.rnf wirelessGatewayId++instance Data.ToHeaders GetWirelessGatewayStatistics where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessGatewayStatistics where+  toPath GetWirelessGatewayStatistics' {..} =+    Prelude.mconcat+      [ "/wireless-gateways/",+        Data.toBS wirelessGatewayId,+        "/statistics"+      ]++instance Data.ToQuery GetWirelessGatewayStatistics where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessGatewayStatisticsResponse' smart constructor.+data GetWirelessGatewayStatisticsResponse = GetWirelessGatewayStatisticsResponse'+  { -- | The connection status of the wireless gateway.+    connectionStatus :: Prelude.Maybe ConnectionStatus,+    -- | The date and time when the most recent uplink was received.+    lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless gateway.+    wirelessGatewayId :: 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 'GetWirelessGatewayStatisticsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'getWirelessGatewayStatisticsResponse_connectionStatus' - The connection status of the wireless gateway.+--+-- 'lastUplinkReceivedAt', 'getWirelessGatewayStatisticsResponse_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.+--+-- 'wirelessGatewayId', 'getWirelessGatewayStatisticsResponse_wirelessGatewayId' - The ID of the wireless gateway.+--+-- 'httpStatus', 'getWirelessGatewayStatisticsResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayStatisticsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayStatisticsResponse+newGetWirelessGatewayStatisticsResponse pHttpStatus_ =+  GetWirelessGatewayStatisticsResponse'+    { connectionStatus =+        Prelude.Nothing,+      lastUplinkReceivedAt =+        Prelude.Nothing,+      wirelessGatewayId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The connection status of the wireless gateway.+getWirelessGatewayStatisticsResponse_connectionStatus :: Lens.Lens' GetWirelessGatewayStatisticsResponse (Prelude.Maybe ConnectionStatus)+getWirelessGatewayStatisticsResponse_connectionStatus = Lens.lens (\GetWirelessGatewayStatisticsResponse' {connectionStatus} -> connectionStatus) (\s@GetWirelessGatewayStatisticsResponse' {} a -> s {connectionStatus = a} :: GetWirelessGatewayStatisticsResponse)++-- | The date and time when the most recent uplink was received.+getWirelessGatewayStatisticsResponse_lastUplinkReceivedAt :: Lens.Lens' GetWirelessGatewayStatisticsResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayStatisticsResponse_lastUplinkReceivedAt = Lens.lens (\GetWirelessGatewayStatisticsResponse' {lastUplinkReceivedAt} -> lastUplinkReceivedAt) (\s@GetWirelessGatewayStatisticsResponse' {} a -> s {lastUplinkReceivedAt = a} :: GetWirelessGatewayStatisticsResponse)++-- | The ID of the wireless gateway.+getWirelessGatewayStatisticsResponse_wirelessGatewayId :: Lens.Lens' GetWirelessGatewayStatisticsResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayStatisticsResponse_wirelessGatewayId = Lens.lens (\GetWirelessGatewayStatisticsResponse' {wirelessGatewayId} -> wirelessGatewayId) (\s@GetWirelessGatewayStatisticsResponse' {} a -> s {wirelessGatewayId = a} :: GetWirelessGatewayStatisticsResponse)++-- | The response's http status code.+getWirelessGatewayStatisticsResponse_httpStatus :: Lens.Lens' GetWirelessGatewayStatisticsResponse Prelude.Int+getWirelessGatewayStatisticsResponse_httpStatus = Lens.lens (\GetWirelessGatewayStatisticsResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayStatisticsResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayStatisticsResponse)++instance+  Prelude.NFData+    GetWirelessGatewayStatisticsResponse+  where+  rnf GetWirelessGatewayStatisticsResponse' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf lastUplinkReceivedAt+      `Prelude.seq` Prelude.rnf wirelessGatewayId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGatewayTask.hs view
@@ -0,0 +1,203 @@+{-# 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.IoTWireless.GetWirelessGatewayTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a wireless gateway task.+module Amazonka.IoTWireless.GetWirelessGatewayTask+  ( -- * Creating a Request+    GetWirelessGatewayTask (..),+    newGetWirelessGatewayTask,++    -- * Request Lenses+    getWirelessGatewayTask_id,++    -- * Destructuring the Response+    GetWirelessGatewayTaskResponse (..),+    newGetWirelessGatewayTaskResponse,++    -- * Response Lenses+    getWirelessGatewayTaskResponse_lastUplinkReceivedAt,+    getWirelessGatewayTaskResponse_status,+    getWirelessGatewayTaskResponse_taskCreatedAt,+    getWirelessGatewayTaskResponse_wirelessGatewayId,+    getWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId,+    getWirelessGatewayTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGatewayTask' smart constructor.+data GetWirelessGatewayTask = GetWirelessGatewayTask'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getWirelessGatewayTask_id' - The ID of the resource to get.+newGetWirelessGatewayTask ::+  -- | 'id'+  Prelude.Text ->+  GetWirelessGatewayTask+newGetWirelessGatewayTask pId_ =+  GetWirelessGatewayTask' {id = pId_}++-- | The ID of the resource to get.+getWirelessGatewayTask_id :: Lens.Lens' GetWirelessGatewayTask Prelude.Text+getWirelessGatewayTask_id = Lens.lens (\GetWirelessGatewayTask' {id} -> id) (\s@GetWirelessGatewayTask' {} a -> s {id = a} :: GetWirelessGatewayTask)++instance Core.AWSRequest GetWirelessGatewayTask where+  type+    AWSResponse GetWirelessGatewayTask =+      GetWirelessGatewayTaskResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayTaskResponse'+            Prelude.<$> (x Data..?> "LastUplinkReceivedAt")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TaskCreatedAt")+            Prelude.<*> (x Data..?> "WirelessGatewayId")+            Prelude.<*> (x Data..?> "WirelessGatewayTaskDefinitionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWirelessGatewayTask where+  hashWithSalt _salt GetWirelessGatewayTask' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetWirelessGatewayTask where+  rnf GetWirelessGatewayTask' {..} = Prelude.rnf id++instance Data.ToHeaders GetWirelessGatewayTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessGatewayTask where+  toPath GetWirelessGatewayTask' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id, "/tasks"]++instance Data.ToQuery GetWirelessGatewayTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessGatewayTaskResponse' smart constructor.+data GetWirelessGatewayTaskResponse = GetWirelessGatewayTaskResponse'+  { -- | The date and time when the most recent uplink was received.+    lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,+    -- | The status of the request.+    status :: Prelude.Maybe WirelessGatewayTaskStatus,+    -- | The date and time when the task was created.+    taskCreatedAt :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless gateway.+    wirelessGatewayId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the WirelessGatewayTask.+    wirelessGatewayTaskDefinitionId :: 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 'GetWirelessGatewayTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lastUplinkReceivedAt', 'getWirelessGatewayTaskResponse_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.+--+-- 'status', 'getWirelessGatewayTaskResponse_status' - The status of the request.+--+-- 'taskCreatedAt', 'getWirelessGatewayTaskResponse_taskCreatedAt' - The date and time when the task was created.+--+-- 'wirelessGatewayId', 'getWirelessGatewayTaskResponse_wirelessGatewayId' - The ID of the wireless gateway.+--+-- 'wirelessGatewayTaskDefinitionId', 'getWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId' - The ID of the WirelessGatewayTask.+--+-- 'httpStatus', 'getWirelessGatewayTaskResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayTaskResponse+newGetWirelessGatewayTaskResponse pHttpStatus_ =+  GetWirelessGatewayTaskResponse'+    { lastUplinkReceivedAt =+        Prelude.Nothing,+      status = Prelude.Nothing,+      taskCreatedAt = Prelude.Nothing,+      wirelessGatewayId = Prelude.Nothing,+      wirelessGatewayTaskDefinitionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The date and time when the most recent uplink was received.+getWirelessGatewayTaskResponse_lastUplinkReceivedAt :: Lens.Lens' GetWirelessGatewayTaskResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskResponse_lastUplinkReceivedAt = Lens.lens (\GetWirelessGatewayTaskResponse' {lastUplinkReceivedAt} -> lastUplinkReceivedAt) (\s@GetWirelessGatewayTaskResponse' {} a -> s {lastUplinkReceivedAt = a} :: GetWirelessGatewayTaskResponse)++-- | The status of the request.+getWirelessGatewayTaskResponse_status :: Lens.Lens' GetWirelessGatewayTaskResponse (Prelude.Maybe WirelessGatewayTaskStatus)+getWirelessGatewayTaskResponse_status = Lens.lens (\GetWirelessGatewayTaskResponse' {status} -> status) (\s@GetWirelessGatewayTaskResponse' {} a -> s {status = a} :: GetWirelessGatewayTaskResponse)++-- | The date and time when the task was created.+getWirelessGatewayTaskResponse_taskCreatedAt :: Lens.Lens' GetWirelessGatewayTaskResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskResponse_taskCreatedAt = Lens.lens (\GetWirelessGatewayTaskResponse' {taskCreatedAt} -> taskCreatedAt) (\s@GetWirelessGatewayTaskResponse' {} a -> s {taskCreatedAt = a} :: GetWirelessGatewayTaskResponse)++-- | The ID of the wireless gateway.+getWirelessGatewayTaskResponse_wirelessGatewayId :: Lens.Lens' GetWirelessGatewayTaskResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskResponse_wirelessGatewayId = Lens.lens (\GetWirelessGatewayTaskResponse' {wirelessGatewayId} -> wirelessGatewayId) (\s@GetWirelessGatewayTaskResponse' {} a -> s {wirelessGatewayId = a} :: GetWirelessGatewayTaskResponse)++-- | The ID of the WirelessGatewayTask.+getWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId :: Lens.Lens' GetWirelessGatewayTaskResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId = Lens.lens (\GetWirelessGatewayTaskResponse' {wirelessGatewayTaskDefinitionId} -> wirelessGatewayTaskDefinitionId) (\s@GetWirelessGatewayTaskResponse' {} a -> s {wirelessGatewayTaskDefinitionId = a} :: GetWirelessGatewayTaskResponse)++-- | The response's http status code.+getWirelessGatewayTaskResponse_httpStatus :: Lens.Lens' GetWirelessGatewayTaskResponse Prelude.Int+getWirelessGatewayTaskResponse_httpStatus = Lens.lens (\GetWirelessGatewayTaskResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayTaskResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayTaskResponse)++instance+  Prelude.NFData+    GetWirelessGatewayTaskResponse+  where+  rnf GetWirelessGatewayTaskResponse' {..} =+    Prelude.rnf lastUplinkReceivedAt+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf taskCreatedAt+      `Prelude.seq` Prelude.rnf wirelessGatewayId+      `Prelude.seq` Prelude.rnf wirelessGatewayTaskDefinitionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/GetWirelessGatewayTaskDefinition.hs view
@@ -0,0 +1,215 @@+{-# 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.IoTWireless.GetWirelessGatewayTaskDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a wireless gateway task definition.+module Amazonka.IoTWireless.GetWirelessGatewayTaskDefinition+  ( -- * Creating a Request+    GetWirelessGatewayTaskDefinition (..),+    newGetWirelessGatewayTaskDefinition,++    -- * Request Lenses+    getWirelessGatewayTaskDefinition_id,++    -- * Destructuring the Response+    GetWirelessGatewayTaskDefinitionResponse (..),+    newGetWirelessGatewayTaskDefinitionResponse,++    -- * Response Lenses+    getWirelessGatewayTaskDefinitionResponse_arn,+    getWirelessGatewayTaskDefinitionResponse_autoCreateTasks,+    getWirelessGatewayTaskDefinitionResponse_name,+    getWirelessGatewayTaskDefinitionResponse_update,+    getWirelessGatewayTaskDefinitionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWirelessGatewayTaskDefinition' smart constructor.+data GetWirelessGatewayTaskDefinition = GetWirelessGatewayTaskDefinition'+  { -- | The ID of the resource to get.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayTaskDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getWirelessGatewayTaskDefinition_id' - The ID of the resource to get.+newGetWirelessGatewayTaskDefinition ::+  -- | 'id'+  Prelude.Text ->+  GetWirelessGatewayTaskDefinition+newGetWirelessGatewayTaskDefinition pId_ =+  GetWirelessGatewayTaskDefinition' {id = pId_}++-- | The ID of the resource to get.+getWirelessGatewayTaskDefinition_id :: Lens.Lens' GetWirelessGatewayTaskDefinition Prelude.Text+getWirelessGatewayTaskDefinition_id = Lens.lens (\GetWirelessGatewayTaskDefinition' {id} -> id) (\s@GetWirelessGatewayTaskDefinition' {} a -> s {id = a} :: GetWirelessGatewayTaskDefinition)++instance+  Core.AWSRequest+    GetWirelessGatewayTaskDefinition+  where+  type+    AWSResponse GetWirelessGatewayTaskDefinition =+      GetWirelessGatewayTaskDefinitionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWirelessGatewayTaskDefinitionResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "AutoCreateTasks")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Update")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetWirelessGatewayTaskDefinition+  where+  hashWithSalt+    _salt+    GetWirelessGatewayTaskDefinition' {..} =+      _salt `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    GetWirelessGatewayTaskDefinition+  where+  rnf GetWirelessGatewayTaskDefinition' {..} =+    Prelude.rnf id++instance+  Data.ToHeaders+    GetWirelessGatewayTaskDefinition+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetWirelessGatewayTaskDefinition where+  toPath GetWirelessGatewayTaskDefinition' {..} =+    Prelude.mconcat+      ["/wireless-gateway-task-definitions/", Data.toBS id]++instance+  Data.ToQuery+    GetWirelessGatewayTaskDefinition+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWirelessGatewayTaskDefinitionResponse' smart constructor.+data GetWirelessGatewayTaskDefinitionResponse = GetWirelessGatewayTaskDefinitionResponse'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Whether to automatically create tasks using this task definition for all+    -- gateways with the specified current version. If @false@, the task must+    -- me created by calling @CreateWirelessGatewayTask@.+    autoCreateTasks :: Prelude.Maybe Prelude.Bool,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | Information about the gateways to update.+    update :: Prelude.Maybe UpdateWirelessGatewayTaskCreate,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWirelessGatewayTaskDefinitionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getWirelessGatewayTaskDefinitionResponse_arn' - The Amazon Resource Name of the resource.+--+-- 'autoCreateTasks', 'getWirelessGatewayTaskDefinitionResponse_autoCreateTasks' - Whether to automatically create tasks using this task definition for all+-- gateways with the specified current version. If @false@, the task must+-- me created by calling @CreateWirelessGatewayTask@.+--+-- 'name', 'getWirelessGatewayTaskDefinitionResponse_name' - The name of the resource.+--+-- 'update', 'getWirelessGatewayTaskDefinitionResponse_update' - Information about the gateways to update.+--+-- 'httpStatus', 'getWirelessGatewayTaskDefinitionResponse_httpStatus' - The response's http status code.+newGetWirelessGatewayTaskDefinitionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWirelessGatewayTaskDefinitionResponse+newGetWirelessGatewayTaskDefinitionResponse+  pHttpStatus_ =+    GetWirelessGatewayTaskDefinitionResponse'+      { arn =+          Prelude.Nothing,+        autoCreateTasks = Prelude.Nothing,+        name = Prelude.Nothing,+        update = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The Amazon Resource Name of the resource.+getWirelessGatewayTaskDefinitionResponse_arn :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskDefinitionResponse_arn = Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {arn} -> arn) (\s@GetWirelessGatewayTaskDefinitionResponse' {} a -> s {arn = a} :: GetWirelessGatewayTaskDefinitionResponse)++-- | Whether to automatically create tasks using this task definition for all+-- gateways with the specified current version. If @false@, the task must+-- me created by calling @CreateWirelessGatewayTask@.+getWirelessGatewayTaskDefinitionResponse_autoCreateTasks :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Bool)+getWirelessGatewayTaskDefinitionResponse_autoCreateTasks = Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {autoCreateTasks} -> autoCreateTasks) (\s@GetWirelessGatewayTaskDefinitionResponse' {} a -> s {autoCreateTasks = a} :: GetWirelessGatewayTaskDefinitionResponse)++-- | The name of the resource.+getWirelessGatewayTaskDefinitionResponse_name :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe Prelude.Text)+getWirelessGatewayTaskDefinitionResponse_name = Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {name} -> name) (\s@GetWirelessGatewayTaskDefinitionResponse' {} a -> s {name = a} :: GetWirelessGatewayTaskDefinitionResponse)++-- | Information about the gateways to update.+getWirelessGatewayTaskDefinitionResponse_update :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse (Prelude.Maybe UpdateWirelessGatewayTaskCreate)+getWirelessGatewayTaskDefinitionResponse_update = Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {update} -> update) (\s@GetWirelessGatewayTaskDefinitionResponse' {} a -> s {update = a} :: GetWirelessGatewayTaskDefinitionResponse)++-- | The response's http status code.+getWirelessGatewayTaskDefinitionResponse_httpStatus :: Lens.Lens' GetWirelessGatewayTaskDefinitionResponse Prelude.Int+getWirelessGatewayTaskDefinitionResponse_httpStatus = Lens.lens (\GetWirelessGatewayTaskDefinitionResponse' {httpStatus} -> httpStatus) (\s@GetWirelessGatewayTaskDefinitionResponse' {} a -> s {httpStatus = a} :: GetWirelessGatewayTaskDefinitionResponse)++instance+  Prelude.NFData+    GetWirelessGatewayTaskDefinitionResponse+  where+  rnf GetWirelessGatewayTaskDefinitionResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf autoCreateTasks+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf update+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/Lens.hs view
@@ -0,0 +1,1452 @@+{-# 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.IoTWireless.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.IoTWireless.Lens+  ( -- * Operations++    -- ** AssociateAwsAccountWithPartnerAccount+    associateAwsAccountWithPartnerAccount_clientRequestToken,+    associateAwsAccountWithPartnerAccount_tags,+    associateAwsAccountWithPartnerAccount_sidewalk,+    associateAwsAccountWithPartnerAccountResponse_arn,+    associateAwsAccountWithPartnerAccountResponse_sidewalk,+    associateAwsAccountWithPartnerAccountResponse_httpStatus,++    -- ** AssociateMulticastGroupWithFuotaTask+    associateMulticastGroupWithFuotaTask_id,+    associateMulticastGroupWithFuotaTask_multicastGroupId,+    associateMulticastGroupWithFuotaTaskResponse_httpStatus,++    -- ** AssociateWirelessDeviceWithFuotaTask+    associateWirelessDeviceWithFuotaTask_id,+    associateWirelessDeviceWithFuotaTask_wirelessDeviceId,+    associateWirelessDeviceWithFuotaTaskResponse_httpStatus,++    -- ** AssociateWirelessDeviceWithMulticastGroup+    associateWirelessDeviceWithMulticastGroup_id,+    associateWirelessDeviceWithMulticastGroup_wirelessDeviceId,+    associateWirelessDeviceWithMulticastGroupResponse_httpStatus,++    -- ** AssociateWirelessDeviceWithThing+    associateWirelessDeviceWithThing_id,+    associateWirelessDeviceWithThing_thingArn,+    associateWirelessDeviceWithThingResponse_httpStatus,++    -- ** AssociateWirelessGatewayWithCertificate+    associateWirelessGatewayWithCertificate_id,+    associateWirelessGatewayWithCertificate_iotCertificateId,+    associateWirelessGatewayWithCertificateResponse_iotCertificateId,+    associateWirelessGatewayWithCertificateResponse_httpStatus,++    -- ** AssociateWirelessGatewayWithThing+    associateWirelessGatewayWithThing_id,+    associateWirelessGatewayWithThing_thingArn,+    associateWirelessGatewayWithThingResponse_httpStatus,++    -- ** CancelMulticastGroupSession+    cancelMulticastGroupSession_id,+    cancelMulticastGroupSessionResponse_httpStatus,++    -- ** CreateDestination+    createDestination_clientRequestToken,+    createDestination_description,+    createDestination_tags,+    createDestination_name,+    createDestination_expressionType,+    createDestination_expression,+    createDestination_roleArn,+    createDestinationResponse_arn,+    createDestinationResponse_name,+    createDestinationResponse_httpStatus,++    -- ** CreateDeviceProfile+    createDeviceProfile_clientRequestToken,+    createDeviceProfile_loRaWAN,+    createDeviceProfile_name,+    createDeviceProfile_tags,+    createDeviceProfileResponse_arn,+    createDeviceProfileResponse_id,+    createDeviceProfileResponse_httpStatus,++    -- ** CreateFuotaTask+    createFuotaTask_clientRequestToken,+    createFuotaTask_description,+    createFuotaTask_loRaWAN,+    createFuotaTask_name,+    createFuotaTask_tags,+    createFuotaTask_firmwareUpdateImage,+    createFuotaTask_firmwareUpdateRole,+    createFuotaTaskResponse_arn,+    createFuotaTaskResponse_id,+    createFuotaTaskResponse_httpStatus,++    -- ** CreateMulticastGroup+    createMulticastGroup_clientRequestToken,+    createMulticastGroup_description,+    createMulticastGroup_name,+    createMulticastGroup_tags,+    createMulticastGroup_loRaWAN,+    createMulticastGroupResponse_arn,+    createMulticastGroupResponse_id,+    createMulticastGroupResponse_httpStatus,++    -- ** CreateNetworkAnalyzerConfiguration+    createNetworkAnalyzerConfiguration_clientRequestToken,+    createNetworkAnalyzerConfiguration_description,+    createNetworkAnalyzerConfiguration_tags,+    createNetworkAnalyzerConfiguration_traceContent,+    createNetworkAnalyzerConfiguration_wirelessDevices,+    createNetworkAnalyzerConfiguration_wirelessGateways,+    createNetworkAnalyzerConfiguration_name,+    createNetworkAnalyzerConfigurationResponse_arn,+    createNetworkAnalyzerConfigurationResponse_name,+    createNetworkAnalyzerConfigurationResponse_httpStatus,++    -- ** CreateServiceProfile+    createServiceProfile_clientRequestToken,+    createServiceProfile_loRaWAN,+    createServiceProfile_name,+    createServiceProfile_tags,+    createServiceProfileResponse_arn,+    createServiceProfileResponse_id,+    createServiceProfileResponse_httpStatus,++    -- ** CreateWirelessDevice+    createWirelessDevice_clientRequestToken,+    createWirelessDevice_description,+    createWirelessDevice_loRaWAN,+    createWirelessDevice_name,+    createWirelessDevice_positioning,+    createWirelessDevice_tags,+    createWirelessDevice_type,+    createWirelessDevice_destinationName,+    createWirelessDeviceResponse_arn,+    createWirelessDeviceResponse_id,+    createWirelessDeviceResponse_httpStatus,++    -- ** CreateWirelessGateway+    createWirelessGateway_clientRequestToken,+    createWirelessGateway_description,+    createWirelessGateway_name,+    createWirelessGateway_tags,+    createWirelessGateway_loRaWAN,+    createWirelessGatewayResponse_arn,+    createWirelessGatewayResponse_id,+    createWirelessGatewayResponse_httpStatus,++    -- ** CreateWirelessGatewayTask+    createWirelessGatewayTask_id,+    createWirelessGatewayTask_wirelessGatewayTaskDefinitionId,+    createWirelessGatewayTaskResponse_status,+    createWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId,+    createWirelessGatewayTaskResponse_httpStatus,++    -- ** CreateWirelessGatewayTaskDefinition+    createWirelessGatewayTaskDefinition_clientRequestToken,+    createWirelessGatewayTaskDefinition_name,+    createWirelessGatewayTaskDefinition_tags,+    createWirelessGatewayTaskDefinition_update,+    createWirelessGatewayTaskDefinition_autoCreateTasks,+    createWirelessGatewayTaskDefinitionResponse_arn,+    createWirelessGatewayTaskDefinitionResponse_id,+    createWirelessGatewayTaskDefinitionResponse_httpStatus,++    -- ** DeleteDestination+    deleteDestination_name,+    deleteDestinationResponse_httpStatus,++    -- ** DeleteDeviceProfile+    deleteDeviceProfile_id,+    deleteDeviceProfileResponse_httpStatus,++    -- ** DeleteFuotaTask+    deleteFuotaTask_id,+    deleteFuotaTaskResponse_httpStatus,++    -- ** DeleteMulticastGroup+    deleteMulticastGroup_id,+    deleteMulticastGroupResponse_httpStatus,++    -- ** DeleteNetworkAnalyzerConfiguration+    deleteNetworkAnalyzerConfiguration_configurationName,+    deleteNetworkAnalyzerConfigurationResponse_httpStatus,++    -- ** DeleteQueuedMessages+    deleteQueuedMessages_wirelessDeviceType,+    deleteQueuedMessages_id,+    deleteQueuedMessages_messageId,+    deleteQueuedMessagesResponse_httpStatus,++    -- ** DeleteServiceProfile+    deleteServiceProfile_id,+    deleteServiceProfileResponse_httpStatus,++    -- ** DeleteWirelessDevice+    deleteWirelessDevice_id,+    deleteWirelessDeviceResponse_httpStatus,++    -- ** DeleteWirelessGateway+    deleteWirelessGateway_id,+    deleteWirelessGatewayResponse_httpStatus,++    -- ** DeleteWirelessGatewayTask+    deleteWirelessGatewayTask_id,+    deleteWirelessGatewayTaskResponse_httpStatus,++    -- ** DeleteWirelessGatewayTaskDefinition+    deleteWirelessGatewayTaskDefinition_id,+    deleteWirelessGatewayTaskDefinitionResponse_httpStatus,++    -- ** DisassociateAwsAccountFromPartnerAccount+    disassociateAwsAccountFromPartnerAccount_partnerAccountId,+    disassociateAwsAccountFromPartnerAccount_partnerType,+    disassociateAwsAccountFromPartnerAccountResponse_httpStatus,++    -- ** DisassociateMulticastGroupFromFuotaTask+    disassociateMulticastGroupFromFuotaTask_id,+    disassociateMulticastGroupFromFuotaTask_multicastGroupId,+    disassociateMulticastGroupFromFuotaTaskResponse_httpStatus,++    -- ** DisassociateWirelessDeviceFromFuotaTask+    disassociateWirelessDeviceFromFuotaTask_id,+    disassociateWirelessDeviceFromFuotaTask_wirelessDeviceId,+    disassociateWirelessDeviceFromFuotaTaskResponse_httpStatus,++    -- ** DisassociateWirelessDeviceFromMulticastGroup+    disassociateWirelessDeviceFromMulticastGroup_id,+    disassociateWirelessDeviceFromMulticastGroup_wirelessDeviceId,+    disassociateWirelessDeviceFromMulticastGroupResponse_httpStatus,++    -- ** DisassociateWirelessDeviceFromThing+    disassociateWirelessDeviceFromThing_id,+    disassociateWirelessDeviceFromThingResponse_httpStatus,++    -- ** DisassociateWirelessGatewayFromCertificate+    disassociateWirelessGatewayFromCertificate_id,+    disassociateWirelessGatewayFromCertificateResponse_httpStatus,++    -- ** DisassociateWirelessGatewayFromThing+    disassociateWirelessGatewayFromThing_id,+    disassociateWirelessGatewayFromThingResponse_httpStatus,++    -- ** GetDestination+    getDestination_name,+    getDestinationResponse_arn,+    getDestinationResponse_description,+    getDestinationResponse_expression,+    getDestinationResponse_expressionType,+    getDestinationResponse_name,+    getDestinationResponse_roleArn,+    getDestinationResponse_httpStatus,++    -- ** GetDeviceProfile+    getDeviceProfile_id,+    getDeviceProfileResponse_arn,+    getDeviceProfileResponse_id,+    getDeviceProfileResponse_loRaWAN,+    getDeviceProfileResponse_name,+    getDeviceProfileResponse_httpStatus,++    -- ** GetEventConfigurationByResourceTypes+    getEventConfigurationByResourceTypesResponse_connectionStatus,+    getEventConfigurationByResourceTypesResponse_deviceRegistrationState,+    getEventConfigurationByResourceTypesResponse_join,+    getEventConfigurationByResourceTypesResponse_messageDeliveryStatus,+    getEventConfigurationByResourceTypesResponse_proximity,+    getEventConfigurationByResourceTypesResponse_httpStatus,++    -- ** GetFuotaTask+    getFuotaTask_id,+    getFuotaTaskResponse_arn,+    getFuotaTaskResponse_createdAt,+    getFuotaTaskResponse_description,+    getFuotaTaskResponse_firmwareUpdateImage,+    getFuotaTaskResponse_firmwareUpdateRole,+    getFuotaTaskResponse_id,+    getFuotaTaskResponse_loRaWAN,+    getFuotaTaskResponse_name,+    getFuotaTaskResponse_status,+    getFuotaTaskResponse_httpStatus,++    -- ** GetLogLevelsByResourceTypes+    getLogLevelsByResourceTypesResponse_defaultLogLevel,+    getLogLevelsByResourceTypesResponse_wirelessDeviceLogOptions,+    getLogLevelsByResourceTypesResponse_wirelessGatewayLogOptions,+    getLogLevelsByResourceTypesResponse_httpStatus,++    -- ** GetMulticastGroup+    getMulticastGroup_id,+    getMulticastGroupResponse_arn,+    getMulticastGroupResponse_createdAt,+    getMulticastGroupResponse_description,+    getMulticastGroupResponse_id,+    getMulticastGroupResponse_loRaWAN,+    getMulticastGroupResponse_name,+    getMulticastGroupResponse_status,+    getMulticastGroupResponse_httpStatus,++    -- ** GetMulticastGroupSession+    getMulticastGroupSession_id,+    getMulticastGroupSessionResponse_loRaWAN,+    getMulticastGroupSessionResponse_httpStatus,++    -- ** GetNetworkAnalyzerConfiguration+    getNetworkAnalyzerConfiguration_configurationName,+    getNetworkAnalyzerConfigurationResponse_arn,+    getNetworkAnalyzerConfigurationResponse_description,+    getNetworkAnalyzerConfigurationResponse_name,+    getNetworkAnalyzerConfigurationResponse_traceContent,+    getNetworkAnalyzerConfigurationResponse_wirelessDevices,+    getNetworkAnalyzerConfigurationResponse_wirelessGateways,+    getNetworkAnalyzerConfigurationResponse_httpStatus,++    -- ** GetPartnerAccount+    getPartnerAccount_partnerAccountId,+    getPartnerAccount_partnerType,+    getPartnerAccountResponse_accountLinked,+    getPartnerAccountResponse_sidewalk,+    getPartnerAccountResponse_httpStatus,++    -- ** GetPositionEstimate+    getPositionEstimate_cellTowers,+    getPositionEstimate_gnss,+    getPositionEstimate_ip,+    getPositionEstimate_timestamp,+    getPositionEstimate_wiFiAccessPoints,+    getPositionEstimateResponse_geoJsonPayload,+    getPositionEstimateResponse_httpStatus,++    -- ** GetResourceEventConfiguration+    getResourceEventConfiguration_partnerType,+    getResourceEventConfiguration_identifier,+    getResourceEventConfiguration_identifierType,+    getResourceEventConfigurationResponse_connectionStatus,+    getResourceEventConfigurationResponse_deviceRegistrationState,+    getResourceEventConfigurationResponse_join,+    getResourceEventConfigurationResponse_messageDeliveryStatus,+    getResourceEventConfigurationResponse_proximity,+    getResourceEventConfigurationResponse_httpStatus,++    -- ** GetResourceLogLevel+    getResourceLogLevel_resourceIdentifier,+    getResourceLogLevel_resourceType,+    getResourceLogLevelResponse_logLevel,+    getResourceLogLevelResponse_httpStatus,++    -- ** GetResourcePosition+    getResourcePosition_resourceIdentifier,+    getResourcePosition_resourceType,+    getResourcePositionResponse_geoJsonPayload,+    getResourcePositionResponse_httpStatus,++    -- ** GetServiceEndpoint+    getServiceEndpoint_serviceType,+    getServiceEndpointResponse_serverTrust,+    getServiceEndpointResponse_serviceEndpoint,+    getServiceEndpointResponse_serviceType,+    getServiceEndpointResponse_httpStatus,++    -- ** GetServiceProfile+    getServiceProfile_id,+    getServiceProfileResponse_arn,+    getServiceProfileResponse_id,+    getServiceProfileResponse_loRaWAN,+    getServiceProfileResponse_name,+    getServiceProfileResponse_httpStatus,++    -- ** GetWirelessDevice+    getWirelessDevice_identifier,+    getWirelessDevice_identifierType,+    getWirelessDeviceResponse_arn,+    getWirelessDeviceResponse_description,+    getWirelessDeviceResponse_destinationName,+    getWirelessDeviceResponse_id,+    getWirelessDeviceResponse_loRaWAN,+    getWirelessDeviceResponse_name,+    getWirelessDeviceResponse_positioning,+    getWirelessDeviceResponse_sidewalk,+    getWirelessDeviceResponse_thingArn,+    getWirelessDeviceResponse_thingName,+    getWirelessDeviceResponse_type,+    getWirelessDeviceResponse_httpStatus,++    -- ** GetWirelessDeviceStatistics+    getWirelessDeviceStatistics_wirelessDeviceId,+    getWirelessDeviceStatisticsResponse_lastUplinkReceivedAt,+    getWirelessDeviceStatisticsResponse_loRaWAN,+    getWirelessDeviceStatisticsResponse_sidewalk,+    getWirelessDeviceStatisticsResponse_wirelessDeviceId,+    getWirelessDeviceStatisticsResponse_httpStatus,++    -- ** GetWirelessGateway+    getWirelessGateway_identifier,+    getWirelessGateway_identifierType,+    getWirelessGatewayResponse_arn,+    getWirelessGatewayResponse_description,+    getWirelessGatewayResponse_id,+    getWirelessGatewayResponse_loRaWAN,+    getWirelessGatewayResponse_name,+    getWirelessGatewayResponse_thingArn,+    getWirelessGatewayResponse_thingName,+    getWirelessGatewayResponse_httpStatus,++    -- ** GetWirelessGatewayCertificate+    getWirelessGatewayCertificate_id,+    getWirelessGatewayCertificateResponse_iotCertificateId,+    getWirelessGatewayCertificateResponse_loRaWANNetworkServerCertificateId,+    getWirelessGatewayCertificateResponse_httpStatus,++    -- ** GetWirelessGatewayFirmwareInformation+    getWirelessGatewayFirmwareInformation_id,+    getWirelessGatewayFirmwareInformationResponse_loRaWAN,+    getWirelessGatewayFirmwareInformationResponse_httpStatus,++    -- ** GetWirelessGatewayStatistics+    getWirelessGatewayStatistics_wirelessGatewayId,+    getWirelessGatewayStatisticsResponse_connectionStatus,+    getWirelessGatewayStatisticsResponse_lastUplinkReceivedAt,+    getWirelessGatewayStatisticsResponse_wirelessGatewayId,+    getWirelessGatewayStatisticsResponse_httpStatus,++    -- ** GetWirelessGatewayTask+    getWirelessGatewayTask_id,+    getWirelessGatewayTaskResponse_lastUplinkReceivedAt,+    getWirelessGatewayTaskResponse_status,+    getWirelessGatewayTaskResponse_taskCreatedAt,+    getWirelessGatewayTaskResponse_wirelessGatewayId,+    getWirelessGatewayTaskResponse_wirelessGatewayTaskDefinitionId,+    getWirelessGatewayTaskResponse_httpStatus,++    -- ** GetWirelessGatewayTaskDefinition+    getWirelessGatewayTaskDefinition_id,+    getWirelessGatewayTaskDefinitionResponse_arn,+    getWirelessGatewayTaskDefinitionResponse_autoCreateTasks,+    getWirelessGatewayTaskDefinitionResponse_name,+    getWirelessGatewayTaskDefinitionResponse_update,+    getWirelessGatewayTaskDefinitionResponse_httpStatus,++    -- ** ListDestinations+    listDestinations_maxResults,+    listDestinations_nextToken,+    listDestinationsResponse_destinationList,+    listDestinationsResponse_nextToken,+    listDestinationsResponse_httpStatus,++    -- ** ListDeviceProfiles+    listDeviceProfiles_maxResults,+    listDeviceProfiles_nextToken,+    listDeviceProfilesResponse_deviceProfileList,+    listDeviceProfilesResponse_nextToken,+    listDeviceProfilesResponse_httpStatus,++    -- ** ListEventConfigurations+    listEventConfigurations_maxResults,+    listEventConfigurations_nextToken,+    listEventConfigurations_resourceType,+    listEventConfigurationsResponse_eventConfigurationsList,+    listEventConfigurationsResponse_nextToken,+    listEventConfigurationsResponse_httpStatus,++    -- ** ListFuotaTasks+    listFuotaTasks_maxResults,+    listFuotaTasks_nextToken,+    listFuotaTasksResponse_fuotaTaskList,+    listFuotaTasksResponse_nextToken,+    listFuotaTasksResponse_httpStatus,++    -- ** ListMulticastGroups+    listMulticastGroups_maxResults,+    listMulticastGroups_nextToken,+    listMulticastGroupsResponse_multicastGroupList,+    listMulticastGroupsResponse_nextToken,+    listMulticastGroupsResponse_httpStatus,++    -- ** ListMulticastGroupsByFuotaTask+    listMulticastGroupsByFuotaTask_maxResults,+    listMulticastGroupsByFuotaTask_nextToken,+    listMulticastGroupsByFuotaTask_id,+    listMulticastGroupsByFuotaTaskResponse_multicastGroupList,+    listMulticastGroupsByFuotaTaskResponse_nextToken,+    listMulticastGroupsByFuotaTaskResponse_httpStatus,++    -- ** ListNetworkAnalyzerConfigurations+    listNetworkAnalyzerConfigurations_maxResults,+    listNetworkAnalyzerConfigurations_nextToken,+    listNetworkAnalyzerConfigurationsResponse_networkAnalyzerConfigurationList,+    listNetworkAnalyzerConfigurationsResponse_nextToken,+    listNetworkAnalyzerConfigurationsResponse_httpStatus,++    -- ** ListPartnerAccounts+    listPartnerAccounts_maxResults,+    listPartnerAccounts_nextToken,+    listPartnerAccountsResponse_nextToken,+    listPartnerAccountsResponse_sidewalk,+    listPartnerAccountsResponse_httpStatus,++    -- ** ListQueuedMessages+    listQueuedMessages_maxResults,+    listQueuedMessages_nextToken,+    listQueuedMessages_wirelessDeviceType,+    listQueuedMessages_id,+    listQueuedMessagesResponse_downlinkQueueMessagesList,+    listQueuedMessagesResponse_nextToken,+    listQueuedMessagesResponse_httpStatus,++    -- ** ListServiceProfiles+    listServiceProfiles_maxResults,+    listServiceProfiles_nextToken,+    listServiceProfilesResponse_nextToken,+    listServiceProfilesResponse_serviceProfileList,+    listServiceProfilesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListWirelessDevices+    listWirelessDevices_destinationName,+    listWirelessDevices_deviceProfileId,+    listWirelessDevices_fuotaTaskId,+    listWirelessDevices_maxResults,+    listWirelessDevices_multicastGroupId,+    listWirelessDevices_nextToken,+    listWirelessDevices_serviceProfileId,+    listWirelessDevices_wirelessDeviceType,+    listWirelessDevicesResponse_nextToken,+    listWirelessDevicesResponse_wirelessDeviceList,+    listWirelessDevicesResponse_httpStatus,++    -- ** ListWirelessGatewayTaskDefinitions+    listWirelessGatewayTaskDefinitions_maxResults,+    listWirelessGatewayTaskDefinitions_nextToken,+    listWirelessGatewayTaskDefinitions_taskDefinitionType,+    listWirelessGatewayTaskDefinitionsResponse_nextToken,+    listWirelessGatewayTaskDefinitionsResponse_taskDefinitions,+    listWirelessGatewayTaskDefinitionsResponse_httpStatus,++    -- ** ListWirelessGateways+    listWirelessGateways_maxResults,+    listWirelessGateways_nextToken,+    listWirelessGatewaysResponse_nextToken,+    listWirelessGatewaysResponse_wirelessGatewayList,+    listWirelessGatewaysResponse_httpStatus,++    -- ** PutResourceLogLevel+    putResourceLogLevel_resourceIdentifier,+    putResourceLogLevel_resourceType,+    putResourceLogLevel_logLevel,+    putResourceLogLevelResponse_httpStatus,++    -- ** ResetAllResourceLogLevels+    resetAllResourceLogLevelsResponse_httpStatus,++    -- ** ResetResourceLogLevel+    resetResourceLogLevel_resourceIdentifier,+    resetResourceLogLevel_resourceType,+    resetResourceLogLevelResponse_httpStatus,++    -- ** SendDataToMulticastGroup+    sendDataToMulticastGroup_id,+    sendDataToMulticastGroup_payloadData,+    sendDataToMulticastGroup_wirelessMetadata,+    sendDataToMulticastGroupResponse_messageId,+    sendDataToMulticastGroupResponse_httpStatus,++    -- ** SendDataToWirelessDevice+    sendDataToWirelessDevice_wirelessMetadata,+    sendDataToWirelessDevice_id,+    sendDataToWirelessDevice_transmitMode,+    sendDataToWirelessDevice_payloadData,+    sendDataToWirelessDeviceResponse_messageId,+    sendDataToWirelessDeviceResponse_httpStatus,++    -- ** StartBulkAssociateWirelessDeviceWithMulticastGroup+    startBulkAssociateWirelessDeviceWithMulticastGroup_queryString,+    startBulkAssociateWirelessDeviceWithMulticastGroup_tags,+    startBulkAssociateWirelessDeviceWithMulticastGroup_id,+    startBulkAssociateWirelessDeviceWithMulticastGroupResponse_httpStatus,++    -- ** StartBulkDisassociateWirelessDeviceFromMulticastGroup+    startBulkDisassociateWirelessDeviceFromMulticastGroup_queryString,+    startBulkDisassociateWirelessDeviceFromMulticastGroup_tags,+    startBulkDisassociateWirelessDeviceFromMulticastGroup_id,+    startBulkDisassociateWirelessDeviceFromMulticastGroupResponse_httpStatus,++    -- ** StartFuotaTask+    startFuotaTask_loRaWAN,+    startFuotaTask_id,+    startFuotaTaskResponse_httpStatus,++    -- ** StartMulticastGroupSession+    startMulticastGroupSession_id,+    startMulticastGroupSession_loRaWAN,+    startMulticastGroupSessionResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** TestWirelessDevice+    testWirelessDevice_id,+    testWirelessDeviceResponse_result,+    testWirelessDeviceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateDestination+    updateDestination_description,+    updateDestination_expression,+    updateDestination_expressionType,+    updateDestination_roleArn,+    updateDestination_name,+    updateDestinationResponse_httpStatus,++    -- ** UpdateEventConfigurationByResourceTypes+    updateEventConfigurationByResourceTypes_connectionStatus,+    updateEventConfigurationByResourceTypes_deviceRegistrationState,+    updateEventConfigurationByResourceTypes_join,+    updateEventConfigurationByResourceTypes_messageDeliveryStatus,+    updateEventConfigurationByResourceTypes_proximity,+    updateEventConfigurationByResourceTypesResponse_httpStatus,++    -- ** UpdateFuotaTask+    updateFuotaTask_description,+    updateFuotaTask_firmwareUpdateImage,+    updateFuotaTask_firmwareUpdateRole,+    updateFuotaTask_loRaWAN,+    updateFuotaTask_name,+    updateFuotaTask_id,+    updateFuotaTaskResponse_httpStatus,++    -- ** UpdateLogLevelsByResourceTypes+    updateLogLevelsByResourceTypes_defaultLogLevel,+    updateLogLevelsByResourceTypes_wirelessDeviceLogOptions,+    updateLogLevelsByResourceTypes_wirelessGatewayLogOptions,+    updateLogLevelsByResourceTypesResponse_httpStatus,++    -- ** UpdateMulticastGroup+    updateMulticastGroup_description,+    updateMulticastGroup_loRaWAN,+    updateMulticastGroup_name,+    updateMulticastGroup_id,+    updateMulticastGroupResponse_httpStatus,++    -- ** UpdateNetworkAnalyzerConfiguration+    updateNetworkAnalyzerConfiguration_description,+    updateNetworkAnalyzerConfiguration_traceContent,+    updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd,+    updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove,+    updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd,+    updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove,+    updateNetworkAnalyzerConfiguration_configurationName,+    updateNetworkAnalyzerConfigurationResponse_httpStatus,++    -- ** UpdatePartnerAccount+    updatePartnerAccount_sidewalk,+    updatePartnerAccount_partnerAccountId,+    updatePartnerAccount_partnerType,+    updatePartnerAccountResponse_httpStatus,++    -- ** UpdateResourceEventConfiguration+    updateResourceEventConfiguration_connectionStatus,+    updateResourceEventConfiguration_deviceRegistrationState,+    updateResourceEventConfiguration_join,+    updateResourceEventConfiguration_messageDeliveryStatus,+    updateResourceEventConfiguration_partnerType,+    updateResourceEventConfiguration_proximity,+    updateResourceEventConfiguration_identifier,+    updateResourceEventConfiguration_identifierType,+    updateResourceEventConfigurationResponse_httpStatus,++    -- ** UpdateResourcePosition+    updateResourcePosition_geoJsonPayload,+    updateResourcePosition_resourceIdentifier,+    updateResourcePosition_resourceType,+    updateResourcePositionResponse_httpStatus,++    -- ** UpdateWirelessDevice+    updateWirelessDevice_description,+    updateWirelessDevice_destinationName,+    updateWirelessDevice_loRaWAN,+    updateWirelessDevice_name,+    updateWirelessDevice_positioning,+    updateWirelessDevice_id,+    updateWirelessDeviceResponse_httpStatus,++    -- ** UpdateWirelessGateway+    updateWirelessGateway_description,+    updateWirelessGateway_joinEuiFilters,+    updateWirelessGateway_name,+    updateWirelessGateway_netIdFilters,+    updateWirelessGateway_id,+    updateWirelessGatewayResponse_httpStatus,++    -- * Types++    -- ** AbpV1_0_x+    abpV1_0_x_devAddr,+    abpV1_0_x_fCntStart,+    abpV1_0_x_sessionKeys,++    -- ** AbpV1_1+    abpV1_1_devAddr,+    abpV1_1_fCntStart,+    abpV1_1_sessionKeys,++    -- ** ApplicationConfig+    applicationConfig_destinationName,+    applicationConfig_fPort,+    applicationConfig_type,++    -- ** Beaconing+    beaconing_dataRate,+    beaconing_frequencies,++    -- ** CdmaLocalId+    cdmaLocalId_pnOffset,+    cdmaLocalId_cdmaChannel,++    -- ** CdmaNmrObj+    cdmaNmrObj_baseStationId,+    cdmaNmrObj_pilotPower,+    cdmaNmrObj_pnOffset,+    cdmaNmrObj_cdmaChannel,++    -- ** CdmaObj+    cdmaObj_baseLat,+    cdmaObj_baseLng,+    cdmaObj_cdmaLocalId,+    cdmaObj_cdmaNmr,+    cdmaObj_pilotPower,+    cdmaObj_registrationZone,+    cdmaObj_systemId,+    cdmaObj_networkId,+    cdmaObj_baseStationId,++    -- ** CellTowers+    cellTowers_cdma,+    cellTowers_gsm,+    cellTowers_lte,+    cellTowers_tdscdma,+    cellTowers_wcdma,++    -- ** CertificateList+    certificateList_signingAlg,+    certificateList_value,++    -- ** ConnectionStatusEventConfiguration+    connectionStatusEventConfiguration_loRaWAN,+    connectionStatusEventConfiguration_wirelessGatewayIdEventTopic,++    -- ** ConnectionStatusResourceTypeEventConfiguration+    connectionStatusResourceTypeEventConfiguration_loRaWAN,++    -- ** Destinations+    destinations_arn,+    destinations_description,+    destinations_expression,+    destinations_expressionType,+    destinations_name,+    destinations_roleArn,++    -- ** DeviceProfile+    deviceProfile_arn,+    deviceProfile_id,+    deviceProfile_name,++    -- ** DeviceRegistrationStateEventConfiguration+    deviceRegistrationStateEventConfiguration_sidewalk,+    deviceRegistrationStateEventConfiguration_wirelessDeviceIdEventTopic,++    -- ** DeviceRegistrationStateResourceTypeEventConfiguration+    deviceRegistrationStateResourceTypeEventConfiguration_sidewalk,++    -- ** DownlinkQueueMessage+    downlinkQueueMessage_loRaWAN,+    downlinkQueueMessage_messageId,+    downlinkQueueMessage_receivedAt,+    downlinkQueueMessage_transmitMode,++    -- ** EventConfigurationItem+    eventConfigurationItem_events,+    eventConfigurationItem_identifier,+    eventConfigurationItem_identifierType,+    eventConfigurationItem_partnerType,++    -- ** EventNotificationItemConfigurations+    eventNotificationItemConfigurations_connectionStatus,+    eventNotificationItemConfigurations_deviceRegistrationState,+    eventNotificationItemConfigurations_join,+    eventNotificationItemConfigurations_messageDeliveryStatus,+    eventNotificationItemConfigurations_proximity,++    -- ** FPorts+    fPorts_applications,+    fPorts_clockSync,+    fPorts_fuota,+    fPorts_multicast,+    fPorts_positioning,++    -- ** FuotaTask+    fuotaTask_arn,+    fuotaTask_id,+    fuotaTask_name,++    -- ** GatewayListItem+    gatewayListItem_gatewayId,+    gatewayListItem_downlinkFrequency,++    -- ** GlobalIdentity+    globalIdentity_lac,+    globalIdentity_geranCid,++    -- ** Gnss+    gnss_assistAltitude,+    gnss_assistPosition,+    gnss_captureTime,+    gnss_captureTimeAccuracy,+    gnss_use2DSolver,+    gnss_payload,++    -- ** GsmLocalId+    gsmLocalId_bsic,+    gsmLocalId_bcch,++    -- ** GsmNmrObj+    gsmNmrObj_globalIdentity,+    gsmNmrObj_rxLevel,+    gsmNmrObj_bsic,+    gsmNmrObj_bcch,++    -- ** GsmObj+    gsmObj_gsmLocalId,+    gsmObj_gsmNmr,+    gsmObj_gsmTimingAdvance,+    gsmObj_rxLevel,+    gsmObj_mcc,+    gsmObj_mnc,+    gsmObj_lac,+    gsmObj_geranCid,++    -- ** Ip+    ip_ipAddress,++    -- ** JoinEventConfiguration+    joinEventConfiguration_loRaWAN,+    joinEventConfiguration_wirelessDeviceIdEventTopic,++    -- ** JoinResourceTypeEventConfiguration+    joinResourceTypeEventConfiguration_loRaWAN,++    -- ** LoRaWANConnectionStatusEventNotificationConfigurations+    loRaWANConnectionStatusEventNotificationConfigurations_gatewayEuiEventTopic,++    -- ** LoRaWANConnectionStatusResourceTypeEventConfiguration+    loRaWANConnectionStatusResourceTypeEventConfiguration_wirelessGatewayEventTopic,++    -- ** LoRaWANDevice+    loRaWANDevice_abpV1_0_x,+    loRaWANDevice_abpV1_1,+    loRaWANDevice_devEui,+    loRaWANDevice_deviceProfileId,+    loRaWANDevice_fPorts,+    loRaWANDevice_otaaV1_0_x,+    loRaWANDevice_otaaV1_1,+    loRaWANDevice_serviceProfileId,++    -- ** LoRaWANDeviceMetadata+    loRaWANDeviceMetadata_dataRate,+    loRaWANDeviceMetadata_devEui,+    loRaWANDeviceMetadata_fPort,+    loRaWANDeviceMetadata_frequency,+    loRaWANDeviceMetadata_gateways,+    loRaWANDeviceMetadata_timestamp,++    -- ** LoRaWANDeviceProfile+    loRaWANDeviceProfile_classBTimeout,+    loRaWANDeviceProfile_classCTimeout,+    loRaWANDeviceProfile_factoryPresetFreqsList,+    loRaWANDeviceProfile_macVersion,+    loRaWANDeviceProfile_maxDutyCycle,+    loRaWANDeviceProfile_maxEirp,+    loRaWANDeviceProfile_pingSlotDr,+    loRaWANDeviceProfile_pingSlotFreq,+    loRaWANDeviceProfile_pingSlotPeriod,+    loRaWANDeviceProfile_regParamsRevision,+    loRaWANDeviceProfile_rfRegion,+    loRaWANDeviceProfile_rxDataRate2,+    loRaWANDeviceProfile_rxDelay1,+    loRaWANDeviceProfile_rxDrOffset1,+    loRaWANDeviceProfile_rxFreq2,+    loRaWANDeviceProfile_supports32BitFCnt,+    loRaWANDeviceProfile_supportsClassB,+    loRaWANDeviceProfile_supportsClassC,+    loRaWANDeviceProfile_supportsJoin,++    -- ** LoRaWANFuotaTask+    loRaWANFuotaTask_rfRegion,++    -- ** LoRaWANFuotaTaskGetInfo+    loRaWANFuotaTaskGetInfo_rfRegion,+    loRaWANFuotaTaskGetInfo_startTime,++    -- ** LoRaWANGateway+    loRaWANGateway_beaconing,+    loRaWANGateway_gatewayEui,+    loRaWANGateway_joinEuiFilters,+    loRaWANGateway_netIdFilters,+    loRaWANGateway_rfRegion,+    loRaWANGateway_subBands,++    -- ** LoRaWANGatewayCurrentVersion+    loRaWANGatewayCurrentVersion_currentVersion,++    -- ** LoRaWANGatewayMetadata+    loRaWANGatewayMetadata_gatewayEui,+    loRaWANGatewayMetadata_rssi,+    loRaWANGatewayMetadata_snr,++    -- ** LoRaWANGatewayVersion+    loRaWANGatewayVersion_model,+    loRaWANGatewayVersion_packageVersion,+    loRaWANGatewayVersion_station,++    -- ** LoRaWANGetServiceProfileInfo+    loRaWANGetServiceProfileInfo_addGwMetadata,+    loRaWANGetServiceProfileInfo_channelMask,+    loRaWANGetServiceProfileInfo_devStatusReqFreq,+    loRaWANGetServiceProfileInfo_dlBucketSize,+    loRaWANGetServiceProfileInfo_dlRate,+    loRaWANGetServiceProfileInfo_dlRatePolicy,+    loRaWANGetServiceProfileInfo_drMax,+    loRaWANGetServiceProfileInfo_drMin,+    loRaWANGetServiceProfileInfo_hrAllowed,+    loRaWANGetServiceProfileInfo_minGwDiversity,+    loRaWANGetServiceProfileInfo_nwkGeoLoc,+    loRaWANGetServiceProfileInfo_prAllowed,+    loRaWANGetServiceProfileInfo_raAllowed,+    loRaWANGetServiceProfileInfo_reportDevStatusBattery,+    loRaWANGetServiceProfileInfo_reportDevStatusMargin,+    loRaWANGetServiceProfileInfo_targetPer,+    loRaWANGetServiceProfileInfo_ulBucketSize,+    loRaWANGetServiceProfileInfo_ulRate,+    loRaWANGetServiceProfileInfo_ulRatePolicy,++    -- ** LoRaWANJoinEventNotificationConfigurations+    loRaWANJoinEventNotificationConfigurations_devEuiEventTopic,++    -- ** LoRaWANJoinResourceTypeEventConfiguration+    loRaWANJoinResourceTypeEventConfiguration_wirelessDeviceEventTopic,++    -- ** LoRaWANListDevice+    loRaWANListDevice_devEui,++    -- ** LoRaWANMulticast+    loRaWANMulticast_dlClass,+    loRaWANMulticast_rfRegion,++    -- ** LoRaWANMulticastGet+    loRaWANMulticastGet_dlClass,+    loRaWANMulticastGet_numberOfDevicesInGroup,+    loRaWANMulticastGet_numberOfDevicesRequested,+    loRaWANMulticastGet_rfRegion,++    -- ** LoRaWANMulticastMetadata+    loRaWANMulticastMetadata_fPort,++    -- ** LoRaWANMulticastSession+    loRaWANMulticastSession_dlDr,+    loRaWANMulticastSession_dlFreq,+    loRaWANMulticastSession_sessionStartTime,+    loRaWANMulticastSession_sessionTimeout,++    -- ** LoRaWANSendDataToDevice+    loRaWANSendDataToDevice_fPort,+    loRaWANSendDataToDevice_participatingGateways,++    -- ** LoRaWANServiceProfile+    loRaWANServiceProfile_addGwMetadata,+    loRaWANServiceProfile_drMax,+    loRaWANServiceProfile_drMin,++    -- ** LoRaWANStartFuotaTask+    loRaWANStartFuotaTask_startTime,++    -- ** LoRaWANUpdateDevice+    loRaWANUpdateDevice_abpV1_0_x,+    loRaWANUpdateDevice_abpV1_1,+    loRaWANUpdateDevice_deviceProfileId,+    loRaWANUpdateDevice_fPorts,+    loRaWANUpdateDevice_serviceProfileId,++    -- ** LoRaWANUpdateGatewayTaskCreate+    loRaWANUpdateGatewayTaskCreate_currentVersion,+    loRaWANUpdateGatewayTaskCreate_sigKeyCrc,+    loRaWANUpdateGatewayTaskCreate_updateSignature,+    loRaWANUpdateGatewayTaskCreate_updateVersion,++    -- ** LoRaWANUpdateGatewayTaskEntry+    loRaWANUpdateGatewayTaskEntry_currentVersion,+    loRaWANUpdateGatewayTaskEntry_updateVersion,++    -- ** LteLocalId+    lteLocalId_pci,+    lteLocalId_earfcn,++    -- ** LteNmrObj+    lteNmrObj_rsrp,+    lteNmrObj_rsrq,+    lteNmrObj_pci,+    lteNmrObj_earfcn,+    lteNmrObj_eutranCid,++    -- ** LteObj+    lteObj_lteLocalId,+    lteObj_lteNmr,+    lteObj_lteTimingAdvance,+    lteObj_nrCapable,+    lteObj_rsrp,+    lteObj_rsrq,+    lteObj_tac,+    lteObj_mcc,+    lteObj_mnc,+    lteObj_eutranCid,++    -- ** MessageDeliveryStatusEventConfiguration+    messageDeliveryStatusEventConfiguration_sidewalk,+    messageDeliveryStatusEventConfiguration_wirelessDeviceIdEventTopic,++    -- ** MessageDeliveryStatusResourceTypeEventConfiguration+    messageDeliveryStatusResourceTypeEventConfiguration_sidewalk,++    -- ** MulticastGroup+    multicastGroup_arn,+    multicastGroup_id,+    multicastGroup_name,++    -- ** MulticastGroupByFuotaTask+    multicastGroupByFuotaTask_id,++    -- ** MulticastWirelessMetadata+    multicastWirelessMetadata_loRaWAN,++    -- ** NetworkAnalyzerConfigurations+    networkAnalyzerConfigurations_arn,+    networkAnalyzerConfigurations_name,++    -- ** OtaaV1_0_x+    otaaV1_0_x_appEui,+    otaaV1_0_x_appKey,+    otaaV1_0_x_genAppKey,++    -- ** OtaaV1_1+    otaaV1_1_appKey,+    otaaV1_1_joinEui,+    otaaV1_1_nwkKey,++    -- ** ParticipatingGateways+    participatingGateways_downlinkMode,+    participatingGateways_gatewayList,+    participatingGateways_transmissionInterval,++    -- ** Positioning+    positioning_clockSync,+    positioning_gnss,+    positioning_stream,++    -- ** ProximityEventConfiguration+    proximityEventConfiguration_sidewalk,+    proximityEventConfiguration_wirelessDeviceIdEventTopic,++    -- ** ProximityResourceTypeEventConfiguration+    proximityResourceTypeEventConfiguration_sidewalk,++    -- ** ServiceProfile+    serviceProfile_arn,+    serviceProfile_id,+    serviceProfile_name,++    -- ** SessionKeysAbpV1_0_x+    sessionKeysAbpV1_0_x_appSKey,+    sessionKeysAbpV1_0_x_nwkSKey,++    -- ** SessionKeysAbpV1_1+    sessionKeysAbpV1_1_appSKey,+    sessionKeysAbpV1_1_fNwkSIntKey,+    sessionKeysAbpV1_1_nwkSEncKey,+    sessionKeysAbpV1_1_sNwkSIntKey,++    -- ** SidewalkAccountInfo+    sidewalkAccountInfo_amazonId,+    sidewalkAccountInfo_appServerPrivateKey,++    -- ** SidewalkAccountInfoWithFingerprint+    sidewalkAccountInfoWithFingerprint_amazonId,+    sidewalkAccountInfoWithFingerprint_arn,+    sidewalkAccountInfoWithFingerprint_fingerprint,++    -- ** SidewalkDevice+    sidewalkDevice_amazonId,+    sidewalkDevice_deviceCertificates,+    sidewalkDevice_sidewalkId,+    sidewalkDevice_sidewalkManufacturingSn,++    -- ** SidewalkDeviceMetadata+    sidewalkDeviceMetadata_batteryLevel,+    sidewalkDeviceMetadata_deviceState,+    sidewalkDeviceMetadata_event,+    sidewalkDeviceMetadata_rssi,++    -- ** SidewalkEventNotificationConfigurations+    sidewalkEventNotificationConfigurations_amazonIdEventTopic,++    -- ** SidewalkListDevice+    sidewalkListDevice_amazonId,+    sidewalkListDevice_deviceCertificates,+    sidewalkListDevice_sidewalkId,+    sidewalkListDevice_sidewalkManufacturingSn,++    -- ** SidewalkResourceTypeEventConfiguration+    sidewalkResourceTypeEventConfiguration_wirelessDeviceEventTopic,++    -- ** SidewalkSendDataToDevice+    sidewalkSendDataToDevice_ackModeRetryDurationSecs,+    sidewalkSendDataToDevice_messageType,+    sidewalkSendDataToDevice_seq,++    -- ** SidewalkUpdateAccount+    sidewalkUpdateAccount_appServerPrivateKey,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TdscdmaLocalId+    tdscdmaLocalId_uarfcn,+    tdscdmaLocalId_cellParams,++    -- ** TdscdmaNmrObj+    tdscdmaNmrObj_pathLoss,+    tdscdmaNmrObj_rscp,+    tdscdmaNmrObj_utranCid,+    tdscdmaNmrObj_uarfcn,+    tdscdmaNmrObj_cellParams,++    -- ** TdscdmaObj+    tdscdmaObj_lac,+    tdscdmaObj_pathLoss,+    tdscdmaObj_rscp,+    tdscdmaObj_tdscdmaLocalId,+    tdscdmaObj_tdscdmaNmr,+    tdscdmaObj_tdscdmaTimingAdvance,+    tdscdmaObj_mcc,+    tdscdmaObj_mnc,+    tdscdmaObj_utranCid,++    -- ** TraceContent+    traceContent_logLevel,+    traceContent_wirelessDeviceFrameInfo,++    -- ** UpdateAbpV1_0_x+    updateAbpV1_0_x_fCntStart,++    -- ** UpdateAbpV1_1+    updateAbpV1_1_fCntStart,++    -- ** UpdateFPorts+    updateFPorts_applications,+    updateFPorts_positioning,++    -- ** UpdateWirelessGatewayTaskCreate+    updateWirelessGatewayTaskCreate_loRaWAN,+    updateWirelessGatewayTaskCreate_updateDataRole,+    updateWirelessGatewayTaskCreate_updateDataSource,++    -- ** UpdateWirelessGatewayTaskEntry+    updateWirelessGatewayTaskEntry_arn,+    updateWirelessGatewayTaskEntry_id,+    updateWirelessGatewayTaskEntry_loRaWAN,++    -- ** WcdmaLocalId+    wcdmaLocalId_uarfcndl,+    wcdmaLocalId_psc,++    -- ** WcdmaNmrObj+    wcdmaNmrObj_pathLoss,+    wcdmaNmrObj_rscp,+    wcdmaNmrObj_uarfcndl,+    wcdmaNmrObj_psc,+    wcdmaNmrObj_utranCid,++    -- ** WcdmaObj+    wcdmaObj_lac,+    wcdmaObj_pathLoss,+    wcdmaObj_rscp,+    wcdmaObj_wcdmaLocalId,+    wcdmaObj_wcdmaNmr,+    wcdmaObj_mcc,+    wcdmaObj_mnc,+    wcdmaObj_utranCid,++    -- ** WiFiAccessPoint+    wiFiAccessPoint_macAddress,+    wiFiAccessPoint_rss,++    -- ** WirelessDeviceEventLogOption+    wirelessDeviceEventLogOption_event,+    wirelessDeviceEventLogOption_logLevel,++    -- ** WirelessDeviceLogOption+    wirelessDeviceLogOption_events,+    wirelessDeviceLogOption_type,+    wirelessDeviceLogOption_logLevel,++    -- ** WirelessDeviceStatistics+    wirelessDeviceStatistics_arn,+    wirelessDeviceStatistics_destinationName,+    wirelessDeviceStatistics_fuotaDeviceStatus,+    wirelessDeviceStatistics_id,+    wirelessDeviceStatistics_lastUplinkReceivedAt,+    wirelessDeviceStatistics_loRaWAN,+    wirelessDeviceStatistics_mcGroupId,+    wirelessDeviceStatistics_multicastDeviceStatus,+    wirelessDeviceStatistics_name,+    wirelessDeviceStatistics_sidewalk,+    wirelessDeviceStatistics_type,++    -- ** WirelessGatewayEventLogOption+    wirelessGatewayEventLogOption_event,+    wirelessGatewayEventLogOption_logLevel,++    -- ** WirelessGatewayLogOption+    wirelessGatewayLogOption_events,+    wirelessGatewayLogOption_type,+    wirelessGatewayLogOption_logLevel,++    -- ** WirelessGatewayStatistics+    wirelessGatewayStatistics_arn,+    wirelessGatewayStatistics_description,+    wirelessGatewayStatistics_id,+    wirelessGatewayStatistics_lastUplinkReceivedAt,+    wirelessGatewayStatistics_loRaWAN,+    wirelessGatewayStatistics_name,++    -- ** WirelessMetadata+    wirelessMetadata_loRaWAN,+    wirelessMetadata_sidewalk,+  )+where++import Amazonka.IoTWireless.AssociateAwsAccountWithPartnerAccount+import Amazonka.IoTWireless.AssociateMulticastGroupWithFuotaTask+import Amazonka.IoTWireless.AssociateWirelessDeviceWithFuotaTask+import Amazonka.IoTWireless.AssociateWirelessDeviceWithMulticastGroup+import Amazonka.IoTWireless.AssociateWirelessDeviceWithThing+import Amazonka.IoTWireless.AssociateWirelessGatewayWithCertificate+import Amazonka.IoTWireless.AssociateWirelessGatewayWithThing+import Amazonka.IoTWireless.CancelMulticastGroupSession+import Amazonka.IoTWireless.CreateDestination+import Amazonka.IoTWireless.CreateDeviceProfile+import Amazonka.IoTWireless.CreateFuotaTask+import Amazonka.IoTWireless.CreateMulticastGroup+import Amazonka.IoTWireless.CreateNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.CreateServiceProfile+import Amazonka.IoTWireless.CreateWirelessDevice+import Amazonka.IoTWireless.CreateWirelessGateway+import Amazonka.IoTWireless.CreateWirelessGatewayTask+import Amazonka.IoTWireless.CreateWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.DeleteDestination+import Amazonka.IoTWireless.DeleteDeviceProfile+import Amazonka.IoTWireless.DeleteFuotaTask+import Amazonka.IoTWireless.DeleteMulticastGroup+import Amazonka.IoTWireless.DeleteNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.DeleteQueuedMessages+import Amazonka.IoTWireless.DeleteServiceProfile+import Amazonka.IoTWireless.DeleteWirelessDevice+import Amazonka.IoTWireless.DeleteWirelessGateway+import Amazonka.IoTWireless.DeleteWirelessGatewayTask+import Amazonka.IoTWireless.DeleteWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.DisassociateAwsAccountFromPartnerAccount+import Amazonka.IoTWireless.DisassociateMulticastGroupFromFuotaTask+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromFuotaTask+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromMulticastGroup+import Amazonka.IoTWireless.DisassociateWirelessDeviceFromThing+import Amazonka.IoTWireless.DisassociateWirelessGatewayFromCertificate+import Amazonka.IoTWireless.DisassociateWirelessGatewayFromThing+import Amazonka.IoTWireless.GetDestination+import Amazonka.IoTWireless.GetDeviceProfile+import Amazonka.IoTWireless.GetEventConfigurationByResourceTypes+import Amazonka.IoTWireless.GetFuotaTask+import Amazonka.IoTWireless.GetLogLevelsByResourceTypes+import Amazonka.IoTWireless.GetMulticastGroup+import Amazonka.IoTWireless.GetMulticastGroupSession+import Amazonka.IoTWireless.GetNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.GetPartnerAccount+import Amazonka.IoTWireless.GetPositionEstimate+import Amazonka.IoTWireless.GetResourceEventConfiguration+import Amazonka.IoTWireless.GetResourceLogLevel+import Amazonka.IoTWireless.GetResourcePosition+import Amazonka.IoTWireless.GetServiceEndpoint+import Amazonka.IoTWireless.GetServiceProfile+import Amazonka.IoTWireless.GetWirelessDevice+import Amazonka.IoTWireless.GetWirelessDeviceStatistics+import Amazonka.IoTWireless.GetWirelessGateway+import Amazonka.IoTWireless.GetWirelessGatewayCertificate+import Amazonka.IoTWireless.GetWirelessGatewayFirmwareInformation+import Amazonka.IoTWireless.GetWirelessGatewayStatistics+import Amazonka.IoTWireless.GetWirelessGatewayTask+import Amazonka.IoTWireless.GetWirelessGatewayTaskDefinition+import Amazonka.IoTWireless.ListDestinations+import Amazonka.IoTWireless.ListDeviceProfiles+import Amazonka.IoTWireless.ListEventConfigurations+import Amazonka.IoTWireless.ListFuotaTasks+import Amazonka.IoTWireless.ListMulticastGroups+import Amazonka.IoTWireless.ListMulticastGroupsByFuotaTask+import Amazonka.IoTWireless.ListNetworkAnalyzerConfigurations+import Amazonka.IoTWireless.ListPartnerAccounts+import Amazonka.IoTWireless.ListQueuedMessages+import Amazonka.IoTWireless.ListServiceProfiles+import Amazonka.IoTWireless.ListTagsForResource+import Amazonka.IoTWireless.ListWirelessDevices+import Amazonka.IoTWireless.ListWirelessGatewayTaskDefinitions+import Amazonka.IoTWireless.ListWirelessGateways+import Amazonka.IoTWireless.PutResourceLogLevel+import Amazonka.IoTWireless.ResetAllResourceLogLevels+import Amazonka.IoTWireless.ResetResourceLogLevel+import Amazonka.IoTWireless.SendDataToMulticastGroup+import Amazonka.IoTWireless.SendDataToWirelessDevice+import Amazonka.IoTWireless.StartBulkAssociateWirelessDeviceWithMulticastGroup+import Amazonka.IoTWireless.StartBulkDisassociateWirelessDeviceFromMulticastGroup+import Amazonka.IoTWireless.StartFuotaTask+import Amazonka.IoTWireless.StartMulticastGroupSession+import Amazonka.IoTWireless.TagResource+import Amazonka.IoTWireless.TestWirelessDevice+import Amazonka.IoTWireless.Types.AbpV1_0_x+import Amazonka.IoTWireless.Types.AbpV1_1+import Amazonka.IoTWireless.Types.ApplicationConfig+import Amazonka.IoTWireless.Types.Beaconing+import Amazonka.IoTWireless.Types.CdmaLocalId+import Amazonka.IoTWireless.Types.CdmaNmrObj+import Amazonka.IoTWireless.Types.CdmaObj+import Amazonka.IoTWireless.Types.CellTowers+import Amazonka.IoTWireless.Types.CertificateList+import Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration+import Amazonka.IoTWireless.Types.ConnectionStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.Destinations+import Amazonka.IoTWireless.Types.DeviceProfile+import Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration+import Amazonka.IoTWireless.Types.DeviceRegistrationStateResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.DownlinkQueueMessage+import Amazonka.IoTWireless.Types.EventConfigurationItem+import Amazonka.IoTWireless.Types.EventNotificationItemConfigurations+import Amazonka.IoTWireless.Types.FPorts+import Amazonka.IoTWireless.Types.FuotaTask+import Amazonka.IoTWireless.Types.GatewayListItem+import Amazonka.IoTWireless.Types.GlobalIdentity+import Amazonka.IoTWireless.Types.Gnss+import Amazonka.IoTWireless.Types.GsmLocalId+import Amazonka.IoTWireless.Types.GsmNmrObj+import Amazonka.IoTWireless.Types.GsmObj+import Amazonka.IoTWireless.Types.Ip+import Amazonka.IoTWireless.Types.JoinEventConfiguration+import Amazonka.IoTWireless.Types.JoinResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANDevice+import Amazonka.IoTWireless.Types.LoRaWANDeviceMetadata+import Amazonka.IoTWireless.Types.LoRaWANDeviceProfile+import Amazonka.IoTWireless.Types.LoRaWANFuotaTask+import Amazonka.IoTWireless.Types.LoRaWANFuotaTaskGetInfo+import Amazonka.IoTWireless.Types.LoRaWANGateway+import Amazonka.IoTWireless.Types.LoRaWANGatewayCurrentVersion+import Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata+import Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+import Amazonka.IoTWireless.Types.LoRaWANGetServiceProfileInfo+import Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations+import Amazonka.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANListDevice+import Amazonka.IoTWireless.Types.LoRaWANMulticast+import Amazonka.IoTWireless.Types.LoRaWANMulticastGet+import Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata+import Amazonka.IoTWireless.Types.LoRaWANMulticastSession+import Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+import Amazonka.IoTWireless.Types.LoRaWANServiceProfile+import Amazonka.IoTWireless.Types.LoRaWANStartFuotaTask+import Amazonka.IoTWireless.Types.LoRaWANUpdateDevice+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry+import Amazonka.IoTWireless.Types.LteLocalId+import Amazonka.IoTWireless.Types.LteNmrObj+import Amazonka.IoTWireless.Types.LteObj+import Amazonka.IoTWireless.Types.MessageDeliveryStatusEventConfiguration+import Amazonka.IoTWireless.Types.MessageDeliveryStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.MulticastGroup+import Amazonka.IoTWireless.Types.MulticastGroupByFuotaTask+import Amazonka.IoTWireless.Types.MulticastWirelessMetadata+import Amazonka.IoTWireless.Types.NetworkAnalyzerConfigurations+import Amazonka.IoTWireless.Types.OtaaV1_0_x+import Amazonka.IoTWireless.Types.OtaaV1_1+import Amazonka.IoTWireless.Types.ParticipatingGateways+import Amazonka.IoTWireless.Types.Positioning+import Amazonka.IoTWireless.Types.ProximityEventConfiguration+import Amazonka.IoTWireless.Types.ProximityResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.ServiceProfile+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_0_x+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_1+import Amazonka.IoTWireless.Types.SidewalkAccountInfo+import Amazonka.IoTWireless.Types.SidewalkAccountInfoWithFingerprint+import Amazonka.IoTWireless.Types.SidewalkDevice+import Amazonka.IoTWireless.Types.SidewalkDeviceMetadata+import Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+import Amazonka.IoTWireless.Types.SidewalkListDevice+import Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.SidewalkSendDataToDevice+import Amazonka.IoTWireless.Types.SidewalkUpdateAccount+import Amazonka.IoTWireless.Types.Tag+import Amazonka.IoTWireless.Types.TdscdmaLocalId+import Amazonka.IoTWireless.Types.TdscdmaNmrObj+import Amazonka.IoTWireless.Types.TdscdmaObj+import Amazonka.IoTWireless.Types.TraceContent+import Amazonka.IoTWireless.Types.UpdateAbpV1_0_x+import Amazonka.IoTWireless.Types.UpdateAbpV1_1+import Amazonka.IoTWireless.Types.UpdateFPorts+import Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskCreate+import Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskEntry+import Amazonka.IoTWireless.Types.WcdmaLocalId+import Amazonka.IoTWireless.Types.WcdmaNmrObj+import Amazonka.IoTWireless.Types.WcdmaObj+import Amazonka.IoTWireless.Types.WiFiAccessPoint+import Amazonka.IoTWireless.Types.WirelessDeviceEventLogOption+import Amazonka.IoTWireless.Types.WirelessDeviceLogOption+import Amazonka.IoTWireless.Types.WirelessDeviceStatistics+import Amazonka.IoTWireless.Types.WirelessGatewayEventLogOption+import Amazonka.IoTWireless.Types.WirelessGatewayLogOption+import Amazonka.IoTWireless.Types.WirelessGatewayStatistics+import Amazonka.IoTWireless.Types.WirelessMetadata+import Amazonka.IoTWireless.UntagResource+import Amazonka.IoTWireless.UpdateDestination+import Amazonka.IoTWireless.UpdateEventConfigurationByResourceTypes+import Amazonka.IoTWireless.UpdateFuotaTask+import Amazonka.IoTWireless.UpdateLogLevelsByResourceTypes+import Amazonka.IoTWireless.UpdateMulticastGroup+import Amazonka.IoTWireless.UpdateNetworkAnalyzerConfiguration+import Amazonka.IoTWireless.UpdatePartnerAccount+import Amazonka.IoTWireless.UpdateResourceEventConfiguration+import Amazonka.IoTWireless.UpdateResourcePosition+import Amazonka.IoTWireless.UpdateWirelessDevice+import Amazonka.IoTWireless.UpdateWirelessGateway
+ gen/Amazonka/IoTWireless/ListDestinations.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.IoTWireless.ListDestinations+-- 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 destinations registered to your AWS account.+module Amazonka.IoTWireless.ListDestinations+  ( -- * Creating a Request+    ListDestinations (..),+    newListDestinations,++    -- * Request Lenses+    listDestinations_maxResults,+    listDestinations_nextToken,++    -- * Destructuring the Response+    ListDestinationsResponse (..),+    newListDestinationsResponse,++    -- * Response Lenses+    listDestinationsResponse_destinationList,+    listDestinationsResponse_nextToken,+    listDestinationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDestinations' smart constructor.+data ListDestinations = ListDestinations'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDestinations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDestinations_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listDestinations_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListDestinations ::+  ListDestinations+newListDestinations =+  ListDestinations'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listDestinations_maxResults :: Lens.Lens' ListDestinations (Prelude.Maybe Prelude.Natural)+listDestinations_maxResults = Lens.lens (\ListDestinations' {maxResults} -> maxResults) (\s@ListDestinations' {} a -> s {maxResults = a} :: ListDestinations)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listDestinations_nextToken :: Lens.Lens' ListDestinations (Prelude.Maybe Prelude.Text)+listDestinations_nextToken = Lens.lens (\ListDestinations' {nextToken} -> nextToken) (\s@ListDestinations' {} a -> s {nextToken = a} :: ListDestinations)++instance Core.AWSRequest ListDestinations where+  type+    AWSResponse ListDestinations =+      ListDestinationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDestinationsResponse'+            Prelude.<$> ( x+                            Data..?> "DestinationList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDestinations where+  hashWithSalt _salt ListDestinations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDestinations where+  rnf ListDestinations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDestinations where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListDestinations where+  toPath = Prelude.const "/destinations"++instance Data.ToQuery ListDestinations where+  toQuery ListDestinations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListDestinationsResponse' smart constructor.+data ListDestinationsResponse = ListDestinationsResponse'+  { -- | The list of destinations.+    destinationList :: Prelude.Maybe [Destinations],+    -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional 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 'ListDestinationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationList', 'listDestinationsResponse_destinationList' - The list of destinations.+--+-- 'nextToken', 'listDestinationsResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'httpStatus', 'listDestinationsResponse_httpStatus' - The response's http status code.+newListDestinationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDestinationsResponse+newListDestinationsResponse pHttpStatus_ =+  ListDestinationsResponse'+    { destinationList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of destinations.+listDestinationsResponse_destinationList :: Lens.Lens' ListDestinationsResponse (Prelude.Maybe [Destinations])+listDestinationsResponse_destinationList = Lens.lens (\ListDestinationsResponse' {destinationList} -> destinationList) (\s@ListDestinationsResponse' {} a -> s {destinationList = a} :: ListDestinationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listDestinationsResponse_nextToken :: Lens.Lens' ListDestinationsResponse (Prelude.Maybe Prelude.Text)+listDestinationsResponse_nextToken = Lens.lens (\ListDestinationsResponse' {nextToken} -> nextToken) (\s@ListDestinationsResponse' {} a -> s {nextToken = a} :: ListDestinationsResponse)++-- | The response's http status code.+listDestinationsResponse_httpStatus :: Lens.Lens' ListDestinationsResponse Prelude.Int+listDestinationsResponse_httpStatus = Lens.lens (\ListDestinationsResponse' {httpStatus} -> httpStatus) (\s@ListDestinationsResponse' {} a -> s {httpStatus = a} :: ListDestinationsResponse)++instance Prelude.NFData ListDestinationsResponse where+  rnf ListDestinationsResponse' {..} =+    Prelude.rnf destinationList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListDeviceProfiles.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.IoTWireless.ListDeviceProfiles+-- 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 device profiles registered to your AWS account.+module Amazonka.IoTWireless.ListDeviceProfiles+  ( -- * Creating a Request+    ListDeviceProfiles (..),+    newListDeviceProfiles,++    -- * Request Lenses+    listDeviceProfiles_maxResults,+    listDeviceProfiles_nextToken,++    -- * Destructuring the Response+    ListDeviceProfilesResponse (..),+    newListDeviceProfilesResponse,++    -- * Response Lenses+    listDeviceProfilesResponse_deviceProfileList,+    listDeviceProfilesResponse_nextToken,+    listDeviceProfilesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDeviceProfiles' smart constructor.+data ListDeviceProfiles = ListDeviceProfiles'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeviceProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDeviceProfiles_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listDeviceProfiles_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListDeviceProfiles ::+  ListDeviceProfiles+newListDeviceProfiles =+  ListDeviceProfiles'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listDeviceProfiles_maxResults :: Lens.Lens' ListDeviceProfiles (Prelude.Maybe Prelude.Natural)+listDeviceProfiles_maxResults = Lens.lens (\ListDeviceProfiles' {maxResults} -> maxResults) (\s@ListDeviceProfiles' {} a -> s {maxResults = a} :: ListDeviceProfiles)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listDeviceProfiles_nextToken :: Lens.Lens' ListDeviceProfiles (Prelude.Maybe Prelude.Text)+listDeviceProfiles_nextToken = Lens.lens (\ListDeviceProfiles' {nextToken} -> nextToken) (\s@ListDeviceProfiles' {} a -> s {nextToken = a} :: ListDeviceProfiles)++instance Core.AWSRequest ListDeviceProfiles where+  type+    AWSResponse ListDeviceProfiles =+      ListDeviceProfilesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDeviceProfilesResponse'+            Prelude.<$> ( x+                            Data..?> "DeviceProfileList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDeviceProfiles where+  hashWithSalt _salt ListDeviceProfiles' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDeviceProfiles where+  rnf ListDeviceProfiles' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDeviceProfiles where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListDeviceProfiles where+  toPath = Prelude.const "/device-profiles"++instance Data.ToQuery ListDeviceProfiles where+  toQuery ListDeviceProfiles' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListDeviceProfilesResponse' smart constructor.+data ListDeviceProfilesResponse = ListDeviceProfilesResponse'+  { -- | The list of device profiles.+    deviceProfileList :: Prelude.Maybe [DeviceProfile],+    -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional 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 'ListDeviceProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceProfileList', 'listDeviceProfilesResponse_deviceProfileList' - The list of device profiles.+--+-- 'nextToken', 'listDeviceProfilesResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'httpStatus', 'listDeviceProfilesResponse_httpStatus' - The response's http status code.+newListDeviceProfilesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDeviceProfilesResponse+newListDeviceProfilesResponse pHttpStatus_ =+  ListDeviceProfilesResponse'+    { deviceProfileList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of device profiles.+listDeviceProfilesResponse_deviceProfileList :: Lens.Lens' ListDeviceProfilesResponse (Prelude.Maybe [DeviceProfile])+listDeviceProfilesResponse_deviceProfileList = Lens.lens (\ListDeviceProfilesResponse' {deviceProfileList} -> deviceProfileList) (\s@ListDeviceProfilesResponse' {} a -> s {deviceProfileList = a} :: ListDeviceProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listDeviceProfilesResponse_nextToken :: Lens.Lens' ListDeviceProfilesResponse (Prelude.Maybe Prelude.Text)+listDeviceProfilesResponse_nextToken = Lens.lens (\ListDeviceProfilesResponse' {nextToken} -> nextToken) (\s@ListDeviceProfilesResponse' {} a -> s {nextToken = a} :: ListDeviceProfilesResponse)++-- | The response's http status code.+listDeviceProfilesResponse_httpStatus :: Lens.Lens' ListDeviceProfilesResponse Prelude.Int+listDeviceProfilesResponse_httpStatus = Lens.lens (\ListDeviceProfilesResponse' {httpStatus} -> httpStatus) (\s@ListDeviceProfilesResponse' {} a -> s {httpStatus = a} :: ListDeviceProfilesResponse)++instance Prelude.NFData ListDeviceProfilesResponse where+  rnf ListDeviceProfilesResponse' {..} =+    Prelude.rnf deviceProfileList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListEventConfigurations.hs view
@@ -0,0 +1,213 @@+{-# 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.IoTWireless.ListEventConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List event configurations where at least one event topic has been+-- enabled.+module Amazonka.IoTWireless.ListEventConfigurations+  ( -- * Creating a Request+    ListEventConfigurations (..),+    newListEventConfigurations,++    -- * Request Lenses+    listEventConfigurations_maxResults,+    listEventConfigurations_nextToken,+    listEventConfigurations_resourceType,++    -- * Destructuring the Response+    ListEventConfigurationsResponse (..),+    newListEventConfigurationsResponse,++    -- * Response Lenses+    listEventConfigurationsResponse_eventConfigurationsList,+    listEventConfigurationsResponse_nextToken,+    listEventConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEventConfigurations' smart constructor.+data ListEventConfigurations = ListEventConfigurations'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Resource type to filter event configurations.+    resourceType :: EventNotificationResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEventConfigurations_maxResults' - Undocumented member.+--+-- 'nextToken', 'listEventConfigurations_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'resourceType', 'listEventConfigurations_resourceType' - Resource type to filter event configurations.+newListEventConfigurations ::+  -- | 'resourceType'+  EventNotificationResourceType ->+  ListEventConfigurations+newListEventConfigurations pResourceType_ =+  ListEventConfigurations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceType = pResourceType_+    }++-- | Undocumented member.+listEventConfigurations_maxResults :: Lens.Lens' ListEventConfigurations (Prelude.Maybe Prelude.Natural)+listEventConfigurations_maxResults = Lens.lens (\ListEventConfigurations' {maxResults} -> maxResults) (\s@ListEventConfigurations' {} a -> s {maxResults = a} :: ListEventConfigurations)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listEventConfigurations_nextToken :: Lens.Lens' ListEventConfigurations (Prelude.Maybe Prelude.Text)+listEventConfigurations_nextToken = Lens.lens (\ListEventConfigurations' {nextToken} -> nextToken) (\s@ListEventConfigurations' {} a -> s {nextToken = a} :: ListEventConfigurations)++-- | Resource type to filter event configurations.+listEventConfigurations_resourceType :: Lens.Lens' ListEventConfigurations EventNotificationResourceType+listEventConfigurations_resourceType = Lens.lens (\ListEventConfigurations' {resourceType} -> resourceType) (\s@ListEventConfigurations' {} a -> s {resourceType = a} :: ListEventConfigurations)++instance Core.AWSRequest ListEventConfigurations where+  type+    AWSResponse ListEventConfigurations =+      ListEventConfigurationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEventConfigurationsResponse'+            Prelude.<$> ( x+                            Data..?> "EventConfigurationsList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEventConfigurations where+  hashWithSalt _salt ListEventConfigurations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ListEventConfigurations where+  rnf ListEventConfigurations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders ListEventConfigurations where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListEventConfigurations where+  toPath = Prelude.const "/event-configurations"++instance Data.ToQuery ListEventConfigurations where+  toQuery ListEventConfigurations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newListEventConfigurationsResponse' smart constructor.+data ListEventConfigurationsResponse = ListEventConfigurationsResponse'+  { -- | Event configurations of all events for a single resource.+    eventConfigurationsList :: Prelude.Maybe [EventConfigurationItem],+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEventConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventConfigurationsList', 'listEventConfigurationsResponse_eventConfigurationsList' - Event configurations of all events for a single resource.+--+-- 'nextToken', 'listEventConfigurationsResponse_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'httpStatus', 'listEventConfigurationsResponse_httpStatus' - The response's http status code.+newListEventConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEventConfigurationsResponse+newListEventConfigurationsResponse pHttpStatus_ =+  ListEventConfigurationsResponse'+    { eventConfigurationsList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Event configurations of all events for a single resource.+listEventConfigurationsResponse_eventConfigurationsList :: Lens.Lens' ListEventConfigurationsResponse (Prelude.Maybe [EventConfigurationItem])+listEventConfigurationsResponse_eventConfigurationsList = Lens.lens (\ListEventConfigurationsResponse' {eventConfigurationsList} -> eventConfigurationsList) (\s@ListEventConfigurationsResponse' {} a -> s {eventConfigurationsList = a} :: ListEventConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listEventConfigurationsResponse_nextToken :: Lens.Lens' ListEventConfigurationsResponse (Prelude.Maybe Prelude.Text)+listEventConfigurationsResponse_nextToken = Lens.lens (\ListEventConfigurationsResponse' {nextToken} -> nextToken) (\s@ListEventConfigurationsResponse' {} a -> s {nextToken = a} :: ListEventConfigurationsResponse)++-- | The response's http status code.+listEventConfigurationsResponse_httpStatus :: Lens.Lens' ListEventConfigurationsResponse Prelude.Int+listEventConfigurationsResponse_httpStatus = Lens.lens (\ListEventConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListEventConfigurationsResponse' {} a -> s {httpStatus = a} :: ListEventConfigurationsResponse)++instance+  Prelude.NFData+    ListEventConfigurationsResponse+  where+  rnf ListEventConfigurationsResponse' {..} =+    Prelude.rnf eventConfigurationsList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListFuotaTasks.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.IoTWireless.ListFuotaTasks+-- 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 FUOTA tasks registered to your AWS account.+module Amazonka.IoTWireless.ListFuotaTasks+  ( -- * Creating a Request+    ListFuotaTasks (..),+    newListFuotaTasks,++    -- * Request Lenses+    listFuotaTasks_maxResults,+    listFuotaTasks_nextToken,++    -- * Destructuring the Response+    ListFuotaTasksResponse (..),+    newListFuotaTasksResponse,++    -- * Response Lenses+    listFuotaTasksResponse_fuotaTaskList,+    listFuotaTasksResponse_nextToken,+    listFuotaTasksResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFuotaTasks' smart constructor.+data ListFuotaTasks = ListFuotaTasks'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFuotaTasks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listFuotaTasks_maxResults' - Undocumented member.+--+-- 'nextToken', 'listFuotaTasks_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListFuotaTasks ::+  ListFuotaTasks+newListFuotaTasks =+  ListFuotaTasks'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Undocumented member.+listFuotaTasks_maxResults :: Lens.Lens' ListFuotaTasks (Prelude.Maybe Prelude.Natural)+listFuotaTasks_maxResults = Lens.lens (\ListFuotaTasks' {maxResults} -> maxResults) (\s@ListFuotaTasks' {} a -> s {maxResults = a} :: ListFuotaTasks)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listFuotaTasks_nextToken :: Lens.Lens' ListFuotaTasks (Prelude.Maybe Prelude.Text)+listFuotaTasks_nextToken = Lens.lens (\ListFuotaTasks' {nextToken} -> nextToken) (\s@ListFuotaTasks' {} a -> s {nextToken = a} :: ListFuotaTasks)++instance Core.AWSRequest ListFuotaTasks where+  type+    AWSResponse ListFuotaTasks =+      ListFuotaTasksResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListFuotaTasksResponse'+            Prelude.<$> (x Data..?> "FuotaTaskList" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListFuotaTasks where+  hashWithSalt _salt ListFuotaTasks' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFuotaTasks where+  rnf ListFuotaTasks' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFuotaTasks where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListFuotaTasks where+  toPath = Prelude.const "/fuota-tasks"++instance Data.ToQuery ListFuotaTasks where+  toQuery ListFuotaTasks' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListFuotaTasksResponse' smart constructor.+data ListFuotaTasksResponse = ListFuotaTasksResponse'+  { fuotaTaskList :: Prelude.Maybe [FuotaTask],+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFuotaTasksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fuotaTaskList', 'listFuotaTasksResponse_fuotaTaskList' - Undocumented member.+--+-- 'nextToken', 'listFuotaTasksResponse_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'httpStatus', 'listFuotaTasksResponse_httpStatus' - The response's http status code.+newListFuotaTasksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListFuotaTasksResponse+newListFuotaTasksResponse pHttpStatus_ =+  ListFuotaTasksResponse'+    { fuotaTaskList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listFuotaTasksResponse_fuotaTaskList :: Lens.Lens' ListFuotaTasksResponse (Prelude.Maybe [FuotaTask])+listFuotaTasksResponse_fuotaTaskList = Lens.lens (\ListFuotaTasksResponse' {fuotaTaskList} -> fuotaTaskList) (\s@ListFuotaTasksResponse' {} a -> s {fuotaTaskList = a} :: ListFuotaTasksResponse) Prelude.. Lens.mapping Lens.coerced++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listFuotaTasksResponse_nextToken :: Lens.Lens' ListFuotaTasksResponse (Prelude.Maybe Prelude.Text)+listFuotaTasksResponse_nextToken = Lens.lens (\ListFuotaTasksResponse' {nextToken} -> nextToken) (\s@ListFuotaTasksResponse' {} a -> s {nextToken = a} :: ListFuotaTasksResponse)++-- | The response's http status code.+listFuotaTasksResponse_httpStatus :: Lens.Lens' ListFuotaTasksResponse Prelude.Int+listFuotaTasksResponse_httpStatus = Lens.lens (\ListFuotaTasksResponse' {httpStatus} -> httpStatus) (\s@ListFuotaTasksResponse' {} a -> s {httpStatus = a} :: ListFuotaTasksResponse)++instance Prelude.NFData ListFuotaTasksResponse where+  rnf ListFuotaTasksResponse' {..} =+    Prelude.rnf fuotaTaskList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListMulticastGroups.hs view
@@ -0,0 +1,192 @@+{-# 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.IoTWireless.ListMulticastGroups+-- 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 multicast groups registered to your AWS account.+module Amazonka.IoTWireless.ListMulticastGroups+  ( -- * Creating a Request+    ListMulticastGroups (..),+    newListMulticastGroups,++    -- * Request Lenses+    listMulticastGroups_maxResults,+    listMulticastGroups_nextToken,++    -- * Destructuring the Response+    ListMulticastGroupsResponse (..),+    newListMulticastGroupsResponse,++    -- * Response Lenses+    listMulticastGroupsResponse_multicastGroupList,+    listMulticastGroupsResponse_nextToken,+    listMulticastGroupsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMulticastGroups' smart constructor.+data ListMulticastGroups = ListMulticastGroups'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMulticastGroups' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMulticastGroups_maxResults' - Undocumented member.+--+-- 'nextToken', 'listMulticastGroups_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListMulticastGroups ::+  ListMulticastGroups+newListMulticastGroups =+  ListMulticastGroups'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Undocumented member.+listMulticastGroups_maxResults :: Lens.Lens' ListMulticastGroups (Prelude.Maybe Prelude.Natural)+listMulticastGroups_maxResults = Lens.lens (\ListMulticastGroups' {maxResults} -> maxResults) (\s@ListMulticastGroups' {} a -> s {maxResults = a} :: ListMulticastGroups)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listMulticastGroups_nextToken :: Lens.Lens' ListMulticastGroups (Prelude.Maybe Prelude.Text)+listMulticastGroups_nextToken = Lens.lens (\ListMulticastGroups' {nextToken} -> nextToken) (\s@ListMulticastGroups' {} a -> s {nextToken = a} :: ListMulticastGroups)++instance Core.AWSRequest ListMulticastGroups where+  type+    AWSResponse ListMulticastGroups =+      ListMulticastGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMulticastGroupsResponse'+            Prelude.<$> ( x+                            Data..?> "MulticastGroupList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMulticastGroups where+  hashWithSalt _salt ListMulticastGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMulticastGroups where+  rnf ListMulticastGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMulticastGroups where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMulticastGroups where+  toPath = Prelude.const "/multicast-groups"++instance Data.ToQuery ListMulticastGroups where+  toQuery ListMulticastGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListMulticastGroupsResponse' smart constructor.+data ListMulticastGroupsResponse = ListMulticastGroupsResponse'+  { multicastGroupList :: Prelude.Maybe [MulticastGroup],+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMulticastGroupsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'multicastGroupList', 'listMulticastGroupsResponse_multicastGroupList' - Undocumented member.+--+-- 'nextToken', 'listMulticastGroupsResponse_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'httpStatus', 'listMulticastGroupsResponse_httpStatus' - The response's http status code.+newListMulticastGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMulticastGroupsResponse+newListMulticastGroupsResponse pHttpStatus_ =+  ListMulticastGroupsResponse'+    { multicastGroupList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listMulticastGroupsResponse_multicastGroupList :: Lens.Lens' ListMulticastGroupsResponse (Prelude.Maybe [MulticastGroup])+listMulticastGroupsResponse_multicastGroupList = Lens.lens (\ListMulticastGroupsResponse' {multicastGroupList} -> multicastGroupList) (\s@ListMulticastGroupsResponse' {} a -> s {multicastGroupList = a} :: ListMulticastGroupsResponse) Prelude.. Lens.mapping Lens.coerced++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listMulticastGroupsResponse_nextToken :: Lens.Lens' ListMulticastGroupsResponse (Prelude.Maybe Prelude.Text)+listMulticastGroupsResponse_nextToken = Lens.lens (\ListMulticastGroupsResponse' {nextToken} -> nextToken) (\s@ListMulticastGroupsResponse' {} a -> s {nextToken = a} :: ListMulticastGroupsResponse)++-- | The response's http status code.+listMulticastGroupsResponse_httpStatus :: Lens.Lens' ListMulticastGroupsResponse Prelude.Int+listMulticastGroupsResponse_httpStatus = Lens.lens (\ListMulticastGroupsResponse' {httpStatus} -> httpStatus) (\s@ListMulticastGroupsResponse' {} a -> s {httpStatus = a} :: ListMulticastGroupsResponse)++instance Prelude.NFData ListMulticastGroupsResponse where+  rnf ListMulticastGroupsResponse' {..} =+    Prelude.rnf multicastGroupList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListMulticastGroupsByFuotaTask.hs view
@@ -0,0 +1,226 @@+{-# 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.IoTWireless.ListMulticastGroupsByFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all multicast groups associated with a fuota task.+module Amazonka.IoTWireless.ListMulticastGroupsByFuotaTask+  ( -- * Creating a Request+    ListMulticastGroupsByFuotaTask (..),+    newListMulticastGroupsByFuotaTask,++    -- * Request Lenses+    listMulticastGroupsByFuotaTask_maxResults,+    listMulticastGroupsByFuotaTask_nextToken,+    listMulticastGroupsByFuotaTask_id,++    -- * Destructuring the Response+    ListMulticastGroupsByFuotaTaskResponse (..),+    newListMulticastGroupsByFuotaTaskResponse,++    -- * Response Lenses+    listMulticastGroupsByFuotaTaskResponse_multicastGroupList,+    listMulticastGroupsByFuotaTaskResponse_nextToken,+    listMulticastGroupsByFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMulticastGroupsByFuotaTask' smart constructor.+data ListMulticastGroupsByFuotaTask = ListMulticastGroupsByFuotaTask'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMulticastGroupsByFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMulticastGroupsByFuotaTask_maxResults' - Undocumented member.+--+-- 'nextToken', 'listMulticastGroupsByFuotaTask_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'id', 'listMulticastGroupsByFuotaTask_id' - Undocumented member.+newListMulticastGroupsByFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  ListMulticastGroupsByFuotaTask+newListMulticastGroupsByFuotaTask pId_ =+  ListMulticastGroupsByFuotaTask'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      id = pId_+    }++-- | Undocumented member.+listMulticastGroupsByFuotaTask_maxResults :: Lens.Lens' ListMulticastGroupsByFuotaTask (Prelude.Maybe Prelude.Natural)+listMulticastGroupsByFuotaTask_maxResults = Lens.lens (\ListMulticastGroupsByFuotaTask' {maxResults} -> maxResults) (\s@ListMulticastGroupsByFuotaTask' {} a -> s {maxResults = a} :: ListMulticastGroupsByFuotaTask)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listMulticastGroupsByFuotaTask_nextToken :: Lens.Lens' ListMulticastGroupsByFuotaTask (Prelude.Maybe Prelude.Text)+listMulticastGroupsByFuotaTask_nextToken = Lens.lens (\ListMulticastGroupsByFuotaTask' {nextToken} -> nextToken) (\s@ListMulticastGroupsByFuotaTask' {} a -> s {nextToken = a} :: ListMulticastGroupsByFuotaTask)++-- | Undocumented member.+listMulticastGroupsByFuotaTask_id :: Lens.Lens' ListMulticastGroupsByFuotaTask Prelude.Text+listMulticastGroupsByFuotaTask_id = Lens.lens (\ListMulticastGroupsByFuotaTask' {id} -> id) (\s@ListMulticastGroupsByFuotaTask' {} a -> s {id = a} :: ListMulticastGroupsByFuotaTask)++instance+  Core.AWSRequest+    ListMulticastGroupsByFuotaTask+  where+  type+    AWSResponse ListMulticastGroupsByFuotaTask =+      ListMulticastGroupsByFuotaTaskResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMulticastGroupsByFuotaTaskResponse'+            Prelude.<$> ( x+                            Data..?> "MulticastGroupList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListMulticastGroupsByFuotaTask+  where+  hashWithSalt+    _salt+    ListMulticastGroupsByFuotaTask' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    ListMulticastGroupsByFuotaTask+  where+  rnf ListMulticastGroupsByFuotaTask' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    ListMulticastGroupsByFuotaTask+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMulticastGroupsByFuotaTask where+  toPath ListMulticastGroupsByFuotaTask' {..} =+    Prelude.mconcat+      ["/fuota-tasks/", Data.toBS id, "/multicast-groups"]++instance Data.ToQuery ListMulticastGroupsByFuotaTask where+  toQuery ListMulticastGroupsByFuotaTask' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListMulticastGroupsByFuotaTaskResponse' smart constructor.+data ListMulticastGroupsByFuotaTaskResponse = ListMulticastGroupsByFuotaTaskResponse'+  { multicastGroupList :: Prelude.Maybe [MulticastGroupByFuotaTask],+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMulticastGroupsByFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'multicastGroupList', 'listMulticastGroupsByFuotaTaskResponse_multicastGroupList' - Undocumented member.+--+-- 'nextToken', 'listMulticastGroupsByFuotaTaskResponse_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'httpStatus', 'listMulticastGroupsByFuotaTaskResponse_httpStatus' - The response's http status code.+newListMulticastGroupsByFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMulticastGroupsByFuotaTaskResponse+newListMulticastGroupsByFuotaTaskResponse+  pHttpStatus_ =+    ListMulticastGroupsByFuotaTaskResponse'+      { multicastGroupList =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+listMulticastGroupsByFuotaTaskResponse_multicastGroupList :: Lens.Lens' ListMulticastGroupsByFuotaTaskResponse (Prelude.Maybe [MulticastGroupByFuotaTask])+listMulticastGroupsByFuotaTaskResponse_multicastGroupList = Lens.lens (\ListMulticastGroupsByFuotaTaskResponse' {multicastGroupList} -> multicastGroupList) (\s@ListMulticastGroupsByFuotaTaskResponse' {} a -> s {multicastGroupList = a} :: ListMulticastGroupsByFuotaTaskResponse) Prelude.. Lens.mapping Lens.coerced++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listMulticastGroupsByFuotaTaskResponse_nextToken :: Lens.Lens' ListMulticastGroupsByFuotaTaskResponse (Prelude.Maybe Prelude.Text)+listMulticastGroupsByFuotaTaskResponse_nextToken = Lens.lens (\ListMulticastGroupsByFuotaTaskResponse' {nextToken} -> nextToken) (\s@ListMulticastGroupsByFuotaTaskResponse' {} a -> s {nextToken = a} :: ListMulticastGroupsByFuotaTaskResponse)++-- | The response's http status code.+listMulticastGroupsByFuotaTaskResponse_httpStatus :: Lens.Lens' ListMulticastGroupsByFuotaTaskResponse Prelude.Int+listMulticastGroupsByFuotaTaskResponse_httpStatus = Lens.lens (\ListMulticastGroupsByFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@ListMulticastGroupsByFuotaTaskResponse' {} a -> s {httpStatus = a} :: ListMulticastGroupsByFuotaTaskResponse)++instance+  Prelude.NFData+    ListMulticastGroupsByFuotaTaskResponse+  where+  rnf ListMulticastGroupsByFuotaTaskResponse' {..} =+    Prelude.rnf multicastGroupList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListNetworkAnalyzerConfigurations.hs view
@@ -0,0 +1,216 @@+{-# 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.IoTWireless.ListNetworkAnalyzerConfigurations+-- 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 analyzer configurations.+module Amazonka.IoTWireless.ListNetworkAnalyzerConfigurations+  ( -- * Creating a Request+    ListNetworkAnalyzerConfigurations (..),+    newListNetworkAnalyzerConfigurations,++    -- * Request Lenses+    listNetworkAnalyzerConfigurations_maxResults,+    listNetworkAnalyzerConfigurations_nextToken,++    -- * Destructuring the Response+    ListNetworkAnalyzerConfigurationsResponse (..),+    newListNetworkAnalyzerConfigurationsResponse,++    -- * Response Lenses+    listNetworkAnalyzerConfigurationsResponse_networkAnalyzerConfigurationList,+    listNetworkAnalyzerConfigurationsResponse_nextToken,+    listNetworkAnalyzerConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNetworkAnalyzerConfigurations' smart constructor.+data ListNetworkAnalyzerConfigurations = ListNetworkAnalyzerConfigurations'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworkAnalyzerConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listNetworkAnalyzerConfigurations_maxResults' - Undocumented member.+--+-- 'nextToken', 'listNetworkAnalyzerConfigurations_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListNetworkAnalyzerConfigurations ::+  ListNetworkAnalyzerConfigurations+newListNetworkAnalyzerConfigurations =+  ListNetworkAnalyzerConfigurations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Undocumented member.+listNetworkAnalyzerConfigurations_maxResults :: Lens.Lens' ListNetworkAnalyzerConfigurations (Prelude.Maybe Prelude.Natural)+listNetworkAnalyzerConfigurations_maxResults = Lens.lens (\ListNetworkAnalyzerConfigurations' {maxResults} -> maxResults) (\s@ListNetworkAnalyzerConfigurations' {} a -> s {maxResults = a} :: ListNetworkAnalyzerConfigurations)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listNetworkAnalyzerConfigurations_nextToken :: Lens.Lens' ListNetworkAnalyzerConfigurations (Prelude.Maybe Prelude.Text)+listNetworkAnalyzerConfigurations_nextToken = Lens.lens (\ListNetworkAnalyzerConfigurations' {nextToken} -> nextToken) (\s@ListNetworkAnalyzerConfigurations' {} a -> s {nextToken = a} :: ListNetworkAnalyzerConfigurations)++instance+  Core.AWSRequest+    ListNetworkAnalyzerConfigurations+  where+  type+    AWSResponse ListNetworkAnalyzerConfigurations =+      ListNetworkAnalyzerConfigurationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNetworkAnalyzerConfigurationsResponse'+            Prelude.<$> ( x+                            Data..?> "NetworkAnalyzerConfigurationList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListNetworkAnalyzerConfigurations+  where+  hashWithSalt+    _salt+    ListNetworkAnalyzerConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListNetworkAnalyzerConfigurations+  where+  rnf ListNetworkAnalyzerConfigurations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListNetworkAnalyzerConfigurations+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    ListNetworkAnalyzerConfigurations+  where+  toPath =+    Prelude.const "/network-analyzer-configurations"++instance+  Data.ToQuery+    ListNetworkAnalyzerConfigurations+  where+  toQuery ListNetworkAnalyzerConfigurations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListNetworkAnalyzerConfigurationsResponse' smart constructor.+data ListNetworkAnalyzerConfigurationsResponse = ListNetworkAnalyzerConfigurationsResponse'+  { -- | The list of network analyzer configurations.+    networkAnalyzerConfigurationList :: Prelude.Maybe [NetworkAnalyzerConfigurations],+    -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional 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 'ListNetworkAnalyzerConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkAnalyzerConfigurationList', 'listNetworkAnalyzerConfigurationsResponse_networkAnalyzerConfigurationList' - The list of network analyzer configurations.+--+-- 'nextToken', 'listNetworkAnalyzerConfigurationsResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'httpStatus', 'listNetworkAnalyzerConfigurationsResponse_httpStatus' - The response's http status code.+newListNetworkAnalyzerConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNetworkAnalyzerConfigurationsResponse+newListNetworkAnalyzerConfigurationsResponse+  pHttpStatus_ =+    ListNetworkAnalyzerConfigurationsResponse'+      { networkAnalyzerConfigurationList =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The list of network analyzer configurations.+listNetworkAnalyzerConfigurationsResponse_networkAnalyzerConfigurationList :: Lens.Lens' ListNetworkAnalyzerConfigurationsResponse (Prelude.Maybe [NetworkAnalyzerConfigurations])+listNetworkAnalyzerConfigurationsResponse_networkAnalyzerConfigurationList = Lens.lens (\ListNetworkAnalyzerConfigurationsResponse' {networkAnalyzerConfigurationList} -> networkAnalyzerConfigurationList) (\s@ListNetworkAnalyzerConfigurationsResponse' {} a -> s {networkAnalyzerConfigurationList = a} :: ListNetworkAnalyzerConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listNetworkAnalyzerConfigurationsResponse_nextToken :: Lens.Lens' ListNetworkAnalyzerConfigurationsResponse (Prelude.Maybe Prelude.Text)+listNetworkAnalyzerConfigurationsResponse_nextToken = Lens.lens (\ListNetworkAnalyzerConfigurationsResponse' {nextToken} -> nextToken) (\s@ListNetworkAnalyzerConfigurationsResponse' {} a -> s {nextToken = a} :: ListNetworkAnalyzerConfigurationsResponse)++-- | The response's http status code.+listNetworkAnalyzerConfigurationsResponse_httpStatus :: Lens.Lens' ListNetworkAnalyzerConfigurationsResponse Prelude.Int+listNetworkAnalyzerConfigurationsResponse_httpStatus = Lens.lens (\ListNetworkAnalyzerConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListNetworkAnalyzerConfigurationsResponse' {} a -> s {httpStatus = a} :: ListNetworkAnalyzerConfigurationsResponse)++instance+  Prelude.NFData+    ListNetworkAnalyzerConfigurationsResponse+  where+  rnf ListNetworkAnalyzerConfigurationsResponse' {..} =+    Prelude.rnf networkAnalyzerConfigurationList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListPartnerAccounts.hs view
@@ -0,0 +1,188 @@+{-# 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.IoTWireless.ListPartnerAccounts+-- 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 partner accounts associated with your AWS account.+module Amazonka.IoTWireless.ListPartnerAccounts+  ( -- * Creating a Request+    ListPartnerAccounts (..),+    newListPartnerAccounts,++    -- * Request Lenses+    listPartnerAccounts_maxResults,+    listPartnerAccounts_nextToken,++    -- * Destructuring the Response+    ListPartnerAccountsResponse (..),+    newListPartnerAccountsResponse,++    -- * Response Lenses+    listPartnerAccountsResponse_nextToken,+    listPartnerAccountsResponse_sidewalk,+    listPartnerAccountsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPartnerAccounts' smart constructor.+data ListPartnerAccounts = ListPartnerAccounts'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPartnerAccounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPartnerAccounts_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listPartnerAccounts_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListPartnerAccounts ::+  ListPartnerAccounts+newListPartnerAccounts =+  ListPartnerAccounts'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listPartnerAccounts_maxResults :: Lens.Lens' ListPartnerAccounts (Prelude.Maybe Prelude.Natural)+listPartnerAccounts_maxResults = Lens.lens (\ListPartnerAccounts' {maxResults} -> maxResults) (\s@ListPartnerAccounts' {} a -> s {maxResults = a} :: ListPartnerAccounts)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listPartnerAccounts_nextToken :: Lens.Lens' ListPartnerAccounts (Prelude.Maybe Prelude.Text)+listPartnerAccounts_nextToken = Lens.lens (\ListPartnerAccounts' {nextToken} -> nextToken) (\s@ListPartnerAccounts' {} a -> s {nextToken = a} :: ListPartnerAccounts)++instance Core.AWSRequest ListPartnerAccounts where+  type+    AWSResponse ListPartnerAccounts =+      ListPartnerAccountsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPartnerAccountsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Sidewalk" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPartnerAccounts where+  hashWithSalt _salt ListPartnerAccounts' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPartnerAccounts where+  rnf ListPartnerAccounts' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPartnerAccounts where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListPartnerAccounts where+  toPath = Prelude.const "/partner-accounts"++instance Data.ToQuery ListPartnerAccounts where+  toQuery ListPartnerAccounts' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListPartnerAccountsResponse' smart constructor.+data ListPartnerAccountsResponse = ListPartnerAccountsResponse'+  { -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk account credentials.+    sidewalk :: Prelude.Maybe [SidewalkAccountInfoWithFingerprint],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPartnerAccountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPartnerAccountsResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'sidewalk', 'listPartnerAccountsResponse_sidewalk' - The Sidewalk account credentials.+--+-- 'httpStatus', 'listPartnerAccountsResponse_httpStatus' - The response's http status code.+newListPartnerAccountsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPartnerAccountsResponse+newListPartnerAccountsResponse pHttpStatus_ =+  ListPartnerAccountsResponse'+    { nextToken =+        Prelude.Nothing,+      sidewalk = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listPartnerAccountsResponse_nextToken :: Lens.Lens' ListPartnerAccountsResponse (Prelude.Maybe Prelude.Text)+listPartnerAccountsResponse_nextToken = Lens.lens (\ListPartnerAccountsResponse' {nextToken} -> nextToken) (\s@ListPartnerAccountsResponse' {} a -> s {nextToken = a} :: ListPartnerAccountsResponse)++-- | The Sidewalk account credentials.+listPartnerAccountsResponse_sidewalk :: Lens.Lens' ListPartnerAccountsResponse (Prelude.Maybe [SidewalkAccountInfoWithFingerprint])+listPartnerAccountsResponse_sidewalk = Lens.lens (\ListPartnerAccountsResponse' {sidewalk} -> sidewalk) (\s@ListPartnerAccountsResponse' {} a -> s {sidewalk = a} :: ListPartnerAccountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPartnerAccountsResponse_httpStatus :: Lens.Lens' ListPartnerAccountsResponse Prelude.Int+listPartnerAccountsResponse_httpStatus = Lens.lens (\ListPartnerAccountsResponse' {httpStatus} -> httpStatus) (\s@ListPartnerAccountsResponse' {} a -> s {httpStatus = a} :: ListPartnerAccountsResponse)++instance Prelude.NFData ListPartnerAccountsResponse where+  rnf ListPartnerAccountsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListQueuedMessages.hs view
@@ -0,0 +1,226 @@+{-# 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.IoTWireless.ListQueuedMessages+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List queued messages in the downlink queue.+module Amazonka.IoTWireless.ListQueuedMessages+  ( -- * Creating a Request+    ListQueuedMessages (..),+    newListQueuedMessages,++    -- * Request Lenses+    listQueuedMessages_maxResults,+    listQueuedMessages_nextToken,+    listQueuedMessages_wirelessDeviceType,+    listQueuedMessages_id,++    -- * Destructuring the Response+    ListQueuedMessagesResponse (..),+    newListQueuedMessagesResponse,++    -- * Response Lenses+    listQueuedMessagesResponse_downlinkQueueMessagesList,+    listQueuedMessagesResponse_nextToken,+    listQueuedMessagesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListQueuedMessages' smart constructor.+data ListQueuedMessages = ListQueuedMessages'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The wireless device type, whic can be either Sidewalk or LoRaWAN.+    wirelessDeviceType :: Prelude.Maybe WirelessDeviceType,+    -- | The ID of a given wireless device which the downlink message packets are+    -- being sent.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListQueuedMessages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listQueuedMessages_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listQueuedMessages_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'wirelessDeviceType', 'listQueuedMessages_wirelessDeviceType' - The wireless device type, whic can be either Sidewalk or LoRaWAN.+--+-- 'id', 'listQueuedMessages_id' - The ID of a given wireless device which the downlink message packets are+-- being sent.+newListQueuedMessages ::+  -- | 'id'+  Prelude.Text ->+  ListQueuedMessages+newListQueuedMessages pId_ =+  ListQueuedMessages'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      wirelessDeviceType = Prelude.Nothing,+      id = pId_+    }++-- | The maximum number of results to return in this operation.+listQueuedMessages_maxResults :: Lens.Lens' ListQueuedMessages (Prelude.Maybe Prelude.Natural)+listQueuedMessages_maxResults = Lens.lens (\ListQueuedMessages' {maxResults} -> maxResults) (\s@ListQueuedMessages' {} a -> s {maxResults = a} :: ListQueuedMessages)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listQueuedMessages_nextToken :: Lens.Lens' ListQueuedMessages (Prelude.Maybe Prelude.Text)+listQueuedMessages_nextToken = Lens.lens (\ListQueuedMessages' {nextToken} -> nextToken) (\s@ListQueuedMessages' {} a -> s {nextToken = a} :: ListQueuedMessages)++-- | The wireless device type, whic can be either Sidewalk or LoRaWAN.+listQueuedMessages_wirelessDeviceType :: Lens.Lens' ListQueuedMessages (Prelude.Maybe WirelessDeviceType)+listQueuedMessages_wirelessDeviceType = Lens.lens (\ListQueuedMessages' {wirelessDeviceType} -> wirelessDeviceType) (\s@ListQueuedMessages' {} a -> s {wirelessDeviceType = a} :: ListQueuedMessages)++-- | The ID of a given wireless device which the downlink message packets are+-- being sent.+listQueuedMessages_id :: Lens.Lens' ListQueuedMessages Prelude.Text+listQueuedMessages_id = Lens.lens (\ListQueuedMessages' {id} -> id) (\s@ListQueuedMessages' {} a -> s {id = a} :: ListQueuedMessages)++instance Core.AWSRequest ListQueuedMessages where+  type+    AWSResponse ListQueuedMessages =+      ListQueuedMessagesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListQueuedMessagesResponse'+            Prelude.<$> ( x+                            Data..?> "DownlinkQueueMessagesList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListQueuedMessages where+  hashWithSalt _salt ListQueuedMessages' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` wirelessDeviceType+      `Prelude.hashWithSalt` id++instance Prelude.NFData ListQueuedMessages where+  rnf ListQueuedMessages' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf wirelessDeviceType+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders ListQueuedMessages where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListQueuedMessages where+  toPath ListQueuedMessages' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/data"]++instance Data.ToQuery ListQueuedMessages where+  toQuery ListQueuedMessages' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "WirelessDeviceType" Data.=: wirelessDeviceType+      ]++-- | /See:/ 'newListQueuedMessagesResponse' smart constructor.+data ListQueuedMessagesResponse = ListQueuedMessagesResponse'+  { -- | The messages in the downlink queue.+    downlinkQueueMessagesList :: Prelude.Maybe [DownlinkQueueMessage],+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListQueuedMessagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'downlinkQueueMessagesList', 'listQueuedMessagesResponse_downlinkQueueMessagesList' - The messages in the downlink queue.+--+-- 'nextToken', 'listQueuedMessagesResponse_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'httpStatus', 'listQueuedMessagesResponse_httpStatus' - The response's http status code.+newListQueuedMessagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListQueuedMessagesResponse+newListQueuedMessagesResponse pHttpStatus_ =+  ListQueuedMessagesResponse'+    { downlinkQueueMessagesList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The messages in the downlink queue.+listQueuedMessagesResponse_downlinkQueueMessagesList :: Lens.Lens' ListQueuedMessagesResponse (Prelude.Maybe [DownlinkQueueMessage])+listQueuedMessagesResponse_downlinkQueueMessagesList = Lens.lens (\ListQueuedMessagesResponse' {downlinkQueueMessagesList} -> downlinkQueueMessagesList) (\s@ListQueuedMessagesResponse' {} a -> s {downlinkQueueMessagesList = a} :: ListQueuedMessagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listQueuedMessagesResponse_nextToken :: Lens.Lens' ListQueuedMessagesResponse (Prelude.Maybe Prelude.Text)+listQueuedMessagesResponse_nextToken = Lens.lens (\ListQueuedMessagesResponse' {nextToken} -> nextToken) (\s@ListQueuedMessagesResponse' {} a -> s {nextToken = a} :: ListQueuedMessagesResponse)++-- | The response's http status code.+listQueuedMessagesResponse_httpStatus :: Lens.Lens' ListQueuedMessagesResponse Prelude.Int+listQueuedMessagesResponse_httpStatus = Lens.lens (\ListQueuedMessagesResponse' {httpStatus} -> httpStatus) (\s@ListQueuedMessagesResponse' {} a -> s {httpStatus = a} :: ListQueuedMessagesResponse)++instance Prelude.NFData ListQueuedMessagesResponse where+  rnf ListQueuedMessagesResponse' {..} =+    Prelude.rnf downlinkQueueMessagesList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListServiceProfiles.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.IoTWireless.ListServiceProfiles+-- 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 service profiles registered to your AWS account.+module Amazonka.IoTWireless.ListServiceProfiles+  ( -- * Creating a Request+    ListServiceProfiles (..),+    newListServiceProfiles,++    -- * Request Lenses+    listServiceProfiles_maxResults,+    listServiceProfiles_nextToken,++    -- * Destructuring the Response+    ListServiceProfilesResponse (..),+    newListServiceProfilesResponse,++    -- * Response Lenses+    listServiceProfilesResponse_nextToken,+    listServiceProfilesResponse_serviceProfileList,+    listServiceProfilesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListServiceProfiles' smart constructor.+data ListServiceProfiles = ListServiceProfiles'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServiceProfiles' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listServiceProfiles_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listServiceProfiles_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListServiceProfiles ::+  ListServiceProfiles+newListServiceProfiles =+  ListServiceProfiles'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listServiceProfiles_maxResults :: Lens.Lens' ListServiceProfiles (Prelude.Maybe Prelude.Natural)+listServiceProfiles_maxResults = Lens.lens (\ListServiceProfiles' {maxResults} -> maxResults) (\s@ListServiceProfiles' {} a -> s {maxResults = a} :: ListServiceProfiles)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listServiceProfiles_nextToken :: Lens.Lens' ListServiceProfiles (Prelude.Maybe Prelude.Text)+listServiceProfiles_nextToken = Lens.lens (\ListServiceProfiles' {nextToken} -> nextToken) (\s@ListServiceProfiles' {} a -> s {nextToken = a} :: ListServiceProfiles)++instance Core.AWSRequest ListServiceProfiles where+  type+    AWSResponse ListServiceProfiles =+      ListServiceProfilesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListServiceProfilesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ServiceProfileList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListServiceProfiles where+  hashWithSalt _salt ListServiceProfiles' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListServiceProfiles where+  rnf ListServiceProfiles' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListServiceProfiles where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListServiceProfiles where+  toPath = Prelude.const "/service-profiles"++instance Data.ToQuery ListServiceProfiles where+  toQuery ListServiceProfiles' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListServiceProfilesResponse' smart constructor.+data ListServiceProfilesResponse = ListServiceProfilesResponse'+  { -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of service profiles.+    serviceProfileList :: Prelude.Maybe [ServiceProfile],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServiceProfilesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listServiceProfilesResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'serviceProfileList', 'listServiceProfilesResponse_serviceProfileList' - The list of service profiles.+--+-- 'httpStatus', 'listServiceProfilesResponse_httpStatus' - The response's http status code.+newListServiceProfilesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListServiceProfilesResponse+newListServiceProfilesResponse pHttpStatus_ =+  ListServiceProfilesResponse'+    { nextToken =+        Prelude.Nothing,+      serviceProfileList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listServiceProfilesResponse_nextToken :: Lens.Lens' ListServiceProfilesResponse (Prelude.Maybe Prelude.Text)+listServiceProfilesResponse_nextToken = Lens.lens (\ListServiceProfilesResponse' {nextToken} -> nextToken) (\s@ListServiceProfilesResponse' {} a -> s {nextToken = a} :: ListServiceProfilesResponse)++-- | The list of service profiles.+listServiceProfilesResponse_serviceProfileList :: Lens.Lens' ListServiceProfilesResponse (Prelude.Maybe [ServiceProfile])+listServiceProfilesResponse_serviceProfileList = Lens.lens (\ListServiceProfilesResponse' {serviceProfileList} -> serviceProfileList) (\s@ListServiceProfilesResponse' {} a -> s {serviceProfileList = a} :: ListServiceProfilesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listServiceProfilesResponse_httpStatus :: Lens.Lens' ListServiceProfilesResponse Prelude.Int+listServiceProfilesResponse_httpStatus = Lens.lens (\ListServiceProfilesResponse' {httpStatus} -> httpStatus) (\s@ListServiceProfilesResponse' {} a -> s {httpStatus = a} :: ListServiceProfilesResponse)++instance Prelude.NFData ListServiceProfilesResponse where+  rnf ListServiceProfilesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceProfileList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListTagsForResource.hs view
@@ -0,0 +1,154 @@+{-# 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.IoTWireless.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.IoTWireless.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.IoTWireless.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 for which you want to list tags.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The ARN of the resource for which you want to list tags.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The ARN of the resource for which you want to list tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags to attach to the specified resource. Tags are metadata that you+    -- can use to manage a 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 tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags to attach to the specified resource. Tags are metadata that you+-- can use to manage a 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/IoTWireless/ListWirelessDevices.hs view
@@ -0,0 +1,274 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.ListWirelessDevices+-- 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 wireless devices registered to your AWS account.+module Amazonka.IoTWireless.ListWirelessDevices+  ( -- * Creating a Request+    ListWirelessDevices (..),+    newListWirelessDevices,++    -- * Request Lenses+    listWirelessDevices_destinationName,+    listWirelessDevices_deviceProfileId,+    listWirelessDevices_fuotaTaskId,+    listWirelessDevices_maxResults,+    listWirelessDevices_multicastGroupId,+    listWirelessDevices_nextToken,+    listWirelessDevices_serviceProfileId,+    listWirelessDevices_wirelessDeviceType,++    -- * Destructuring the Response+    ListWirelessDevicesResponse (..),+    newListWirelessDevicesResponse,++    -- * Response Lenses+    listWirelessDevicesResponse_nextToken,+    listWirelessDevicesResponse_wirelessDeviceList,+    listWirelessDevicesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWirelessDevices' smart constructor.+data ListWirelessDevices = ListWirelessDevices'+  { -- | A filter to list only the wireless devices that use this destination.+    destinationName :: Prelude.Maybe Prelude.Text,+    -- | A filter to list only the wireless devices that use this device profile.+    deviceProfileId :: Prelude.Maybe Prelude.Text,+    fuotaTaskId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    multicastGroupId :: Prelude.Maybe Prelude.Text,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A filter to list only the wireless devices that use this service+    -- profile.+    serviceProfileId :: Prelude.Maybe Prelude.Text,+    -- | A filter to list only the wireless devices that use this wireless device+    -- type.+    wirelessDeviceType :: Prelude.Maybe WirelessDeviceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessDevices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationName', 'listWirelessDevices_destinationName' - A filter to list only the wireless devices that use this destination.+--+-- 'deviceProfileId', 'listWirelessDevices_deviceProfileId' - A filter to list only the wireless devices that use this device profile.+--+-- 'fuotaTaskId', 'listWirelessDevices_fuotaTaskId' - Undocumented member.+--+-- 'maxResults', 'listWirelessDevices_maxResults' - The maximum number of results to return in this operation.+--+-- 'multicastGroupId', 'listWirelessDevices_multicastGroupId' - Undocumented member.+--+-- 'nextToken', 'listWirelessDevices_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'serviceProfileId', 'listWirelessDevices_serviceProfileId' - A filter to list only the wireless devices that use this service+-- profile.+--+-- 'wirelessDeviceType', 'listWirelessDevices_wirelessDeviceType' - A filter to list only the wireless devices that use this wireless device+-- type.+newListWirelessDevices ::+  ListWirelessDevices+newListWirelessDevices =+  ListWirelessDevices'+    { destinationName =+        Prelude.Nothing,+      deviceProfileId = Prelude.Nothing,+      fuotaTaskId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      multicastGroupId = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      serviceProfileId = Prelude.Nothing,+      wirelessDeviceType = Prelude.Nothing+    }++-- | A filter to list only the wireless devices that use this destination.+listWirelessDevices_destinationName :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_destinationName = Lens.lens (\ListWirelessDevices' {destinationName} -> destinationName) (\s@ListWirelessDevices' {} a -> s {destinationName = a} :: ListWirelessDevices)++-- | A filter to list only the wireless devices that use this device profile.+listWirelessDevices_deviceProfileId :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_deviceProfileId = Lens.lens (\ListWirelessDevices' {deviceProfileId} -> deviceProfileId) (\s@ListWirelessDevices' {} a -> s {deviceProfileId = a} :: ListWirelessDevices)++-- | Undocumented member.+listWirelessDevices_fuotaTaskId :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_fuotaTaskId = Lens.lens (\ListWirelessDevices' {fuotaTaskId} -> fuotaTaskId) (\s@ListWirelessDevices' {} a -> s {fuotaTaskId = a} :: ListWirelessDevices)++-- | The maximum number of results to return in this operation.+listWirelessDevices_maxResults :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Natural)+listWirelessDevices_maxResults = Lens.lens (\ListWirelessDevices' {maxResults} -> maxResults) (\s@ListWirelessDevices' {} a -> s {maxResults = a} :: ListWirelessDevices)++-- | Undocumented member.+listWirelessDevices_multicastGroupId :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_multicastGroupId = Lens.lens (\ListWirelessDevices' {multicastGroupId} -> multicastGroupId) (\s@ListWirelessDevices' {} a -> s {multicastGroupId = a} :: ListWirelessDevices)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listWirelessDevices_nextToken :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_nextToken = Lens.lens (\ListWirelessDevices' {nextToken} -> nextToken) (\s@ListWirelessDevices' {} a -> s {nextToken = a} :: ListWirelessDevices)++-- | A filter to list only the wireless devices that use this service+-- profile.+listWirelessDevices_serviceProfileId :: Lens.Lens' ListWirelessDevices (Prelude.Maybe Prelude.Text)+listWirelessDevices_serviceProfileId = Lens.lens (\ListWirelessDevices' {serviceProfileId} -> serviceProfileId) (\s@ListWirelessDevices' {} a -> s {serviceProfileId = a} :: ListWirelessDevices)++-- | A filter to list only the wireless devices that use this wireless device+-- type.+listWirelessDevices_wirelessDeviceType :: Lens.Lens' ListWirelessDevices (Prelude.Maybe WirelessDeviceType)+listWirelessDevices_wirelessDeviceType = Lens.lens (\ListWirelessDevices' {wirelessDeviceType} -> wirelessDeviceType) (\s@ListWirelessDevices' {} a -> s {wirelessDeviceType = a} :: ListWirelessDevices)++instance Core.AWSRequest ListWirelessDevices where+  type+    AWSResponse ListWirelessDevices =+      ListWirelessDevicesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWirelessDevicesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "WirelessDeviceList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWirelessDevices where+  hashWithSalt _salt ListWirelessDevices' {..} =+    _salt+      `Prelude.hashWithSalt` destinationName+      `Prelude.hashWithSalt` deviceProfileId+      `Prelude.hashWithSalt` fuotaTaskId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` multicastGroupId+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` serviceProfileId+      `Prelude.hashWithSalt` wirelessDeviceType++instance Prelude.NFData ListWirelessDevices where+  rnf ListWirelessDevices' {..} =+    Prelude.rnf destinationName+      `Prelude.seq` Prelude.rnf deviceProfileId+      `Prelude.seq` Prelude.rnf fuotaTaskId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf multicastGroupId+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceProfileId+      `Prelude.seq` Prelude.rnf wirelessDeviceType++instance Data.ToHeaders ListWirelessDevices where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListWirelessDevices where+  toPath = Prelude.const "/wireless-devices"++instance Data.ToQuery ListWirelessDevices where+  toQuery ListWirelessDevices' {..} =+    Prelude.mconcat+      [ "destinationName" Data.=: destinationName,+        "deviceProfileId" Data.=: deviceProfileId,+        "fuotaTaskId" Data.=: fuotaTaskId,+        "maxResults" Data.=: maxResults,+        "multicastGroupId" Data.=: multicastGroupId,+        "nextToken" Data.=: nextToken,+        "serviceProfileId" Data.=: serviceProfileId,+        "wirelessDeviceType" Data.=: wirelessDeviceType+      ]++-- | /See:/ 'newListWirelessDevicesResponse' smart constructor.+data ListWirelessDevicesResponse = ListWirelessDevicesResponse'+  { -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless device.+    wirelessDeviceList :: Prelude.Maybe [WirelessDeviceStatistics],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessDevicesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWirelessDevicesResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'wirelessDeviceList', 'listWirelessDevicesResponse_wirelessDeviceList' - The ID of the wireless device.+--+-- 'httpStatus', 'listWirelessDevicesResponse_httpStatus' - The response's http status code.+newListWirelessDevicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWirelessDevicesResponse+newListWirelessDevicesResponse pHttpStatus_ =+  ListWirelessDevicesResponse'+    { nextToken =+        Prelude.Nothing,+      wirelessDeviceList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listWirelessDevicesResponse_nextToken :: Lens.Lens' ListWirelessDevicesResponse (Prelude.Maybe Prelude.Text)+listWirelessDevicesResponse_nextToken = Lens.lens (\ListWirelessDevicesResponse' {nextToken} -> nextToken) (\s@ListWirelessDevicesResponse' {} a -> s {nextToken = a} :: ListWirelessDevicesResponse)++-- | The ID of the wireless device.+listWirelessDevicesResponse_wirelessDeviceList :: Lens.Lens' ListWirelessDevicesResponse (Prelude.Maybe [WirelessDeviceStatistics])+listWirelessDevicesResponse_wirelessDeviceList = Lens.lens (\ListWirelessDevicesResponse' {wirelessDeviceList} -> wirelessDeviceList) (\s@ListWirelessDevicesResponse' {} a -> s {wirelessDeviceList = a} :: ListWirelessDevicesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWirelessDevicesResponse_httpStatus :: Lens.Lens' ListWirelessDevicesResponse Prelude.Int+listWirelessDevicesResponse_httpStatus = Lens.lens (\ListWirelessDevicesResponse' {httpStatus} -> httpStatus) (\s@ListWirelessDevicesResponse' {} a -> s {httpStatus = a} :: ListWirelessDevicesResponse)++instance Prelude.NFData ListWirelessDevicesResponse where+  rnf ListWirelessDevicesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf wirelessDeviceList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListWirelessGatewayTaskDefinitions.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.IoTWireless.ListWirelessGatewayTaskDefinitions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List the wireless gateway tasks definitions registered to your AWS+-- account.+module Amazonka.IoTWireless.ListWirelessGatewayTaskDefinitions+  ( -- * Creating a Request+    ListWirelessGatewayTaskDefinitions (..),+    newListWirelessGatewayTaskDefinitions,++    -- * Request Lenses+    listWirelessGatewayTaskDefinitions_maxResults,+    listWirelessGatewayTaskDefinitions_nextToken,+    listWirelessGatewayTaskDefinitions_taskDefinitionType,++    -- * Destructuring the Response+    ListWirelessGatewayTaskDefinitionsResponse (..),+    newListWirelessGatewayTaskDefinitionsResponse,++    -- * Response Lenses+    listWirelessGatewayTaskDefinitionsResponse_nextToken,+    listWirelessGatewayTaskDefinitionsResponse_taskDefinitions,+    listWirelessGatewayTaskDefinitionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWirelessGatewayTaskDefinitions' smart constructor.+data ListWirelessGatewayTaskDefinitions = ListWirelessGatewayTaskDefinitions'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A filter to list only the wireless gateway task definitions that use+    -- this task definition type.+    taskDefinitionType :: Prelude.Maybe WirelessGatewayTaskDefinitionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessGatewayTaskDefinitions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWirelessGatewayTaskDefinitions_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listWirelessGatewayTaskDefinitions_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+--+-- 'taskDefinitionType', 'listWirelessGatewayTaskDefinitions_taskDefinitionType' - A filter to list only the wireless gateway task definitions that use+-- this task definition type.+newListWirelessGatewayTaskDefinitions ::+  ListWirelessGatewayTaskDefinitions+newListWirelessGatewayTaskDefinitions =+  ListWirelessGatewayTaskDefinitions'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      taskDefinitionType = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listWirelessGatewayTaskDefinitions_maxResults :: Lens.Lens' ListWirelessGatewayTaskDefinitions (Prelude.Maybe Prelude.Natural)+listWirelessGatewayTaskDefinitions_maxResults = Lens.lens (\ListWirelessGatewayTaskDefinitions' {maxResults} -> maxResults) (\s@ListWirelessGatewayTaskDefinitions' {} a -> s {maxResults = a} :: ListWirelessGatewayTaskDefinitions)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listWirelessGatewayTaskDefinitions_nextToken :: Lens.Lens' ListWirelessGatewayTaskDefinitions (Prelude.Maybe Prelude.Text)+listWirelessGatewayTaskDefinitions_nextToken = Lens.lens (\ListWirelessGatewayTaskDefinitions' {nextToken} -> nextToken) (\s@ListWirelessGatewayTaskDefinitions' {} a -> s {nextToken = a} :: ListWirelessGatewayTaskDefinitions)++-- | A filter to list only the wireless gateway task definitions that use+-- this task definition type.+listWirelessGatewayTaskDefinitions_taskDefinitionType :: Lens.Lens' ListWirelessGatewayTaskDefinitions (Prelude.Maybe WirelessGatewayTaskDefinitionType)+listWirelessGatewayTaskDefinitions_taskDefinitionType = Lens.lens (\ListWirelessGatewayTaskDefinitions' {taskDefinitionType} -> taskDefinitionType) (\s@ListWirelessGatewayTaskDefinitions' {} a -> s {taskDefinitionType = a} :: ListWirelessGatewayTaskDefinitions)++instance+  Core.AWSRequest+    ListWirelessGatewayTaskDefinitions+  where+  type+    AWSResponse ListWirelessGatewayTaskDefinitions =+      ListWirelessGatewayTaskDefinitionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWirelessGatewayTaskDefinitionsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "TaskDefinitions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListWirelessGatewayTaskDefinitions+  where+  hashWithSalt+    _salt+    ListWirelessGatewayTaskDefinitions' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` taskDefinitionType++instance+  Prelude.NFData+    ListWirelessGatewayTaskDefinitions+  where+  rnf ListWirelessGatewayTaskDefinitions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf taskDefinitionType++instance+  Data.ToHeaders+    ListWirelessGatewayTaskDefinitions+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    ListWirelessGatewayTaskDefinitions+  where+  toPath =+    Prelude.const "/wireless-gateway-task-definitions"++instance+  Data.ToQuery+    ListWirelessGatewayTaskDefinitions+  where+  toQuery ListWirelessGatewayTaskDefinitions' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "taskDefinitionType" Data.=: taskDefinitionType+      ]++-- | /See:/ 'newListWirelessGatewayTaskDefinitionsResponse' smart constructor.+data ListWirelessGatewayTaskDefinitionsResponse = ListWirelessGatewayTaskDefinitionsResponse'+  { -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of task definitions.+    taskDefinitions :: Prelude.Maybe [UpdateWirelessGatewayTaskEntry],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessGatewayTaskDefinitionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWirelessGatewayTaskDefinitionsResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'taskDefinitions', 'listWirelessGatewayTaskDefinitionsResponse_taskDefinitions' - The list of task definitions.+--+-- 'httpStatus', 'listWirelessGatewayTaskDefinitionsResponse_httpStatus' - The response's http status code.+newListWirelessGatewayTaskDefinitionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWirelessGatewayTaskDefinitionsResponse+newListWirelessGatewayTaskDefinitionsResponse+  pHttpStatus_ =+    ListWirelessGatewayTaskDefinitionsResponse'+      { nextToken =+          Prelude.Nothing,+        taskDefinitions =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listWirelessGatewayTaskDefinitionsResponse_nextToken :: Lens.Lens' ListWirelessGatewayTaskDefinitionsResponse (Prelude.Maybe Prelude.Text)+listWirelessGatewayTaskDefinitionsResponse_nextToken = Lens.lens (\ListWirelessGatewayTaskDefinitionsResponse' {nextToken} -> nextToken) (\s@ListWirelessGatewayTaskDefinitionsResponse' {} a -> s {nextToken = a} :: ListWirelessGatewayTaskDefinitionsResponse)++-- | The list of task definitions.+listWirelessGatewayTaskDefinitionsResponse_taskDefinitions :: Lens.Lens' ListWirelessGatewayTaskDefinitionsResponse (Prelude.Maybe [UpdateWirelessGatewayTaskEntry])+listWirelessGatewayTaskDefinitionsResponse_taskDefinitions = Lens.lens (\ListWirelessGatewayTaskDefinitionsResponse' {taskDefinitions} -> taskDefinitions) (\s@ListWirelessGatewayTaskDefinitionsResponse' {} a -> s {taskDefinitions = a} :: ListWirelessGatewayTaskDefinitionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWirelessGatewayTaskDefinitionsResponse_httpStatus :: Lens.Lens' ListWirelessGatewayTaskDefinitionsResponse Prelude.Int+listWirelessGatewayTaskDefinitionsResponse_httpStatus = Lens.lens (\ListWirelessGatewayTaskDefinitionsResponse' {httpStatus} -> httpStatus) (\s@ListWirelessGatewayTaskDefinitionsResponse' {} a -> s {httpStatus = a} :: ListWirelessGatewayTaskDefinitionsResponse)++instance+  Prelude.NFData+    ListWirelessGatewayTaskDefinitionsResponse+  where+  rnf ListWirelessGatewayTaskDefinitionsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf taskDefinitions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ListWirelessGateways.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.IoTWireless.ListWirelessGateways+-- 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 wireless gateways registered to your AWS account.+module Amazonka.IoTWireless.ListWirelessGateways+  ( -- * Creating a Request+    ListWirelessGateways (..),+    newListWirelessGateways,++    -- * Request Lenses+    listWirelessGateways_maxResults,+    listWirelessGateways_nextToken,++    -- * Destructuring the Response+    ListWirelessGatewaysResponse (..),+    newListWirelessGatewaysResponse,++    -- * Response Lenses+    listWirelessGatewaysResponse_nextToken,+    listWirelessGatewaysResponse_wirelessGatewayList,+    listWirelessGatewaysResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWirelessGateways' smart constructor.+data ListWirelessGateways = ListWirelessGateways'+  { -- | The maximum number of results to return in this operation.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | To retrieve the next set of results, the @nextToken@ value from a+    -- previous response; otherwise __null__ to receive the first set of+    -- results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessGateways' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWirelessGateways_maxResults' - The maximum number of results to return in this operation.+--+-- 'nextToken', 'listWirelessGateways_nextToken' - To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+newListWirelessGateways ::+  ListWirelessGateways+newListWirelessGateways =+  ListWirelessGateways'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in this operation.+listWirelessGateways_maxResults :: Lens.Lens' ListWirelessGateways (Prelude.Maybe Prelude.Natural)+listWirelessGateways_maxResults = Lens.lens (\ListWirelessGateways' {maxResults} -> maxResults) (\s@ListWirelessGateways' {} a -> s {maxResults = a} :: ListWirelessGateways)++-- | To retrieve the next set of results, the @nextToken@ value from a+-- previous response; otherwise __null__ to receive the first set of+-- results.+listWirelessGateways_nextToken :: Lens.Lens' ListWirelessGateways (Prelude.Maybe Prelude.Text)+listWirelessGateways_nextToken = Lens.lens (\ListWirelessGateways' {nextToken} -> nextToken) (\s@ListWirelessGateways' {} a -> s {nextToken = a} :: ListWirelessGateways)++instance Core.AWSRequest ListWirelessGateways where+  type+    AWSResponse ListWirelessGateways =+      ListWirelessGatewaysResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWirelessGatewaysResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "WirelessGatewayList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListWirelessGateways where+  hashWithSalt _salt ListWirelessGateways' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListWirelessGateways where+  rnf ListWirelessGateways' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListWirelessGateways where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListWirelessGateways where+  toPath = Prelude.const "/wireless-gateways"++instance Data.ToQuery ListWirelessGateways where+  toQuery ListWirelessGateways' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListWirelessGatewaysResponse' smart constructor.+data ListWirelessGatewaysResponse = ListWirelessGatewaysResponse'+  { -- | The token to use to get the next set of results, or __null__ if there+    -- are no additional results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless gateway.+    wirelessGatewayList :: Prelude.Maybe [WirelessGatewayStatistics],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWirelessGatewaysResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listWirelessGatewaysResponse_nextToken' - The token to use to get the next set of results, or __null__ if there+-- are no additional results.+--+-- 'wirelessGatewayList', 'listWirelessGatewaysResponse_wirelessGatewayList' - The ID of the wireless gateway.+--+-- 'httpStatus', 'listWirelessGatewaysResponse_httpStatus' - The response's http status code.+newListWirelessGatewaysResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWirelessGatewaysResponse+newListWirelessGatewaysResponse pHttpStatus_ =+  ListWirelessGatewaysResponse'+    { nextToken =+        Prelude.Nothing,+      wirelessGatewayList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token to use to get the next set of results, or __null__ if there+-- are no additional results.+listWirelessGatewaysResponse_nextToken :: Lens.Lens' ListWirelessGatewaysResponse (Prelude.Maybe Prelude.Text)+listWirelessGatewaysResponse_nextToken = Lens.lens (\ListWirelessGatewaysResponse' {nextToken} -> nextToken) (\s@ListWirelessGatewaysResponse' {} a -> s {nextToken = a} :: ListWirelessGatewaysResponse)++-- | The ID of the wireless gateway.+listWirelessGatewaysResponse_wirelessGatewayList :: Lens.Lens' ListWirelessGatewaysResponse (Prelude.Maybe [WirelessGatewayStatistics])+listWirelessGatewaysResponse_wirelessGatewayList = Lens.lens (\ListWirelessGatewaysResponse' {wirelessGatewayList} -> wirelessGatewayList) (\s@ListWirelessGatewaysResponse' {} a -> s {wirelessGatewayList = a} :: ListWirelessGatewaysResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listWirelessGatewaysResponse_httpStatus :: Lens.Lens' ListWirelessGatewaysResponse Prelude.Int+listWirelessGatewaysResponse_httpStatus = Lens.lens (\ListWirelessGatewaysResponse' {httpStatus} -> httpStatus) (\s@ListWirelessGatewaysResponse' {} a -> s {httpStatus = a} :: ListWirelessGatewaysResponse)++instance Prelude.NFData ListWirelessGatewaysResponse where+  rnf ListWirelessGatewaysResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf wirelessGatewayList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/PutResourceLogLevel.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.PutResourceLogLevel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the log-level override for a resource-ID and resource-type. This+-- option can be specified for a wireless gateway or a wireless device. A+-- limit of 200 log level override can be set per account.+module Amazonka.IoTWireless.PutResourceLogLevel+  ( -- * Creating a Request+    PutResourceLogLevel (..),+    newPutResourceLogLevel,++    -- * Request Lenses+    putResourceLogLevel_resourceIdentifier,+    putResourceLogLevel_resourceType,+    putResourceLogLevel_logLevel,++    -- * Destructuring the Response+    PutResourceLogLevelResponse (..),+    newPutResourceLogLevelResponse,++    -- * Response Lenses+    putResourceLogLevelResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutResourceLogLevel' smart constructor.+data PutResourceLogLevel = PutResourceLogLevel'+  { resourceIdentifier :: Prelude.Text,+    -- | The type of the resource, which can be @WirelessDevice@ or+    -- @WirelessGateway@.+    resourceType :: Prelude.Text,+    logLevel :: LogLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourceLogLevel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceIdentifier', 'putResourceLogLevel_resourceIdentifier' - Undocumented member.+--+-- 'resourceType', 'putResourceLogLevel_resourceType' - The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+--+-- 'logLevel', 'putResourceLogLevel_logLevel' - Undocumented member.+newPutResourceLogLevel ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  -- | 'logLevel'+  LogLevel ->+  PutResourceLogLevel+newPutResourceLogLevel+  pResourceIdentifier_+  pResourceType_+  pLogLevel_ =+    PutResourceLogLevel'+      { resourceIdentifier =+          pResourceIdentifier_,+        resourceType = pResourceType_,+        logLevel = pLogLevel_+      }++-- | Undocumented member.+putResourceLogLevel_resourceIdentifier :: Lens.Lens' PutResourceLogLevel Prelude.Text+putResourceLogLevel_resourceIdentifier = Lens.lens (\PutResourceLogLevel' {resourceIdentifier} -> resourceIdentifier) (\s@PutResourceLogLevel' {} a -> s {resourceIdentifier = a} :: PutResourceLogLevel)++-- | The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+putResourceLogLevel_resourceType :: Lens.Lens' PutResourceLogLevel Prelude.Text+putResourceLogLevel_resourceType = Lens.lens (\PutResourceLogLevel' {resourceType} -> resourceType) (\s@PutResourceLogLevel' {} a -> s {resourceType = a} :: PutResourceLogLevel)++-- | Undocumented member.+putResourceLogLevel_logLevel :: Lens.Lens' PutResourceLogLevel LogLevel+putResourceLogLevel_logLevel = Lens.lens (\PutResourceLogLevel' {logLevel} -> logLevel) (\s@PutResourceLogLevel' {} a -> s {logLevel = a} :: PutResourceLogLevel)++instance Core.AWSRequest PutResourceLogLevel where+  type+    AWSResponse PutResourceLogLevel =+      PutResourceLogLevelResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutResourceLogLevelResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutResourceLogLevel where+  hashWithSalt _salt PutResourceLogLevel' {..} =+    _salt+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData PutResourceLogLevel where+  rnf PutResourceLogLevel' {..} =+    Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToHeaders PutResourceLogLevel where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON PutResourceLogLevel where+  toJSON PutResourceLogLevel' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("LogLevel" Data..= logLevel)]+      )++instance Data.ToPath PutResourceLogLevel where+  toPath PutResourceLogLevel' {..} =+    Prelude.mconcat+      ["/log-levels/", Data.toBS resourceIdentifier]++instance Data.ToQuery PutResourceLogLevel where+  toQuery PutResourceLogLevel' {..} =+    Prelude.mconcat+      ["resourceType" Data.=: resourceType]++-- | /See:/ 'newPutResourceLogLevelResponse' smart constructor.+data PutResourceLogLevelResponse = PutResourceLogLevelResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourceLogLevelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putResourceLogLevelResponse_httpStatus' - The response's http status code.+newPutResourceLogLevelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutResourceLogLevelResponse+newPutResourceLogLevelResponse pHttpStatus_ =+  PutResourceLogLevelResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+putResourceLogLevelResponse_httpStatus :: Lens.Lens' PutResourceLogLevelResponse Prelude.Int+putResourceLogLevelResponse_httpStatus = Lens.lens (\PutResourceLogLevelResponse' {httpStatus} -> httpStatus) (\s@PutResourceLogLevelResponse' {} a -> s {httpStatus = a} :: PutResourceLogLevelResponse)++instance Prelude.NFData PutResourceLogLevelResponse where+  rnf PutResourceLogLevelResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ResetAllResourceLogLevels.hs view
@@ -0,0 +1,126 @@+{-# 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.IoTWireless.ResetAllResourceLogLevels+-- 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 log-level overrides for all resources; both wireless devices+-- and wireless gateways.+module Amazonka.IoTWireless.ResetAllResourceLogLevels+  ( -- * Creating a Request+    ResetAllResourceLogLevels (..),+    newResetAllResourceLogLevels,++    -- * Destructuring the Response+    ResetAllResourceLogLevelsResponse (..),+    newResetAllResourceLogLevelsResponse,++    -- * Response Lenses+    resetAllResourceLogLevelsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResetAllResourceLogLevels' smart constructor.+data ResetAllResourceLogLevels = ResetAllResourceLogLevels'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetAllResourceLogLevels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newResetAllResourceLogLevels ::+  ResetAllResourceLogLevels+newResetAllResourceLogLevels =+  ResetAllResourceLogLevels'++instance Core.AWSRequest ResetAllResourceLogLevels where+  type+    AWSResponse ResetAllResourceLogLevels =+      ResetAllResourceLogLevelsResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          ResetAllResourceLogLevelsResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ResetAllResourceLogLevels where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ResetAllResourceLogLevels where+  rnf _ = ()++instance Data.ToHeaders ResetAllResourceLogLevels where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ResetAllResourceLogLevels where+  toPath = Prelude.const "/log-levels"++instance Data.ToQuery ResetAllResourceLogLevels where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newResetAllResourceLogLevelsResponse' smart constructor.+data ResetAllResourceLogLevelsResponse = ResetAllResourceLogLevelsResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetAllResourceLogLevelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'resetAllResourceLogLevelsResponse_httpStatus' - The response's http status code.+newResetAllResourceLogLevelsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ResetAllResourceLogLevelsResponse+newResetAllResourceLogLevelsResponse pHttpStatus_ =+  ResetAllResourceLogLevelsResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+resetAllResourceLogLevelsResponse_httpStatus :: Lens.Lens' ResetAllResourceLogLevelsResponse Prelude.Int+resetAllResourceLogLevelsResponse_httpStatus = Lens.lens (\ResetAllResourceLogLevelsResponse' {httpStatus} -> httpStatus) (\s@ResetAllResourceLogLevelsResponse' {} a -> s {httpStatus = a} :: ResetAllResourceLogLevelsResponse)++instance+  Prelude.NFData+    ResetAllResourceLogLevelsResponse+  where+  rnf ResetAllResourceLogLevelsResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/ResetResourceLogLevel.hs view
@@ -0,0 +1,166 @@+{-# 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.IoTWireless.ResetResourceLogLevel+-- 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 log-level override, if any, for a specific resource-ID and+-- resource-type. It can be used for a wireless device or a wireless+-- gateway.+module Amazonka.IoTWireless.ResetResourceLogLevel+  ( -- * Creating a Request+    ResetResourceLogLevel (..),+    newResetResourceLogLevel,++    -- * Request Lenses+    resetResourceLogLevel_resourceIdentifier,+    resetResourceLogLevel_resourceType,++    -- * Destructuring the Response+    ResetResourceLogLevelResponse (..),+    newResetResourceLogLevelResponse,++    -- * Response Lenses+    resetResourceLogLevelResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newResetResourceLogLevel' smart constructor.+data ResetResourceLogLevel = ResetResourceLogLevel'+  { resourceIdentifier :: Prelude.Text,+    -- | The type of the resource, which can be @WirelessDevice@ or+    -- @WirelessGateway@.+    resourceType :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetResourceLogLevel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceIdentifier', 'resetResourceLogLevel_resourceIdentifier' - Undocumented member.+--+-- 'resourceType', 'resetResourceLogLevel_resourceType' - The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+newResetResourceLogLevel ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'resourceType'+  Prelude.Text ->+  ResetResourceLogLevel+newResetResourceLogLevel+  pResourceIdentifier_+  pResourceType_ =+    ResetResourceLogLevel'+      { resourceIdentifier =+          pResourceIdentifier_,+        resourceType = pResourceType_+      }++-- | Undocumented member.+resetResourceLogLevel_resourceIdentifier :: Lens.Lens' ResetResourceLogLevel Prelude.Text+resetResourceLogLevel_resourceIdentifier = Lens.lens (\ResetResourceLogLevel' {resourceIdentifier} -> resourceIdentifier) (\s@ResetResourceLogLevel' {} a -> s {resourceIdentifier = a} :: ResetResourceLogLevel)++-- | The type of the resource, which can be @WirelessDevice@ or+-- @WirelessGateway@.+resetResourceLogLevel_resourceType :: Lens.Lens' ResetResourceLogLevel Prelude.Text+resetResourceLogLevel_resourceType = Lens.lens (\ResetResourceLogLevel' {resourceType} -> resourceType) (\s@ResetResourceLogLevel' {} a -> s {resourceType = a} :: ResetResourceLogLevel)++instance Core.AWSRequest ResetResourceLogLevel where+  type+    AWSResponse ResetResourceLogLevel =+      ResetResourceLogLevelResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          ResetResourceLogLevelResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ResetResourceLogLevel where+  hashWithSalt _salt ResetResourceLogLevel' {..} =+    _salt+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ResetResourceLogLevel where+  rnf ResetResourceLogLevel' {..} =+    Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToHeaders ResetResourceLogLevel where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ResetResourceLogLevel where+  toPath ResetResourceLogLevel' {..} =+    Prelude.mconcat+      ["/log-levels/", Data.toBS resourceIdentifier]++instance Data.ToQuery ResetResourceLogLevel where+  toQuery ResetResourceLogLevel' {..} =+    Prelude.mconcat+      ["resourceType" Data.=: resourceType]++-- | /See:/ 'newResetResourceLogLevelResponse' smart constructor.+data ResetResourceLogLevelResponse = ResetResourceLogLevelResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResetResourceLogLevelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'resetResourceLogLevelResponse_httpStatus' - The response's http status code.+newResetResourceLogLevelResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ResetResourceLogLevelResponse+newResetResourceLogLevelResponse pHttpStatus_ =+  ResetResourceLogLevelResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+resetResourceLogLevelResponse_httpStatus :: Lens.Lens' ResetResourceLogLevelResponse Prelude.Int+resetResourceLogLevelResponse_httpStatus = Lens.lens (\ResetResourceLogLevelResponse' {httpStatus} -> httpStatus) (\s@ResetResourceLogLevelResponse' {} a -> s {httpStatus = a} :: ResetResourceLogLevelResponse)++instance Prelude.NFData ResetResourceLogLevelResponse where+  rnf ResetResourceLogLevelResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/SendDataToMulticastGroup.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.SendDataToMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends the specified data to a multicast group.+module Amazonka.IoTWireless.SendDataToMulticastGroup+  ( -- * Creating a Request+    SendDataToMulticastGroup (..),+    newSendDataToMulticastGroup,++    -- * Request Lenses+    sendDataToMulticastGroup_id,+    sendDataToMulticastGroup_payloadData,+    sendDataToMulticastGroup_wirelessMetadata,++    -- * Destructuring the Response+    SendDataToMulticastGroupResponse (..),+    newSendDataToMulticastGroupResponse,++    -- * Response Lenses+    sendDataToMulticastGroupResponse_messageId,+    sendDataToMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSendDataToMulticastGroup' smart constructor.+data SendDataToMulticastGroup = SendDataToMulticastGroup'+  { id :: Prelude.Text,+    payloadData :: Prelude.Text,+    wirelessMetadata :: MulticastWirelessMetadata+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendDataToMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'sendDataToMulticastGroup_id' - Undocumented member.+--+-- 'payloadData', 'sendDataToMulticastGroup_payloadData' - Undocumented member.+--+-- 'wirelessMetadata', 'sendDataToMulticastGroup_wirelessMetadata' - Undocumented member.+newSendDataToMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  -- | 'payloadData'+  Prelude.Text ->+  -- | 'wirelessMetadata'+  MulticastWirelessMetadata ->+  SendDataToMulticastGroup+newSendDataToMulticastGroup+  pId_+  pPayloadData_+  pWirelessMetadata_ =+    SendDataToMulticastGroup'+      { id = pId_,+        payloadData = pPayloadData_,+        wirelessMetadata = pWirelessMetadata_+      }++-- | Undocumented member.+sendDataToMulticastGroup_id :: Lens.Lens' SendDataToMulticastGroup Prelude.Text+sendDataToMulticastGroup_id = Lens.lens (\SendDataToMulticastGroup' {id} -> id) (\s@SendDataToMulticastGroup' {} a -> s {id = a} :: SendDataToMulticastGroup)++-- | Undocumented member.+sendDataToMulticastGroup_payloadData :: Lens.Lens' SendDataToMulticastGroup Prelude.Text+sendDataToMulticastGroup_payloadData = Lens.lens (\SendDataToMulticastGroup' {payloadData} -> payloadData) (\s@SendDataToMulticastGroup' {} a -> s {payloadData = a} :: SendDataToMulticastGroup)++-- | Undocumented member.+sendDataToMulticastGroup_wirelessMetadata :: Lens.Lens' SendDataToMulticastGroup MulticastWirelessMetadata+sendDataToMulticastGroup_wirelessMetadata = Lens.lens (\SendDataToMulticastGroup' {wirelessMetadata} -> wirelessMetadata) (\s@SendDataToMulticastGroup' {} a -> s {wirelessMetadata = a} :: SendDataToMulticastGroup)++instance Core.AWSRequest SendDataToMulticastGroup where+  type+    AWSResponse SendDataToMulticastGroup =+      SendDataToMulticastGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SendDataToMulticastGroupResponse'+            Prelude.<$> (x Data..?> "MessageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SendDataToMulticastGroup where+  hashWithSalt _salt SendDataToMulticastGroup' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` payloadData+      `Prelude.hashWithSalt` wirelessMetadata++instance Prelude.NFData SendDataToMulticastGroup where+  rnf SendDataToMulticastGroup' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf payloadData+      `Prelude.seq` Prelude.rnf wirelessMetadata++instance Data.ToHeaders SendDataToMulticastGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON SendDataToMulticastGroup where+  toJSON SendDataToMulticastGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PayloadData" Data..= payloadData),+            Prelude.Just+              ("WirelessMetadata" Data..= wirelessMetadata)+          ]+      )++instance Data.ToPath SendDataToMulticastGroup where+  toPath SendDataToMulticastGroup' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id, "/data"]++instance Data.ToQuery SendDataToMulticastGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSendDataToMulticastGroupResponse' smart constructor.+data SendDataToMulticastGroupResponse = SendDataToMulticastGroupResponse'+  { messageId :: 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 'SendDataToMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'messageId', 'sendDataToMulticastGroupResponse_messageId' - Undocumented member.+--+-- 'httpStatus', 'sendDataToMulticastGroupResponse_httpStatus' - The response's http status code.+newSendDataToMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SendDataToMulticastGroupResponse+newSendDataToMulticastGroupResponse pHttpStatus_ =+  SendDataToMulticastGroupResponse'+    { messageId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+sendDataToMulticastGroupResponse_messageId :: Lens.Lens' SendDataToMulticastGroupResponse (Prelude.Maybe Prelude.Text)+sendDataToMulticastGroupResponse_messageId = Lens.lens (\SendDataToMulticastGroupResponse' {messageId} -> messageId) (\s@SendDataToMulticastGroupResponse' {} a -> s {messageId = a} :: SendDataToMulticastGroupResponse)++-- | The response's http status code.+sendDataToMulticastGroupResponse_httpStatus :: Lens.Lens' SendDataToMulticastGroupResponse Prelude.Int+sendDataToMulticastGroupResponse_httpStatus = Lens.lens (\SendDataToMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@SendDataToMulticastGroupResponse' {} a -> s {httpStatus = a} :: SendDataToMulticastGroupResponse)++instance+  Prelude.NFData+    SendDataToMulticastGroupResponse+  where+  rnf SendDataToMulticastGroupResponse' {..} =+    Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/SendDataToWirelessDevice.hs view
@@ -0,0 +1,215 @@+{-# 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.IoTWireless.SendDataToWirelessDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends a decrypted application data frame to a device.+module Amazonka.IoTWireless.SendDataToWirelessDevice+  ( -- * Creating a Request+    SendDataToWirelessDevice (..),+    newSendDataToWirelessDevice,++    -- * Request Lenses+    sendDataToWirelessDevice_wirelessMetadata,+    sendDataToWirelessDevice_id,+    sendDataToWirelessDevice_transmitMode,+    sendDataToWirelessDevice_payloadData,++    -- * Destructuring the Response+    SendDataToWirelessDeviceResponse (..),+    newSendDataToWirelessDeviceResponse,++    -- * Response Lenses+    sendDataToWirelessDeviceResponse_messageId,+    sendDataToWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSendDataToWirelessDevice' smart constructor.+data SendDataToWirelessDevice = SendDataToWirelessDevice'+  { -- | Metadata about the message request.+    wirelessMetadata :: Prelude.Maybe WirelessMetadata,+    -- | The ID of the wireless device to receive the data.+    id :: Prelude.Text,+    -- | The transmit mode to use to send data to the wireless device. Can be:+    -- @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+    transmitMode :: Prelude.Natural,+    payloadData :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SendDataToWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessMetadata', 'sendDataToWirelessDevice_wirelessMetadata' - Metadata about the message request.+--+-- 'id', 'sendDataToWirelessDevice_id' - The ID of the wireless device to receive the data.+--+-- 'transmitMode', 'sendDataToWirelessDevice_transmitMode' - The transmit mode to use to send data to the wireless device. Can be:+-- @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+--+-- 'payloadData', 'sendDataToWirelessDevice_payloadData' - Undocumented member.+newSendDataToWirelessDevice ::+  -- | 'id'+  Prelude.Text ->+  -- | 'transmitMode'+  Prelude.Natural ->+  -- | 'payloadData'+  Prelude.Text ->+  SendDataToWirelessDevice+newSendDataToWirelessDevice+  pId_+  pTransmitMode_+  pPayloadData_ =+    SendDataToWirelessDevice'+      { wirelessMetadata =+          Prelude.Nothing,+        id = pId_,+        transmitMode = pTransmitMode_,+        payloadData = pPayloadData_+      }++-- | Metadata about the message request.+sendDataToWirelessDevice_wirelessMetadata :: Lens.Lens' SendDataToWirelessDevice (Prelude.Maybe WirelessMetadata)+sendDataToWirelessDevice_wirelessMetadata = Lens.lens (\SendDataToWirelessDevice' {wirelessMetadata} -> wirelessMetadata) (\s@SendDataToWirelessDevice' {} a -> s {wirelessMetadata = a} :: SendDataToWirelessDevice)++-- | The ID of the wireless device to receive the data.+sendDataToWirelessDevice_id :: Lens.Lens' SendDataToWirelessDevice Prelude.Text+sendDataToWirelessDevice_id = Lens.lens (\SendDataToWirelessDevice' {id} -> id) (\s@SendDataToWirelessDevice' {} a -> s {id = a} :: SendDataToWirelessDevice)++-- | The transmit mode to use to send data to the wireless device. Can be:+-- @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+sendDataToWirelessDevice_transmitMode :: Lens.Lens' SendDataToWirelessDevice Prelude.Natural+sendDataToWirelessDevice_transmitMode = Lens.lens (\SendDataToWirelessDevice' {transmitMode} -> transmitMode) (\s@SendDataToWirelessDevice' {} a -> s {transmitMode = a} :: SendDataToWirelessDevice)++-- | Undocumented member.+sendDataToWirelessDevice_payloadData :: Lens.Lens' SendDataToWirelessDevice Prelude.Text+sendDataToWirelessDevice_payloadData = Lens.lens (\SendDataToWirelessDevice' {payloadData} -> payloadData) (\s@SendDataToWirelessDevice' {} a -> s {payloadData = a} :: SendDataToWirelessDevice)++instance Core.AWSRequest SendDataToWirelessDevice where+  type+    AWSResponse SendDataToWirelessDevice =+      SendDataToWirelessDeviceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SendDataToWirelessDeviceResponse'+            Prelude.<$> (x Data..?> "MessageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SendDataToWirelessDevice where+  hashWithSalt _salt SendDataToWirelessDevice' {..} =+    _salt+      `Prelude.hashWithSalt` wirelessMetadata+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` transmitMode+      `Prelude.hashWithSalt` payloadData++instance Prelude.NFData SendDataToWirelessDevice where+  rnf SendDataToWirelessDevice' {..} =+    Prelude.rnf wirelessMetadata+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf transmitMode+      `Prelude.seq` Prelude.rnf payloadData++instance Data.ToHeaders SendDataToWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON SendDataToWirelessDevice where+  toJSON SendDataToWirelessDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WirelessMetadata" Data..=)+              Prelude.<$> wirelessMetadata,+            Prelude.Just ("TransmitMode" Data..= transmitMode),+            Prelude.Just ("PayloadData" Data..= payloadData)+          ]+      )++instance Data.ToPath SendDataToWirelessDevice where+  toPath SendDataToWirelessDevice' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/data"]++instance Data.ToQuery SendDataToWirelessDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSendDataToWirelessDeviceResponse' smart constructor.+data SendDataToWirelessDeviceResponse = SendDataToWirelessDeviceResponse'+  { -- | The ID of the message sent to the wireless device.+    messageId :: 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 'SendDataToWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'messageId', 'sendDataToWirelessDeviceResponse_messageId' - The ID of the message sent to the wireless device.+--+-- 'httpStatus', 'sendDataToWirelessDeviceResponse_httpStatus' - The response's http status code.+newSendDataToWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SendDataToWirelessDeviceResponse+newSendDataToWirelessDeviceResponse pHttpStatus_ =+  SendDataToWirelessDeviceResponse'+    { messageId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the message sent to the wireless device.+sendDataToWirelessDeviceResponse_messageId :: Lens.Lens' SendDataToWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+sendDataToWirelessDeviceResponse_messageId = Lens.lens (\SendDataToWirelessDeviceResponse' {messageId} -> messageId) (\s@SendDataToWirelessDeviceResponse' {} a -> s {messageId = a} :: SendDataToWirelessDeviceResponse)++-- | The response's http status code.+sendDataToWirelessDeviceResponse_httpStatus :: Lens.Lens' SendDataToWirelessDeviceResponse Prelude.Int+sendDataToWirelessDeviceResponse_httpStatus = Lens.lens (\SendDataToWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@SendDataToWirelessDeviceResponse' {} a -> s {httpStatus = a} :: SendDataToWirelessDeviceResponse)++instance+  Prelude.NFData+    SendDataToWirelessDeviceResponse+  where+  rnf SendDataToWirelessDeviceResponse' {..} =+    Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/StartBulkAssociateWirelessDeviceWithMulticastGroup.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.StartBulkAssociateWirelessDeviceWithMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a bulk association of all qualifying wireless devices with a+-- multicast group.+module Amazonka.IoTWireless.StartBulkAssociateWirelessDeviceWithMulticastGroup+  ( -- * Creating a Request+    StartBulkAssociateWirelessDeviceWithMulticastGroup (..),+    newStartBulkAssociateWirelessDeviceWithMulticastGroup,++    -- * Request Lenses+    startBulkAssociateWirelessDeviceWithMulticastGroup_queryString,+    startBulkAssociateWirelessDeviceWithMulticastGroup_tags,+    startBulkAssociateWirelessDeviceWithMulticastGroup_id,++    -- * Destructuring the Response+    StartBulkAssociateWirelessDeviceWithMulticastGroupResponse (..),+    newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse,++    -- * Response Lenses+    startBulkAssociateWirelessDeviceWithMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartBulkAssociateWirelessDeviceWithMulticastGroup' smart constructor.+data StartBulkAssociateWirelessDeviceWithMulticastGroup = StartBulkAssociateWirelessDeviceWithMulticastGroup'+  { queryString :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe [Tag],+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartBulkAssociateWirelessDeviceWithMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queryString', 'startBulkAssociateWirelessDeviceWithMulticastGroup_queryString' - Undocumented member.+--+-- 'tags', 'startBulkAssociateWirelessDeviceWithMulticastGroup_tags' - Undocumented member.+--+-- 'id', 'startBulkAssociateWirelessDeviceWithMulticastGroup_id' - Undocumented member.+newStartBulkAssociateWirelessDeviceWithMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  StartBulkAssociateWirelessDeviceWithMulticastGroup+newStartBulkAssociateWirelessDeviceWithMulticastGroup+  pId_ =+    StartBulkAssociateWirelessDeviceWithMulticastGroup'+      { queryString =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        id = pId_+      }++-- | Undocumented member.+startBulkAssociateWirelessDeviceWithMulticastGroup_queryString :: Lens.Lens' StartBulkAssociateWirelessDeviceWithMulticastGroup (Prelude.Maybe Prelude.Text)+startBulkAssociateWirelessDeviceWithMulticastGroup_queryString = Lens.lens (\StartBulkAssociateWirelessDeviceWithMulticastGroup' {queryString} -> queryString) (\s@StartBulkAssociateWirelessDeviceWithMulticastGroup' {} a -> s {queryString = a} :: StartBulkAssociateWirelessDeviceWithMulticastGroup)++-- | Undocumented member.+startBulkAssociateWirelessDeviceWithMulticastGroup_tags :: Lens.Lens' StartBulkAssociateWirelessDeviceWithMulticastGroup (Prelude.Maybe [Tag])+startBulkAssociateWirelessDeviceWithMulticastGroup_tags = Lens.lens (\StartBulkAssociateWirelessDeviceWithMulticastGroup' {tags} -> tags) (\s@StartBulkAssociateWirelessDeviceWithMulticastGroup' {} a -> s {tags = a} :: StartBulkAssociateWirelessDeviceWithMulticastGroup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+startBulkAssociateWirelessDeviceWithMulticastGroup_id :: Lens.Lens' StartBulkAssociateWirelessDeviceWithMulticastGroup Prelude.Text+startBulkAssociateWirelessDeviceWithMulticastGroup_id = Lens.lens (\StartBulkAssociateWirelessDeviceWithMulticastGroup' {id} -> id) (\s@StartBulkAssociateWirelessDeviceWithMulticastGroup' {} a -> s {id = a} :: StartBulkAssociateWirelessDeviceWithMulticastGroup)++instance+  Core.AWSRequest+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  type+    AWSResponse+      StartBulkAssociateWirelessDeviceWithMulticastGroup =+      StartBulkAssociateWirelessDeviceWithMulticastGroupResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StartBulkAssociateWirelessDeviceWithMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  hashWithSalt+    _salt+    StartBulkAssociateWirelessDeviceWithMulticastGroup' {..} =+      _salt+        `Prelude.hashWithSalt` queryString+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  rnf+    StartBulkAssociateWirelessDeviceWithMulticastGroup' {..} =+      Prelude.rnf queryString+        `Prelude.seq` Prelude.rnf tags+        `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  toJSON+    StartBulkAssociateWirelessDeviceWithMulticastGroup' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("QueryString" Data..=) Prelude.<$> queryString,+              ("Tags" Data..=) Prelude.<$> tags+            ]+        )++instance+  Data.ToPath+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  toPath+    StartBulkAssociateWirelessDeviceWithMulticastGroup' {..} =+      Prelude.mconcat+        ["/multicast-groups/", Data.toBS id, "/bulk"]++instance+  Data.ToQuery+    StartBulkAssociateWirelessDeviceWithMulticastGroup+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse' smart constructor.+data StartBulkAssociateWirelessDeviceWithMulticastGroupResponse = StartBulkAssociateWirelessDeviceWithMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartBulkAssociateWirelessDeviceWithMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startBulkAssociateWirelessDeviceWithMulticastGroupResponse_httpStatus' - The response's http status code.+newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartBulkAssociateWirelessDeviceWithMulticastGroupResponse+newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse+  pHttpStatus_ =+    StartBulkAssociateWirelessDeviceWithMulticastGroupResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+startBulkAssociateWirelessDeviceWithMulticastGroupResponse_httpStatus :: Lens.Lens' StartBulkAssociateWirelessDeviceWithMulticastGroupResponse Prelude.Int+startBulkAssociateWirelessDeviceWithMulticastGroupResponse_httpStatus = Lens.lens (\StartBulkAssociateWirelessDeviceWithMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@StartBulkAssociateWirelessDeviceWithMulticastGroupResponse' {} a -> s {httpStatus = a} :: StartBulkAssociateWirelessDeviceWithMulticastGroupResponse)++instance+  Prelude.NFData+    StartBulkAssociateWirelessDeviceWithMulticastGroupResponse+  where+  rnf+    StartBulkAssociateWirelessDeviceWithMulticastGroupResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/StartBulkDisassociateWirelessDeviceFromMulticastGroup.hs view
@@ -0,0 +1,209 @@+{-# 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.IoTWireless.StartBulkDisassociateWirelessDeviceFromMulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a bulk disassociatin of all qualifying wireless devices from a+-- multicast group.+module Amazonka.IoTWireless.StartBulkDisassociateWirelessDeviceFromMulticastGroup+  ( -- * Creating a Request+    StartBulkDisassociateWirelessDeviceFromMulticastGroup (..),+    newStartBulkDisassociateWirelessDeviceFromMulticastGroup,++    -- * Request Lenses+    startBulkDisassociateWirelessDeviceFromMulticastGroup_queryString,+    startBulkDisassociateWirelessDeviceFromMulticastGroup_tags,+    startBulkDisassociateWirelessDeviceFromMulticastGroup_id,++    -- * Destructuring the Response+    StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse (..),+    newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse,++    -- * Response Lenses+    startBulkDisassociateWirelessDeviceFromMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartBulkDisassociateWirelessDeviceFromMulticastGroup' smart constructor.+data StartBulkDisassociateWirelessDeviceFromMulticastGroup = StartBulkDisassociateWirelessDeviceFromMulticastGroup'+  { queryString :: Prelude.Maybe Prelude.Text,+    tags :: Prelude.Maybe [Tag],+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartBulkDisassociateWirelessDeviceFromMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queryString', 'startBulkDisassociateWirelessDeviceFromMulticastGroup_queryString' - Undocumented member.+--+-- 'tags', 'startBulkDisassociateWirelessDeviceFromMulticastGroup_tags' - Undocumented member.+--+-- 'id', 'startBulkDisassociateWirelessDeviceFromMulticastGroup_id' - Undocumented member.+newStartBulkDisassociateWirelessDeviceFromMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  StartBulkDisassociateWirelessDeviceFromMulticastGroup+newStartBulkDisassociateWirelessDeviceFromMulticastGroup+  pId_ =+    StartBulkDisassociateWirelessDeviceFromMulticastGroup'+      { queryString =+          Prelude.Nothing,+        tags =+          Prelude.Nothing,+        id = pId_+      }++-- | Undocumented member.+startBulkDisassociateWirelessDeviceFromMulticastGroup_queryString :: Lens.Lens' StartBulkDisassociateWirelessDeviceFromMulticastGroup (Prelude.Maybe Prelude.Text)+startBulkDisassociateWirelessDeviceFromMulticastGroup_queryString = Lens.lens (\StartBulkDisassociateWirelessDeviceFromMulticastGroup' {queryString} -> queryString) (\s@StartBulkDisassociateWirelessDeviceFromMulticastGroup' {} a -> s {queryString = a} :: StartBulkDisassociateWirelessDeviceFromMulticastGroup)++-- | Undocumented member.+startBulkDisassociateWirelessDeviceFromMulticastGroup_tags :: Lens.Lens' StartBulkDisassociateWirelessDeviceFromMulticastGroup (Prelude.Maybe [Tag])+startBulkDisassociateWirelessDeviceFromMulticastGroup_tags = Lens.lens (\StartBulkDisassociateWirelessDeviceFromMulticastGroup' {tags} -> tags) (\s@StartBulkDisassociateWirelessDeviceFromMulticastGroup' {} a -> s {tags = a} :: StartBulkDisassociateWirelessDeviceFromMulticastGroup) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+startBulkDisassociateWirelessDeviceFromMulticastGroup_id :: Lens.Lens' StartBulkDisassociateWirelessDeviceFromMulticastGroup Prelude.Text+startBulkDisassociateWirelessDeviceFromMulticastGroup_id = Lens.lens (\StartBulkDisassociateWirelessDeviceFromMulticastGroup' {id} -> id) (\s@StartBulkDisassociateWirelessDeviceFromMulticastGroup' {} a -> s {id = a} :: StartBulkDisassociateWirelessDeviceFromMulticastGroup)++instance+  Core.AWSRequest+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  type+    AWSResponse+      StartBulkDisassociateWirelessDeviceFromMulticastGroup =+      StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  hashWithSalt+    _salt+    StartBulkDisassociateWirelessDeviceFromMulticastGroup' {..} =+      _salt+        `Prelude.hashWithSalt` queryString+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  rnf+    StartBulkDisassociateWirelessDeviceFromMulticastGroup' {..} =+      Prelude.rnf queryString+        `Prelude.seq` Prelude.rnf tags+        `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  toJSON+    StartBulkDisassociateWirelessDeviceFromMulticastGroup' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("QueryString" Data..=) Prelude.<$> queryString,+              ("Tags" Data..=) Prelude.<$> tags+            ]+        )++instance+  Data.ToPath+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  toPath+    StartBulkDisassociateWirelessDeviceFromMulticastGroup' {..} =+      Prelude.mconcat+        ["/multicast-groups/", Data.toBS id, "/bulk"]++instance+  Data.ToQuery+    StartBulkDisassociateWirelessDeviceFromMulticastGroup+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse' smart constructor.+data StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse = StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startBulkDisassociateWirelessDeviceFromMulticastGroupResponse_httpStatus' - The response's http status code.+newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse+newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse+  pHttpStatus_ =+    StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+startBulkDisassociateWirelessDeviceFromMulticastGroupResponse_httpStatus :: Lens.Lens' StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse Prelude.Int+startBulkDisassociateWirelessDeviceFromMulticastGroupResponse_httpStatus = Lens.lens (\StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse' {} a -> s {httpStatus = a} :: StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse)++instance+  Prelude.NFData+    StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse+  where+  rnf+    StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/StartFuotaTask.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.StartFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a FUOTA task.+module Amazonka.IoTWireless.StartFuotaTask+  ( -- * Creating a Request+    StartFuotaTask (..),+    newStartFuotaTask,++    -- * Request Lenses+    startFuotaTask_loRaWAN,+    startFuotaTask_id,++    -- * Destructuring the Response+    StartFuotaTaskResponse (..),+    newStartFuotaTaskResponse,++    -- * Response Lenses+    startFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartFuotaTask' smart constructor.+data StartFuotaTask = StartFuotaTask'+  { loRaWAN :: Prelude.Maybe LoRaWANStartFuotaTask,+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'startFuotaTask_loRaWAN' - Undocumented member.+--+-- 'id', 'startFuotaTask_id' - Undocumented member.+newStartFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  StartFuotaTask+newStartFuotaTask pId_ =+  StartFuotaTask'+    { loRaWAN = Prelude.Nothing,+      id = pId_+    }++-- | Undocumented member.+startFuotaTask_loRaWAN :: Lens.Lens' StartFuotaTask (Prelude.Maybe LoRaWANStartFuotaTask)+startFuotaTask_loRaWAN = Lens.lens (\StartFuotaTask' {loRaWAN} -> loRaWAN) (\s@StartFuotaTask' {} a -> s {loRaWAN = a} :: StartFuotaTask)++-- | Undocumented member.+startFuotaTask_id :: Lens.Lens' StartFuotaTask Prelude.Text+startFuotaTask_id = Lens.lens (\StartFuotaTask' {id} -> id) (\s@StartFuotaTask' {} a -> s {id = a} :: StartFuotaTask)++instance Core.AWSRequest StartFuotaTask where+  type+    AWSResponse StartFuotaTask =+      StartFuotaTaskResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StartFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartFuotaTask where+  hashWithSalt _salt StartFuotaTask' {..} =+    _salt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` id++instance Prelude.NFData StartFuotaTask where+  rnf StartFuotaTask' {..} =+    Prelude.rnf loRaWAN `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders StartFuotaTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON StartFuotaTask where+  toJSON StartFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [("LoRaWAN" Data..=) Prelude.<$> loRaWAN]+      )++instance Data.ToPath StartFuotaTask where+  toPath StartFuotaTask' {..} =+    Prelude.mconcat ["/fuota-tasks/", Data.toBS id]++instance Data.ToQuery StartFuotaTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartFuotaTaskResponse' smart constructor.+data StartFuotaTaskResponse = StartFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startFuotaTaskResponse_httpStatus' - The response's http status code.+newStartFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartFuotaTaskResponse+newStartFuotaTaskResponse pHttpStatus_ =+  StartFuotaTaskResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+startFuotaTaskResponse_httpStatus :: Lens.Lens' StartFuotaTaskResponse Prelude.Int+startFuotaTaskResponse_httpStatus = Lens.lens (\StartFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@StartFuotaTaskResponse' {} a -> s {httpStatus = a} :: StartFuotaTaskResponse)++instance Prelude.NFData StartFuotaTaskResponse where+  rnf StartFuotaTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/StartMulticastGroupSession.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.IoTWireless.StartMulticastGroupSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a multicast group session.+module Amazonka.IoTWireless.StartMulticastGroupSession+  ( -- * Creating a Request+    StartMulticastGroupSession (..),+    newStartMulticastGroupSession,++    -- * Request Lenses+    startMulticastGroupSession_id,+    startMulticastGroupSession_loRaWAN,++    -- * Destructuring the Response+    StartMulticastGroupSessionResponse (..),+    newStartMulticastGroupSessionResponse,++    -- * Response Lenses+    startMulticastGroupSessionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartMulticastGroupSession' smart constructor.+data StartMulticastGroupSession = StartMulticastGroupSession'+  { id :: Prelude.Text,+    loRaWAN :: LoRaWANMulticastSession+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartMulticastGroupSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'startMulticastGroupSession_id' - Undocumented member.+--+-- 'loRaWAN', 'startMulticastGroupSession_loRaWAN' - Undocumented member.+newStartMulticastGroupSession ::+  -- | 'id'+  Prelude.Text ->+  -- | 'loRaWAN'+  LoRaWANMulticastSession ->+  StartMulticastGroupSession+newStartMulticastGroupSession pId_ pLoRaWAN_ =+  StartMulticastGroupSession'+    { id = pId_,+      loRaWAN = pLoRaWAN_+    }++-- | Undocumented member.+startMulticastGroupSession_id :: Lens.Lens' StartMulticastGroupSession Prelude.Text+startMulticastGroupSession_id = Lens.lens (\StartMulticastGroupSession' {id} -> id) (\s@StartMulticastGroupSession' {} a -> s {id = a} :: StartMulticastGroupSession)++-- | Undocumented member.+startMulticastGroupSession_loRaWAN :: Lens.Lens' StartMulticastGroupSession LoRaWANMulticastSession+startMulticastGroupSession_loRaWAN = Lens.lens (\StartMulticastGroupSession' {loRaWAN} -> loRaWAN) (\s@StartMulticastGroupSession' {} a -> s {loRaWAN = a} :: StartMulticastGroupSession)++instance Core.AWSRequest StartMulticastGroupSession where+  type+    AWSResponse StartMulticastGroupSession =+      StartMulticastGroupSessionResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StartMulticastGroupSessionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartMulticastGroupSession where+  hashWithSalt _salt StartMulticastGroupSession' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` loRaWAN++instance Prelude.NFData StartMulticastGroupSession where+  rnf StartMulticastGroupSession' {..} =+    Prelude.rnf id `Prelude.seq` Prelude.rnf loRaWAN++instance Data.ToHeaders StartMulticastGroupSession where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON StartMulticastGroupSession where+  toJSON StartMulticastGroupSession' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("LoRaWAN" Data..= loRaWAN)]+      )++instance Data.ToPath StartMulticastGroupSession where+  toPath StartMulticastGroupSession' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id, "/session"]++instance Data.ToQuery StartMulticastGroupSession where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartMulticastGroupSessionResponse' smart constructor.+data StartMulticastGroupSessionResponse = StartMulticastGroupSessionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartMulticastGroupSessionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startMulticastGroupSessionResponse_httpStatus' - The response's http status code.+newStartMulticastGroupSessionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartMulticastGroupSessionResponse+newStartMulticastGroupSessionResponse pHttpStatus_ =+  StartMulticastGroupSessionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+startMulticastGroupSessionResponse_httpStatus :: Lens.Lens' StartMulticastGroupSessionResponse Prelude.Int+startMulticastGroupSessionResponse_httpStatus = Lens.lens (\StartMulticastGroupSessionResponse' {httpStatus} -> httpStatus) (\s@StartMulticastGroupSessionResponse' {} a -> s {httpStatus = a} :: StartMulticastGroupSessionResponse)++instance+  Prelude.NFData+    StartMulticastGroupSessionResponse+  where+  rnf StartMulticastGroupSessionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/TagResource.hs view
@@ -0,0 +1,158 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.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 a tag to a resource.+module Amazonka.IoTWireless.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.IoTWireless.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 to add tags to.+    resourceArn :: Prelude.Text,+    -- | Adds to or modifies the tags of the given resource. Tags are metadata+    -- that you can use to manage a 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 to add tags to.+--+-- 'tags', 'tagResource_tags' - Adds to or modifies the tags of the given resource. Tags are metadata+-- that you can use to manage a resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The ARN of the resource to add tags to.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Adds to or modifies the tags of the given resource. Tags are metadata+-- that you can use to manage a 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.mempty++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery TagResource where+  toQuery TagResource' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /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/IoTWireless/TestWirelessDevice.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.TestWirelessDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Simulates a provisioned device by sending an uplink data payload of+-- @Hello@.+module Amazonka.IoTWireless.TestWirelessDevice+  ( -- * Creating a Request+    TestWirelessDevice (..),+    newTestWirelessDevice,++    -- * Request Lenses+    testWirelessDevice_id,++    -- * Destructuring the Response+    TestWirelessDeviceResponse (..),+    newTestWirelessDeviceResponse,++    -- * Response Lenses+    testWirelessDeviceResponse_result,+    testWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTestWirelessDevice' smart constructor.+data TestWirelessDevice = TestWirelessDevice'+  { -- | The ID of the wireless device to test.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TestWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'testWirelessDevice_id' - The ID of the wireless device to test.+newTestWirelessDevice ::+  -- | 'id'+  Prelude.Text ->+  TestWirelessDevice+newTestWirelessDevice pId_ =+  TestWirelessDevice' {id = pId_}++-- | The ID of the wireless device to test.+testWirelessDevice_id :: Lens.Lens' TestWirelessDevice Prelude.Text+testWirelessDevice_id = Lens.lens (\TestWirelessDevice' {id} -> id) (\s@TestWirelessDevice' {} a -> s {id = a} :: TestWirelessDevice)++instance Core.AWSRequest TestWirelessDevice where+  type+    AWSResponse TestWirelessDevice =+      TestWirelessDeviceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          TestWirelessDeviceResponse'+            Prelude.<$> (x Data..?> "Result")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TestWirelessDevice where+  hashWithSalt _salt TestWirelessDevice' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData TestWirelessDevice where+  rnf TestWirelessDevice' {..} = Prelude.rnf id++instance Data.ToHeaders TestWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TestWirelessDevice where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath TestWirelessDevice where+  toPath TestWirelessDevice' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id, "/test"]++instance Data.ToQuery TestWirelessDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTestWirelessDeviceResponse' smart constructor.+data TestWirelessDeviceResponse = TestWirelessDeviceResponse'+  { -- | The result returned by the test.+    result :: 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 'TestWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'result', 'testWirelessDeviceResponse_result' - The result returned by the test.+--+-- 'httpStatus', 'testWirelessDeviceResponse_httpStatus' - The response's http status code.+newTestWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TestWirelessDeviceResponse+newTestWirelessDeviceResponse pHttpStatus_ =+  TestWirelessDeviceResponse'+    { result =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The result returned by the test.+testWirelessDeviceResponse_result :: Lens.Lens' TestWirelessDeviceResponse (Prelude.Maybe Prelude.Text)+testWirelessDeviceResponse_result = Lens.lens (\TestWirelessDeviceResponse' {result} -> result) (\s@TestWirelessDeviceResponse' {} a -> s {result = a} :: TestWirelessDeviceResponse)++-- | The response's http status code.+testWirelessDeviceResponse_httpStatus :: Lens.Lens' TestWirelessDeviceResponse Prelude.Int+testWirelessDeviceResponse_httpStatus = Lens.lens (\TestWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@TestWirelessDeviceResponse' {} a -> s {httpStatus = a} :: TestWirelessDeviceResponse)++instance Prelude.NFData TestWirelessDeviceResponse where+  rnf TestWirelessDeviceResponse' {..} =+    Prelude.rnf result+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/Types.hs view
@@ -0,0 +1,1143 @@+{-# 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.IoTWireless.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.IoTWireless.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ThrottlingException,+    _TooManyTagsException,+    _ValidationException,++    -- * ApplicationConfigType+    ApplicationConfigType (..),++    -- * BatteryLevel+    BatteryLevel (..),++    -- * ConnectionStatus+    ConnectionStatus (..),++    -- * DeviceState+    DeviceState (..),++    -- * DlClass+    DlClass (..),++    -- * DownlinkMode+    DownlinkMode (..),++    -- * Event+    Event (..),++    -- * EventNotificationPartnerType+    EventNotificationPartnerType (..),++    -- * EventNotificationResourceType+    EventNotificationResourceType (..),++    -- * EventNotificationTopicStatus+    EventNotificationTopicStatus (..),++    -- * ExpressionType+    ExpressionType (..),++    -- * FuotaDeviceStatus+    FuotaDeviceStatus (..),++    -- * FuotaTaskStatus+    FuotaTaskStatus (..),++    -- * IdentifierType+    IdentifierType (..),++    -- * LogLevel+    LogLevel (..),++    -- * MessageType+    MessageType (..),++    -- * PartnerType+    PartnerType (..),++    -- * PositionResourceType+    PositionResourceType (..),++    -- * PositioningConfigStatus+    PositioningConfigStatus (..),++    -- * SigningAlg+    SigningAlg (..),++    -- * SupportedRfRegion+    SupportedRfRegion (..),++    -- * WirelessDeviceEvent+    WirelessDeviceEvent (..),++    -- * WirelessDeviceFrameInfo+    WirelessDeviceFrameInfo (..),++    -- * WirelessDeviceIdType+    WirelessDeviceIdType (..),++    -- * WirelessDeviceType+    WirelessDeviceType (..),++    -- * WirelessGatewayEvent+    WirelessGatewayEvent (..),++    -- * WirelessGatewayIdType+    WirelessGatewayIdType (..),++    -- * WirelessGatewayServiceType+    WirelessGatewayServiceType (..),++    -- * WirelessGatewayTaskDefinitionType+    WirelessGatewayTaskDefinitionType (..),++    -- * WirelessGatewayTaskStatus+    WirelessGatewayTaskStatus (..),++    -- * WirelessGatewayType+    WirelessGatewayType (..),++    -- * AbpV1_0_x+    AbpV1_0_x (..),+    newAbpV1_0_x,+    abpV1_0_x_devAddr,+    abpV1_0_x_fCntStart,+    abpV1_0_x_sessionKeys,++    -- * AbpV1_1+    AbpV1_1 (..),+    newAbpV1_1,+    abpV1_1_devAddr,+    abpV1_1_fCntStart,+    abpV1_1_sessionKeys,++    -- * ApplicationConfig+    ApplicationConfig (..),+    newApplicationConfig,+    applicationConfig_destinationName,+    applicationConfig_fPort,+    applicationConfig_type,++    -- * Beaconing+    Beaconing (..),+    newBeaconing,+    beaconing_dataRate,+    beaconing_frequencies,++    -- * CdmaLocalId+    CdmaLocalId (..),+    newCdmaLocalId,+    cdmaLocalId_pnOffset,+    cdmaLocalId_cdmaChannel,++    -- * CdmaNmrObj+    CdmaNmrObj (..),+    newCdmaNmrObj,+    cdmaNmrObj_baseStationId,+    cdmaNmrObj_pilotPower,+    cdmaNmrObj_pnOffset,+    cdmaNmrObj_cdmaChannel,++    -- * CdmaObj+    CdmaObj (..),+    newCdmaObj,+    cdmaObj_baseLat,+    cdmaObj_baseLng,+    cdmaObj_cdmaLocalId,+    cdmaObj_cdmaNmr,+    cdmaObj_pilotPower,+    cdmaObj_registrationZone,+    cdmaObj_systemId,+    cdmaObj_networkId,+    cdmaObj_baseStationId,++    -- * CellTowers+    CellTowers (..),+    newCellTowers,+    cellTowers_cdma,+    cellTowers_gsm,+    cellTowers_lte,+    cellTowers_tdscdma,+    cellTowers_wcdma,++    -- * CertificateList+    CertificateList (..),+    newCertificateList,+    certificateList_signingAlg,+    certificateList_value,++    -- * ConnectionStatusEventConfiguration+    ConnectionStatusEventConfiguration (..),+    newConnectionStatusEventConfiguration,+    connectionStatusEventConfiguration_loRaWAN,+    connectionStatusEventConfiguration_wirelessGatewayIdEventTopic,++    -- * ConnectionStatusResourceTypeEventConfiguration+    ConnectionStatusResourceTypeEventConfiguration (..),+    newConnectionStatusResourceTypeEventConfiguration,+    connectionStatusResourceTypeEventConfiguration_loRaWAN,++    -- * Destinations+    Destinations (..),+    newDestinations,+    destinations_arn,+    destinations_description,+    destinations_expression,+    destinations_expressionType,+    destinations_name,+    destinations_roleArn,++    -- * DeviceProfile+    DeviceProfile (..),+    newDeviceProfile,+    deviceProfile_arn,+    deviceProfile_id,+    deviceProfile_name,++    -- * DeviceRegistrationStateEventConfiguration+    DeviceRegistrationStateEventConfiguration (..),+    newDeviceRegistrationStateEventConfiguration,+    deviceRegistrationStateEventConfiguration_sidewalk,+    deviceRegistrationStateEventConfiguration_wirelessDeviceIdEventTopic,++    -- * DeviceRegistrationStateResourceTypeEventConfiguration+    DeviceRegistrationStateResourceTypeEventConfiguration (..),+    newDeviceRegistrationStateResourceTypeEventConfiguration,+    deviceRegistrationStateResourceTypeEventConfiguration_sidewalk,++    -- * DownlinkQueueMessage+    DownlinkQueueMessage (..),+    newDownlinkQueueMessage,+    downlinkQueueMessage_loRaWAN,+    downlinkQueueMessage_messageId,+    downlinkQueueMessage_receivedAt,+    downlinkQueueMessage_transmitMode,++    -- * EventConfigurationItem+    EventConfigurationItem (..),+    newEventConfigurationItem,+    eventConfigurationItem_events,+    eventConfigurationItem_identifier,+    eventConfigurationItem_identifierType,+    eventConfigurationItem_partnerType,++    -- * EventNotificationItemConfigurations+    EventNotificationItemConfigurations (..),+    newEventNotificationItemConfigurations,+    eventNotificationItemConfigurations_connectionStatus,+    eventNotificationItemConfigurations_deviceRegistrationState,+    eventNotificationItemConfigurations_join,+    eventNotificationItemConfigurations_messageDeliveryStatus,+    eventNotificationItemConfigurations_proximity,++    -- * FPorts+    FPorts (..),+    newFPorts,+    fPorts_applications,+    fPorts_clockSync,+    fPorts_fuota,+    fPorts_multicast,+    fPorts_positioning,++    -- * FuotaTask+    FuotaTask (..),+    newFuotaTask,+    fuotaTask_arn,+    fuotaTask_id,+    fuotaTask_name,++    -- * GatewayListItem+    GatewayListItem (..),+    newGatewayListItem,+    gatewayListItem_gatewayId,+    gatewayListItem_downlinkFrequency,++    -- * GlobalIdentity+    GlobalIdentity (..),+    newGlobalIdentity,+    globalIdentity_lac,+    globalIdentity_geranCid,++    -- * Gnss+    Gnss (..),+    newGnss,+    gnss_assistAltitude,+    gnss_assistPosition,+    gnss_captureTime,+    gnss_captureTimeAccuracy,+    gnss_use2DSolver,+    gnss_payload,++    -- * GsmLocalId+    GsmLocalId (..),+    newGsmLocalId,+    gsmLocalId_bsic,+    gsmLocalId_bcch,++    -- * GsmNmrObj+    GsmNmrObj (..),+    newGsmNmrObj,+    gsmNmrObj_globalIdentity,+    gsmNmrObj_rxLevel,+    gsmNmrObj_bsic,+    gsmNmrObj_bcch,++    -- * GsmObj+    GsmObj (..),+    newGsmObj,+    gsmObj_gsmLocalId,+    gsmObj_gsmNmr,+    gsmObj_gsmTimingAdvance,+    gsmObj_rxLevel,+    gsmObj_mcc,+    gsmObj_mnc,+    gsmObj_lac,+    gsmObj_geranCid,++    -- * Ip+    Ip (..),+    newIp,+    ip_ipAddress,++    -- * JoinEventConfiguration+    JoinEventConfiguration (..),+    newJoinEventConfiguration,+    joinEventConfiguration_loRaWAN,+    joinEventConfiguration_wirelessDeviceIdEventTopic,++    -- * JoinResourceTypeEventConfiguration+    JoinResourceTypeEventConfiguration (..),+    newJoinResourceTypeEventConfiguration,+    joinResourceTypeEventConfiguration_loRaWAN,++    -- * LoRaWANConnectionStatusEventNotificationConfigurations+    LoRaWANConnectionStatusEventNotificationConfigurations (..),+    newLoRaWANConnectionStatusEventNotificationConfigurations,+    loRaWANConnectionStatusEventNotificationConfigurations_gatewayEuiEventTopic,++    -- * LoRaWANConnectionStatusResourceTypeEventConfiguration+    LoRaWANConnectionStatusResourceTypeEventConfiguration (..),+    newLoRaWANConnectionStatusResourceTypeEventConfiguration,+    loRaWANConnectionStatusResourceTypeEventConfiguration_wirelessGatewayEventTopic,++    -- * LoRaWANDevice+    LoRaWANDevice (..),+    newLoRaWANDevice,+    loRaWANDevice_abpV1_0_x,+    loRaWANDevice_abpV1_1,+    loRaWANDevice_devEui,+    loRaWANDevice_deviceProfileId,+    loRaWANDevice_fPorts,+    loRaWANDevice_otaaV1_0_x,+    loRaWANDevice_otaaV1_1,+    loRaWANDevice_serviceProfileId,++    -- * LoRaWANDeviceMetadata+    LoRaWANDeviceMetadata (..),+    newLoRaWANDeviceMetadata,+    loRaWANDeviceMetadata_dataRate,+    loRaWANDeviceMetadata_devEui,+    loRaWANDeviceMetadata_fPort,+    loRaWANDeviceMetadata_frequency,+    loRaWANDeviceMetadata_gateways,+    loRaWANDeviceMetadata_timestamp,++    -- * LoRaWANDeviceProfile+    LoRaWANDeviceProfile (..),+    newLoRaWANDeviceProfile,+    loRaWANDeviceProfile_classBTimeout,+    loRaWANDeviceProfile_classCTimeout,+    loRaWANDeviceProfile_factoryPresetFreqsList,+    loRaWANDeviceProfile_macVersion,+    loRaWANDeviceProfile_maxDutyCycle,+    loRaWANDeviceProfile_maxEirp,+    loRaWANDeviceProfile_pingSlotDr,+    loRaWANDeviceProfile_pingSlotFreq,+    loRaWANDeviceProfile_pingSlotPeriod,+    loRaWANDeviceProfile_regParamsRevision,+    loRaWANDeviceProfile_rfRegion,+    loRaWANDeviceProfile_rxDataRate2,+    loRaWANDeviceProfile_rxDelay1,+    loRaWANDeviceProfile_rxDrOffset1,+    loRaWANDeviceProfile_rxFreq2,+    loRaWANDeviceProfile_supports32BitFCnt,+    loRaWANDeviceProfile_supportsClassB,+    loRaWANDeviceProfile_supportsClassC,+    loRaWANDeviceProfile_supportsJoin,++    -- * LoRaWANFuotaTask+    LoRaWANFuotaTask (..),+    newLoRaWANFuotaTask,+    loRaWANFuotaTask_rfRegion,++    -- * LoRaWANFuotaTaskGetInfo+    LoRaWANFuotaTaskGetInfo (..),+    newLoRaWANFuotaTaskGetInfo,+    loRaWANFuotaTaskGetInfo_rfRegion,+    loRaWANFuotaTaskGetInfo_startTime,++    -- * LoRaWANGateway+    LoRaWANGateway (..),+    newLoRaWANGateway,+    loRaWANGateway_beaconing,+    loRaWANGateway_gatewayEui,+    loRaWANGateway_joinEuiFilters,+    loRaWANGateway_netIdFilters,+    loRaWANGateway_rfRegion,+    loRaWANGateway_subBands,++    -- * LoRaWANGatewayCurrentVersion+    LoRaWANGatewayCurrentVersion (..),+    newLoRaWANGatewayCurrentVersion,+    loRaWANGatewayCurrentVersion_currentVersion,++    -- * LoRaWANGatewayMetadata+    LoRaWANGatewayMetadata (..),+    newLoRaWANGatewayMetadata,+    loRaWANGatewayMetadata_gatewayEui,+    loRaWANGatewayMetadata_rssi,+    loRaWANGatewayMetadata_snr,++    -- * LoRaWANGatewayVersion+    LoRaWANGatewayVersion (..),+    newLoRaWANGatewayVersion,+    loRaWANGatewayVersion_model,+    loRaWANGatewayVersion_packageVersion,+    loRaWANGatewayVersion_station,++    -- * LoRaWANGetServiceProfileInfo+    LoRaWANGetServiceProfileInfo (..),+    newLoRaWANGetServiceProfileInfo,+    loRaWANGetServiceProfileInfo_addGwMetadata,+    loRaWANGetServiceProfileInfo_channelMask,+    loRaWANGetServiceProfileInfo_devStatusReqFreq,+    loRaWANGetServiceProfileInfo_dlBucketSize,+    loRaWANGetServiceProfileInfo_dlRate,+    loRaWANGetServiceProfileInfo_dlRatePolicy,+    loRaWANGetServiceProfileInfo_drMax,+    loRaWANGetServiceProfileInfo_drMin,+    loRaWANGetServiceProfileInfo_hrAllowed,+    loRaWANGetServiceProfileInfo_minGwDiversity,+    loRaWANGetServiceProfileInfo_nwkGeoLoc,+    loRaWANGetServiceProfileInfo_prAllowed,+    loRaWANGetServiceProfileInfo_raAllowed,+    loRaWANGetServiceProfileInfo_reportDevStatusBattery,+    loRaWANGetServiceProfileInfo_reportDevStatusMargin,+    loRaWANGetServiceProfileInfo_targetPer,+    loRaWANGetServiceProfileInfo_ulBucketSize,+    loRaWANGetServiceProfileInfo_ulRate,+    loRaWANGetServiceProfileInfo_ulRatePolicy,++    -- * LoRaWANJoinEventNotificationConfigurations+    LoRaWANJoinEventNotificationConfigurations (..),+    newLoRaWANJoinEventNotificationConfigurations,+    loRaWANJoinEventNotificationConfigurations_devEuiEventTopic,++    -- * LoRaWANJoinResourceTypeEventConfiguration+    LoRaWANJoinResourceTypeEventConfiguration (..),+    newLoRaWANJoinResourceTypeEventConfiguration,+    loRaWANJoinResourceTypeEventConfiguration_wirelessDeviceEventTopic,++    -- * LoRaWANListDevice+    LoRaWANListDevice (..),+    newLoRaWANListDevice,+    loRaWANListDevice_devEui,++    -- * LoRaWANMulticast+    LoRaWANMulticast (..),+    newLoRaWANMulticast,+    loRaWANMulticast_dlClass,+    loRaWANMulticast_rfRegion,++    -- * LoRaWANMulticastGet+    LoRaWANMulticastGet (..),+    newLoRaWANMulticastGet,+    loRaWANMulticastGet_dlClass,+    loRaWANMulticastGet_numberOfDevicesInGroup,+    loRaWANMulticastGet_numberOfDevicesRequested,+    loRaWANMulticastGet_rfRegion,++    -- * LoRaWANMulticastMetadata+    LoRaWANMulticastMetadata (..),+    newLoRaWANMulticastMetadata,+    loRaWANMulticastMetadata_fPort,++    -- * LoRaWANMulticastSession+    LoRaWANMulticastSession (..),+    newLoRaWANMulticastSession,+    loRaWANMulticastSession_dlDr,+    loRaWANMulticastSession_dlFreq,+    loRaWANMulticastSession_sessionStartTime,+    loRaWANMulticastSession_sessionTimeout,++    -- * LoRaWANSendDataToDevice+    LoRaWANSendDataToDevice (..),+    newLoRaWANSendDataToDevice,+    loRaWANSendDataToDevice_fPort,+    loRaWANSendDataToDevice_participatingGateways,++    -- * LoRaWANServiceProfile+    LoRaWANServiceProfile (..),+    newLoRaWANServiceProfile,+    loRaWANServiceProfile_addGwMetadata,+    loRaWANServiceProfile_drMax,+    loRaWANServiceProfile_drMin,++    -- * LoRaWANStartFuotaTask+    LoRaWANStartFuotaTask (..),+    newLoRaWANStartFuotaTask,+    loRaWANStartFuotaTask_startTime,++    -- * LoRaWANUpdateDevice+    LoRaWANUpdateDevice (..),+    newLoRaWANUpdateDevice,+    loRaWANUpdateDevice_abpV1_0_x,+    loRaWANUpdateDevice_abpV1_1,+    loRaWANUpdateDevice_deviceProfileId,+    loRaWANUpdateDevice_fPorts,+    loRaWANUpdateDevice_serviceProfileId,++    -- * LoRaWANUpdateGatewayTaskCreate+    LoRaWANUpdateGatewayTaskCreate (..),+    newLoRaWANUpdateGatewayTaskCreate,+    loRaWANUpdateGatewayTaskCreate_currentVersion,+    loRaWANUpdateGatewayTaskCreate_sigKeyCrc,+    loRaWANUpdateGatewayTaskCreate_updateSignature,+    loRaWANUpdateGatewayTaskCreate_updateVersion,++    -- * LoRaWANUpdateGatewayTaskEntry+    LoRaWANUpdateGatewayTaskEntry (..),+    newLoRaWANUpdateGatewayTaskEntry,+    loRaWANUpdateGatewayTaskEntry_currentVersion,+    loRaWANUpdateGatewayTaskEntry_updateVersion,++    -- * LteLocalId+    LteLocalId (..),+    newLteLocalId,+    lteLocalId_pci,+    lteLocalId_earfcn,++    -- * LteNmrObj+    LteNmrObj (..),+    newLteNmrObj,+    lteNmrObj_rsrp,+    lteNmrObj_rsrq,+    lteNmrObj_pci,+    lteNmrObj_earfcn,+    lteNmrObj_eutranCid,++    -- * LteObj+    LteObj (..),+    newLteObj,+    lteObj_lteLocalId,+    lteObj_lteNmr,+    lteObj_lteTimingAdvance,+    lteObj_nrCapable,+    lteObj_rsrp,+    lteObj_rsrq,+    lteObj_tac,+    lteObj_mcc,+    lteObj_mnc,+    lteObj_eutranCid,++    -- * MessageDeliveryStatusEventConfiguration+    MessageDeliveryStatusEventConfiguration (..),+    newMessageDeliveryStatusEventConfiguration,+    messageDeliveryStatusEventConfiguration_sidewalk,+    messageDeliveryStatusEventConfiguration_wirelessDeviceIdEventTopic,++    -- * MessageDeliveryStatusResourceTypeEventConfiguration+    MessageDeliveryStatusResourceTypeEventConfiguration (..),+    newMessageDeliveryStatusResourceTypeEventConfiguration,+    messageDeliveryStatusResourceTypeEventConfiguration_sidewalk,++    -- * MulticastGroup+    MulticastGroup (..),+    newMulticastGroup,+    multicastGroup_arn,+    multicastGroup_id,+    multicastGroup_name,++    -- * MulticastGroupByFuotaTask+    MulticastGroupByFuotaTask (..),+    newMulticastGroupByFuotaTask,+    multicastGroupByFuotaTask_id,++    -- * MulticastWirelessMetadata+    MulticastWirelessMetadata (..),+    newMulticastWirelessMetadata,+    multicastWirelessMetadata_loRaWAN,++    -- * NetworkAnalyzerConfigurations+    NetworkAnalyzerConfigurations (..),+    newNetworkAnalyzerConfigurations,+    networkAnalyzerConfigurations_arn,+    networkAnalyzerConfigurations_name,++    -- * OtaaV1_0_x+    OtaaV1_0_x (..),+    newOtaaV1_0_x,+    otaaV1_0_x_appEui,+    otaaV1_0_x_appKey,+    otaaV1_0_x_genAppKey,++    -- * OtaaV1_1+    OtaaV1_1 (..),+    newOtaaV1_1,+    otaaV1_1_appKey,+    otaaV1_1_joinEui,+    otaaV1_1_nwkKey,++    -- * ParticipatingGateways+    ParticipatingGateways (..),+    newParticipatingGateways,+    participatingGateways_downlinkMode,+    participatingGateways_gatewayList,+    participatingGateways_transmissionInterval,++    -- * Positioning+    Positioning (..),+    newPositioning,+    positioning_clockSync,+    positioning_gnss,+    positioning_stream,++    -- * ProximityEventConfiguration+    ProximityEventConfiguration (..),+    newProximityEventConfiguration,+    proximityEventConfiguration_sidewalk,+    proximityEventConfiguration_wirelessDeviceIdEventTopic,++    -- * ProximityResourceTypeEventConfiguration+    ProximityResourceTypeEventConfiguration (..),+    newProximityResourceTypeEventConfiguration,+    proximityResourceTypeEventConfiguration_sidewalk,++    -- * ServiceProfile+    ServiceProfile (..),+    newServiceProfile,+    serviceProfile_arn,+    serviceProfile_id,+    serviceProfile_name,++    -- * SessionKeysAbpV1_0_x+    SessionKeysAbpV1_0_x (..),+    newSessionKeysAbpV1_0_x,+    sessionKeysAbpV1_0_x_appSKey,+    sessionKeysAbpV1_0_x_nwkSKey,++    -- * SessionKeysAbpV1_1+    SessionKeysAbpV1_1 (..),+    newSessionKeysAbpV1_1,+    sessionKeysAbpV1_1_appSKey,+    sessionKeysAbpV1_1_fNwkSIntKey,+    sessionKeysAbpV1_1_nwkSEncKey,+    sessionKeysAbpV1_1_sNwkSIntKey,++    -- * SidewalkAccountInfo+    SidewalkAccountInfo (..),+    newSidewalkAccountInfo,+    sidewalkAccountInfo_amazonId,+    sidewalkAccountInfo_appServerPrivateKey,++    -- * SidewalkAccountInfoWithFingerprint+    SidewalkAccountInfoWithFingerprint (..),+    newSidewalkAccountInfoWithFingerprint,+    sidewalkAccountInfoWithFingerprint_amazonId,+    sidewalkAccountInfoWithFingerprint_arn,+    sidewalkAccountInfoWithFingerprint_fingerprint,++    -- * SidewalkDevice+    SidewalkDevice (..),+    newSidewalkDevice,+    sidewalkDevice_amazonId,+    sidewalkDevice_deviceCertificates,+    sidewalkDevice_sidewalkId,+    sidewalkDevice_sidewalkManufacturingSn,++    -- * SidewalkDeviceMetadata+    SidewalkDeviceMetadata (..),+    newSidewalkDeviceMetadata,+    sidewalkDeviceMetadata_batteryLevel,+    sidewalkDeviceMetadata_deviceState,+    sidewalkDeviceMetadata_event,+    sidewalkDeviceMetadata_rssi,++    -- * SidewalkEventNotificationConfigurations+    SidewalkEventNotificationConfigurations (..),+    newSidewalkEventNotificationConfigurations,+    sidewalkEventNotificationConfigurations_amazonIdEventTopic,++    -- * SidewalkListDevice+    SidewalkListDevice (..),+    newSidewalkListDevice,+    sidewalkListDevice_amazonId,+    sidewalkListDevice_deviceCertificates,+    sidewalkListDevice_sidewalkId,+    sidewalkListDevice_sidewalkManufacturingSn,++    -- * SidewalkResourceTypeEventConfiguration+    SidewalkResourceTypeEventConfiguration (..),+    newSidewalkResourceTypeEventConfiguration,+    sidewalkResourceTypeEventConfiguration_wirelessDeviceEventTopic,++    -- * SidewalkSendDataToDevice+    SidewalkSendDataToDevice (..),+    newSidewalkSendDataToDevice,+    sidewalkSendDataToDevice_ackModeRetryDurationSecs,+    sidewalkSendDataToDevice_messageType,+    sidewalkSendDataToDevice_seq,++    -- * SidewalkUpdateAccount+    SidewalkUpdateAccount (..),+    newSidewalkUpdateAccount,+    sidewalkUpdateAccount_appServerPrivateKey,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TdscdmaLocalId+    TdscdmaLocalId (..),+    newTdscdmaLocalId,+    tdscdmaLocalId_uarfcn,+    tdscdmaLocalId_cellParams,++    -- * TdscdmaNmrObj+    TdscdmaNmrObj (..),+    newTdscdmaNmrObj,+    tdscdmaNmrObj_pathLoss,+    tdscdmaNmrObj_rscp,+    tdscdmaNmrObj_utranCid,+    tdscdmaNmrObj_uarfcn,+    tdscdmaNmrObj_cellParams,++    -- * TdscdmaObj+    TdscdmaObj (..),+    newTdscdmaObj,+    tdscdmaObj_lac,+    tdscdmaObj_pathLoss,+    tdscdmaObj_rscp,+    tdscdmaObj_tdscdmaLocalId,+    tdscdmaObj_tdscdmaNmr,+    tdscdmaObj_tdscdmaTimingAdvance,+    tdscdmaObj_mcc,+    tdscdmaObj_mnc,+    tdscdmaObj_utranCid,++    -- * TraceContent+    TraceContent (..),+    newTraceContent,+    traceContent_logLevel,+    traceContent_wirelessDeviceFrameInfo,++    -- * UpdateAbpV1_0_x+    UpdateAbpV1_0_x (..),+    newUpdateAbpV1_0_x,+    updateAbpV1_0_x_fCntStart,++    -- * UpdateAbpV1_1+    UpdateAbpV1_1 (..),+    newUpdateAbpV1_1,+    updateAbpV1_1_fCntStart,++    -- * UpdateFPorts+    UpdateFPorts (..),+    newUpdateFPorts,+    updateFPorts_applications,+    updateFPorts_positioning,++    -- * UpdateWirelessGatewayTaskCreate+    UpdateWirelessGatewayTaskCreate (..),+    newUpdateWirelessGatewayTaskCreate,+    updateWirelessGatewayTaskCreate_loRaWAN,+    updateWirelessGatewayTaskCreate_updateDataRole,+    updateWirelessGatewayTaskCreate_updateDataSource,++    -- * UpdateWirelessGatewayTaskEntry+    UpdateWirelessGatewayTaskEntry (..),+    newUpdateWirelessGatewayTaskEntry,+    updateWirelessGatewayTaskEntry_arn,+    updateWirelessGatewayTaskEntry_id,+    updateWirelessGatewayTaskEntry_loRaWAN,++    -- * WcdmaLocalId+    WcdmaLocalId (..),+    newWcdmaLocalId,+    wcdmaLocalId_uarfcndl,+    wcdmaLocalId_psc,++    -- * WcdmaNmrObj+    WcdmaNmrObj (..),+    newWcdmaNmrObj,+    wcdmaNmrObj_pathLoss,+    wcdmaNmrObj_rscp,+    wcdmaNmrObj_uarfcndl,+    wcdmaNmrObj_psc,+    wcdmaNmrObj_utranCid,++    -- * WcdmaObj+    WcdmaObj (..),+    newWcdmaObj,+    wcdmaObj_lac,+    wcdmaObj_pathLoss,+    wcdmaObj_rscp,+    wcdmaObj_wcdmaLocalId,+    wcdmaObj_wcdmaNmr,+    wcdmaObj_mcc,+    wcdmaObj_mnc,+    wcdmaObj_utranCid,++    -- * WiFiAccessPoint+    WiFiAccessPoint (..),+    newWiFiAccessPoint,+    wiFiAccessPoint_macAddress,+    wiFiAccessPoint_rss,++    -- * WirelessDeviceEventLogOption+    WirelessDeviceEventLogOption (..),+    newWirelessDeviceEventLogOption,+    wirelessDeviceEventLogOption_event,+    wirelessDeviceEventLogOption_logLevel,++    -- * WirelessDeviceLogOption+    WirelessDeviceLogOption (..),+    newWirelessDeviceLogOption,+    wirelessDeviceLogOption_events,+    wirelessDeviceLogOption_type,+    wirelessDeviceLogOption_logLevel,++    -- * WirelessDeviceStatistics+    WirelessDeviceStatistics (..),+    newWirelessDeviceStatistics,+    wirelessDeviceStatistics_arn,+    wirelessDeviceStatistics_destinationName,+    wirelessDeviceStatistics_fuotaDeviceStatus,+    wirelessDeviceStatistics_id,+    wirelessDeviceStatistics_lastUplinkReceivedAt,+    wirelessDeviceStatistics_loRaWAN,+    wirelessDeviceStatistics_mcGroupId,+    wirelessDeviceStatistics_multicastDeviceStatus,+    wirelessDeviceStatistics_name,+    wirelessDeviceStatistics_sidewalk,+    wirelessDeviceStatistics_type,++    -- * WirelessGatewayEventLogOption+    WirelessGatewayEventLogOption (..),+    newWirelessGatewayEventLogOption,+    wirelessGatewayEventLogOption_event,+    wirelessGatewayEventLogOption_logLevel,++    -- * WirelessGatewayLogOption+    WirelessGatewayLogOption (..),+    newWirelessGatewayLogOption,+    wirelessGatewayLogOption_events,+    wirelessGatewayLogOption_type,+    wirelessGatewayLogOption_logLevel,++    -- * WirelessGatewayStatistics+    WirelessGatewayStatistics (..),+    newWirelessGatewayStatistics,+    wirelessGatewayStatistics_arn,+    wirelessGatewayStatistics_description,+    wirelessGatewayStatistics_id,+    wirelessGatewayStatistics_lastUplinkReceivedAt,+    wirelessGatewayStatistics_loRaWAN,+    wirelessGatewayStatistics_name,++    -- * WirelessMetadata+    WirelessMetadata (..),+    newWirelessMetadata,+    wirelessMetadata_loRaWAN,+    wirelessMetadata_sidewalk,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.IoTWireless.Types.AbpV1_0_x+import Amazonka.IoTWireless.Types.AbpV1_1+import Amazonka.IoTWireless.Types.ApplicationConfig+import Amazonka.IoTWireless.Types.ApplicationConfigType+import Amazonka.IoTWireless.Types.BatteryLevel+import Amazonka.IoTWireless.Types.Beaconing+import Amazonka.IoTWireless.Types.CdmaLocalId+import Amazonka.IoTWireless.Types.CdmaNmrObj+import Amazonka.IoTWireless.Types.CdmaObj+import Amazonka.IoTWireless.Types.CellTowers+import Amazonka.IoTWireless.Types.CertificateList+import Amazonka.IoTWireless.Types.ConnectionStatus+import Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration+import Amazonka.IoTWireless.Types.ConnectionStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.Destinations+import Amazonka.IoTWireless.Types.DeviceProfile+import Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration+import Amazonka.IoTWireless.Types.DeviceRegistrationStateResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.DeviceState+import Amazonka.IoTWireless.Types.DlClass+import Amazonka.IoTWireless.Types.DownlinkMode+import Amazonka.IoTWireless.Types.DownlinkQueueMessage+import Amazonka.IoTWireless.Types.Event+import Amazonka.IoTWireless.Types.EventConfigurationItem+import Amazonka.IoTWireless.Types.EventNotificationItemConfigurations+import Amazonka.IoTWireless.Types.EventNotificationPartnerType+import Amazonka.IoTWireless.Types.EventNotificationResourceType+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.ExpressionType+import Amazonka.IoTWireless.Types.FPorts+import Amazonka.IoTWireless.Types.FuotaDeviceStatus+import Amazonka.IoTWireless.Types.FuotaTask+import Amazonka.IoTWireless.Types.FuotaTaskStatus+import Amazonka.IoTWireless.Types.GatewayListItem+import Amazonka.IoTWireless.Types.GlobalIdentity+import Amazonka.IoTWireless.Types.Gnss+import Amazonka.IoTWireless.Types.GsmLocalId+import Amazonka.IoTWireless.Types.GsmNmrObj+import Amazonka.IoTWireless.Types.GsmObj+import Amazonka.IoTWireless.Types.IdentifierType+import Amazonka.IoTWireless.Types.Ip+import Amazonka.IoTWireless.Types.JoinEventConfiguration+import Amazonka.IoTWireless.Types.JoinResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANDevice+import Amazonka.IoTWireless.Types.LoRaWANDeviceMetadata+import Amazonka.IoTWireless.Types.LoRaWANDeviceProfile+import Amazonka.IoTWireless.Types.LoRaWANFuotaTask+import Amazonka.IoTWireless.Types.LoRaWANFuotaTaskGetInfo+import Amazonka.IoTWireless.Types.LoRaWANGateway+import Amazonka.IoTWireless.Types.LoRaWANGatewayCurrentVersion+import Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata+import Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+import Amazonka.IoTWireless.Types.LoRaWANGetServiceProfileInfo+import Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations+import Amazonka.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.LoRaWANListDevice+import Amazonka.IoTWireless.Types.LoRaWANMulticast+import Amazonka.IoTWireless.Types.LoRaWANMulticastGet+import Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata+import Amazonka.IoTWireless.Types.LoRaWANMulticastSession+import Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+import Amazonka.IoTWireless.Types.LoRaWANServiceProfile+import Amazonka.IoTWireless.Types.LoRaWANStartFuotaTask+import Amazonka.IoTWireless.Types.LoRaWANUpdateDevice+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.LteLocalId+import Amazonka.IoTWireless.Types.LteNmrObj+import Amazonka.IoTWireless.Types.LteObj+import Amazonka.IoTWireless.Types.MessageDeliveryStatusEventConfiguration+import Amazonka.IoTWireless.Types.MessageDeliveryStatusResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.MessageType+import Amazonka.IoTWireless.Types.MulticastGroup+import Amazonka.IoTWireless.Types.MulticastGroupByFuotaTask+import Amazonka.IoTWireless.Types.MulticastWirelessMetadata+import Amazonka.IoTWireless.Types.NetworkAnalyzerConfigurations+import Amazonka.IoTWireless.Types.OtaaV1_0_x+import Amazonka.IoTWireless.Types.OtaaV1_1+import Amazonka.IoTWireless.Types.ParticipatingGateways+import Amazonka.IoTWireless.Types.PartnerType+import Amazonka.IoTWireless.Types.PositionResourceType+import Amazonka.IoTWireless.Types.Positioning+import Amazonka.IoTWireless.Types.PositioningConfigStatus+import Amazonka.IoTWireless.Types.ProximityEventConfiguration+import Amazonka.IoTWireless.Types.ProximityResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.ServiceProfile+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_0_x+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_1+import Amazonka.IoTWireless.Types.SidewalkAccountInfo+import Amazonka.IoTWireless.Types.SidewalkAccountInfoWithFingerprint+import Amazonka.IoTWireless.Types.SidewalkDevice+import Amazonka.IoTWireless.Types.SidewalkDeviceMetadata+import Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+import Amazonka.IoTWireless.Types.SidewalkListDevice+import Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+import Amazonka.IoTWireless.Types.SidewalkSendDataToDevice+import Amazonka.IoTWireless.Types.SidewalkUpdateAccount+import Amazonka.IoTWireless.Types.SigningAlg+import Amazonka.IoTWireless.Types.SupportedRfRegion+import Amazonka.IoTWireless.Types.Tag+import Amazonka.IoTWireless.Types.TdscdmaLocalId+import Amazonka.IoTWireless.Types.TdscdmaNmrObj+import Amazonka.IoTWireless.Types.TdscdmaObj+import Amazonka.IoTWireless.Types.TraceContent+import Amazonka.IoTWireless.Types.UpdateAbpV1_0_x+import Amazonka.IoTWireless.Types.UpdateAbpV1_1+import Amazonka.IoTWireless.Types.UpdateFPorts+import Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskCreate+import Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskEntry+import Amazonka.IoTWireless.Types.WcdmaLocalId+import Amazonka.IoTWireless.Types.WcdmaNmrObj+import Amazonka.IoTWireless.Types.WcdmaObj+import Amazonka.IoTWireless.Types.WiFiAccessPoint+import Amazonka.IoTWireless.Types.WirelessDeviceEvent+import Amazonka.IoTWireless.Types.WirelessDeviceEventLogOption+import Amazonka.IoTWireless.Types.WirelessDeviceFrameInfo+import Amazonka.IoTWireless.Types.WirelessDeviceIdType+import Amazonka.IoTWireless.Types.WirelessDeviceLogOption+import Amazonka.IoTWireless.Types.WirelessDeviceStatistics+import Amazonka.IoTWireless.Types.WirelessDeviceType+import Amazonka.IoTWireless.Types.WirelessGatewayEvent+import Amazonka.IoTWireless.Types.WirelessGatewayEventLogOption+import Amazonka.IoTWireless.Types.WirelessGatewayIdType+import Amazonka.IoTWireless.Types.WirelessGatewayLogOption+import Amazonka.IoTWireless.Types.WirelessGatewayServiceType+import Amazonka.IoTWireless.Types.WirelessGatewayStatistics+import Amazonka.IoTWireless.Types.WirelessGatewayTaskDefinitionType+import Amazonka.IoTWireless.Types.WirelessGatewayTaskStatus+import Amazonka.IoTWireless.Types.WirelessGatewayType+import Amazonka.IoTWireless.Types.WirelessMetadata+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-11-22@ of the Amazon IoT Wireless SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "IoTWireless",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "api.iotwireless",+      Core.signingName = "iotwireless",+      Core.version = "2020-11-22",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "IoTWireless",+      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++-- | User does not have permission to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | Adding, updating, or deleting the resource can cause an inconsistent+-- state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An unexpected error occurred while processing a request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | Resource does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request was denied because it exceeded the allowed API request rate.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The request was denied because the resource can\'t have any more tags.+_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+  Core._MatchServiceError+    defaultService+    "TooManyTagsException"+    Prelude.. Core.hasStatus 400++-- | The input did not meet the specified constraints.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/IoTWireless/Types/AbpV1_0_x.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.AbpV1_0_x+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.AbpV1_0_x where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_0_x+import qualified Amazonka.Prelude as Prelude++-- | ABP device object for LoRaWAN specification v1.0.x+--+-- /See:/ 'newAbpV1_0_x' smart constructor.+data AbpV1_0_x = AbpV1_0_x'+  { -- | The DevAddr value.+    devAddr :: Prelude.Maybe Prelude.Text,+    -- | The FCnt init value.+    fCntStart :: Prelude.Maybe Prelude.Natural,+    -- | Session keys for ABP v1.0.x+    sessionKeys :: Prelude.Maybe SessionKeysAbpV1_0_x+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbpV1_0_x' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'devAddr', 'abpV1_0_x_devAddr' - The DevAddr value.+--+-- 'fCntStart', 'abpV1_0_x_fCntStart' - The FCnt init value.+--+-- 'sessionKeys', 'abpV1_0_x_sessionKeys' - Session keys for ABP v1.0.x+newAbpV1_0_x ::+  AbpV1_0_x+newAbpV1_0_x =+  AbpV1_0_x'+    { devAddr = Prelude.Nothing,+      fCntStart = Prelude.Nothing,+      sessionKeys = Prelude.Nothing+    }++-- | The DevAddr value.+abpV1_0_x_devAddr :: Lens.Lens' AbpV1_0_x (Prelude.Maybe Prelude.Text)+abpV1_0_x_devAddr = Lens.lens (\AbpV1_0_x' {devAddr} -> devAddr) (\s@AbpV1_0_x' {} a -> s {devAddr = a} :: AbpV1_0_x)++-- | The FCnt init value.+abpV1_0_x_fCntStart :: Lens.Lens' AbpV1_0_x (Prelude.Maybe Prelude.Natural)+abpV1_0_x_fCntStart = Lens.lens (\AbpV1_0_x' {fCntStart} -> fCntStart) (\s@AbpV1_0_x' {} a -> s {fCntStart = a} :: AbpV1_0_x)++-- | Session keys for ABP v1.0.x+abpV1_0_x_sessionKeys :: Lens.Lens' AbpV1_0_x (Prelude.Maybe SessionKeysAbpV1_0_x)+abpV1_0_x_sessionKeys = Lens.lens (\AbpV1_0_x' {sessionKeys} -> sessionKeys) (\s@AbpV1_0_x' {} a -> s {sessionKeys = a} :: AbpV1_0_x)++instance Data.FromJSON AbpV1_0_x where+  parseJSON =+    Data.withObject+      "AbpV1_0_x"+      ( \x ->+          AbpV1_0_x'+            Prelude.<$> (x Data..:? "DevAddr")+            Prelude.<*> (x Data..:? "FCntStart")+            Prelude.<*> (x Data..:? "SessionKeys")+      )++instance Prelude.Hashable AbpV1_0_x where+  hashWithSalt _salt AbpV1_0_x' {..} =+    _salt+      `Prelude.hashWithSalt` devAddr+      `Prelude.hashWithSalt` fCntStart+      `Prelude.hashWithSalt` sessionKeys++instance Prelude.NFData AbpV1_0_x where+  rnf AbpV1_0_x' {..} =+    Prelude.rnf devAddr+      `Prelude.seq` Prelude.rnf fCntStart+      `Prelude.seq` Prelude.rnf sessionKeys++instance Data.ToJSON AbpV1_0_x where+  toJSON AbpV1_0_x' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DevAddr" Data..=) Prelude.<$> devAddr,+            ("FCntStart" Data..=) Prelude.<$> fCntStart,+            ("SessionKeys" Data..=) Prelude.<$> sessionKeys+          ]+      )
+ gen/Amazonka/IoTWireless/Types/AbpV1_1.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.AbpV1_1+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.AbpV1_1 where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SessionKeysAbpV1_1+import qualified Amazonka.Prelude as Prelude++-- | ABP device object for LoRaWAN specification v1.1+--+-- /See:/ 'newAbpV1_1' smart constructor.+data AbpV1_1 = AbpV1_1'+  { -- | The DevAddr value.+    devAddr :: Prelude.Maybe Prelude.Text,+    -- | The FCnt init value.+    fCntStart :: Prelude.Maybe Prelude.Natural,+    -- | Session keys for ABP v1.1+    sessionKeys :: Prelude.Maybe SessionKeysAbpV1_1+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbpV1_1' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'devAddr', 'abpV1_1_devAddr' - The DevAddr value.+--+-- 'fCntStart', 'abpV1_1_fCntStart' - The FCnt init value.+--+-- 'sessionKeys', 'abpV1_1_sessionKeys' - Session keys for ABP v1.1+newAbpV1_1 ::+  AbpV1_1+newAbpV1_1 =+  AbpV1_1'+    { devAddr = Prelude.Nothing,+      fCntStart = Prelude.Nothing,+      sessionKeys = Prelude.Nothing+    }++-- | The DevAddr value.+abpV1_1_devAddr :: Lens.Lens' AbpV1_1 (Prelude.Maybe Prelude.Text)+abpV1_1_devAddr = Lens.lens (\AbpV1_1' {devAddr} -> devAddr) (\s@AbpV1_1' {} a -> s {devAddr = a} :: AbpV1_1)++-- | The FCnt init value.+abpV1_1_fCntStart :: Lens.Lens' AbpV1_1 (Prelude.Maybe Prelude.Natural)+abpV1_1_fCntStart = Lens.lens (\AbpV1_1' {fCntStart} -> fCntStart) (\s@AbpV1_1' {} a -> s {fCntStart = a} :: AbpV1_1)++-- | Session keys for ABP v1.1+abpV1_1_sessionKeys :: Lens.Lens' AbpV1_1 (Prelude.Maybe SessionKeysAbpV1_1)+abpV1_1_sessionKeys = Lens.lens (\AbpV1_1' {sessionKeys} -> sessionKeys) (\s@AbpV1_1' {} a -> s {sessionKeys = a} :: AbpV1_1)++instance Data.FromJSON AbpV1_1 where+  parseJSON =+    Data.withObject+      "AbpV1_1"+      ( \x ->+          AbpV1_1'+            Prelude.<$> (x Data..:? "DevAddr")+            Prelude.<*> (x Data..:? "FCntStart")+            Prelude.<*> (x Data..:? "SessionKeys")+      )++instance Prelude.Hashable AbpV1_1 where+  hashWithSalt _salt AbpV1_1' {..} =+    _salt+      `Prelude.hashWithSalt` devAddr+      `Prelude.hashWithSalt` fCntStart+      `Prelude.hashWithSalt` sessionKeys++instance Prelude.NFData AbpV1_1 where+  rnf AbpV1_1' {..} =+    Prelude.rnf devAddr+      `Prelude.seq` Prelude.rnf fCntStart+      `Prelude.seq` Prelude.rnf sessionKeys++instance Data.ToJSON AbpV1_1 where+  toJSON AbpV1_1' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DevAddr" Data..=) Prelude.<$> devAddr,+            ("FCntStart" Data..=) Prelude.<$> fCntStart,+            ("SessionKeys" Data..=) Prelude.<$> sessionKeys+          ]+      )
+ gen/Amazonka/IoTWireless/Types/ApplicationConfig.hs view
@@ -0,0 +1,118 @@+{-# 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.IoTWireless.Types.ApplicationConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ApplicationConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ApplicationConfigType+import qualified Amazonka.Prelude as Prelude++-- | LoRaWAN application configuration, which can be used to perform+-- geolocation.+--+-- /See:/ 'newApplicationConfig' smart constructor.+data ApplicationConfig = ApplicationConfig'+  { -- | The name of the position data destination that describes the AWS IoT+    -- rule that processes the device\'s position data for use by AWS IoT Core+    -- for LoRaWAN.+    destinationName :: Prelude.Maybe Prelude.Text,+    fPort :: Prelude.Maybe Prelude.Natural,+    -- | Application type, which can be specified to obtain real-time position+    -- information of your LoRaWAN device.+    type' :: Prelude.Maybe ApplicationConfigType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationName', 'applicationConfig_destinationName' - The name of the position data destination that describes the AWS IoT+-- rule that processes the device\'s position data for use by AWS IoT Core+-- for LoRaWAN.+--+-- 'fPort', 'applicationConfig_fPort' - Undocumented member.+--+-- 'type'', 'applicationConfig_type' - Application type, which can be specified to obtain real-time position+-- information of your LoRaWAN device.+newApplicationConfig ::+  ApplicationConfig+newApplicationConfig =+  ApplicationConfig'+    { destinationName =+        Prelude.Nothing,+      fPort = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The name of the position data destination that describes the AWS IoT+-- rule that processes the device\'s position data for use by AWS IoT Core+-- for LoRaWAN.+applicationConfig_destinationName :: Lens.Lens' ApplicationConfig (Prelude.Maybe Prelude.Text)+applicationConfig_destinationName = Lens.lens (\ApplicationConfig' {destinationName} -> destinationName) (\s@ApplicationConfig' {} a -> s {destinationName = a} :: ApplicationConfig)++-- | Undocumented member.+applicationConfig_fPort :: Lens.Lens' ApplicationConfig (Prelude.Maybe Prelude.Natural)+applicationConfig_fPort = Lens.lens (\ApplicationConfig' {fPort} -> fPort) (\s@ApplicationConfig' {} a -> s {fPort = a} :: ApplicationConfig)++-- | Application type, which can be specified to obtain real-time position+-- information of your LoRaWAN device.+applicationConfig_type :: Lens.Lens' ApplicationConfig (Prelude.Maybe ApplicationConfigType)+applicationConfig_type = Lens.lens (\ApplicationConfig' {type'} -> type') (\s@ApplicationConfig' {} a -> s {type' = a} :: ApplicationConfig)++instance Data.FromJSON ApplicationConfig where+  parseJSON =+    Data.withObject+      "ApplicationConfig"+      ( \x ->+          ApplicationConfig'+            Prelude.<$> (x Data..:? "DestinationName")+            Prelude.<*> (x Data..:? "FPort")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ApplicationConfig where+  hashWithSalt _salt ApplicationConfig' {..} =+    _salt+      `Prelude.hashWithSalt` destinationName+      `Prelude.hashWithSalt` fPort+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ApplicationConfig where+  rnf ApplicationConfig' {..} =+    Prelude.rnf destinationName+      `Prelude.seq` Prelude.rnf fPort+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON ApplicationConfig where+  toJSON ApplicationConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DestinationName" Data..=)+              Prelude.<$> destinationName,+            ("FPort" Data..=) Prelude.<$> fPort,+            ("Type" Data..=) Prelude.<$> type'+          ]+      )
+ gen/Amazonka/IoTWireless/Types/ApplicationConfigType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.ApplicationConfigType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ApplicationConfigType+  ( ApplicationConfigType+      ( ..,+        ApplicationConfigType_SemtechGeolocation+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationConfigType = ApplicationConfigType'+  { fromApplicationConfigType ::+      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 ApplicationConfigType_SemtechGeolocation :: ApplicationConfigType+pattern ApplicationConfigType_SemtechGeolocation = ApplicationConfigType' "SemtechGeolocation"++{-# COMPLETE+  ApplicationConfigType_SemtechGeolocation,+  ApplicationConfigType'+  #-}
+ gen/Amazonka/IoTWireless/Types/BatteryLevel.hs view
@@ -0,0 +1,77 @@+{-# 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.IoTWireless.Types.BatteryLevel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.BatteryLevel+  ( BatteryLevel+      ( ..,+        BatteryLevel_Critical,+        BatteryLevel_Low,+        BatteryLevel_Normal+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk device battery level.+newtype BatteryLevel = BatteryLevel'+  { fromBatteryLevel ::+      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 BatteryLevel_Critical :: BatteryLevel+pattern BatteryLevel_Critical = BatteryLevel' "critical"++pattern BatteryLevel_Low :: BatteryLevel+pattern BatteryLevel_Low = BatteryLevel' "low"++pattern BatteryLevel_Normal :: BatteryLevel+pattern BatteryLevel_Normal = BatteryLevel' "normal"++{-# COMPLETE+  BatteryLevel_Critical,+  BatteryLevel_Low,+  BatteryLevel_Normal,+  BatteryLevel'+  #-}
+ gen/Amazonka/IoTWireless/Types/Beaconing.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.IoTWireless.Types.Beaconing+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Beaconing 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++-- | Beaconing parameters for configuring the wireless gateways.+--+-- /See:/ 'newBeaconing' smart constructor.+data Beaconing = Beaconing'+  { -- | The data rate for gateways that are sending the beacons.+    dataRate :: Prelude.Maybe Prelude.Natural,+    -- | The frequency list for the gateways to send the beacons.+    frequencies :: Prelude.Maybe [Prelude.Natural]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Beaconing' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataRate', 'beaconing_dataRate' - The data rate for gateways that are sending the beacons.+--+-- 'frequencies', 'beaconing_frequencies' - The frequency list for the gateways to send the beacons.+newBeaconing ::+  Beaconing+newBeaconing =+  Beaconing'+    { dataRate = Prelude.Nothing,+      frequencies = Prelude.Nothing+    }++-- | The data rate for gateways that are sending the beacons.+beaconing_dataRate :: Lens.Lens' Beaconing (Prelude.Maybe Prelude.Natural)+beaconing_dataRate = Lens.lens (\Beaconing' {dataRate} -> dataRate) (\s@Beaconing' {} a -> s {dataRate = a} :: Beaconing)++-- | The frequency list for the gateways to send the beacons.+beaconing_frequencies :: Lens.Lens' Beaconing (Prelude.Maybe [Prelude.Natural])+beaconing_frequencies = Lens.lens (\Beaconing' {frequencies} -> frequencies) (\s@Beaconing' {} a -> s {frequencies = a} :: Beaconing) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Beaconing where+  parseJSON =+    Data.withObject+      "Beaconing"+      ( \x ->+          Beaconing'+            Prelude.<$> (x Data..:? "DataRate")+            Prelude.<*> (x Data..:? "Frequencies" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Beaconing where+  hashWithSalt _salt Beaconing' {..} =+    _salt+      `Prelude.hashWithSalt` dataRate+      `Prelude.hashWithSalt` frequencies++instance Prelude.NFData Beaconing where+  rnf Beaconing' {..} =+    Prelude.rnf dataRate+      `Prelude.seq` Prelude.rnf frequencies++instance Data.ToJSON Beaconing where+  toJSON Beaconing' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DataRate" Data..=) Prelude.<$> dataRate,+            ("Frequencies" Data..=) Prelude.<$> frequencies+          ]+      )
+ gen/Amazonka/IoTWireless/Types/CdmaLocalId.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.CdmaLocalId+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.CdmaLocalId 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++-- | CDMA local ID information, which corresponds to the local identification+-- parameters of a CDMA cell.+--+-- /See:/ 'newCdmaLocalId' smart constructor.+data CdmaLocalId = CdmaLocalId'+  { -- | Pseudo-noise offset, which is a characteristic of the signal from a cell+    -- on a radio tower.+    pnOffset :: Prelude.Natural,+    -- | CDMA channel information.+    cdmaChannel :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CdmaLocalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pnOffset', 'cdmaLocalId_pnOffset' - Pseudo-noise offset, which is a characteristic of the signal from a cell+-- on a radio tower.+--+-- 'cdmaChannel', 'cdmaLocalId_cdmaChannel' - CDMA channel information.+newCdmaLocalId ::+  -- | 'pnOffset'+  Prelude.Natural ->+  -- | 'cdmaChannel'+  Prelude.Natural ->+  CdmaLocalId+newCdmaLocalId pPnOffset_ pCdmaChannel_ =+  CdmaLocalId'+    { pnOffset = pPnOffset_,+      cdmaChannel = pCdmaChannel_+    }++-- | Pseudo-noise offset, which is a characteristic of the signal from a cell+-- on a radio tower.+cdmaLocalId_pnOffset :: Lens.Lens' CdmaLocalId Prelude.Natural+cdmaLocalId_pnOffset = Lens.lens (\CdmaLocalId' {pnOffset} -> pnOffset) (\s@CdmaLocalId' {} a -> s {pnOffset = a} :: CdmaLocalId)++-- | CDMA channel information.+cdmaLocalId_cdmaChannel :: Lens.Lens' CdmaLocalId Prelude.Natural+cdmaLocalId_cdmaChannel = Lens.lens (\CdmaLocalId' {cdmaChannel} -> cdmaChannel) (\s@CdmaLocalId' {} a -> s {cdmaChannel = a} :: CdmaLocalId)++instance Prelude.Hashable CdmaLocalId where+  hashWithSalt _salt CdmaLocalId' {..} =+    _salt+      `Prelude.hashWithSalt` pnOffset+      `Prelude.hashWithSalt` cdmaChannel++instance Prelude.NFData CdmaLocalId where+  rnf CdmaLocalId' {..} =+    Prelude.rnf pnOffset+      `Prelude.seq` Prelude.rnf cdmaChannel++instance Data.ToJSON CdmaLocalId where+  toJSON CdmaLocalId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("PnOffset" Data..= pnOffset),+            Prelude.Just ("CdmaChannel" Data..= cdmaChannel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/CdmaNmrObj.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.CdmaNmrObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.CdmaNmrObj 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++-- | CDMA object for network measurement reports.+--+-- /See:/ 'newCdmaNmrObj' smart constructor.+data CdmaNmrObj = CdmaNmrObj'+  { -- | CDMA base station ID (BSID).+    baseStationId :: Prelude.Maybe Prelude.Natural,+    -- | Transmit power level of the pilot signal, measured in dBm+    -- (decibel-milliwatts).+    pilotPower :: Prelude.Maybe Prelude.Int,+    -- | Pseudo-noise offset, which is a characteristic of the signal from a cell+    -- on a radio tower.+    pnOffset :: Prelude.Natural,+    -- | CDMA channel information.+    cdmaChannel :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CdmaNmrObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseStationId', 'cdmaNmrObj_baseStationId' - CDMA base station ID (BSID).+--+-- 'pilotPower', 'cdmaNmrObj_pilotPower' - Transmit power level of the pilot signal, measured in dBm+-- (decibel-milliwatts).+--+-- 'pnOffset', 'cdmaNmrObj_pnOffset' - Pseudo-noise offset, which is a characteristic of the signal from a cell+-- on a radio tower.+--+-- 'cdmaChannel', 'cdmaNmrObj_cdmaChannel' - CDMA channel information.+newCdmaNmrObj ::+  -- | 'pnOffset'+  Prelude.Natural ->+  -- | 'cdmaChannel'+  Prelude.Natural ->+  CdmaNmrObj+newCdmaNmrObj pPnOffset_ pCdmaChannel_ =+  CdmaNmrObj'+    { baseStationId = Prelude.Nothing,+      pilotPower = Prelude.Nothing,+      pnOffset = pPnOffset_,+      cdmaChannel = pCdmaChannel_+    }++-- | CDMA base station ID (BSID).+cdmaNmrObj_baseStationId :: Lens.Lens' CdmaNmrObj (Prelude.Maybe Prelude.Natural)+cdmaNmrObj_baseStationId = Lens.lens (\CdmaNmrObj' {baseStationId} -> baseStationId) (\s@CdmaNmrObj' {} a -> s {baseStationId = a} :: CdmaNmrObj)++-- | Transmit power level of the pilot signal, measured in dBm+-- (decibel-milliwatts).+cdmaNmrObj_pilotPower :: Lens.Lens' CdmaNmrObj (Prelude.Maybe Prelude.Int)+cdmaNmrObj_pilotPower = Lens.lens (\CdmaNmrObj' {pilotPower} -> pilotPower) (\s@CdmaNmrObj' {} a -> s {pilotPower = a} :: CdmaNmrObj)++-- | Pseudo-noise offset, which is a characteristic of the signal from a cell+-- on a radio tower.+cdmaNmrObj_pnOffset :: Lens.Lens' CdmaNmrObj Prelude.Natural+cdmaNmrObj_pnOffset = Lens.lens (\CdmaNmrObj' {pnOffset} -> pnOffset) (\s@CdmaNmrObj' {} a -> s {pnOffset = a} :: CdmaNmrObj)++-- | CDMA channel information.+cdmaNmrObj_cdmaChannel :: Lens.Lens' CdmaNmrObj Prelude.Natural+cdmaNmrObj_cdmaChannel = Lens.lens (\CdmaNmrObj' {cdmaChannel} -> cdmaChannel) (\s@CdmaNmrObj' {} a -> s {cdmaChannel = a} :: CdmaNmrObj)++instance Prelude.Hashable CdmaNmrObj where+  hashWithSalt _salt CdmaNmrObj' {..} =+    _salt+      `Prelude.hashWithSalt` baseStationId+      `Prelude.hashWithSalt` pilotPower+      `Prelude.hashWithSalt` pnOffset+      `Prelude.hashWithSalt` cdmaChannel++instance Prelude.NFData CdmaNmrObj where+  rnf CdmaNmrObj' {..} =+    Prelude.rnf baseStationId+      `Prelude.seq` Prelude.rnf pilotPower+      `Prelude.seq` Prelude.rnf pnOffset+      `Prelude.seq` Prelude.rnf cdmaChannel++instance Data.ToJSON CdmaNmrObj where+  toJSON CdmaNmrObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BaseStationId" Data..=) Prelude.<$> baseStationId,+            ("PilotPower" Data..=) Prelude.<$> pilotPower,+            Prelude.Just ("PnOffset" Data..= pnOffset),+            Prelude.Just ("CdmaChannel" Data..= cdmaChannel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/CdmaObj.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.CdmaObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.CdmaObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.CdmaLocalId+import Amazonka.IoTWireless.Types.CdmaNmrObj+import qualified Amazonka.Prelude as Prelude++-- | CDMA (Code-division multiple access) object.+--+-- /See:/ 'newCdmaObj' smart constructor.+data CdmaObj = CdmaObj'+  { -- | CDMA base station latitude in degrees.+    baseLat :: Prelude.Maybe Prelude.Double,+    -- | CDMA base station longtitude in degrees.+    baseLng :: Prelude.Maybe Prelude.Double,+    -- | CDMA local identification (local ID) parameters.+    cdmaLocalId :: Prelude.Maybe CdmaLocalId,+    -- | CDMA network measurement reports.+    cdmaNmr :: Prelude.Maybe (Prelude.NonEmpty CdmaNmrObj),+    -- | Transmit power level of the pilot signal, measured in dBm+    -- (decibel-milliwatts).+    pilotPower :: Prelude.Maybe Prelude.Int,+    -- | CDMA registration zone (RZ).+    registrationZone :: Prelude.Maybe Prelude.Natural,+    -- | CDMA system ID (SID).+    systemId :: Prelude.Natural,+    -- | CDMA network ID (NID).+    networkId :: Prelude.Natural,+    -- | CDMA base station ID (BSID).+    baseStationId :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CdmaObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseLat', 'cdmaObj_baseLat' - CDMA base station latitude in degrees.+--+-- 'baseLng', 'cdmaObj_baseLng' - CDMA base station longtitude in degrees.+--+-- 'cdmaLocalId', 'cdmaObj_cdmaLocalId' - CDMA local identification (local ID) parameters.+--+-- 'cdmaNmr', 'cdmaObj_cdmaNmr' - CDMA network measurement reports.+--+-- 'pilotPower', 'cdmaObj_pilotPower' - Transmit power level of the pilot signal, measured in dBm+-- (decibel-milliwatts).+--+-- 'registrationZone', 'cdmaObj_registrationZone' - CDMA registration zone (RZ).+--+-- 'systemId', 'cdmaObj_systemId' - CDMA system ID (SID).+--+-- 'networkId', 'cdmaObj_networkId' - CDMA network ID (NID).+--+-- 'baseStationId', 'cdmaObj_baseStationId' - CDMA base station ID (BSID).+newCdmaObj ::+  -- | 'systemId'+  Prelude.Natural ->+  -- | 'networkId'+  Prelude.Natural ->+  -- | 'baseStationId'+  Prelude.Natural ->+  CdmaObj+newCdmaObj pSystemId_ pNetworkId_ pBaseStationId_ =+  CdmaObj'+    { baseLat = Prelude.Nothing,+      baseLng = Prelude.Nothing,+      cdmaLocalId = Prelude.Nothing,+      cdmaNmr = Prelude.Nothing,+      pilotPower = Prelude.Nothing,+      registrationZone = Prelude.Nothing,+      systemId = pSystemId_,+      networkId = pNetworkId_,+      baseStationId = pBaseStationId_+    }++-- | CDMA base station latitude in degrees.+cdmaObj_baseLat :: Lens.Lens' CdmaObj (Prelude.Maybe Prelude.Double)+cdmaObj_baseLat = Lens.lens (\CdmaObj' {baseLat} -> baseLat) (\s@CdmaObj' {} a -> s {baseLat = a} :: CdmaObj)++-- | CDMA base station longtitude in degrees.+cdmaObj_baseLng :: Lens.Lens' CdmaObj (Prelude.Maybe Prelude.Double)+cdmaObj_baseLng = Lens.lens (\CdmaObj' {baseLng} -> baseLng) (\s@CdmaObj' {} a -> s {baseLng = a} :: CdmaObj)++-- | CDMA local identification (local ID) parameters.+cdmaObj_cdmaLocalId :: Lens.Lens' CdmaObj (Prelude.Maybe CdmaLocalId)+cdmaObj_cdmaLocalId = Lens.lens (\CdmaObj' {cdmaLocalId} -> cdmaLocalId) (\s@CdmaObj' {} a -> s {cdmaLocalId = a} :: CdmaObj)++-- | CDMA network measurement reports.+cdmaObj_cdmaNmr :: Lens.Lens' CdmaObj (Prelude.Maybe (Prelude.NonEmpty CdmaNmrObj))+cdmaObj_cdmaNmr = Lens.lens (\CdmaObj' {cdmaNmr} -> cdmaNmr) (\s@CdmaObj' {} a -> s {cdmaNmr = a} :: CdmaObj) Prelude.. Lens.mapping Lens.coerced++-- | Transmit power level of the pilot signal, measured in dBm+-- (decibel-milliwatts).+cdmaObj_pilotPower :: Lens.Lens' CdmaObj (Prelude.Maybe Prelude.Int)+cdmaObj_pilotPower = Lens.lens (\CdmaObj' {pilotPower} -> pilotPower) (\s@CdmaObj' {} a -> s {pilotPower = a} :: CdmaObj)++-- | CDMA registration zone (RZ).+cdmaObj_registrationZone :: Lens.Lens' CdmaObj (Prelude.Maybe Prelude.Natural)+cdmaObj_registrationZone = Lens.lens (\CdmaObj' {registrationZone} -> registrationZone) (\s@CdmaObj' {} a -> s {registrationZone = a} :: CdmaObj)++-- | CDMA system ID (SID).+cdmaObj_systemId :: Lens.Lens' CdmaObj Prelude.Natural+cdmaObj_systemId = Lens.lens (\CdmaObj' {systemId} -> systemId) (\s@CdmaObj' {} a -> s {systemId = a} :: CdmaObj)++-- | CDMA network ID (NID).+cdmaObj_networkId :: Lens.Lens' CdmaObj Prelude.Natural+cdmaObj_networkId = Lens.lens (\CdmaObj' {networkId} -> networkId) (\s@CdmaObj' {} a -> s {networkId = a} :: CdmaObj)++-- | CDMA base station ID (BSID).+cdmaObj_baseStationId :: Lens.Lens' CdmaObj Prelude.Natural+cdmaObj_baseStationId = Lens.lens (\CdmaObj' {baseStationId} -> baseStationId) (\s@CdmaObj' {} a -> s {baseStationId = a} :: CdmaObj)++instance Prelude.Hashable CdmaObj where+  hashWithSalt _salt CdmaObj' {..} =+    _salt+      `Prelude.hashWithSalt` baseLat+      `Prelude.hashWithSalt` baseLng+      `Prelude.hashWithSalt` cdmaLocalId+      `Prelude.hashWithSalt` cdmaNmr+      `Prelude.hashWithSalt` pilotPower+      `Prelude.hashWithSalt` registrationZone+      `Prelude.hashWithSalt` systemId+      `Prelude.hashWithSalt` networkId+      `Prelude.hashWithSalt` baseStationId++instance Prelude.NFData CdmaObj where+  rnf CdmaObj' {..} =+    Prelude.rnf baseLat+      `Prelude.seq` Prelude.rnf baseLng+      `Prelude.seq` Prelude.rnf cdmaLocalId+      `Prelude.seq` Prelude.rnf cdmaNmr+      `Prelude.seq` Prelude.rnf pilotPower+      `Prelude.seq` Prelude.rnf registrationZone+      `Prelude.seq` Prelude.rnf systemId+      `Prelude.seq` Prelude.rnf networkId+      `Prelude.seq` Prelude.rnf baseStationId++instance Data.ToJSON CdmaObj where+  toJSON CdmaObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BaseLat" Data..=) Prelude.<$> baseLat,+            ("BaseLng" Data..=) Prelude.<$> baseLng,+            ("CdmaLocalId" Data..=) Prelude.<$> cdmaLocalId,+            ("CdmaNmr" Data..=) Prelude.<$> cdmaNmr,+            ("PilotPower" Data..=) Prelude.<$> pilotPower,+            ("RegistrationZone" Data..=)+              Prelude.<$> registrationZone,+            Prelude.Just ("SystemId" Data..= systemId),+            Prelude.Just ("NetworkId" Data..= networkId),+            Prelude.Just+              ("BaseStationId" Data..= baseStationId)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/CellTowers.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.IoTWireless.Types.CellTowers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.CellTowers where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.CdmaObj+import Amazonka.IoTWireless.Types.GsmObj+import Amazonka.IoTWireless.Types.LteObj+import Amazonka.IoTWireless.Types.TdscdmaObj+import Amazonka.IoTWireless.Types.WcdmaObj+import qualified Amazonka.Prelude as Prelude++-- | The cell towers that were used to perform the measurements.+--+-- /See:/ 'newCellTowers' smart constructor.+data CellTowers = CellTowers'+  { -- | CDMA object information.+    cdma :: Prelude.Maybe (Prelude.NonEmpty CdmaObj),+    -- | GSM object information.+    gsm :: Prelude.Maybe (Prelude.NonEmpty GsmObj),+    -- | LTE object information.+    lte :: Prelude.Maybe (Prelude.NonEmpty LteObj),+    -- | TD-SCDMA object information.+    tdscdma :: Prelude.Maybe (Prelude.NonEmpty TdscdmaObj),+    -- | WCDMA object information.+    wcdma :: Prelude.Maybe (Prelude.NonEmpty WcdmaObj)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CellTowers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cdma', 'cellTowers_cdma' - CDMA object information.+--+-- 'gsm', 'cellTowers_gsm' - GSM object information.+--+-- 'lte', 'cellTowers_lte' - LTE object information.+--+-- 'tdscdma', 'cellTowers_tdscdma' - TD-SCDMA object information.+--+-- 'wcdma', 'cellTowers_wcdma' - WCDMA object information.+newCellTowers ::+  CellTowers+newCellTowers =+  CellTowers'+    { cdma = Prelude.Nothing,+      gsm = Prelude.Nothing,+      lte = Prelude.Nothing,+      tdscdma = Prelude.Nothing,+      wcdma = Prelude.Nothing+    }++-- | CDMA object information.+cellTowers_cdma :: Lens.Lens' CellTowers (Prelude.Maybe (Prelude.NonEmpty CdmaObj))+cellTowers_cdma = Lens.lens (\CellTowers' {cdma} -> cdma) (\s@CellTowers' {} a -> s {cdma = a} :: CellTowers) Prelude.. Lens.mapping Lens.coerced++-- | GSM object information.+cellTowers_gsm :: Lens.Lens' CellTowers (Prelude.Maybe (Prelude.NonEmpty GsmObj))+cellTowers_gsm = Lens.lens (\CellTowers' {gsm} -> gsm) (\s@CellTowers' {} a -> s {gsm = a} :: CellTowers) Prelude.. Lens.mapping Lens.coerced++-- | LTE object information.+cellTowers_lte :: Lens.Lens' CellTowers (Prelude.Maybe (Prelude.NonEmpty LteObj))+cellTowers_lte = Lens.lens (\CellTowers' {lte} -> lte) (\s@CellTowers' {} a -> s {lte = a} :: CellTowers) Prelude.. Lens.mapping Lens.coerced++-- | TD-SCDMA object information.+cellTowers_tdscdma :: Lens.Lens' CellTowers (Prelude.Maybe (Prelude.NonEmpty TdscdmaObj))+cellTowers_tdscdma = Lens.lens (\CellTowers' {tdscdma} -> tdscdma) (\s@CellTowers' {} a -> s {tdscdma = a} :: CellTowers) Prelude.. Lens.mapping Lens.coerced++-- | WCDMA object information.+cellTowers_wcdma :: Lens.Lens' CellTowers (Prelude.Maybe (Prelude.NonEmpty WcdmaObj))+cellTowers_wcdma = Lens.lens (\CellTowers' {wcdma} -> wcdma) (\s@CellTowers' {} a -> s {wcdma = a} :: CellTowers) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable CellTowers where+  hashWithSalt _salt CellTowers' {..} =+    _salt+      `Prelude.hashWithSalt` cdma+      `Prelude.hashWithSalt` gsm+      `Prelude.hashWithSalt` lte+      `Prelude.hashWithSalt` tdscdma+      `Prelude.hashWithSalt` wcdma++instance Prelude.NFData CellTowers where+  rnf CellTowers' {..} =+    Prelude.rnf cdma+      `Prelude.seq` Prelude.rnf gsm+      `Prelude.seq` Prelude.rnf lte+      `Prelude.seq` Prelude.rnf tdscdma+      `Prelude.seq` Prelude.rnf wcdma++instance Data.ToJSON CellTowers where+  toJSON CellTowers' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Cdma" Data..=) Prelude.<$> cdma,+            ("Gsm" Data..=) Prelude.<$> gsm,+            ("Lte" Data..=) Prelude.<$> lte,+            ("Tdscdma" Data..=) Prelude.<$> tdscdma,+            ("Wcdma" Data..=) Prelude.<$> wcdma+          ]+      )
+ gen/Amazonka/IoTWireless/Types/CertificateList.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.CertificateList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.CertificateList where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SigningAlg+import qualified Amazonka.Prelude as Prelude++-- | List of sidewalk certificates.+--+-- /See:/ 'newCertificateList' smart constructor.+data CertificateList = CertificateList'+  { -- | The certificate chain algorithm provided by sidewalk.+    signingAlg :: SigningAlg,+    -- | The value of the chosen sidewalk certificate.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CertificateList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'signingAlg', 'certificateList_signingAlg' - The certificate chain algorithm provided by sidewalk.+--+-- 'value', 'certificateList_value' - The value of the chosen sidewalk certificate.+newCertificateList ::+  -- | 'signingAlg'+  SigningAlg ->+  -- | 'value'+  Prelude.Text ->+  CertificateList+newCertificateList pSigningAlg_ pValue_ =+  CertificateList'+    { signingAlg = pSigningAlg_,+      value = pValue_+    }++-- | The certificate chain algorithm provided by sidewalk.+certificateList_signingAlg :: Lens.Lens' CertificateList SigningAlg+certificateList_signingAlg = Lens.lens (\CertificateList' {signingAlg} -> signingAlg) (\s@CertificateList' {} a -> s {signingAlg = a} :: CertificateList)++-- | The value of the chosen sidewalk certificate.+certificateList_value :: Lens.Lens' CertificateList Prelude.Text+certificateList_value = Lens.lens (\CertificateList' {value} -> value) (\s@CertificateList' {} a -> s {value = a} :: CertificateList)++instance Data.FromJSON CertificateList where+  parseJSON =+    Data.withObject+      "CertificateList"+      ( \x ->+          CertificateList'+            Prelude.<$> (x Data..: "SigningAlg")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable CertificateList where+  hashWithSalt _salt CertificateList' {..} =+    _salt+      `Prelude.hashWithSalt` signingAlg+      `Prelude.hashWithSalt` value++instance Prelude.NFData CertificateList where+  rnf CertificateList' {..} =+    Prelude.rnf signingAlg+      `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/IoTWireless/Types/ConnectionStatus.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.IoTWireless.Types.ConnectionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ConnectionStatus+  ( ConnectionStatus+      ( ..,+        ConnectionStatus_Connected,+        ConnectionStatus_Disconnected+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionStatus = ConnectionStatus'+  { fromConnectionStatus ::+      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 ConnectionStatus_Connected :: ConnectionStatus+pattern ConnectionStatus_Connected = ConnectionStatus' "Connected"++pattern ConnectionStatus_Disconnected :: ConnectionStatus+pattern ConnectionStatus_Disconnected = ConnectionStatus' "Disconnected"++{-# COMPLETE+  ConnectionStatus_Connected,+  ConnectionStatus_Disconnected,+  ConnectionStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/ConnectionStatusEventConfiguration.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Connection status event configuration object for enabling or disabling+-- topic.+--+-- /See:/ 'newConnectionStatusEventConfiguration' smart constructor.+data ConnectionStatusEventConfiguration = ConnectionStatusEventConfiguration'+  { -- | Connection status event configuration object for enabling or disabling+    -- LoRaWAN related event topics.+    loRaWAN :: Prelude.Maybe LoRaWANConnectionStatusEventNotificationConfigurations,+    -- | Denotes whether the wireless gateway ID connection status event topic is+    -- enabled or disabled.+    wirelessGatewayIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectionStatusEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'connectionStatusEventConfiguration_loRaWAN' - Connection status event configuration object for enabling or disabling+-- LoRaWAN related event topics.+--+-- 'wirelessGatewayIdEventTopic', 'connectionStatusEventConfiguration_wirelessGatewayIdEventTopic' - Denotes whether the wireless gateway ID connection status event topic is+-- enabled or disabled.+newConnectionStatusEventConfiguration ::+  ConnectionStatusEventConfiguration+newConnectionStatusEventConfiguration =+  ConnectionStatusEventConfiguration'+    { loRaWAN =+        Prelude.Nothing,+      wirelessGatewayIdEventTopic =+        Prelude.Nothing+    }++-- | Connection status event configuration object for enabling or disabling+-- LoRaWAN related event topics.+connectionStatusEventConfiguration_loRaWAN :: Lens.Lens' ConnectionStatusEventConfiguration (Prelude.Maybe LoRaWANConnectionStatusEventNotificationConfigurations)+connectionStatusEventConfiguration_loRaWAN = Lens.lens (\ConnectionStatusEventConfiguration' {loRaWAN} -> loRaWAN) (\s@ConnectionStatusEventConfiguration' {} a -> s {loRaWAN = a} :: ConnectionStatusEventConfiguration)++-- | Denotes whether the wireless gateway ID connection status event topic is+-- enabled or disabled.+connectionStatusEventConfiguration_wirelessGatewayIdEventTopic :: Lens.Lens' ConnectionStatusEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+connectionStatusEventConfiguration_wirelessGatewayIdEventTopic = Lens.lens (\ConnectionStatusEventConfiguration' {wirelessGatewayIdEventTopic} -> wirelessGatewayIdEventTopic) (\s@ConnectionStatusEventConfiguration' {} a -> s {wirelessGatewayIdEventTopic = a} :: ConnectionStatusEventConfiguration)++instance+  Data.FromJSON+    ConnectionStatusEventConfiguration+  where+  parseJSON =+    Data.withObject+      "ConnectionStatusEventConfiguration"+      ( \x ->+          ConnectionStatusEventConfiguration'+            Prelude.<$> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "WirelessGatewayIdEventTopic")+      )++instance+  Prelude.Hashable+    ConnectionStatusEventConfiguration+  where+  hashWithSalt+    _salt+    ConnectionStatusEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` loRaWAN+        `Prelude.hashWithSalt` wirelessGatewayIdEventTopic++instance+  Prelude.NFData+    ConnectionStatusEventConfiguration+  where+  rnf ConnectionStatusEventConfiguration' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf wirelessGatewayIdEventTopic++instance+  Data.ToJSON+    ConnectionStatusEventConfiguration+  where+  toJSON ConnectionStatusEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("WirelessGatewayIdEventTopic" Data..=)+              Prelude.<$> wirelessGatewayIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/ConnectionStatusResourceTypeEventConfiguration.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.IoTWireless.Types.ConnectionStatusResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ConnectionStatusResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Connection status resource type event configuration object for enabling+-- or disabling topic.+--+-- /See:/ 'newConnectionStatusResourceTypeEventConfiguration' smart constructor.+data ConnectionStatusResourceTypeEventConfiguration = ConnectionStatusResourceTypeEventConfiguration'+  { -- | Connection status resource type event configuration object for enabling+    -- or disabling LoRaWAN related event topics.+    loRaWAN :: Prelude.Maybe LoRaWANConnectionStatusResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectionStatusResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'connectionStatusResourceTypeEventConfiguration_loRaWAN' - Connection status resource type event configuration object for enabling+-- or disabling LoRaWAN related event topics.+newConnectionStatusResourceTypeEventConfiguration ::+  ConnectionStatusResourceTypeEventConfiguration+newConnectionStatusResourceTypeEventConfiguration =+  ConnectionStatusResourceTypeEventConfiguration'+    { loRaWAN =+        Prelude.Nothing+    }++-- | Connection status resource type event configuration object for enabling+-- or disabling LoRaWAN related event topics.+connectionStatusResourceTypeEventConfiguration_loRaWAN :: Lens.Lens' ConnectionStatusResourceTypeEventConfiguration (Prelude.Maybe LoRaWANConnectionStatusResourceTypeEventConfiguration)+connectionStatusResourceTypeEventConfiguration_loRaWAN = Lens.lens (\ConnectionStatusResourceTypeEventConfiguration' {loRaWAN} -> loRaWAN) (\s@ConnectionStatusResourceTypeEventConfiguration' {} a -> s {loRaWAN = a} :: ConnectionStatusResourceTypeEventConfiguration)++instance+  Data.FromJSON+    ConnectionStatusResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "ConnectionStatusResourceTypeEventConfiguration"+      ( \x ->+          ConnectionStatusResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "LoRaWAN")+      )++instance+  Prelude.Hashable+    ConnectionStatusResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    ConnectionStatusResourceTypeEventConfiguration' {..} =+      _salt `Prelude.hashWithSalt` loRaWAN++instance+  Prelude.NFData+    ConnectionStatusResourceTypeEventConfiguration+  where+  rnf+    ConnectionStatusResourceTypeEventConfiguration' {..} =+      Prelude.rnf loRaWAN++instance+  Data.ToJSON+    ConnectionStatusResourceTypeEventConfiguration+  where+  toJSON+    ConnectionStatusResourceTypeEventConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [("LoRaWAN" Data..=) Prelude.<$> loRaWAN]+        )
+ gen/Amazonka/IoTWireless/Types/Destinations.hs view
@@ -0,0 +1,133 @@+{-# 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.IoTWireless.Types.Destinations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Destinations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ExpressionType+import qualified Amazonka.Prelude as Prelude++-- | Describes a destination.+--+-- /See:/ 'newDestinations' smart constructor.+data Destinations = Destinations'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The rule name or topic rule to send messages to.+    expression :: Prelude.Maybe Prelude.Text,+    -- | The type of value in @Expression@.+    expressionType :: Prelude.Maybe ExpressionType,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the IAM Role that authorizes the destination.+    roleArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Destinations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'destinations_arn' - The Amazon Resource Name of the resource.+--+-- 'description', 'destinations_description' - The description of the resource.+--+-- 'expression', 'destinations_expression' - The rule name or topic rule to send messages to.+--+-- 'expressionType', 'destinations_expressionType' - The type of value in @Expression@.+--+-- 'name', 'destinations_name' - The name of the resource.+--+-- 'roleArn', 'destinations_roleArn' - The ARN of the IAM Role that authorizes the destination.+newDestinations ::+  Destinations+newDestinations =+  Destinations'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      expression = Prelude.Nothing,+      expressionType = Prelude.Nothing,+      name = Prelude.Nothing,+      roleArn = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+destinations_arn :: Lens.Lens' Destinations (Prelude.Maybe Prelude.Text)+destinations_arn = Lens.lens (\Destinations' {arn} -> arn) (\s@Destinations' {} a -> s {arn = a} :: Destinations)++-- | The description of the resource.+destinations_description :: Lens.Lens' Destinations (Prelude.Maybe Prelude.Text)+destinations_description = Lens.lens (\Destinations' {description} -> description) (\s@Destinations' {} a -> s {description = a} :: Destinations)++-- | The rule name or topic rule to send messages to.+destinations_expression :: Lens.Lens' Destinations (Prelude.Maybe Prelude.Text)+destinations_expression = Lens.lens (\Destinations' {expression} -> expression) (\s@Destinations' {} a -> s {expression = a} :: Destinations)++-- | The type of value in @Expression@.+destinations_expressionType :: Lens.Lens' Destinations (Prelude.Maybe ExpressionType)+destinations_expressionType = Lens.lens (\Destinations' {expressionType} -> expressionType) (\s@Destinations' {} a -> s {expressionType = a} :: Destinations)++-- | The name of the resource.+destinations_name :: Lens.Lens' Destinations (Prelude.Maybe Prelude.Text)+destinations_name = Lens.lens (\Destinations' {name} -> name) (\s@Destinations' {} a -> s {name = a} :: Destinations)++-- | The ARN of the IAM Role that authorizes the destination.+destinations_roleArn :: Lens.Lens' Destinations (Prelude.Maybe Prelude.Text)+destinations_roleArn = Lens.lens (\Destinations' {roleArn} -> roleArn) (\s@Destinations' {} a -> s {roleArn = a} :: Destinations)++instance Data.FromJSON Destinations where+  parseJSON =+    Data.withObject+      "Destinations"+      ( \x ->+          Destinations'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Expression")+            Prelude.<*> (x Data..:? "ExpressionType")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "RoleArn")+      )++instance Prelude.Hashable Destinations where+  hashWithSalt _salt Destinations' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` expressionType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData Destinations where+  rnf Destinations' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn
+ gen/Amazonka/IoTWireless/Types/DeviceProfile.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.IoTWireless.Types.DeviceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DeviceProfile where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes a device profile.+--+-- /See:/ 'newDeviceProfile' smart constructor.+data DeviceProfile = DeviceProfile'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device profile.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deviceProfile_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'deviceProfile_id' - The ID of the device profile.+--+-- 'name', 'deviceProfile_name' - The name of the resource.+newDeviceProfile ::+  DeviceProfile+newDeviceProfile =+  DeviceProfile'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+deviceProfile_arn :: Lens.Lens' DeviceProfile (Prelude.Maybe Prelude.Text)+deviceProfile_arn = Lens.lens (\DeviceProfile' {arn} -> arn) (\s@DeviceProfile' {} a -> s {arn = a} :: DeviceProfile)++-- | The ID of the device profile.+deviceProfile_id :: Lens.Lens' DeviceProfile (Prelude.Maybe Prelude.Text)+deviceProfile_id = Lens.lens (\DeviceProfile' {id} -> id) (\s@DeviceProfile' {} a -> s {id = a} :: DeviceProfile)++-- | The name of the resource.+deviceProfile_name :: Lens.Lens' DeviceProfile (Prelude.Maybe Prelude.Text)+deviceProfile_name = Lens.lens (\DeviceProfile' {name} -> name) (\s@DeviceProfile' {} a -> s {name = a} :: DeviceProfile)++instance Data.FromJSON DeviceProfile where+  parseJSON =+    Data.withObject+      "DeviceProfile"+      ( \x ->+          DeviceProfile'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable DeviceProfile where+  hashWithSalt _salt DeviceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData DeviceProfile where+  rnf DeviceProfile' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/DeviceRegistrationStateEventConfiguration.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Device registration state event configuration object for enabling and+-- disabling relevant topics.+--+-- /See:/ 'newDeviceRegistrationStateEventConfiguration' smart constructor.+data DeviceRegistrationStateEventConfiguration = DeviceRegistrationStateEventConfiguration'+  { -- | Device registration state event configuration object for enabling or+    -- disabling Sidewalk related event topics.+    sidewalk :: Prelude.Maybe SidewalkEventNotificationConfigurations,+    -- | Denotes whether the wireless device ID device registration state event+    -- topic is enabled or disabled.+    wirelessDeviceIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceRegistrationStateEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'deviceRegistrationStateEventConfiguration_sidewalk' - Device registration state event configuration object for enabling or+-- disabling Sidewalk related event topics.+--+-- 'wirelessDeviceIdEventTopic', 'deviceRegistrationStateEventConfiguration_wirelessDeviceIdEventTopic' - Denotes whether the wireless device ID device registration state event+-- topic is enabled or disabled.+newDeviceRegistrationStateEventConfiguration ::+  DeviceRegistrationStateEventConfiguration+newDeviceRegistrationStateEventConfiguration =+  DeviceRegistrationStateEventConfiguration'+    { sidewalk =+        Prelude.Nothing,+      wirelessDeviceIdEventTopic =+        Prelude.Nothing+    }++-- | Device registration state event configuration object for enabling or+-- disabling Sidewalk related event topics.+deviceRegistrationStateEventConfiguration_sidewalk :: Lens.Lens' DeviceRegistrationStateEventConfiguration (Prelude.Maybe SidewalkEventNotificationConfigurations)+deviceRegistrationStateEventConfiguration_sidewalk = Lens.lens (\DeviceRegistrationStateEventConfiguration' {sidewalk} -> sidewalk) (\s@DeviceRegistrationStateEventConfiguration' {} a -> s {sidewalk = a} :: DeviceRegistrationStateEventConfiguration)++-- | Denotes whether the wireless device ID device registration state event+-- topic is enabled or disabled.+deviceRegistrationStateEventConfiguration_wirelessDeviceIdEventTopic :: Lens.Lens' DeviceRegistrationStateEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+deviceRegistrationStateEventConfiguration_wirelessDeviceIdEventTopic = Lens.lens (\DeviceRegistrationStateEventConfiguration' {wirelessDeviceIdEventTopic} -> wirelessDeviceIdEventTopic) (\s@DeviceRegistrationStateEventConfiguration' {} a -> s {wirelessDeviceIdEventTopic = a} :: DeviceRegistrationStateEventConfiguration)++instance+  Data.FromJSON+    DeviceRegistrationStateEventConfiguration+  where+  parseJSON =+    Data.withObject+      "DeviceRegistrationStateEventConfiguration"+      ( \x ->+          DeviceRegistrationStateEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+            Prelude.<*> (x Data..:? "WirelessDeviceIdEventTopic")+      )++instance+  Prelude.Hashable+    DeviceRegistrationStateEventConfiguration+  where+  hashWithSalt+    _salt+    DeviceRegistrationStateEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sidewalk+        `Prelude.hashWithSalt` wirelessDeviceIdEventTopic++instance+  Prelude.NFData+    DeviceRegistrationStateEventConfiguration+  where+  rnf DeviceRegistrationStateEventConfiguration' {..} =+    Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf wirelessDeviceIdEventTopic++instance+  Data.ToJSON+    DeviceRegistrationStateEventConfiguration+  where+  toJSON DeviceRegistrationStateEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Sidewalk" Data..=) Prelude.<$> sidewalk,+            ("WirelessDeviceIdEventTopic" Data..=)+              Prelude.<$> wirelessDeviceIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/DeviceRegistrationStateResourceTypeEventConfiguration.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.IoTWireless.Types.DeviceRegistrationStateResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DeviceRegistrationStateResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Device registration state resource type event configuration object for+-- enabling or disabling topic.+--+-- /See:/ 'newDeviceRegistrationStateResourceTypeEventConfiguration' smart constructor.+data DeviceRegistrationStateResourceTypeEventConfiguration = DeviceRegistrationStateResourceTypeEventConfiguration'+  { -- | Device registration resource type state event configuration object for+    -- enabling or disabling Sidewalk related event topics.+    sidewalk :: Prelude.Maybe SidewalkResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceRegistrationStateResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'deviceRegistrationStateResourceTypeEventConfiguration_sidewalk' - Device registration resource type state event configuration object for+-- enabling or disabling Sidewalk related event topics.+newDeviceRegistrationStateResourceTypeEventConfiguration ::+  DeviceRegistrationStateResourceTypeEventConfiguration+newDeviceRegistrationStateResourceTypeEventConfiguration =+  DeviceRegistrationStateResourceTypeEventConfiguration'+    { sidewalk =+        Prelude.Nothing+    }++-- | Device registration resource type state event configuration object for+-- enabling or disabling Sidewalk related event topics.+deviceRegistrationStateResourceTypeEventConfiguration_sidewalk :: Lens.Lens' DeviceRegistrationStateResourceTypeEventConfiguration (Prelude.Maybe SidewalkResourceTypeEventConfiguration)+deviceRegistrationStateResourceTypeEventConfiguration_sidewalk = Lens.lens (\DeviceRegistrationStateResourceTypeEventConfiguration' {sidewalk} -> sidewalk) (\s@DeviceRegistrationStateResourceTypeEventConfiguration' {} a -> s {sidewalk = a} :: DeviceRegistrationStateResourceTypeEventConfiguration)++instance+  Data.FromJSON+    DeviceRegistrationStateResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "DeviceRegistrationStateResourceTypeEventConfiguration"+      ( \x ->+          DeviceRegistrationStateResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+      )++instance+  Prelude.Hashable+    DeviceRegistrationStateResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    DeviceRegistrationStateResourceTypeEventConfiguration' {..} =+      _salt `Prelude.hashWithSalt` sidewalk++instance+  Prelude.NFData+    DeviceRegistrationStateResourceTypeEventConfiguration+  where+  rnf+    DeviceRegistrationStateResourceTypeEventConfiguration' {..} =+      Prelude.rnf sidewalk++instance+  Data.ToJSON+    DeviceRegistrationStateResourceTypeEventConfiguration+  where+  toJSON+    DeviceRegistrationStateResourceTypeEventConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [("Sidewalk" Data..=) Prelude.<$> sidewalk]+        )
+ gen/Amazonka/IoTWireless/Types/DeviceState.hs view
@@ -0,0 +1,82 @@+{-# 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.IoTWireless.Types.DeviceState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DeviceState+  ( DeviceState+      ( ..,+        DeviceState_Provisioned,+        DeviceState_RegisteredNotSeen,+        DeviceState_RegisteredReachable,+        DeviceState_RegisteredUnreachable+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Device state defines the device status of sidewalk device.+newtype DeviceState = DeviceState'+  { fromDeviceState ::+      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 DeviceState_Provisioned :: DeviceState+pattern DeviceState_Provisioned = DeviceState' "Provisioned"++pattern DeviceState_RegisteredNotSeen :: DeviceState+pattern DeviceState_RegisteredNotSeen = DeviceState' "RegisteredNotSeen"++pattern DeviceState_RegisteredReachable :: DeviceState+pattern DeviceState_RegisteredReachable = DeviceState' "RegisteredReachable"++pattern DeviceState_RegisteredUnreachable :: DeviceState+pattern DeviceState_RegisteredUnreachable = DeviceState' "RegisteredUnreachable"++{-# COMPLETE+  DeviceState_Provisioned,+  DeviceState_RegisteredNotSeen,+  DeviceState_RegisteredReachable,+  DeviceState_RegisteredUnreachable,+  DeviceState'+  #-}
+ gen/Amazonka/IoTWireless/Types/DlClass.hs view
@@ -0,0 +1,69 @@+{-# 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.IoTWireless.Types.DlClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DlClass+  ( DlClass+      ( ..,+        DlClass_ClassB,+        DlClass_ClassC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | DlClass for LoRaWAM, valid values are ClassB and ClassC.+newtype DlClass = DlClass' {fromDlClass :: 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 DlClass_ClassB :: DlClass+pattern DlClass_ClassB = DlClass' "ClassB"++pattern DlClass_ClassC :: DlClass+pattern DlClass_ClassC = DlClass' "ClassC"++{-# COMPLETE+  DlClass_ClassB,+  DlClass_ClassC,+  DlClass'+  #-}
+ gen/Amazonka/IoTWireless/Types/DownlinkMode.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.IoTWireless.Types.DownlinkMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DownlinkMode+  ( DownlinkMode+      ( ..,+        DownlinkMode_CONCURRENT,+        DownlinkMode_SEQUENTIAL,+        DownlinkMode_USING_UPLINK_GATEWAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DownlinkMode = DownlinkMode'+  { fromDownlinkMode ::+      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 DownlinkMode_CONCURRENT :: DownlinkMode+pattern DownlinkMode_CONCURRENT = DownlinkMode' "CONCURRENT"++pattern DownlinkMode_SEQUENTIAL :: DownlinkMode+pattern DownlinkMode_SEQUENTIAL = DownlinkMode' "SEQUENTIAL"++pattern DownlinkMode_USING_UPLINK_GATEWAY :: DownlinkMode+pattern DownlinkMode_USING_UPLINK_GATEWAY = DownlinkMode' "USING_UPLINK_GATEWAY"++{-# COMPLETE+  DownlinkMode_CONCURRENT,+  DownlinkMode_SEQUENTIAL,+  DownlinkMode_USING_UPLINK_GATEWAY,+  DownlinkMode'+  #-}
+ gen/Amazonka/IoTWireless/Types/DownlinkQueueMessage.hs view
@@ -0,0 +1,114 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.DownlinkQueueMessage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.DownlinkQueueMessage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+import qualified Amazonka.Prelude as Prelude++-- | The message in the downlink queue.+--+-- /See:/ 'newDownlinkQueueMessage' smart constructor.+data DownlinkQueueMessage = DownlinkQueueMessage'+  { loRaWAN :: Prelude.Maybe LoRaWANSendDataToDevice,+    -- | The message ID assigned by IoT Wireless to each downlink message, which+    -- helps identify the message.+    messageId :: Prelude.Maybe Prelude.Text,+    -- | The time at which Iot Wireless received the downlink message.+    receivedAt :: Prelude.Maybe Prelude.Text,+    -- | The transmit mode to use for sending data to the wireless device. This+    -- can be @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+    transmitMode :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DownlinkQueueMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'downlinkQueueMessage_loRaWAN' - Undocumented member.+--+-- 'messageId', 'downlinkQueueMessage_messageId' - The message ID assigned by IoT Wireless to each downlink message, which+-- helps identify the message.+--+-- 'receivedAt', 'downlinkQueueMessage_receivedAt' - The time at which Iot Wireless received the downlink message.+--+-- 'transmitMode', 'downlinkQueueMessage_transmitMode' - The transmit mode to use for sending data to the wireless device. This+-- can be @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+newDownlinkQueueMessage ::+  DownlinkQueueMessage+newDownlinkQueueMessage =+  DownlinkQueueMessage'+    { loRaWAN = Prelude.Nothing,+      messageId = Prelude.Nothing,+      receivedAt = Prelude.Nothing,+      transmitMode = Prelude.Nothing+    }++-- | Undocumented member.+downlinkQueueMessage_loRaWAN :: Lens.Lens' DownlinkQueueMessage (Prelude.Maybe LoRaWANSendDataToDevice)+downlinkQueueMessage_loRaWAN = Lens.lens (\DownlinkQueueMessage' {loRaWAN} -> loRaWAN) (\s@DownlinkQueueMessage' {} a -> s {loRaWAN = a} :: DownlinkQueueMessage)++-- | The message ID assigned by IoT Wireless to each downlink message, which+-- helps identify the message.+downlinkQueueMessage_messageId :: Lens.Lens' DownlinkQueueMessage (Prelude.Maybe Prelude.Text)+downlinkQueueMessage_messageId = Lens.lens (\DownlinkQueueMessage' {messageId} -> messageId) (\s@DownlinkQueueMessage' {} a -> s {messageId = a} :: DownlinkQueueMessage)++-- | The time at which Iot Wireless received the downlink message.+downlinkQueueMessage_receivedAt :: Lens.Lens' DownlinkQueueMessage (Prelude.Maybe Prelude.Text)+downlinkQueueMessage_receivedAt = Lens.lens (\DownlinkQueueMessage' {receivedAt} -> receivedAt) (\s@DownlinkQueueMessage' {} a -> s {receivedAt = a} :: DownlinkQueueMessage)++-- | The transmit mode to use for sending data to the wireless device. This+-- can be @0@ for UM (unacknowledge mode) or @1@ for AM (acknowledge mode).+downlinkQueueMessage_transmitMode :: Lens.Lens' DownlinkQueueMessage (Prelude.Maybe Prelude.Natural)+downlinkQueueMessage_transmitMode = Lens.lens (\DownlinkQueueMessage' {transmitMode} -> transmitMode) (\s@DownlinkQueueMessage' {} a -> s {transmitMode = a} :: DownlinkQueueMessage)++instance Data.FromJSON DownlinkQueueMessage where+  parseJSON =+    Data.withObject+      "DownlinkQueueMessage"+      ( \x ->+          DownlinkQueueMessage'+            Prelude.<$> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "MessageId")+            Prelude.<*> (x Data..:? "ReceivedAt")+            Prelude.<*> (x Data..:? "TransmitMode")+      )++instance Prelude.Hashable DownlinkQueueMessage where+  hashWithSalt _salt DownlinkQueueMessage' {..} =+    _salt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` messageId+      `Prelude.hashWithSalt` receivedAt+      `Prelude.hashWithSalt` transmitMode++instance Prelude.NFData DownlinkQueueMessage where+  rnf DownlinkQueueMessage' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf messageId+      `Prelude.seq` Prelude.rnf receivedAt+      `Prelude.seq` Prelude.rnf transmitMode
+ gen/Amazonka/IoTWireless/Types/Event.hs view
@@ -0,0 +1,84 @@+{-# 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.IoTWireless.Types.Event+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Event+  ( Event+      ( ..,+        Event_Ack,+        Event_Discovered,+        Event_Lost,+        Event_Nack,+        Event_Passthrough+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk device status notification.+newtype Event = Event' {fromEvent :: 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 Event_Ack :: Event+pattern Event_Ack = Event' "ack"++pattern Event_Discovered :: Event+pattern Event_Discovered = Event' "discovered"++pattern Event_Lost :: Event+pattern Event_Lost = Event' "lost"++pattern Event_Nack :: Event+pattern Event_Nack = Event' "nack"++pattern Event_Passthrough :: Event+pattern Event_Passthrough = Event' "passthrough"++{-# COMPLETE+  Event_Ack,+  Event_Discovered,+  Event_Lost,+  Event_Nack,+  Event_Passthrough,+  Event'+  #-}
+ gen/Amazonka/IoTWireless/Types/EventConfigurationItem.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.EventConfigurationItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.EventConfigurationItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationItemConfigurations+import Amazonka.IoTWireless.Types.EventNotificationPartnerType+import Amazonka.IoTWireless.Types.IdentifierType+import qualified Amazonka.Prelude as Prelude++-- | Event configuration object for a single resource.+--+-- /See:/ 'newEventConfigurationItem' smart constructor.+data EventConfigurationItem = EventConfigurationItem'+  { events :: Prelude.Maybe EventNotificationItemConfigurations,+    -- | Resource identifier opted in for event messaging.+    identifier :: Prelude.Maybe Prelude.Text,+    -- | Identifier type of the particular resource identifier for event+    -- configuration.+    identifierType :: Prelude.Maybe IdentifierType,+    -- | Partner type of the resource if the identifier type is PartnerAccountId.+    partnerType :: Prelude.Maybe EventNotificationPartnerType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventConfigurationItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'eventConfigurationItem_events' - Undocumented member.+--+-- 'identifier', 'eventConfigurationItem_identifier' - Resource identifier opted in for event messaging.+--+-- 'identifierType', 'eventConfigurationItem_identifierType' - Identifier type of the particular resource identifier for event+-- configuration.+--+-- 'partnerType', 'eventConfigurationItem_partnerType' - Partner type of the resource if the identifier type is PartnerAccountId.+newEventConfigurationItem ::+  EventConfigurationItem+newEventConfigurationItem =+  EventConfigurationItem'+    { events = Prelude.Nothing,+      identifier = Prelude.Nothing,+      identifierType = Prelude.Nothing,+      partnerType = Prelude.Nothing+    }++-- | Undocumented member.+eventConfigurationItem_events :: Lens.Lens' EventConfigurationItem (Prelude.Maybe EventNotificationItemConfigurations)+eventConfigurationItem_events = Lens.lens (\EventConfigurationItem' {events} -> events) (\s@EventConfigurationItem' {} a -> s {events = a} :: EventConfigurationItem)++-- | Resource identifier opted in for event messaging.+eventConfigurationItem_identifier :: Lens.Lens' EventConfigurationItem (Prelude.Maybe Prelude.Text)+eventConfigurationItem_identifier = Lens.lens (\EventConfigurationItem' {identifier} -> identifier) (\s@EventConfigurationItem' {} a -> s {identifier = a} :: EventConfigurationItem)++-- | Identifier type of the particular resource identifier for event+-- configuration.+eventConfigurationItem_identifierType :: Lens.Lens' EventConfigurationItem (Prelude.Maybe IdentifierType)+eventConfigurationItem_identifierType = Lens.lens (\EventConfigurationItem' {identifierType} -> identifierType) (\s@EventConfigurationItem' {} a -> s {identifierType = a} :: EventConfigurationItem)++-- | Partner type of the resource if the identifier type is PartnerAccountId.+eventConfigurationItem_partnerType :: Lens.Lens' EventConfigurationItem (Prelude.Maybe EventNotificationPartnerType)+eventConfigurationItem_partnerType = Lens.lens (\EventConfigurationItem' {partnerType} -> partnerType) (\s@EventConfigurationItem' {} a -> s {partnerType = a} :: EventConfigurationItem)++instance Data.FromJSON EventConfigurationItem where+  parseJSON =+    Data.withObject+      "EventConfigurationItem"+      ( \x ->+          EventConfigurationItem'+            Prelude.<$> (x Data..:? "Events")+            Prelude.<*> (x Data..:? "Identifier")+            Prelude.<*> (x Data..:? "IdentifierType")+            Prelude.<*> (x Data..:? "PartnerType")+      )++instance Prelude.Hashable EventConfigurationItem where+  hashWithSalt _salt EventConfigurationItem' {..} =+    _salt+      `Prelude.hashWithSalt` events+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` identifierType+      `Prelude.hashWithSalt` partnerType++instance Prelude.NFData EventConfigurationItem where+  rnf EventConfigurationItem' {..} =+    Prelude.rnf events+      `Prelude.seq` Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierType+      `Prelude.seq` Prelude.rnf partnerType
+ gen/Amazonka/IoTWireless/Types/EventNotificationItemConfigurations.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.IoTWireless.Types.EventNotificationItemConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.EventNotificationItemConfigurations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ConnectionStatusEventConfiguration+import Amazonka.IoTWireless.Types.DeviceRegistrationStateEventConfiguration+import Amazonka.IoTWireless.Types.JoinEventConfiguration+import Amazonka.IoTWireless.Types.MessageDeliveryStatusEventConfiguration+import Amazonka.IoTWireless.Types.ProximityEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Object of all event configurations and the status of the event topics.+--+-- /See:/ 'newEventNotificationItemConfigurations' smart constructor.+data EventNotificationItemConfigurations = EventNotificationItemConfigurations'+  { -- | Connection status event configuration for an event configuration item.+    connectionStatus :: Prelude.Maybe ConnectionStatusEventConfiguration,+    -- | Device registration state event configuration for an event configuration+    -- item.+    deviceRegistrationState :: Prelude.Maybe DeviceRegistrationStateEventConfiguration,+    -- | Join event configuration for an event configuration item.+    join :: Prelude.Maybe JoinEventConfiguration,+    -- | Message delivery status event configuration for an event configuration+    -- item.+    messageDeliveryStatus :: Prelude.Maybe MessageDeliveryStatusEventConfiguration,+    -- | Proximity event configuration for an event configuration item.+    proximity :: Prelude.Maybe ProximityEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventNotificationItemConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'eventNotificationItemConfigurations_connectionStatus' - Connection status event configuration for an event configuration item.+--+-- 'deviceRegistrationState', 'eventNotificationItemConfigurations_deviceRegistrationState' - Device registration state event configuration for an event configuration+-- item.+--+-- 'join', 'eventNotificationItemConfigurations_join' - Join event configuration for an event configuration item.+--+-- 'messageDeliveryStatus', 'eventNotificationItemConfigurations_messageDeliveryStatus' - Message delivery status event configuration for an event configuration+-- item.+--+-- 'proximity', 'eventNotificationItemConfigurations_proximity' - Proximity event configuration for an event configuration item.+newEventNotificationItemConfigurations ::+  EventNotificationItemConfigurations+newEventNotificationItemConfigurations =+  EventNotificationItemConfigurations'+    { connectionStatus =+        Prelude.Nothing,+      deviceRegistrationState =+        Prelude.Nothing,+      join = Prelude.Nothing,+      messageDeliveryStatus =+        Prelude.Nothing,+      proximity = Prelude.Nothing+    }++-- | Connection status event configuration for an event configuration item.+eventNotificationItemConfigurations_connectionStatus :: Lens.Lens' EventNotificationItemConfigurations (Prelude.Maybe ConnectionStatusEventConfiguration)+eventNotificationItemConfigurations_connectionStatus = Lens.lens (\EventNotificationItemConfigurations' {connectionStatus} -> connectionStatus) (\s@EventNotificationItemConfigurations' {} a -> s {connectionStatus = a} :: EventNotificationItemConfigurations)++-- | Device registration state event configuration for an event configuration+-- item.+eventNotificationItemConfigurations_deviceRegistrationState :: Lens.Lens' EventNotificationItemConfigurations (Prelude.Maybe DeviceRegistrationStateEventConfiguration)+eventNotificationItemConfigurations_deviceRegistrationState = Lens.lens (\EventNotificationItemConfigurations' {deviceRegistrationState} -> deviceRegistrationState) (\s@EventNotificationItemConfigurations' {} a -> s {deviceRegistrationState = a} :: EventNotificationItemConfigurations)++-- | Join event configuration for an event configuration item.+eventNotificationItemConfigurations_join :: Lens.Lens' EventNotificationItemConfigurations (Prelude.Maybe JoinEventConfiguration)+eventNotificationItemConfigurations_join = Lens.lens (\EventNotificationItemConfigurations' {join} -> join) (\s@EventNotificationItemConfigurations' {} a -> s {join = a} :: EventNotificationItemConfigurations)++-- | Message delivery status event configuration for an event configuration+-- item.+eventNotificationItemConfigurations_messageDeliveryStatus :: Lens.Lens' EventNotificationItemConfigurations (Prelude.Maybe MessageDeliveryStatusEventConfiguration)+eventNotificationItemConfigurations_messageDeliveryStatus = Lens.lens (\EventNotificationItemConfigurations' {messageDeliveryStatus} -> messageDeliveryStatus) (\s@EventNotificationItemConfigurations' {} a -> s {messageDeliveryStatus = a} :: EventNotificationItemConfigurations)++-- | Proximity event configuration for an event configuration item.+eventNotificationItemConfigurations_proximity :: Lens.Lens' EventNotificationItemConfigurations (Prelude.Maybe ProximityEventConfiguration)+eventNotificationItemConfigurations_proximity = Lens.lens (\EventNotificationItemConfigurations' {proximity} -> proximity) (\s@EventNotificationItemConfigurations' {} a -> s {proximity = a} :: EventNotificationItemConfigurations)++instance+  Data.FromJSON+    EventNotificationItemConfigurations+  where+  parseJSON =+    Data.withObject+      "EventNotificationItemConfigurations"+      ( \x ->+          EventNotificationItemConfigurations'+            Prelude.<$> (x Data..:? "ConnectionStatus")+            Prelude.<*> (x Data..:? "DeviceRegistrationState")+            Prelude.<*> (x Data..:? "Join")+            Prelude.<*> (x Data..:? "MessageDeliveryStatus")+            Prelude.<*> (x Data..:? "Proximity")+      )++instance+  Prelude.Hashable+    EventNotificationItemConfigurations+  where+  hashWithSalt+    _salt+    EventNotificationItemConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` connectionStatus+        `Prelude.hashWithSalt` deviceRegistrationState+        `Prelude.hashWithSalt` join+        `Prelude.hashWithSalt` messageDeliveryStatus+        `Prelude.hashWithSalt` proximity++instance+  Prelude.NFData+    EventNotificationItemConfigurations+  where+  rnf EventNotificationItemConfigurations' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf deviceRegistrationState+      `Prelude.seq` Prelude.rnf join+      `Prelude.seq` Prelude.rnf messageDeliveryStatus+      `Prelude.seq` Prelude.rnf proximity
+ gen/Amazonka/IoTWireless/Types/EventNotificationPartnerType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.EventNotificationPartnerType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.EventNotificationPartnerType+  ( EventNotificationPartnerType+      ( ..,+        EventNotificationPartnerType_Sidewalk+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EventNotificationPartnerType = EventNotificationPartnerType'+  { fromEventNotificationPartnerType ::+      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 EventNotificationPartnerType_Sidewalk :: EventNotificationPartnerType+pattern EventNotificationPartnerType_Sidewalk = EventNotificationPartnerType' "Sidewalk"++{-# COMPLETE+  EventNotificationPartnerType_Sidewalk,+  EventNotificationPartnerType'+  #-}
+ gen/Amazonka/IoTWireless/Types/EventNotificationResourceType.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.IoTWireless.Types.EventNotificationResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.EventNotificationResourceType+  ( EventNotificationResourceType+      ( ..,+        EventNotificationResourceType_SidewalkAccount,+        EventNotificationResourceType_WirelessDevice,+        EventNotificationResourceType_WirelessGateway+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EventNotificationResourceType = EventNotificationResourceType'+  { fromEventNotificationResourceType ::+      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 EventNotificationResourceType_SidewalkAccount :: EventNotificationResourceType+pattern EventNotificationResourceType_SidewalkAccount = EventNotificationResourceType' "SidewalkAccount"++pattern EventNotificationResourceType_WirelessDevice :: EventNotificationResourceType+pattern EventNotificationResourceType_WirelessDevice = EventNotificationResourceType' "WirelessDevice"++pattern EventNotificationResourceType_WirelessGateway :: EventNotificationResourceType+pattern EventNotificationResourceType_WirelessGateway = EventNotificationResourceType' "WirelessGateway"++{-# COMPLETE+  EventNotificationResourceType_SidewalkAccount,+  EventNotificationResourceType_WirelessDevice,+  EventNotificationResourceType_WirelessGateway,+  EventNotificationResourceType'+  #-}
+ gen/Amazonka/IoTWireless/Types/EventNotificationTopicStatus.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.IoTWireless.Types.EventNotificationTopicStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.EventNotificationTopicStatus+  ( EventNotificationTopicStatus+      ( ..,+        EventNotificationTopicStatus_Disabled,+        EventNotificationTopicStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EventNotificationTopicStatus = EventNotificationTopicStatus'+  { fromEventNotificationTopicStatus ::+      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 EventNotificationTopicStatus_Disabled :: EventNotificationTopicStatus+pattern EventNotificationTopicStatus_Disabled = EventNotificationTopicStatus' "Disabled"++pattern EventNotificationTopicStatus_Enabled :: EventNotificationTopicStatus+pattern EventNotificationTopicStatus_Enabled = EventNotificationTopicStatus' "Enabled"++{-# COMPLETE+  EventNotificationTopicStatus_Disabled,+  EventNotificationTopicStatus_Enabled,+  EventNotificationTopicStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/ExpressionType.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.IoTWireless.Types.ExpressionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ExpressionType+  ( ExpressionType+      ( ..,+        ExpressionType_MqttTopic,+        ExpressionType_RuleName+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ExpressionType = ExpressionType'+  { fromExpressionType ::+      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 ExpressionType_MqttTopic :: ExpressionType+pattern ExpressionType_MqttTopic = ExpressionType' "MqttTopic"++pattern ExpressionType_RuleName :: ExpressionType+pattern ExpressionType_RuleName = ExpressionType' "RuleName"++{-# COMPLETE+  ExpressionType_MqttTopic,+  ExpressionType_RuleName,+  ExpressionType'+  #-}
+ gen/Amazonka/IoTWireless/Types/FPorts.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.IoTWireless.Types.FPorts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.FPorts where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ApplicationConfig+import Amazonka.IoTWireless.Types.Positioning+import qualified Amazonka.Prelude as Prelude++-- | List of FPort assigned for different LoRaWAN application packages to use+--+-- /See:/ 'newFPorts' smart constructor.+data FPorts = FPorts'+  { -- | Optional LoRaWAN application information, which can be used for+    -- geolocation.+    applications :: Prelude.Maybe [ApplicationConfig],+    clockSync :: Prelude.Maybe Prelude.Natural,+    fuota :: Prelude.Maybe Prelude.Natural,+    multicast :: Prelude.Maybe Prelude.Natural,+    -- | FPort values for the GNSS, stream, and ClockSync functions of the+    -- positioning information.+    positioning :: Prelude.Maybe Positioning+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FPorts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applications', 'fPorts_applications' - Optional LoRaWAN application information, which can be used for+-- geolocation.+--+-- 'clockSync', 'fPorts_clockSync' - Undocumented member.+--+-- 'fuota', 'fPorts_fuota' - Undocumented member.+--+-- 'multicast', 'fPorts_multicast' - Undocumented member.+--+-- 'positioning', 'fPorts_positioning' - FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+newFPorts ::+  FPorts+newFPorts =+  FPorts'+    { applications = Prelude.Nothing,+      clockSync = Prelude.Nothing,+      fuota = Prelude.Nothing,+      multicast = Prelude.Nothing,+      positioning = Prelude.Nothing+    }++-- | Optional LoRaWAN application information, which can be used for+-- geolocation.+fPorts_applications :: Lens.Lens' FPorts (Prelude.Maybe [ApplicationConfig])+fPorts_applications = Lens.lens (\FPorts' {applications} -> applications) (\s@FPorts' {} a -> s {applications = a} :: FPorts) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+fPorts_clockSync :: Lens.Lens' FPorts (Prelude.Maybe Prelude.Natural)+fPorts_clockSync = Lens.lens (\FPorts' {clockSync} -> clockSync) (\s@FPorts' {} a -> s {clockSync = a} :: FPorts)++-- | Undocumented member.+fPorts_fuota :: Lens.Lens' FPorts (Prelude.Maybe Prelude.Natural)+fPorts_fuota = Lens.lens (\FPorts' {fuota} -> fuota) (\s@FPorts' {} a -> s {fuota = a} :: FPorts)++-- | Undocumented member.+fPorts_multicast :: Lens.Lens' FPorts (Prelude.Maybe Prelude.Natural)+fPorts_multicast = Lens.lens (\FPorts' {multicast} -> multicast) (\s@FPorts' {} a -> s {multicast = a} :: FPorts)++-- | FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+fPorts_positioning :: Lens.Lens' FPorts (Prelude.Maybe Positioning)+fPorts_positioning = Lens.lens (\FPorts' {positioning} -> positioning) (\s@FPorts' {} a -> s {positioning = a} :: FPorts)++instance Data.FromJSON FPorts where+  parseJSON =+    Data.withObject+      "FPorts"+      ( \x ->+          FPorts'+            Prelude.<$> (x Data..:? "Applications" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ClockSync")+            Prelude.<*> (x Data..:? "Fuota")+            Prelude.<*> (x Data..:? "Multicast")+            Prelude.<*> (x Data..:? "Positioning")+      )++instance Prelude.Hashable FPorts where+  hashWithSalt _salt FPorts' {..} =+    _salt+      `Prelude.hashWithSalt` applications+      `Prelude.hashWithSalt` clockSync+      `Prelude.hashWithSalt` fuota+      `Prelude.hashWithSalt` multicast+      `Prelude.hashWithSalt` positioning++instance Prelude.NFData FPorts where+  rnf FPorts' {..} =+    Prelude.rnf applications+      `Prelude.seq` Prelude.rnf clockSync+      `Prelude.seq` Prelude.rnf fuota+      `Prelude.seq` Prelude.rnf multicast+      `Prelude.seq` Prelude.rnf positioning++instance Data.ToJSON FPorts where+  toJSON FPorts' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Applications" Data..=) Prelude.<$> applications,+            ("ClockSync" Data..=) Prelude.<$> clockSync,+            ("Fuota" Data..=) Prelude.<$> fuota,+            ("Multicast" Data..=) Prelude.<$> multicast,+            ("Positioning" Data..=) Prelude.<$> positioning+          ]+      )
+ gen/Amazonka/IoTWireless/Types/FuotaDeviceStatus.hs view
@@ -0,0 +1,117 @@+{-# 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.IoTWireless.Types.FuotaDeviceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.FuotaDeviceStatus+  ( FuotaDeviceStatus+      ( ..,+        FuotaDeviceStatus_FragAlgo_unsupported,+        FuotaDeviceStatus_FragIndex_unsupported,+        FuotaDeviceStatus_Initial,+        FuotaDeviceStatus_MICError,+        FuotaDeviceStatus_MemoryError,+        FuotaDeviceStatus_MissingFrag,+        FuotaDeviceStatus_Not_enough_memory,+        FuotaDeviceStatus_Package_Not_Supported,+        FuotaDeviceStatus_SessionCnt_replay,+        FuotaDeviceStatus_Successful,+        FuotaDeviceStatus_Wrong_descriptor+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a wireless device in a FUOTA task.+newtype FuotaDeviceStatus = FuotaDeviceStatus'+  { fromFuotaDeviceStatus ::+      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 FuotaDeviceStatus_FragAlgo_unsupported :: FuotaDeviceStatus+pattern FuotaDeviceStatus_FragAlgo_unsupported = FuotaDeviceStatus' "FragAlgo_unsupported"++pattern FuotaDeviceStatus_FragIndex_unsupported :: FuotaDeviceStatus+pattern FuotaDeviceStatus_FragIndex_unsupported = FuotaDeviceStatus' "FragIndex_unsupported"++pattern FuotaDeviceStatus_Initial :: FuotaDeviceStatus+pattern FuotaDeviceStatus_Initial = FuotaDeviceStatus' "Initial"++pattern FuotaDeviceStatus_MICError :: FuotaDeviceStatus+pattern FuotaDeviceStatus_MICError = FuotaDeviceStatus' "MICError"++pattern FuotaDeviceStatus_MemoryError :: FuotaDeviceStatus+pattern FuotaDeviceStatus_MemoryError = FuotaDeviceStatus' "MemoryError"++pattern FuotaDeviceStatus_MissingFrag :: FuotaDeviceStatus+pattern FuotaDeviceStatus_MissingFrag = FuotaDeviceStatus' "MissingFrag"++pattern FuotaDeviceStatus_Not_enough_memory :: FuotaDeviceStatus+pattern FuotaDeviceStatus_Not_enough_memory = FuotaDeviceStatus' "Not_enough_memory"++pattern FuotaDeviceStatus_Package_Not_Supported :: FuotaDeviceStatus+pattern FuotaDeviceStatus_Package_Not_Supported = FuotaDeviceStatus' "Package_Not_Supported"++pattern FuotaDeviceStatus_SessionCnt_replay :: FuotaDeviceStatus+pattern FuotaDeviceStatus_SessionCnt_replay = FuotaDeviceStatus' "SessionCnt_replay"++pattern FuotaDeviceStatus_Successful :: FuotaDeviceStatus+pattern FuotaDeviceStatus_Successful = FuotaDeviceStatus' "Successful"++pattern FuotaDeviceStatus_Wrong_descriptor :: FuotaDeviceStatus+pattern FuotaDeviceStatus_Wrong_descriptor = FuotaDeviceStatus' "Wrong_descriptor"++{-# COMPLETE+  FuotaDeviceStatus_FragAlgo_unsupported,+  FuotaDeviceStatus_FragIndex_unsupported,+  FuotaDeviceStatus_Initial,+  FuotaDeviceStatus_MICError,+  FuotaDeviceStatus_MemoryError,+  FuotaDeviceStatus_MissingFrag,+  FuotaDeviceStatus_Not_enough_memory,+  FuotaDeviceStatus_Package_Not_Supported,+  FuotaDeviceStatus_SessionCnt_replay,+  FuotaDeviceStatus_Successful,+  FuotaDeviceStatus_Wrong_descriptor,+  FuotaDeviceStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/FuotaTask.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.IoTWireless.Types.FuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.FuotaTask 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 FUOTA task.+--+-- /See:/ 'newFuotaTask' smart constructor.+data FuotaTask = FuotaTask'+  { arn :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'fuotaTask_arn' - Undocumented member.+--+-- 'id', 'fuotaTask_id' - Undocumented member.+--+-- 'name', 'fuotaTask_name' - Undocumented member.+newFuotaTask ::+  FuotaTask+newFuotaTask =+  FuotaTask'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | Undocumented member.+fuotaTask_arn :: Lens.Lens' FuotaTask (Prelude.Maybe Prelude.Text)+fuotaTask_arn = Lens.lens (\FuotaTask' {arn} -> arn) (\s@FuotaTask' {} a -> s {arn = a} :: FuotaTask)++-- | Undocumented member.+fuotaTask_id :: Lens.Lens' FuotaTask (Prelude.Maybe Prelude.Text)+fuotaTask_id = Lens.lens (\FuotaTask' {id} -> id) (\s@FuotaTask' {} a -> s {id = a} :: FuotaTask)++-- | Undocumented member.+fuotaTask_name :: Lens.Lens' FuotaTask (Prelude.Maybe Prelude.Text)+fuotaTask_name = Lens.lens (\FuotaTask' {name} -> name) (\s@FuotaTask' {} a -> s {name = a} :: FuotaTask)++instance Data.FromJSON FuotaTask where+  parseJSON =+    Data.withObject+      "FuotaTask"+      ( \x ->+          FuotaTask'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable FuotaTask where+  hashWithSalt _salt FuotaTask' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData FuotaTask where+  rnf FuotaTask' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/FuotaTaskStatus.hs view
@@ -0,0 +1,87 @@+{-# 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.IoTWireless.Types.FuotaTaskStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.FuotaTaskStatus+  ( FuotaTaskStatus+      ( ..,+        FuotaTaskStatus_Delete_Waiting,+        FuotaTaskStatus_FuotaDone,+        FuotaTaskStatus_FuotaSession_Waiting,+        FuotaTaskStatus_In_FuotaSession,+        FuotaTaskStatus_Pending+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a FUOTA task.+newtype FuotaTaskStatus = FuotaTaskStatus'+  { fromFuotaTaskStatus ::+      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 FuotaTaskStatus_Delete_Waiting :: FuotaTaskStatus+pattern FuotaTaskStatus_Delete_Waiting = FuotaTaskStatus' "Delete_Waiting"++pattern FuotaTaskStatus_FuotaDone :: FuotaTaskStatus+pattern FuotaTaskStatus_FuotaDone = FuotaTaskStatus' "FuotaDone"++pattern FuotaTaskStatus_FuotaSession_Waiting :: FuotaTaskStatus+pattern FuotaTaskStatus_FuotaSession_Waiting = FuotaTaskStatus' "FuotaSession_Waiting"++pattern FuotaTaskStatus_In_FuotaSession :: FuotaTaskStatus+pattern FuotaTaskStatus_In_FuotaSession = FuotaTaskStatus' "In_FuotaSession"++pattern FuotaTaskStatus_Pending :: FuotaTaskStatus+pattern FuotaTaskStatus_Pending = FuotaTaskStatus' "Pending"++{-# COMPLETE+  FuotaTaskStatus_Delete_Waiting,+  FuotaTaskStatus_FuotaDone,+  FuotaTaskStatus_FuotaSession_Waiting,+  FuotaTaskStatus_In_FuotaSession,+  FuotaTaskStatus_Pending,+  FuotaTaskStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/GatewayListItem.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.IoTWireless.Types.GatewayListItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.GatewayListItem 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++-- | Gateway list item object that specifies the frequency and list of+-- gateways for which the downlink message should be sent.+--+-- /See:/ 'newGatewayListItem' smart constructor.+data GatewayListItem = GatewayListItem'+  { -- | The ID of the wireless gateways that you want to add to the list of+    -- gateways when sending downlink messages.+    gatewayId :: Prelude.Text,+    -- | The frequency to use for the gateways when sending a downlink message to+    -- the wireless device.+    downlinkFrequency :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GatewayListItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayId', 'gatewayListItem_gatewayId' - The ID of the wireless gateways that you want to add to the list of+-- gateways when sending downlink messages.+--+-- 'downlinkFrequency', 'gatewayListItem_downlinkFrequency' - The frequency to use for the gateways when sending a downlink message to+-- the wireless device.+newGatewayListItem ::+  -- | 'gatewayId'+  Prelude.Text ->+  -- | 'downlinkFrequency'+  Prelude.Natural ->+  GatewayListItem+newGatewayListItem pGatewayId_ pDownlinkFrequency_ =+  GatewayListItem'+    { gatewayId = pGatewayId_,+      downlinkFrequency = pDownlinkFrequency_+    }++-- | The ID of the wireless gateways that you want to add to the list of+-- gateways when sending downlink messages.+gatewayListItem_gatewayId :: Lens.Lens' GatewayListItem Prelude.Text+gatewayListItem_gatewayId = Lens.lens (\GatewayListItem' {gatewayId} -> gatewayId) (\s@GatewayListItem' {} a -> s {gatewayId = a} :: GatewayListItem)++-- | The frequency to use for the gateways when sending a downlink message to+-- the wireless device.+gatewayListItem_downlinkFrequency :: Lens.Lens' GatewayListItem Prelude.Natural+gatewayListItem_downlinkFrequency = Lens.lens (\GatewayListItem' {downlinkFrequency} -> downlinkFrequency) (\s@GatewayListItem' {} a -> s {downlinkFrequency = a} :: GatewayListItem)++instance Data.FromJSON GatewayListItem where+  parseJSON =+    Data.withObject+      "GatewayListItem"+      ( \x ->+          GatewayListItem'+            Prelude.<$> (x Data..: "GatewayId")+            Prelude.<*> (x Data..: "DownlinkFrequency")+      )++instance Prelude.Hashable GatewayListItem where+  hashWithSalt _salt GatewayListItem' {..} =+    _salt+      `Prelude.hashWithSalt` gatewayId+      `Prelude.hashWithSalt` downlinkFrequency++instance Prelude.NFData GatewayListItem where+  rnf GatewayListItem' {..} =+    Prelude.rnf gatewayId+      `Prelude.seq` Prelude.rnf downlinkFrequency++instance Data.ToJSON GatewayListItem where+  toJSON GatewayListItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("GatewayId" Data..= gatewayId),+            Prelude.Just+              ("DownlinkFrequency" Data..= downlinkFrequency)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/GlobalIdentity.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.GlobalIdentity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.GlobalIdentity 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++-- | Global identity information.+--+-- /See:/ 'newGlobalIdentity' smart constructor.+data GlobalIdentity = GlobalIdentity'+  { -- | Location area code of the global identity.+    lac :: Prelude.Natural,+    -- | GERAN (GSM EDGE Radio Access Network) cell global identifier.+    geranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlobalIdentity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lac', 'globalIdentity_lac' - Location area code of the global identity.+--+-- 'geranCid', 'globalIdentity_geranCid' - GERAN (GSM EDGE Radio Access Network) cell global identifier.+newGlobalIdentity ::+  -- | 'lac'+  Prelude.Natural ->+  -- | 'geranCid'+  Prelude.Natural ->+  GlobalIdentity+newGlobalIdentity pLac_ pGeranCid_ =+  GlobalIdentity' {lac = pLac_, geranCid = pGeranCid_}++-- | Location area code of the global identity.+globalIdentity_lac :: Lens.Lens' GlobalIdentity Prelude.Natural+globalIdentity_lac = Lens.lens (\GlobalIdentity' {lac} -> lac) (\s@GlobalIdentity' {} a -> s {lac = a} :: GlobalIdentity)++-- | GERAN (GSM EDGE Radio Access Network) cell global identifier.+globalIdentity_geranCid :: Lens.Lens' GlobalIdentity Prelude.Natural+globalIdentity_geranCid = Lens.lens (\GlobalIdentity' {geranCid} -> geranCid) (\s@GlobalIdentity' {} a -> s {geranCid = a} :: GlobalIdentity)++instance Prelude.Hashable GlobalIdentity where+  hashWithSalt _salt GlobalIdentity' {..} =+    _salt+      `Prelude.hashWithSalt` lac+      `Prelude.hashWithSalt` geranCid++instance Prelude.NFData GlobalIdentity where+  rnf GlobalIdentity' {..} =+    Prelude.rnf lac `Prelude.seq` Prelude.rnf geranCid++instance Data.ToJSON GlobalIdentity where+  toJSON GlobalIdentity' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Lac" Data..= lac),+            Prelude.Just ("GeranCid" Data..= geranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/Gnss.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.IoTWireless.Types.Gnss+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Gnss 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++-- | Global navigation satellite system (GNSS) object used for positioning.+--+-- /See:/ 'newGnss' smart constructor.+data Gnss = Gnss'+  { -- | Optional assistance altitude, which is the altitude of the device at+    -- capture time, specified in meters above the WGS84 reference ellipsoid.+    assistAltitude :: Prelude.Maybe Prelude.Double,+    -- | Optional assistance position information, specified using latitude and+    -- longitude values in degrees. The co-ordinates are inside the WGS84+    -- reference frame.+    assistPosition :: Prelude.Maybe (Prelude.NonEmpty Prelude.Double),+    -- | Optional parameter that gives an estimate of the time when the GNSS scan+    -- information is taken, in seconds GPS time (GPST). If capture time is not+    -- specified, the local server time is used.+    captureTime :: Prelude.Maybe Prelude.Double,+    -- | Optional value that gives the capture time estimate accuracy, in+    -- seconds. If capture time accuracy is not specified, default value of 300+    -- is used.+    captureTimeAccuracy :: Prelude.Maybe Prelude.Double,+    -- | Optional parameter that forces 2D solve, which modifies the positioning+    -- algorithm to a 2D solution problem. When this parameter is specified,+    -- the assistance altitude should have an accuracy of at least 10 meters.+    use2DSolver :: Prelude.Maybe Prelude.Bool,+    -- | Payload that contains the GNSS scan result, or NAV message, in+    -- hexadecimal notation.+    payload :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Gnss' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assistAltitude', 'gnss_assistAltitude' - Optional assistance altitude, which is the altitude of the device at+-- capture time, specified in meters above the WGS84 reference ellipsoid.+--+-- 'assistPosition', 'gnss_assistPosition' - Optional assistance position information, specified using latitude and+-- longitude values in degrees. The co-ordinates are inside the WGS84+-- reference frame.+--+-- 'captureTime', 'gnss_captureTime' - Optional parameter that gives an estimate of the time when the GNSS scan+-- information is taken, in seconds GPS time (GPST). If capture time is not+-- specified, the local server time is used.+--+-- 'captureTimeAccuracy', 'gnss_captureTimeAccuracy' - Optional value that gives the capture time estimate accuracy, in+-- seconds. If capture time accuracy is not specified, default value of 300+-- is used.+--+-- 'use2DSolver', 'gnss_use2DSolver' - Optional parameter that forces 2D solve, which modifies the positioning+-- algorithm to a 2D solution problem. When this parameter is specified,+-- the assistance altitude should have an accuracy of at least 10 meters.+--+-- 'payload', 'gnss_payload' - Payload that contains the GNSS scan result, or NAV message, in+-- hexadecimal notation.+newGnss ::+  -- | 'payload'+  Prelude.Text ->+  Gnss+newGnss pPayload_ =+  Gnss'+    { assistAltitude = Prelude.Nothing,+      assistPosition = Prelude.Nothing,+      captureTime = Prelude.Nothing,+      captureTimeAccuracy = Prelude.Nothing,+      use2DSolver = Prelude.Nothing,+      payload = pPayload_+    }++-- | Optional assistance altitude, which is the altitude of the device at+-- capture time, specified in meters above the WGS84 reference ellipsoid.+gnss_assistAltitude :: Lens.Lens' Gnss (Prelude.Maybe Prelude.Double)+gnss_assistAltitude = Lens.lens (\Gnss' {assistAltitude} -> assistAltitude) (\s@Gnss' {} a -> s {assistAltitude = a} :: Gnss)++-- | Optional assistance position information, specified using latitude and+-- longitude values in degrees. The co-ordinates are inside the WGS84+-- reference frame.+gnss_assistPosition :: Lens.Lens' Gnss (Prelude.Maybe (Prelude.NonEmpty Prelude.Double))+gnss_assistPosition = Lens.lens (\Gnss' {assistPosition} -> assistPosition) (\s@Gnss' {} a -> s {assistPosition = a} :: Gnss) Prelude.. Lens.mapping Lens.coerced++-- | Optional parameter that gives an estimate of the time when the GNSS scan+-- information is taken, in seconds GPS time (GPST). If capture time is not+-- specified, the local server time is used.+gnss_captureTime :: Lens.Lens' Gnss (Prelude.Maybe Prelude.Double)+gnss_captureTime = Lens.lens (\Gnss' {captureTime} -> captureTime) (\s@Gnss' {} a -> s {captureTime = a} :: Gnss)++-- | Optional value that gives the capture time estimate accuracy, in+-- seconds. If capture time accuracy is not specified, default value of 300+-- is used.+gnss_captureTimeAccuracy :: Lens.Lens' Gnss (Prelude.Maybe Prelude.Double)+gnss_captureTimeAccuracy = Lens.lens (\Gnss' {captureTimeAccuracy} -> captureTimeAccuracy) (\s@Gnss' {} a -> s {captureTimeAccuracy = a} :: Gnss)++-- | Optional parameter that forces 2D solve, which modifies the positioning+-- algorithm to a 2D solution problem. When this parameter is specified,+-- the assistance altitude should have an accuracy of at least 10 meters.+gnss_use2DSolver :: Lens.Lens' Gnss (Prelude.Maybe Prelude.Bool)+gnss_use2DSolver = Lens.lens (\Gnss' {use2DSolver} -> use2DSolver) (\s@Gnss' {} a -> s {use2DSolver = a} :: Gnss)++-- | Payload that contains the GNSS scan result, or NAV message, in+-- hexadecimal notation.+gnss_payload :: Lens.Lens' Gnss Prelude.Text+gnss_payload = Lens.lens (\Gnss' {payload} -> payload) (\s@Gnss' {} a -> s {payload = a} :: Gnss)++instance Prelude.Hashable Gnss where+  hashWithSalt _salt Gnss' {..} =+    _salt+      `Prelude.hashWithSalt` assistAltitude+      `Prelude.hashWithSalt` assistPosition+      `Prelude.hashWithSalt` captureTime+      `Prelude.hashWithSalt` captureTimeAccuracy+      `Prelude.hashWithSalt` use2DSolver+      `Prelude.hashWithSalt` payload++instance Prelude.NFData Gnss where+  rnf Gnss' {..} =+    Prelude.rnf assistAltitude+      `Prelude.seq` Prelude.rnf assistPosition+      `Prelude.seq` Prelude.rnf captureTime+      `Prelude.seq` Prelude.rnf captureTimeAccuracy+      `Prelude.seq` Prelude.rnf use2DSolver+      `Prelude.seq` Prelude.rnf payload++instance Data.ToJSON Gnss where+  toJSON Gnss' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AssistAltitude" Data..=)+              Prelude.<$> assistAltitude,+            ("AssistPosition" Data..=)+              Prelude.<$> assistPosition,+            ("CaptureTime" Data..=) Prelude.<$> captureTime,+            ("CaptureTimeAccuracy" Data..=)+              Prelude.<$> captureTimeAccuracy,+            ("Use2DSolver" Data..=) Prelude.<$> use2DSolver,+            Prelude.Just ("Payload" Data..= payload)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/GsmLocalId.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.IoTWireless.Types.GsmLocalId+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.GsmLocalId 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++-- | GSM local ID information, which corresponds to the local identification+-- parameters of a GSM cell.+--+-- /See:/ 'newGsmLocalId' smart constructor.+data GsmLocalId = GsmLocalId'+  { -- | GSM base station identity code (BSIC).+    bsic :: Prelude.Natural,+    -- | GSM broadcast control channel.+    bcch :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GsmLocalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bsic', 'gsmLocalId_bsic' - GSM base station identity code (BSIC).+--+-- 'bcch', 'gsmLocalId_bcch' - GSM broadcast control channel.+newGsmLocalId ::+  -- | 'bsic'+  Prelude.Natural ->+  -- | 'bcch'+  Prelude.Natural ->+  GsmLocalId+newGsmLocalId pBsic_ pBcch_ =+  GsmLocalId' {bsic = pBsic_, bcch = pBcch_}++-- | GSM base station identity code (BSIC).+gsmLocalId_bsic :: Lens.Lens' GsmLocalId Prelude.Natural+gsmLocalId_bsic = Lens.lens (\GsmLocalId' {bsic} -> bsic) (\s@GsmLocalId' {} a -> s {bsic = a} :: GsmLocalId)++-- | GSM broadcast control channel.+gsmLocalId_bcch :: Lens.Lens' GsmLocalId Prelude.Natural+gsmLocalId_bcch = Lens.lens (\GsmLocalId' {bcch} -> bcch) (\s@GsmLocalId' {} a -> s {bcch = a} :: GsmLocalId)++instance Prelude.Hashable GsmLocalId where+  hashWithSalt _salt GsmLocalId' {..} =+    _salt+      `Prelude.hashWithSalt` bsic+      `Prelude.hashWithSalt` bcch++instance Prelude.NFData GsmLocalId where+  rnf GsmLocalId' {..} =+    Prelude.rnf bsic `Prelude.seq` Prelude.rnf bcch++instance Data.ToJSON GsmLocalId where+  toJSON GsmLocalId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Bsic" Data..= bsic),+            Prelude.Just ("Bcch" Data..= bcch)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/GsmNmrObj.hs view
@@ -0,0 +1,116 @@+{-# 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.IoTWireless.Types.GsmNmrObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.GsmNmrObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.GlobalIdentity+import qualified Amazonka.Prelude as Prelude++-- | GSM object for network measurement reports.+--+-- /See:/ 'newGsmNmrObj' smart constructor.+data GsmNmrObj = GsmNmrObj'+  { -- | Global identity information of the GSM object.+    globalIdentity :: Prelude.Maybe GlobalIdentity,+    -- | Rx level, which is the received signal power, measured in dBm+    -- (decibel-milliwatts).+    rxLevel :: Prelude.Maybe Prelude.Int,+    -- | GSM base station identity code (BSIC).+    bsic :: Prelude.Natural,+    -- | GSM broadcast control channel.+    bcch :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GsmNmrObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalIdentity', 'gsmNmrObj_globalIdentity' - Global identity information of the GSM object.+--+-- 'rxLevel', 'gsmNmrObj_rxLevel' - Rx level, which is the received signal power, measured in dBm+-- (decibel-milliwatts).+--+-- 'bsic', 'gsmNmrObj_bsic' - GSM base station identity code (BSIC).+--+-- 'bcch', 'gsmNmrObj_bcch' - GSM broadcast control channel.+newGsmNmrObj ::+  -- | 'bsic'+  Prelude.Natural ->+  -- | 'bcch'+  Prelude.Natural ->+  GsmNmrObj+newGsmNmrObj pBsic_ pBcch_ =+  GsmNmrObj'+    { globalIdentity = Prelude.Nothing,+      rxLevel = Prelude.Nothing,+      bsic = pBsic_,+      bcch = pBcch_+    }++-- | Global identity information of the GSM object.+gsmNmrObj_globalIdentity :: Lens.Lens' GsmNmrObj (Prelude.Maybe GlobalIdentity)+gsmNmrObj_globalIdentity = Lens.lens (\GsmNmrObj' {globalIdentity} -> globalIdentity) (\s@GsmNmrObj' {} a -> s {globalIdentity = a} :: GsmNmrObj)++-- | Rx level, which is the received signal power, measured in dBm+-- (decibel-milliwatts).+gsmNmrObj_rxLevel :: Lens.Lens' GsmNmrObj (Prelude.Maybe Prelude.Int)+gsmNmrObj_rxLevel = Lens.lens (\GsmNmrObj' {rxLevel} -> rxLevel) (\s@GsmNmrObj' {} a -> s {rxLevel = a} :: GsmNmrObj)++-- | GSM base station identity code (BSIC).+gsmNmrObj_bsic :: Lens.Lens' GsmNmrObj Prelude.Natural+gsmNmrObj_bsic = Lens.lens (\GsmNmrObj' {bsic} -> bsic) (\s@GsmNmrObj' {} a -> s {bsic = a} :: GsmNmrObj)++-- | GSM broadcast control channel.+gsmNmrObj_bcch :: Lens.Lens' GsmNmrObj Prelude.Natural+gsmNmrObj_bcch = Lens.lens (\GsmNmrObj' {bcch} -> bcch) (\s@GsmNmrObj' {} a -> s {bcch = a} :: GsmNmrObj)++instance Prelude.Hashable GsmNmrObj where+  hashWithSalt _salt GsmNmrObj' {..} =+    _salt+      `Prelude.hashWithSalt` globalIdentity+      `Prelude.hashWithSalt` rxLevel+      `Prelude.hashWithSalt` bsic+      `Prelude.hashWithSalt` bcch++instance Prelude.NFData GsmNmrObj where+  rnf GsmNmrObj' {..} =+    Prelude.rnf globalIdentity+      `Prelude.seq` Prelude.rnf rxLevel+      `Prelude.seq` Prelude.rnf bsic+      `Prelude.seq` Prelude.rnf bcch++instance Data.ToJSON GsmNmrObj where+  toJSON GsmNmrObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GlobalIdentity" Data..=)+              Prelude.<$> globalIdentity,+            ("RxLevel" Data..=) Prelude.<$> rxLevel,+            Prelude.Just ("Bsic" Data..= bsic),+            Prelude.Just ("Bcch" Data..= bcch)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/GsmObj.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.IoTWireless.Types.GsmObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.GsmObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.GsmLocalId+import Amazonka.IoTWireless.Types.GsmNmrObj+import qualified Amazonka.Prelude as Prelude++-- | GSM object.+--+-- /See:/ 'newGsmObj' smart constructor.+data GsmObj = GsmObj'+  { -- | GSM local identification (local ID) information.+    gsmLocalId :: Prelude.Maybe GsmLocalId,+    -- | GSM object for network measurement reports.+    gsmNmr :: Prelude.Maybe (Prelude.NonEmpty GsmNmrObj),+    -- | Timing advance value, which corresponds to the length of time a signal+    -- takes to reach the base station from a mobile phone.+    gsmTimingAdvance :: Prelude.Maybe Prelude.Natural,+    -- | Rx level, which is the received signal power, measured in dBm+    -- (decibel-milliwatts).+    rxLevel :: Prelude.Maybe Prelude.Int,+    -- | Mobile Country Code.+    mcc :: Prelude.Natural,+    -- | Mobile Network Code.+    mnc :: Prelude.Natural,+    -- | Location area code.+    lac :: Prelude.Natural,+    -- | GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.+    geranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GsmObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gsmLocalId', 'gsmObj_gsmLocalId' - GSM local identification (local ID) information.+--+-- 'gsmNmr', 'gsmObj_gsmNmr' - GSM object for network measurement reports.+--+-- 'gsmTimingAdvance', 'gsmObj_gsmTimingAdvance' - Timing advance value, which corresponds to the length of time a signal+-- takes to reach the base station from a mobile phone.+--+-- 'rxLevel', 'gsmObj_rxLevel' - Rx level, which is the received signal power, measured in dBm+-- (decibel-milliwatts).+--+-- 'mcc', 'gsmObj_mcc' - Mobile Country Code.+--+-- 'mnc', 'gsmObj_mnc' - Mobile Network Code.+--+-- 'lac', 'gsmObj_lac' - Location area code.+--+-- 'geranCid', 'gsmObj_geranCid' - GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.+newGsmObj ::+  -- | 'mcc'+  Prelude.Natural ->+  -- | 'mnc'+  Prelude.Natural ->+  -- | 'lac'+  Prelude.Natural ->+  -- | 'geranCid'+  Prelude.Natural ->+  GsmObj+newGsmObj pMcc_ pMnc_ pLac_ pGeranCid_ =+  GsmObj'+    { gsmLocalId = Prelude.Nothing,+      gsmNmr = Prelude.Nothing,+      gsmTimingAdvance = Prelude.Nothing,+      rxLevel = Prelude.Nothing,+      mcc = pMcc_,+      mnc = pMnc_,+      lac = pLac_,+      geranCid = pGeranCid_+    }++-- | GSM local identification (local ID) information.+gsmObj_gsmLocalId :: Lens.Lens' GsmObj (Prelude.Maybe GsmLocalId)+gsmObj_gsmLocalId = Lens.lens (\GsmObj' {gsmLocalId} -> gsmLocalId) (\s@GsmObj' {} a -> s {gsmLocalId = a} :: GsmObj)++-- | GSM object for network measurement reports.+gsmObj_gsmNmr :: Lens.Lens' GsmObj (Prelude.Maybe (Prelude.NonEmpty GsmNmrObj))+gsmObj_gsmNmr = Lens.lens (\GsmObj' {gsmNmr} -> gsmNmr) (\s@GsmObj' {} a -> s {gsmNmr = a} :: GsmObj) Prelude.. Lens.mapping Lens.coerced++-- | Timing advance value, which corresponds to the length of time a signal+-- takes to reach the base station from a mobile phone.+gsmObj_gsmTimingAdvance :: Lens.Lens' GsmObj (Prelude.Maybe Prelude.Natural)+gsmObj_gsmTimingAdvance = Lens.lens (\GsmObj' {gsmTimingAdvance} -> gsmTimingAdvance) (\s@GsmObj' {} a -> s {gsmTimingAdvance = a} :: GsmObj)++-- | Rx level, which is the received signal power, measured in dBm+-- (decibel-milliwatts).+gsmObj_rxLevel :: Lens.Lens' GsmObj (Prelude.Maybe Prelude.Int)+gsmObj_rxLevel = Lens.lens (\GsmObj' {rxLevel} -> rxLevel) (\s@GsmObj' {} a -> s {rxLevel = a} :: GsmObj)++-- | Mobile Country Code.+gsmObj_mcc :: Lens.Lens' GsmObj Prelude.Natural+gsmObj_mcc = Lens.lens (\GsmObj' {mcc} -> mcc) (\s@GsmObj' {} a -> s {mcc = a} :: GsmObj)++-- | Mobile Network Code.+gsmObj_mnc :: Lens.Lens' GsmObj Prelude.Natural+gsmObj_mnc = Lens.lens (\GsmObj' {mnc} -> mnc) (\s@GsmObj' {} a -> s {mnc = a} :: GsmObj)++-- | Location area code.+gsmObj_lac :: Lens.Lens' GsmObj Prelude.Natural+gsmObj_lac = Lens.lens (\GsmObj' {lac} -> lac) (\s@GsmObj' {} a -> s {lac = a} :: GsmObj)++-- | GERAN (GSM EDGE Radio Access Network) Cell Global Identifier.+gsmObj_geranCid :: Lens.Lens' GsmObj Prelude.Natural+gsmObj_geranCid = Lens.lens (\GsmObj' {geranCid} -> geranCid) (\s@GsmObj' {} a -> s {geranCid = a} :: GsmObj)++instance Prelude.Hashable GsmObj where+  hashWithSalt _salt GsmObj' {..} =+    _salt+      `Prelude.hashWithSalt` gsmLocalId+      `Prelude.hashWithSalt` gsmNmr+      `Prelude.hashWithSalt` gsmTimingAdvance+      `Prelude.hashWithSalt` rxLevel+      `Prelude.hashWithSalt` mcc+      `Prelude.hashWithSalt` mnc+      `Prelude.hashWithSalt` lac+      `Prelude.hashWithSalt` geranCid++instance Prelude.NFData GsmObj where+  rnf GsmObj' {..} =+    Prelude.rnf gsmLocalId+      `Prelude.seq` Prelude.rnf gsmNmr+      `Prelude.seq` Prelude.rnf gsmTimingAdvance+      `Prelude.seq` Prelude.rnf rxLevel+      `Prelude.seq` Prelude.rnf mcc+      `Prelude.seq` Prelude.rnf mnc+      `Prelude.seq` Prelude.rnf lac+      `Prelude.seq` Prelude.rnf geranCid++instance Data.ToJSON GsmObj where+  toJSON GsmObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GsmLocalId" Data..=) Prelude.<$> gsmLocalId,+            ("GsmNmr" Data..=) Prelude.<$> gsmNmr,+            ("GsmTimingAdvance" Data..=)+              Prelude.<$> gsmTimingAdvance,+            ("RxLevel" Data..=) Prelude.<$> rxLevel,+            Prelude.Just ("Mcc" Data..= mcc),+            Prelude.Just ("Mnc" Data..= mnc),+            Prelude.Just ("Lac" Data..= lac),+            Prelude.Just ("GeranCid" Data..= geranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/IdentifierType.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.IoTWireless.Types.IdentifierType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.IdentifierType+  ( IdentifierType+      ( ..,+        IdentifierType_DevEui,+        IdentifierType_GatewayEui,+        IdentifierType_PartnerAccountId,+        IdentifierType_WirelessDeviceId,+        IdentifierType_WirelessGatewayId+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IdentifierType = IdentifierType'+  { fromIdentifierType ::+      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 IdentifierType_DevEui :: IdentifierType+pattern IdentifierType_DevEui = IdentifierType' "DevEui"++pattern IdentifierType_GatewayEui :: IdentifierType+pattern IdentifierType_GatewayEui = IdentifierType' "GatewayEui"++pattern IdentifierType_PartnerAccountId :: IdentifierType+pattern IdentifierType_PartnerAccountId = IdentifierType' "PartnerAccountId"++pattern IdentifierType_WirelessDeviceId :: IdentifierType+pattern IdentifierType_WirelessDeviceId = IdentifierType' "WirelessDeviceId"++pattern IdentifierType_WirelessGatewayId :: IdentifierType+pattern IdentifierType_WirelessGatewayId = IdentifierType' "WirelessGatewayId"++{-# COMPLETE+  IdentifierType_DevEui,+  IdentifierType_GatewayEui,+  IdentifierType_PartnerAccountId,+  IdentifierType_WirelessDeviceId,+  IdentifierType_WirelessGatewayId,+  IdentifierType'+  #-}
+ gen/Amazonka/IoTWireless/Types/Ip.hs view
@@ -0,0 +1,67 @@+{-# 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.IoTWireless.Types.Ip+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Ip 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++-- | IP address used for resolving device location.+--+-- /See:/ 'newIp' smart constructor.+data Ip = Ip'+  { -- | IP address information.+    ipAddress :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Ip' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ipAddress', 'ip_ipAddress' - IP address information.+newIp ::+  -- | 'ipAddress'+  Prelude.Text ->+  Ip+newIp pIpAddress_ = Ip' {ipAddress = pIpAddress_}++-- | IP address information.+ip_ipAddress :: Lens.Lens' Ip Prelude.Text+ip_ipAddress = Lens.lens (\Ip' {ipAddress} -> ipAddress) (\s@Ip' {} a -> s {ipAddress = a} :: Ip)++instance Prelude.Hashable Ip where+  hashWithSalt _salt Ip' {..} =+    _salt `Prelude.hashWithSalt` ipAddress++instance Prelude.NFData Ip where+  rnf Ip' {..} = Prelude.rnf ipAddress++instance Data.ToJSON Ip where+  toJSON Ip' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("IpAddress" Data..= ipAddress)]+      )
+ gen/Amazonka/IoTWireless/Types/JoinEventConfiguration.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.JoinEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.JoinEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Join event configuration object for enabling or disabling topic.+--+-- /See:/ 'newJoinEventConfiguration' smart constructor.+data JoinEventConfiguration = JoinEventConfiguration'+  { -- | Join event configuration object for enabling or disabling LoRaWAN+    -- related event topics.+    loRaWAN :: Prelude.Maybe LoRaWANJoinEventNotificationConfigurations,+    -- | Denotes whether the wireless device ID join event topic is enabled or+    -- disabled.+    wirelessDeviceIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JoinEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'joinEventConfiguration_loRaWAN' - Join event configuration object for enabling or disabling LoRaWAN+-- related event topics.+--+-- 'wirelessDeviceIdEventTopic', 'joinEventConfiguration_wirelessDeviceIdEventTopic' - Denotes whether the wireless device ID join event topic is enabled or+-- disabled.+newJoinEventConfiguration ::+  JoinEventConfiguration+newJoinEventConfiguration =+  JoinEventConfiguration'+    { loRaWAN = Prelude.Nothing,+      wirelessDeviceIdEventTopic = Prelude.Nothing+    }++-- | Join event configuration object for enabling or disabling LoRaWAN+-- related event topics.+joinEventConfiguration_loRaWAN :: Lens.Lens' JoinEventConfiguration (Prelude.Maybe LoRaWANJoinEventNotificationConfigurations)+joinEventConfiguration_loRaWAN = Lens.lens (\JoinEventConfiguration' {loRaWAN} -> loRaWAN) (\s@JoinEventConfiguration' {} a -> s {loRaWAN = a} :: JoinEventConfiguration)++-- | Denotes whether the wireless device ID join event topic is enabled or+-- disabled.+joinEventConfiguration_wirelessDeviceIdEventTopic :: Lens.Lens' JoinEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+joinEventConfiguration_wirelessDeviceIdEventTopic = Lens.lens (\JoinEventConfiguration' {wirelessDeviceIdEventTopic} -> wirelessDeviceIdEventTopic) (\s@JoinEventConfiguration' {} a -> s {wirelessDeviceIdEventTopic = a} :: JoinEventConfiguration)++instance Data.FromJSON JoinEventConfiguration where+  parseJSON =+    Data.withObject+      "JoinEventConfiguration"+      ( \x ->+          JoinEventConfiguration'+            Prelude.<$> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "WirelessDeviceIdEventTopic")+      )++instance Prelude.Hashable JoinEventConfiguration where+  hashWithSalt _salt JoinEventConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` wirelessDeviceIdEventTopic++instance Prelude.NFData JoinEventConfiguration where+  rnf JoinEventConfiguration' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf wirelessDeviceIdEventTopic++instance Data.ToJSON JoinEventConfiguration where+  toJSON JoinEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("WirelessDeviceIdEventTopic" Data..=)+              Prelude.<$> wirelessDeviceIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/JoinResourceTypeEventConfiguration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.JoinResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.JoinResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Join resource type event configuration object for enabling or disabling+-- topic.+--+-- /See:/ 'newJoinResourceTypeEventConfiguration' smart constructor.+data JoinResourceTypeEventConfiguration = JoinResourceTypeEventConfiguration'+  { -- | Join resource type event configuration object for enabling or disabling+    -- LoRaWAN related event topics.+    loRaWAN :: Prelude.Maybe LoRaWANJoinResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JoinResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'joinResourceTypeEventConfiguration_loRaWAN' - Join resource type event configuration object for enabling or disabling+-- LoRaWAN related event topics.+newJoinResourceTypeEventConfiguration ::+  JoinResourceTypeEventConfiguration+newJoinResourceTypeEventConfiguration =+  JoinResourceTypeEventConfiguration'+    { loRaWAN =+        Prelude.Nothing+    }++-- | Join resource type event configuration object for enabling or disabling+-- LoRaWAN related event topics.+joinResourceTypeEventConfiguration_loRaWAN :: Lens.Lens' JoinResourceTypeEventConfiguration (Prelude.Maybe LoRaWANJoinResourceTypeEventConfiguration)+joinResourceTypeEventConfiguration_loRaWAN = Lens.lens (\JoinResourceTypeEventConfiguration' {loRaWAN} -> loRaWAN) (\s@JoinResourceTypeEventConfiguration' {} a -> s {loRaWAN = a} :: JoinResourceTypeEventConfiguration)++instance+  Data.FromJSON+    JoinResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "JoinResourceTypeEventConfiguration"+      ( \x ->+          JoinResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "LoRaWAN")+      )++instance+  Prelude.Hashable+    JoinResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    JoinResourceTypeEventConfiguration' {..} =+      _salt `Prelude.hashWithSalt` loRaWAN++instance+  Prelude.NFData+    JoinResourceTypeEventConfiguration+  where+  rnf JoinResourceTypeEventConfiguration' {..} =+    Prelude.rnf loRaWAN++instance+  Data.ToJSON+    JoinResourceTypeEventConfiguration+  where+  toJSON JoinResourceTypeEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("LoRaWAN" Data..=) Prelude.<$> loRaWAN]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANConnectionStatusEventNotificationConfigurations.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANConnectionStatusEventNotificationConfigurations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | Object for LoRaWAN connection status resource type event configuration.+--+-- /See:/ 'newLoRaWANConnectionStatusEventNotificationConfigurations' smart constructor.+data LoRaWANConnectionStatusEventNotificationConfigurations = LoRaWANConnectionStatusEventNotificationConfigurations'+  { -- | Denotes whether the gateway EUI connection status event topic is enabled+    -- or disabled.+    gatewayEuiEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANConnectionStatusEventNotificationConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayEuiEventTopic', 'loRaWANConnectionStatusEventNotificationConfigurations_gatewayEuiEventTopic' - Denotes whether the gateway EUI connection status event topic is enabled+-- or disabled.+newLoRaWANConnectionStatusEventNotificationConfigurations ::+  LoRaWANConnectionStatusEventNotificationConfigurations+newLoRaWANConnectionStatusEventNotificationConfigurations =+  LoRaWANConnectionStatusEventNotificationConfigurations'+    { gatewayEuiEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the gateway EUI connection status event topic is enabled+-- or disabled.+loRaWANConnectionStatusEventNotificationConfigurations_gatewayEuiEventTopic :: Lens.Lens' LoRaWANConnectionStatusEventNotificationConfigurations (Prelude.Maybe EventNotificationTopicStatus)+loRaWANConnectionStatusEventNotificationConfigurations_gatewayEuiEventTopic = Lens.lens (\LoRaWANConnectionStatusEventNotificationConfigurations' {gatewayEuiEventTopic} -> gatewayEuiEventTopic) (\s@LoRaWANConnectionStatusEventNotificationConfigurations' {} a -> s {gatewayEuiEventTopic = a} :: LoRaWANConnectionStatusEventNotificationConfigurations)++instance+  Data.FromJSON+    LoRaWANConnectionStatusEventNotificationConfigurations+  where+  parseJSON =+    Data.withObject+      "LoRaWANConnectionStatusEventNotificationConfigurations"+      ( \x ->+          LoRaWANConnectionStatusEventNotificationConfigurations'+            Prelude.<$> (x Data..:? "GatewayEuiEventTopic")+      )++instance+  Prelude.Hashable+    LoRaWANConnectionStatusEventNotificationConfigurations+  where+  hashWithSalt+    _salt+    LoRaWANConnectionStatusEventNotificationConfigurations' {..} =+      _salt `Prelude.hashWithSalt` gatewayEuiEventTopic++instance+  Prelude.NFData+    LoRaWANConnectionStatusEventNotificationConfigurations+  where+  rnf+    LoRaWANConnectionStatusEventNotificationConfigurations' {..} =+      Prelude.rnf gatewayEuiEventTopic++instance+  Data.ToJSON+    LoRaWANConnectionStatusEventNotificationConfigurations+  where+  toJSON+    LoRaWANConnectionStatusEventNotificationConfigurations' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("GatewayEuiEventTopic" Data..=)+                Prelude.<$> gatewayEuiEventTopic+            ]+        )
+ gen/Amazonka/IoTWireless/Types/LoRaWANConnectionStatusResourceTypeEventConfiguration.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANConnectionStatusResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | Object for LoRaWAN connection status resource type event configuration.+--+-- /See:/ 'newLoRaWANConnectionStatusResourceTypeEventConfiguration' smart constructor.+data LoRaWANConnectionStatusResourceTypeEventConfiguration = LoRaWANConnectionStatusResourceTypeEventConfiguration'+  { -- | Denotes whether the wireless gateway connection status event topic is+    -- enabled or disabled.+    wirelessGatewayEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANConnectionStatusResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessGatewayEventTopic', 'loRaWANConnectionStatusResourceTypeEventConfiguration_wirelessGatewayEventTopic' - Denotes whether the wireless gateway connection status event topic is+-- enabled or disabled.+newLoRaWANConnectionStatusResourceTypeEventConfiguration ::+  LoRaWANConnectionStatusResourceTypeEventConfiguration+newLoRaWANConnectionStatusResourceTypeEventConfiguration =+  LoRaWANConnectionStatusResourceTypeEventConfiguration'+    { wirelessGatewayEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the wireless gateway connection status event topic is+-- enabled or disabled.+loRaWANConnectionStatusResourceTypeEventConfiguration_wirelessGatewayEventTopic :: Lens.Lens' LoRaWANConnectionStatusResourceTypeEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+loRaWANConnectionStatusResourceTypeEventConfiguration_wirelessGatewayEventTopic = Lens.lens (\LoRaWANConnectionStatusResourceTypeEventConfiguration' {wirelessGatewayEventTopic} -> wirelessGatewayEventTopic) (\s@LoRaWANConnectionStatusResourceTypeEventConfiguration' {} a -> s {wirelessGatewayEventTopic = a} :: LoRaWANConnectionStatusResourceTypeEventConfiguration)++instance+  Data.FromJSON+    LoRaWANConnectionStatusResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "LoRaWANConnectionStatusResourceTypeEventConfiguration"+      ( \x ->+          LoRaWANConnectionStatusResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "WirelessGatewayEventTopic")+      )++instance+  Prelude.Hashable+    LoRaWANConnectionStatusResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    LoRaWANConnectionStatusResourceTypeEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` wirelessGatewayEventTopic++instance+  Prelude.NFData+    LoRaWANConnectionStatusResourceTypeEventConfiguration+  where+  rnf+    LoRaWANConnectionStatusResourceTypeEventConfiguration' {..} =+      Prelude.rnf wirelessGatewayEventTopic++instance+  Data.ToJSON+    LoRaWANConnectionStatusResourceTypeEventConfiguration+  where+  toJSON+    LoRaWANConnectionStatusResourceTypeEventConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("WirelessGatewayEventTopic" Data..=)+                Prelude.<$> wirelessGatewayEventTopic+            ]+        )
+ gen/Amazonka/IoTWireless/Types/LoRaWANDevice.hs view
@@ -0,0 +1,177 @@+{-# 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.IoTWireless.Types.LoRaWANDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.AbpV1_0_x+import Amazonka.IoTWireless.Types.AbpV1_1+import Amazonka.IoTWireless.Types.FPorts+import Amazonka.IoTWireless.Types.OtaaV1_0_x+import Amazonka.IoTWireless.Types.OtaaV1_1+import qualified Amazonka.Prelude as Prelude++-- | LoRaWAN object for create functions.+--+-- /See:/ 'newLoRaWANDevice' smart constructor.+data LoRaWANDevice = LoRaWANDevice'+  { -- | LoRaWAN object for create APIs+    abpV1_0_x :: Prelude.Maybe AbpV1_0_x,+    -- | ABP device object for create APIs for v1.1+    abpV1_1 :: Prelude.Maybe AbpV1_1,+    -- | The DevEUI value.+    devEui :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device profile for the new wireless device.+    deviceProfileId :: Prelude.Maybe Prelude.Text,+    fPorts :: Prelude.Maybe FPorts,+    -- | OTAA device object for create APIs for v1.0.x+    otaaV1_0_x :: Prelude.Maybe OtaaV1_0_x,+    -- | OTAA device object for v1.1 for create APIs+    otaaV1_1 :: Prelude.Maybe OtaaV1_1,+    -- | The ID of the service profile.+    serviceProfileId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abpV1_0_x', 'loRaWANDevice_abpV1_0_x' - LoRaWAN object for create APIs+--+-- 'abpV1_1', 'loRaWANDevice_abpV1_1' - ABP device object for create APIs for v1.1+--+-- 'devEui', 'loRaWANDevice_devEui' - The DevEUI value.+--+-- 'deviceProfileId', 'loRaWANDevice_deviceProfileId' - The ID of the device profile for the new wireless device.+--+-- 'fPorts', 'loRaWANDevice_fPorts' - Undocumented member.+--+-- 'otaaV1_0_x', 'loRaWANDevice_otaaV1_0_x' - OTAA device object for create APIs for v1.0.x+--+-- 'otaaV1_1', 'loRaWANDevice_otaaV1_1' - OTAA device object for v1.1 for create APIs+--+-- 'serviceProfileId', 'loRaWANDevice_serviceProfileId' - The ID of the service profile.+newLoRaWANDevice ::+  LoRaWANDevice+newLoRaWANDevice =+  LoRaWANDevice'+    { abpV1_0_x = Prelude.Nothing,+      abpV1_1 = Prelude.Nothing,+      devEui = Prelude.Nothing,+      deviceProfileId = Prelude.Nothing,+      fPorts = Prelude.Nothing,+      otaaV1_0_x = Prelude.Nothing,+      otaaV1_1 = Prelude.Nothing,+      serviceProfileId = Prelude.Nothing+    }++-- | LoRaWAN object for create APIs+loRaWANDevice_abpV1_0_x :: Lens.Lens' LoRaWANDevice (Prelude.Maybe AbpV1_0_x)+loRaWANDevice_abpV1_0_x = Lens.lens (\LoRaWANDevice' {abpV1_0_x} -> abpV1_0_x) (\s@LoRaWANDevice' {} a -> s {abpV1_0_x = a} :: LoRaWANDevice)++-- | ABP device object for create APIs for v1.1+loRaWANDevice_abpV1_1 :: Lens.Lens' LoRaWANDevice (Prelude.Maybe AbpV1_1)+loRaWANDevice_abpV1_1 = Lens.lens (\LoRaWANDevice' {abpV1_1} -> abpV1_1) (\s@LoRaWANDevice' {} a -> s {abpV1_1 = a} :: LoRaWANDevice)++-- | The DevEUI value.+loRaWANDevice_devEui :: Lens.Lens' LoRaWANDevice (Prelude.Maybe Prelude.Text)+loRaWANDevice_devEui = Lens.lens (\LoRaWANDevice' {devEui} -> devEui) (\s@LoRaWANDevice' {} a -> s {devEui = a} :: LoRaWANDevice)++-- | The ID of the device profile for the new wireless device.+loRaWANDevice_deviceProfileId :: Lens.Lens' LoRaWANDevice (Prelude.Maybe Prelude.Text)+loRaWANDevice_deviceProfileId = Lens.lens (\LoRaWANDevice' {deviceProfileId} -> deviceProfileId) (\s@LoRaWANDevice' {} a -> s {deviceProfileId = a} :: LoRaWANDevice)++-- | Undocumented member.+loRaWANDevice_fPorts :: Lens.Lens' LoRaWANDevice (Prelude.Maybe FPorts)+loRaWANDevice_fPorts = Lens.lens (\LoRaWANDevice' {fPorts} -> fPorts) (\s@LoRaWANDevice' {} a -> s {fPorts = a} :: LoRaWANDevice)++-- | OTAA device object for create APIs for v1.0.x+loRaWANDevice_otaaV1_0_x :: Lens.Lens' LoRaWANDevice (Prelude.Maybe OtaaV1_0_x)+loRaWANDevice_otaaV1_0_x = Lens.lens (\LoRaWANDevice' {otaaV1_0_x} -> otaaV1_0_x) (\s@LoRaWANDevice' {} a -> s {otaaV1_0_x = a} :: LoRaWANDevice)++-- | OTAA device object for v1.1 for create APIs+loRaWANDevice_otaaV1_1 :: Lens.Lens' LoRaWANDevice (Prelude.Maybe OtaaV1_1)+loRaWANDevice_otaaV1_1 = Lens.lens (\LoRaWANDevice' {otaaV1_1} -> otaaV1_1) (\s@LoRaWANDevice' {} a -> s {otaaV1_1 = a} :: LoRaWANDevice)++-- | The ID of the service profile.+loRaWANDevice_serviceProfileId :: Lens.Lens' LoRaWANDevice (Prelude.Maybe Prelude.Text)+loRaWANDevice_serviceProfileId = Lens.lens (\LoRaWANDevice' {serviceProfileId} -> serviceProfileId) (\s@LoRaWANDevice' {} a -> s {serviceProfileId = a} :: LoRaWANDevice)++instance Data.FromJSON LoRaWANDevice where+  parseJSON =+    Data.withObject+      "LoRaWANDevice"+      ( \x ->+          LoRaWANDevice'+            Prelude.<$> (x Data..:? "AbpV1_0_x")+            Prelude.<*> (x Data..:? "AbpV1_1")+            Prelude.<*> (x Data..:? "DevEui")+            Prelude.<*> (x Data..:? "DeviceProfileId")+            Prelude.<*> (x Data..:? "FPorts")+            Prelude.<*> (x Data..:? "OtaaV1_0_x")+            Prelude.<*> (x Data..:? "OtaaV1_1")+            Prelude.<*> (x Data..:? "ServiceProfileId")+      )++instance Prelude.Hashable LoRaWANDevice where+  hashWithSalt _salt LoRaWANDevice' {..} =+    _salt+      `Prelude.hashWithSalt` abpV1_0_x+      `Prelude.hashWithSalt` abpV1_1+      `Prelude.hashWithSalt` devEui+      `Prelude.hashWithSalt` deviceProfileId+      `Prelude.hashWithSalt` fPorts+      `Prelude.hashWithSalt` otaaV1_0_x+      `Prelude.hashWithSalt` otaaV1_1+      `Prelude.hashWithSalt` serviceProfileId++instance Prelude.NFData LoRaWANDevice where+  rnf LoRaWANDevice' {..} =+    Prelude.rnf abpV1_0_x+      `Prelude.seq` Prelude.rnf abpV1_1+      `Prelude.seq` Prelude.rnf devEui+      `Prelude.seq` Prelude.rnf deviceProfileId+      `Prelude.seq` Prelude.rnf fPorts+      `Prelude.seq` Prelude.rnf otaaV1_0_x+      `Prelude.seq` Prelude.rnf otaaV1_1+      `Prelude.seq` Prelude.rnf serviceProfileId++instance Data.ToJSON LoRaWANDevice where+  toJSON LoRaWANDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AbpV1_0_x" Data..=) Prelude.<$> abpV1_0_x,+            ("AbpV1_1" Data..=) Prelude.<$> abpV1_1,+            ("DevEui" Data..=) Prelude.<$> devEui,+            ("DeviceProfileId" Data..=)+              Prelude.<$> deviceProfileId,+            ("FPorts" Data..=) Prelude.<$> fPorts,+            ("OtaaV1_0_x" Data..=) Prelude.<$> otaaV1_0_x,+            ("OtaaV1_1" Data..=) Prelude.<$> otaaV1_1,+            ("ServiceProfileId" Data..=)+              Prelude.<$> serviceProfileId+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANDeviceMetadata.hs view
@@ -0,0 +1,133 @@+{-# 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.IoTWireless.Types.LoRaWANDeviceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANDeviceMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata+import qualified Amazonka.Prelude as Prelude++-- | LoRaWAN device metatdata.+--+-- /See:/ 'newLoRaWANDeviceMetadata' smart constructor.+data LoRaWANDeviceMetadata = LoRaWANDeviceMetadata'+  { -- | The DataRate value.+    dataRate :: Prelude.Maybe Prelude.Int,+    -- | The DevEUI value.+    devEui :: Prelude.Maybe Prelude.Text,+    -- | The FPort value.+    fPort :: Prelude.Maybe Prelude.Int,+    -- | The device\'s channel frequency in Hz.+    frequency :: Prelude.Maybe Prelude.Int,+    -- | Information about the gateways accessed by the device.+    gateways :: Prelude.Maybe [LoRaWANGatewayMetadata],+    -- | The date and time of the metadata.+    timestamp :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANDeviceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataRate', 'loRaWANDeviceMetadata_dataRate' - The DataRate value.+--+-- 'devEui', 'loRaWANDeviceMetadata_devEui' - The DevEUI value.+--+-- 'fPort', 'loRaWANDeviceMetadata_fPort' - The FPort value.+--+-- 'frequency', 'loRaWANDeviceMetadata_frequency' - The device\'s channel frequency in Hz.+--+-- 'gateways', 'loRaWANDeviceMetadata_gateways' - Information about the gateways accessed by the device.+--+-- 'timestamp', 'loRaWANDeviceMetadata_timestamp' - The date and time of the metadata.+newLoRaWANDeviceMetadata ::+  LoRaWANDeviceMetadata+newLoRaWANDeviceMetadata =+  LoRaWANDeviceMetadata'+    { dataRate = Prelude.Nothing,+      devEui = Prelude.Nothing,+      fPort = Prelude.Nothing,+      frequency = Prelude.Nothing,+      gateways = Prelude.Nothing,+      timestamp = Prelude.Nothing+    }++-- | The DataRate value.+loRaWANDeviceMetadata_dataRate :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe Prelude.Int)+loRaWANDeviceMetadata_dataRate = Lens.lens (\LoRaWANDeviceMetadata' {dataRate} -> dataRate) (\s@LoRaWANDeviceMetadata' {} a -> s {dataRate = a} :: LoRaWANDeviceMetadata)++-- | The DevEUI value.+loRaWANDeviceMetadata_devEui :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe Prelude.Text)+loRaWANDeviceMetadata_devEui = Lens.lens (\LoRaWANDeviceMetadata' {devEui} -> devEui) (\s@LoRaWANDeviceMetadata' {} a -> s {devEui = a} :: LoRaWANDeviceMetadata)++-- | The FPort value.+loRaWANDeviceMetadata_fPort :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe Prelude.Int)+loRaWANDeviceMetadata_fPort = Lens.lens (\LoRaWANDeviceMetadata' {fPort} -> fPort) (\s@LoRaWANDeviceMetadata' {} a -> s {fPort = a} :: LoRaWANDeviceMetadata)++-- | The device\'s channel frequency in Hz.+loRaWANDeviceMetadata_frequency :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe Prelude.Int)+loRaWANDeviceMetadata_frequency = Lens.lens (\LoRaWANDeviceMetadata' {frequency} -> frequency) (\s@LoRaWANDeviceMetadata' {} a -> s {frequency = a} :: LoRaWANDeviceMetadata)++-- | Information about the gateways accessed by the device.+loRaWANDeviceMetadata_gateways :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe [LoRaWANGatewayMetadata])+loRaWANDeviceMetadata_gateways = Lens.lens (\LoRaWANDeviceMetadata' {gateways} -> gateways) (\s@LoRaWANDeviceMetadata' {} a -> s {gateways = a} :: LoRaWANDeviceMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The date and time of the metadata.+loRaWANDeviceMetadata_timestamp :: Lens.Lens' LoRaWANDeviceMetadata (Prelude.Maybe Prelude.Text)+loRaWANDeviceMetadata_timestamp = Lens.lens (\LoRaWANDeviceMetadata' {timestamp} -> timestamp) (\s@LoRaWANDeviceMetadata' {} a -> s {timestamp = a} :: LoRaWANDeviceMetadata)++instance Data.FromJSON LoRaWANDeviceMetadata where+  parseJSON =+    Data.withObject+      "LoRaWANDeviceMetadata"+      ( \x ->+          LoRaWANDeviceMetadata'+            Prelude.<$> (x Data..:? "DataRate")+            Prelude.<*> (x Data..:? "DevEui")+            Prelude.<*> (x Data..:? "FPort")+            Prelude.<*> (x Data..:? "Frequency")+            Prelude.<*> (x Data..:? "Gateways" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Timestamp")+      )++instance Prelude.Hashable LoRaWANDeviceMetadata where+  hashWithSalt _salt LoRaWANDeviceMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` dataRate+      `Prelude.hashWithSalt` devEui+      `Prelude.hashWithSalt` fPort+      `Prelude.hashWithSalt` frequency+      `Prelude.hashWithSalt` gateways+      `Prelude.hashWithSalt` timestamp++instance Prelude.NFData LoRaWANDeviceMetadata where+  rnf LoRaWANDeviceMetadata' {..} =+    Prelude.rnf dataRate+      `Prelude.seq` Prelude.rnf devEui+      `Prelude.seq` Prelude.rnf fPort+      `Prelude.seq` Prelude.rnf frequency+      `Prelude.seq` Prelude.rnf gateways+      `Prelude.seq` Prelude.rnf timestamp
+ gen/Amazonka/IoTWireless/Types/LoRaWANDeviceProfile.hs view
@@ -0,0 +1,327 @@+{-# 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.IoTWireless.Types.LoRaWANDeviceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANDeviceProfile 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++-- | LoRaWANDeviceProfile object.+--+-- /See:/ 'newLoRaWANDeviceProfile' smart constructor.+data LoRaWANDeviceProfile = LoRaWANDeviceProfile'+  { -- | The ClassBTimeout value.+    classBTimeout :: Prelude.Maybe Prelude.Natural,+    -- | The ClassCTimeout value.+    classCTimeout :: Prelude.Maybe Prelude.Natural,+    -- | The list of values that make up the FactoryPresetFreqs value.+    factoryPresetFreqsList :: Prelude.Maybe [Prelude.Natural],+    -- | The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device+    -- profile.+    macVersion :: Prelude.Maybe Prelude.Text,+    -- | The MaxDutyCycle value.+    maxDutyCycle :: Prelude.Maybe Prelude.Natural,+    -- | The MaxEIRP value.+    maxEirp :: Prelude.Maybe Prelude.Natural,+    -- | The PingSlotDR value.+    pingSlotDr :: Prelude.Maybe Prelude.Natural,+    -- | The PingSlotFreq value.+    pingSlotFreq :: Prelude.Maybe Prelude.Natural,+    -- | The PingSlotPeriod value.+    pingSlotPeriod :: Prelude.Maybe Prelude.Natural,+    -- | The version of regional parameters.+    regParamsRevision :: Prelude.Maybe Prelude.Text,+    -- | The frequency band (RFRegion) value.+    rfRegion :: Prelude.Maybe Prelude.Text,+    -- | The RXDataRate2 value.+    rxDataRate2 :: Prelude.Maybe Prelude.Natural,+    -- | The RXDelay1 value.+    rxDelay1 :: Prelude.Maybe Prelude.Natural,+    -- | The RXDROffset1 value.+    rxDrOffset1 :: Prelude.Maybe Prelude.Natural,+    -- | The RXFreq2 value.+    rxFreq2 :: Prelude.Maybe Prelude.Natural,+    -- | The Supports32BitFCnt value.+    supports32BitFCnt :: Prelude.Maybe Prelude.Bool,+    -- | The SupportsClassB value.+    supportsClassB :: Prelude.Maybe Prelude.Bool,+    -- | The SupportsClassC value.+    supportsClassC :: Prelude.Maybe Prelude.Bool,+    -- | The SupportsJoin value.+    supportsJoin :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANDeviceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'classBTimeout', 'loRaWANDeviceProfile_classBTimeout' - The ClassBTimeout value.+--+-- 'classCTimeout', 'loRaWANDeviceProfile_classCTimeout' - The ClassCTimeout value.+--+-- 'factoryPresetFreqsList', 'loRaWANDeviceProfile_factoryPresetFreqsList' - The list of values that make up the FactoryPresetFreqs value.+--+-- 'macVersion', 'loRaWANDeviceProfile_macVersion' - The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device+-- profile.+--+-- 'maxDutyCycle', 'loRaWANDeviceProfile_maxDutyCycle' - The MaxDutyCycle value.+--+-- 'maxEirp', 'loRaWANDeviceProfile_maxEirp' - The MaxEIRP value.+--+-- 'pingSlotDr', 'loRaWANDeviceProfile_pingSlotDr' - The PingSlotDR value.+--+-- 'pingSlotFreq', 'loRaWANDeviceProfile_pingSlotFreq' - The PingSlotFreq value.+--+-- 'pingSlotPeriod', 'loRaWANDeviceProfile_pingSlotPeriod' - The PingSlotPeriod value.+--+-- 'regParamsRevision', 'loRaWANDeviceProfile_regParamsRevision' - The version of regional parameters.+--+-- 'rfRegion', 'loRaWANDeviceProfile_rfRegion' - The frequency band (RFRegion) value.+--+-- 'rxDataRate2', 'loRaWANDeviceProfile_rxDataRate2' - The RXDataRate2 value.+--+-- 'rxDelay1', 'loRaWANDeviceProfile_rxDelay1' - The RXDelay1 value.+--+-- 'rxDrOffset1', 'loRaWANDeviceProfile_rxDrOffset1' - The RXDROffset1 value.+--+-- 'rxFreq2', 'loRaWANDeviceProfile_rxFreq2' - The RXFreq2 value.+--+-- 'supports32BitFCnt', 'loRaWANDeviceProfile_supports32BitFCnt' - The Supports32BitFCnt value.+--+-- 'supportsClassB', 'loRaWANDeviceProfile_supportsClassB' - The SupportsClassB value.+--+-- 'supportsClassC', 'loRaWANDeviceProfile_supportsClassC' - The SupportsClassC value.+--+-- 'supportsJoin', 'loRaWANDeviceProfile_supportsJoin' - The SupportsJoin value.+newLoRaWANDeviceProfile ::+  LoRaWANDeviceProfile+newLoRaWANDeviceProfile =+  LoRaWANDeviceProfile'+    { classBTimeout =+        Prelude.Nothing,+      classCTimeout = Prelude.Nothing,+      factoryPresetFreqsList = Prelude.Nothing,+      macVersion = Prelude.Nothing,+      maxDutyCycle = Prelude.Nothing,+      maxEirp = Prelude.Nothing,+      pingSlotDr = Prelude.Nothing,+      pingSlotFreq = Prelude.Nothing,+      pingSlotPeriod = Prelude.Nothing,+      regParamsRevision = Prelude.Nothing,+      rfRegion = Prelude.Nothing,+      rxDataRate2 = Prelude.Nothing,+      rxDelay1 = Prelude.Nothing,+      rxDrOffset1 = Prelude.Nothing,+      rxFreq2 = Prelude.Nothing,+      supports32BitFCnt = Prelude.Nothing,+      supportsClassB = Prelude.Nothing,+      supportsClassC = Prelude.Nothing,+      supportsJoin = Prelude.Nothing+    }++-- | The ClassBTimeout value.+loRaWANDeviceProfile_classBTimeout :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_classBTimeout = Lens.lens (\LoRaWANDeviceProfile' {classBTimeout} -> classBTimeout) (\s@LoRaWANDeviceProfile' {} a -> s {classBTimeout = a} :: LoRaWANDeviceProfile)++-- | The ClassCTimeout value.+loRaWANDeviceProfile_classCTimeout :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_classCTimeout = Lens.lens (\LoRaWANDeviceProfile' {classCTimeout} -> classCTimeout) (\s@LoRaWANDeviceProfile' {} a -> s {classCTimeout = a} :: LoRaWANDeviceProfile)++-- | The list of values that make up the FactoryPresetFreqs value.+loRaWANDeviceProfile_factoryPresetFreqsList :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe [Prelude.Natural])+loRaWANDeviceProfile_factoryPresetFreqsList = Lens.lens (\LoRaWANDeviceProfile' {factoryPresetFreqsList} -> factoryPresetFreqsList) (\s@LoRaWANDeviceProfile' {} a -> s {factoryPresetFreqsList = a} :: LoRaWANDeviceProfile) Prelude.. Lens.mapping Lens.coerced++-- | The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device+-- profile.+loRaWANDeviceProfile_macVersion :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Text)+loRaWANDeviceProfile_macVersion = Lens.lens (\LoRaWANDeviceProfile' {macVersion} -> macVersion) (\s@LoRaWANDeviceProfile' {} a -> s {macVersion = a} :: LoRaWANDeviceProfile)++-- | The MaxDutyCycle value.+loRaWANDeviceProfile_maxDutyCycle :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_maxDutyCycle = Lens.lens (\LoRaWANDeviceProfile' {maxDutyCycle} -> maxDutyCycle) (\s@LoRaWANDeviceProfile' {} a -> s {maxDutyCycle = a} :: LoRaWANDeviceProfile)++-- | The MaxEIRP value.+loRaWANDeviceProfile_maxEirp :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_maxEirp = Lens.lens (\LoRaWANDeviceProfile' {maxEirp} -> maxEirp) (\s@LoRaWANDeviceProfile' {} a -> s {maxEirp = a} :: LoRaWANDeviceProfile)++-- | The PingSlotDR value.+loRaWANDeviceProfile_pingSlotDr :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_pingSlotDr = Lens.lens (\LoRaWANDeviceProfile' {pingSlotDr} -> pingSlotDr) (\s@LoRaWANDeviceProfile' {} a -> s {pingSlotDr = a} :: LoRaWANDeviceProfile)++-- | The PingSlotFreq value.+loRaWANDeviceProfile_pingSlotFreq :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_pingSlotFreq = Lens.lens (\LoRaWANDeviceProfile' {pingSlotFreq} -> pingSlotFreq) (\s@LoRaWANDeviceProfile' {} a -> s {pingSlotFreq = a} :: LoRaWANDeviceProfile)++-- | The PingSlotPeriod value.+loRaWANDeviceProfile_pingSlotPeriod :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_pingSlotPeriod = Lens.lens (\LoRaWANDeviceProfile' {pingSlotPeriod} -> pingSlotPeriod) (\s@LoRaWANDeviceProfile' {} a -> s {pingSlotPeriod = a} :: LoRaWANDeviceProfile)++-- | The version of regional parameters.+loRaWANDeviceProfile_regParamsRevision :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Text)+loRaWANDeviceProfile_regParamsRevision = Lens.lens (\LoRaWANDeviceProfile' {regParamsRevision} -> regParamsRevision) (\s@LoRaWANDeviceProfile' {} a -> s {regParamsRevision = a} :: LoRaWANDeviceProfile)++-- | The frequency band (RFRegion) value.+loRaWANDeviceProfile_rfRegion :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Text)+loRaWANDeviceProfile_rfRegion = Lens.lens (\LoRaWANDeviceProfile' {rfRegion} -> rfRegion) (\s@LoRaWANDeviceProfile' {} a -> s {rfRegion = a} :: LoRaWANDeviceProfile)++-- | The RXDataRate2 value.+loRaWANDeviceProfile_rxDataRate2 :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_rxDataRate2 = Lens.lens (\LoRaWANDeviceProfile' {rxDataRate2} -> rxDataRate2) (\s@LoRaWANDeviceProfile' {} a -> s {rxDataRate2 = a} :: LoRaWANDeviceProfile)++-- | The RXDelay1 value.+loRaWANDeviceProfile_rxDelay1 :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_rxDelay1 = Lens.lens (\LoRaWANDeviceProfile' {rxDelay1} -> rxDelay1) (\s@LoRaWANDeviceProfile' {} a -> s {rxDelay1 = a} :: LoRaWANDeviceProfile)++-- | The RXDROffset1 value.+loRaWANDeviceProfile_rxDrOffset1 :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_rxDrOffset1 = Lens.lens (\LoRaWANDeviceProfile' {rxDrOffset1} -> rxDrOffset1) (\s@LoRaWANDeviceProfile' {} a -> s {rxDrOffset1 = a} :: LoRaWANDeviceProfile)++-- | The RXFreq2 value.+loRaWANDeviceProfile_rxFreq2 :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Natural)+loRaWANDeviceProfile_rxFreq2 = Lens.lens (\LoRaWANDeviceProfile' {rxFreq2} -> rxFreq2) (\s@LoRaWANDeviceProfile' {} a -> s {rxFreq2 = a} :: LoRaWANDeviceProfile)++-- | The Supports32BitFCnt value.+loRaWANDeviceProfile_supports32BitFCnt :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Bool)+loRaWANDeviceProfile_supports32BitFCnt = Lens.lens (\LoRaWANDeviceProfile' {supports32BitFCnt} -> supports32BitFCnt) (\s@LoRaWANDeviceProfile' {} a -> s {supports32BitFCnt = a} :: LoRaWANDeviceProfile)++-- | The SupportsClassB value.+loRaWANDeviceProfile_supportsClassB :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Bool)+loRaWANDeviceProfile_supportsClassB = Lens.lens (\LoRaWANDeviceProfile' {supportsClassB} -> supportsClassB) (\s@LoRaWANDeviceProfile' {} a -> s {supportsClassB = a} :: LoRaWANDeviceProfile)++-- | The SupportsClassC value.+loRaWANDeviceProfile_supportsClassC :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Bool)+loRaWANDeviceProfile_supportsClassC = Lens.lens (\LoRaWANDeviceProfile' {supportsClassC} -> supportsClassC) (\s@LoRaWANDeviceProfile' {} a -> s {supportsClassC = a} :: LoRaWANDeviceProfile)++-- | The SupportsJoin value.+loRaWANDeviceProfile_supportsJoin :: Lens.Lens' LoRaWANDeviceProfile (Prelude.Maybe Prelude.Bool)+loRaWANDeviceProfile_supportsJoin = Lens.lens (\LoRaWANDeviceProfile' {supportsJoin} -> supportsJoin) (\s@LoRaWANDeviceProfile' {} a -> s {supportsJoin = a} :: LoRaWANDeviceProfile)++instance Data.FromJSON LoRaWANDeviceProfile where+  parseJSON =+    Data.withObject+      "LoRaWANDeviceProfile"+      ( \x ->+          LoRaWANDeviceProfile'+            Prelude.<$> (x Data..:? "ClassBTimeout")+            Prelude.<*> (x Data..:? "ClassCTimeout")+            Prelude.<*> ( x+                            Data..:? "FactoryPresetFreqsList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "MacVersion")+            Prelude.<*> (x Data..:? "MaxDutyCycle")+            Prelude.<*> (x Data..:? "MaxEirp")+            Prelude.<*> (x Data..:? "PingSlotDr")+            Prelude.<*> (x Data..:? "PingSlotFreq")+            Prelude.<*> (x Data..:? "PingSlotPeriod")+            Prelude.<*> (x Data..:? "RegParamsRevision")+            Prelude.<*> (x Data..:? "RfRegion")+            Prelude.<*> (x Data..:? "RxDataRate2")+            Prelude.<*> (x Data..:? "RxDelay1")+            Prelude.<*> (x Data..:? "RxDrOffset1")+            Prelude.<*> (x Data..:? "RxFreq2")+            Prelude.<*> (x Data..:? "Supports32BitFCnt")+            Prelude.<*> (x Data..:? "SupportsClassB")+            Prelude.<*> (x Data..:? "SupportsClassC")+            Prelude.<*> (x Data..:? "SupportsJoin")+      )++instance Prelude.Hashable LoRaWANDeviceProfile where+  hashWithSalt _salt LoRaWANDeviceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` classBTimeout+      `Prelude.hashWithSalt` classCTimeout+      `Prelude.hashWithSalt` factoryPresetFreqsList+      `Prelude.hashWithSalt` macVersion+      `Prelude.hashWithSalt` maxDutyCycle+      `Prelude.hashWithSalt` maxEirp+      `Prelude.hashWithSalt` pingSlotDr+      `Prelude.hashWithSalt` pingSlotFreq+      `Prelude.hashWithSalt` pingSlotPeriod+      `Prelude.hashWithSalt` regParamsRevision+      `Prelude.hashWithSalt` rfRegion+      `Prelude.hashWithSalt` rxDataRate2+      `Prelude.hashWithSalt` rxDelay1+      `Prelude.hashWithSalt` rxDrOffset1+      `Prelude.hashWithSalt` rxFreq2+      `Prelude.hashWithSalt` supports32BitFCnt+      `Prelude.hashWithSalt` supportsClassB+      `Prelude.hashWithSalt` supportsClassC+      `Prelude.hashWithSalt` supportsJoin++instance Prelude.NFData LoRaWANDeviceProfile where+  rnf LoRaWANDeviceProfile' {..} =+    Prelude.rnf classBTimeout+      `Prelude.seq` Prelude.rnf classCTimeout+      `Prelude.seq` Prelude.rnf factoryPresetFreqsList+      `Prelude.seq` Prelude.rnf macVersion+      `Prelude.seq` Prelude.rnf maxDutyCycle+      `Prelude.seq` Prelude.rnf maxEirp+      `Prelude.seq` Prelude.rnf pingSlotDr+      `Prelude.seq` Prelude.rnf pingSlotFreq+      `Prelude.seq` Prelude.rnf pingSlotPeriod+      `Prelude.seq` Prelude.rnf regParamsRevision+      `Prelude.seq` Prelude.rnf rfRegion+      `Prelude.seq` Prelude.rnf rxDataRate2+      `Prelude.seq` Prelude.rnf rxDelay1+      `Prelude.seq` Prelude.rnf rxDrOffset1+      `Prelude.seq` Prelude.rnf rxFreq2+      `Prelude.seq` Prelude.rnf supports32BitFCnt+      `Prelude.seq` Prelude.rnf supportsClassB+      `Prelude.seq` Prelude.rnf supportsClassC+      `Prelude.seq` Prelude.rnf supportsJoin++instance Data.ToJSON LoRaWANDeviceProfile where+  toJSON LoRaWANDeviceProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClassBTimeout" Data..=) Prelude.<$> classBTimeout,+            ("ClassCTimeout" Data..=) Prelude.<$> classCTimeout,+            ("FactoryPresetFreqsList" Data..=)+              Prelude.<$> factoryPresetFreqsList,+            ("MacVersion" Data..=) Prelude.<$> macVersion,+            ("MaxDutyCycle" Data..=) Prelude.<$> maxDutyCycle,+            ("MaxEirp" Data..=) Prelude.<$> maxEirp,+            ("PingSlotDr" Data..=) Prelude.<$> pingSlotDr,+            ("PingSlotFreq" Data..=) Prelude.<$> pingSlotFreq,+            ("PingSlotPeriod" Data..=)+              Prelude.<$> pingSlotPeriod,+            ("RegParamsRevision" Data..=)+              Prelude.<$> regParamsRevision,+            ("RfRegion" Data..=) Prelude.<$> rfRegion,+            ("RxDataRate2" Data..=) Prelude.<$> rxDataRate2,+            ("RxDelay1" Data..=) Prelude.<$> rxDelay1,+            ("RxDrOffset1" Data..=) Prelude.<$> rxDrOffset1,+            ("RxFreq2" Data..=) Prelude.<$> rxFreq2,+            ("Supports32BitFCnt" Data..=)+              Prelude.<$> supports32BitFCnt,+            ("SupportsClassB" Data..=)+              Prelude.<$> supportsClassB,+            ("SupportsClassC" Data..=)+              Prelude.<$> supportsClassC,+            ("SupportsJoin" Data..=) Prelude.<$> supportsJoin+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANFuotaTask.hs view
@@ -0,0 +1,66 @@+{-# 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.IoTWireless.Types.LoRaWANFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANFuotaTask where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SupportedRfRegion+import qualified Amazonka.Prelude as Prelude++-- | The LoRaWAN information used with a FUOTA task.+--+-- /See:/ 'newLoRaWANFuotaTask' smart constructor.+data LoRaWANFuotaTask = LoRaWANFuotaTask'+  { rfRegion :: Prelude.Maybe SupportedRfRegion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rfRegion', 'loRaWANFuotaTask_rfRegion' - Undocumented member.+newLoRaWANFuotaTask ::+  LoRaWANFuotaTask+newLoRaWANFuotaTask =+  LoRaWANFuotaTask' {rfRegion = Prelude.Nothing}++-- | Undocumented member.+loRaWANFuotaTask_rfRegion :: Lens.Lens' LoRaWANFuotaTask (Prelude.Maybe SupportedRfRegion)+loRaWANFuotaTask_rfRegion = Lens.lens (\LoRaWANFuotaTask' {rfRegion} -> rfRegion) (\s@LoRaWANFuotaTask' {} a -> s {rfRegion = a} :: LoRaWANFuotaTask)++instance Prelude.Hashable LoRaWANFuotaTask where+  hashWithSalt _salt LoRaWANFuotaTask' {..} =+    _salt `Prelude.hashWithSalt` rfRegion++instance Prelude.NFData LoRaWANFuotaTask where+  rnf LoRaWANFuotaTask' {..} = Prelude.rnf rfRegion++instance Data.ToJSON LoRaWANFuotaTask where+  toJSON LoRaWANFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [("RfRegion" Data..=) Prelude.<$> rfRegion]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANFuotaTaskGetInfo.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANFuotaTaskGetInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANFuotaTaskGetInfo 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 LoRaWAN information returned from getting a FUOTA task.+--+-- /See:/ 'newLoRaWANFuotaTaskGetInfo' smart constructor.+data LoRaWANFuotaTaskGetInfo = LoRaWANFuotaTaskGetInfo'+  { rfRegion :: Prelude.Maybe Prelude.Text,+    startTime :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANFuotaTaskGetInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rfRegion', 'loRaWANFuotaTaskGetInfo_rfRegion' - Undocumented member.+--+-- 'startTime', 'loRaWANFuotaTaskGetInfo_startTime' - Undocumented member.+newLoRaWANFuotaTaskGetInfo ::+  LoRaWANFuotaTaskGetInfo+newLoRaWANFuotaTaskGetInfo =+  LoRaWANFuotaTaskGetInfo'+    { rfRegion =+        Prelude.Nothing,+      startTime = Prelude.Nothing+    }++-- | Undocumented member.+loRaWANFuotaTaskGetInfo_rfRegion :: Lens.Lens' LoRaWANFuotaTaskGetInfo (Prelude.Maybe Prelude.Text)+loRaWANFuotaTaskGetInfo_rfRegion = Lens.lens (\LoRaWANFuotaTaskGetInfo' {rfRegion} -> rfRegion) (\s@LoRaWANFuotaTaskGetInfo' {} a -> s {rfRegion = a} :: LoRaWANFuotaTaskGetInfo)++-- | Undocumented member.+loRaWANFuotaTaskGetInfo_startTime :: Lens.Lens' LoRaWANFuotaTaskGetInfo (Prelude.Maybe Prelude.UTCTime)+loRaWANFuotaTaskGetInfo_startTime = Lens.lens (\LoRaWANFuotaTaskGetInfo' {startTime} -> startTime) (\s@LoRaWANFuotaTaskGetInfo' {} a -> s {startTime = a} :: LoRaWANFuotaTaskGetInfo) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON LoRaWANFuotaTaskGetInfo where+  parseJSON =+    Data.withObject+      "LoRaWANFuotaTaskGetInfo"+      ( \x ->+          LoRaWANFuotaTaskGetInfo'+            Prelude.<$> (x Data..:? "RfRegion")+            Prelude.<*> (x Data..:? "StartTime")+      )++instance Prelude.Hashable LoRaWANFuotaTaskGetInfo where+  hashWithSalt _salt LoRaWANFuotaTaskGetInfo' {..} =+    _salt+      `Prelude.hashWithSalt` rfRegion+      `Prelude.hashWithSalt` startTime++instance Prelude.NFData LoRaWANFuotaTaskGetInfo where+  rnf LoRaWANFuotaTaskGetInfo' {..} =+    Prelude.rnf rfRegion+      `Prelude.seq` Prelude.rnf startTime
+ gen/Amazonka/IoTWireless/Types/LoRaWANGateway.hs view
@@ -0,0 +1,147 @@+{-# 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.IoTWireless.Types.LoRaWANGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANGateway where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.Beaconing+import qualified Amazonka.Prelude as Prelude++-- | LoRaWANGateway object.+--+-- /See:/ 'newLoRaWANGateway' smart constructor.+data LoRaWANGateway = LoRaWANGateway'+  { -- | Beaconing object information, which consists of the data rate and+    -- frequency parameters.+    beaconing :: Prelude.Maybe Beaconing,+    -- | The gateway\'s EUI value.+    gatewayEui :: Prelude.Maybe Prelude.Text,+    joinEuiFilters :: Prelude.Maybe [Prelude.NonEmpty Prelude.Text],+    netIdFilters :: Prelude.Maybe [Prelude.Text],+    -- | The frequency band (RFRegion) value.+    rfRegion :: Prelude.Maybe Prelude.Text,+    subBands :: Prelude.Maybe [Prelude.Natural]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'beaconing', 'loRaWANGateway_beaconing' - Beaconing object information, which consists of the data rate and+-- frequency parameters.+--+-- 'gatewayEui', 'loRaWANGateway_gatewayEui' - The gateway\'s EUI value.+--+-- 'joinEuiFilters', 'loRaWANGateway_joinEuiFilters' - Undocumented member.+--+-- 'netIdFilters', 'loRaWANGateway_netIdFilters' - Undocumented member.+--+-- 'rfRegion', 'loRaWANGateway_rfRegion' - The frequency band (RFRegion) value.+--+-- 'subBands', 'loRaWANGateway_subBands' - Undocumented member.+newLoRaWANGateway ::+  LoRaWANGateway+newLoRaWANGateway =+  LoRaWANGateway'+    { beaconing = Prelude.Nothing,+      gatewayEui = Prelude.Nothing,+      joinEuiFilters = Prelude.Nothing,+      netIdFilters = Prelude.Nothing,+      rfRegion = Prelude.Nothing,+      subBands = Prelude.Nothing+    }++-- | Beaconing object information, which consists of the data rate and+-- frequency parameters.+loRaWANGateway_beaconing :: Lens.Lens' LoRaWANGateway (Prelude.Maybe Beaconing)+loRaWANGateway_beaconing = Lens.lens (\LoRaWANGateway' {beaconing} -> beaconing) (\s@LoRaWANGateway' {} a -> s {beaconing = a} :: LoRaWANGateway)++-- | The gateway\'s EUI value.+loRaWANGateway_gatewayEui :: Lens.Lens' LoRaWANGateway (Prelude.Maybe Prelude.Text)+loRaWANGateway_gatewayEui = Lens.lens (\LoRaWANGateway' {gatewayEui} -> gatewayEui) (\s@LoRaWANGateway' {} a -> s {gatewayEui = a} :: LoRaWANGateway)++-- | Undocumented member.+loRaWANGateway_joinEuiFilters :: Lens.Lens' LoRaWANGateway (Prelude.Maybe [Prelude.NonEmpty Prelude.Text])+loRaWANGateway_joinEuiFilters = Lens.lens (\LoRaWANGateway' {joinEuiFilters} -> joinEuiFilters) (\s@LoRaWANGateway' {} a -> s {joinEuiFilters = a} :: LoRaWANGateway) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+loRaWANGateway_netIdFilters :: Lens.Lens' LoRaWANGateway (Prelude.Maybe [Prelude.Text])+loRaWANGateway_netIdFilters = Lens.lens (\LoRaWANGateway' {netIdFilters} -> netIdFilters) (\s@LoRaWANGateway' {} a -> s {netIdFilters = a} :: LoRaWANGateway) Prelude.. Lens.mapping Lens.coerced++-- | The frequency band (RFRegion) value.+loRaWANGateway_rfRegion :: Lens.Lens' LoRaWANGateway (Prelude.Maybe Prelude.Text)+loRaWANGateway_rfRegion = Lens.lens (\LoRaWANGateway' {rfRegion} -> rfRegion) (\s@LoRaWANGateway' {} a -> s {rfRegion = a} :: LoRaWANGateway)++-- | Undocumented member.+loRaWANGateway_subBands :: Lens.Lens' LoRaWANGateway (Prelude.Maybe [Prelude.Natural])+loRaWANGateway_subBands = Lens.lens (\LoRaWANGateway' {subBands} -> subBands) (\s@LoRaWANGateway' {} a -> s {subBands = a} :: LoRaWANGateway) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LoRaWANGateway where+  parseJSON =+    Data.withObject+      "LoRaWANGateway"+      ( \x ->+          LoRaWANGateway'+            Prelude.<$> (x Data..:? "Beaconing")+            Prelude.<*> (x Data..:? "GatewayEui")+            Prelude.<*> (x Data..:? "JoinEuiFilters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "NetIdFilters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "RfRegion")+            Prelude.<*> (x Data..:? "SubBands" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable LoRaWANGateway where+  hashWithSalt _salt LoRaWANGateway' {..} =+    _salt+      `Prelude.hashWithSalt` beaconing+      `Prelude.hashWithSalt` gatewayEui+      `Prelude.hashWithSalt` joinEuiFilters+      `Prelude.hashWithSalt` netIdFilters+      `Prelude.hashWithSalt` rfRegion+      `Prelude.hashWithSalt` subBands++instance Prelude.NFData LoRaWANGateway where+  rnf LoRaWANGateway' {..} =+    Prelude.rnf beaconing+      `Prelude.seq` Prelude.rnf gatewayEui+      `Prelude.seq` Prelude.rnf joinEuiFilters+      `Prelude.seq` Prelude.rnf netIdFilters+      `Prelude.seq` Prelude.rnf rfRegion+      `Prelude.seq` Prelude.rnf subBands++instance Data.ToJSON LoRaWANGateway where+  toJSON LoRaWANGateway' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Beaconing" Data..=) Prelude.<$> beaconing,+            ("GatewayEui" Data..=) Prelude.<$> gatewayEui,+            ("JoinEuiFilters" Data..=)+              Prelude.<$> joinEuiFilters,+            ("NetIdFilters" Data..=) Prelude.<$> netIdFilters,+            ("RfRegion" Data..=) Prelude.<$> rfRegion,+            ("SubBands" Data..=) Prelude.<$> subBands+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANGatewayCurrentVersion.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANGatewayCurrentVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANGatewayCurrentVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+import qualified Amazonka.Prelude as Prelude++-- | LoRaWANGatewayCurrentVersion object.+--+-- /See:/ 'newLoRaWANGatewayCurrentVersion' smart constructor.+data LoRaWANGatewayCurrentVersion = LoRaWANGatewayCurrentVersion'+  { -- | The version of the gateways that should receive the update.+    currentVersion :: Prelude.Maybe LoRaWANGatewayVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANGatewayCurrentVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentVersion', 'loRaWANGatewayCurrentVersion_currentVersion' - The version of the gateways that should receive the update.+newLoRaWANGatewayCurrentVersion ::+  LoRaWANGatewayCurrentVersion+newLoRaWANGatewayCurrentVersion =+  LoRaWANGatewayCurrentVersion'+    { currentVersion =+        Prelude.Nothing+    }++-- | The version of the gateways that should receive the update.+loRaWANGatewayCurrentVersion_currentVersion :: Lens.Lens' LoRaWANGatewayCurrentVersion (Prelude.Maybe LoRaWANGatewayVersion)+loRaWANGatewayCurrentVersion_currentVersion = Lens.lens (\LoRaWANGatewayCurrentVersion' {currentVersion} -> currentVersion) (\s@LoRaWANGatewayCurrentVersion' {} a -> s {currentVersion = a} :: LoRaWANGatewayCurrentVersion)++instance Data.FromJSON LoRaWANGatewayCurrentVersion where+  parseJSON =+    Data.withObject+      "LoRaWANGatewayCurrentVersion"+      ( \x ->+          LoRaWANGatewayCurrentVersion'+            Prelude.<$> (x Data..:? "CurrentVersion")+      )++instance+  Prelude.Hashable+    LoRaWANGatewayCurrentVersion+  where+  hashWithSalt _salt LoRaWANGatewayCurrentVersion' {..} =+    _salt `Prelude.hashWithSalt` currentVersion++instance Prelude.NFData LoRaWANGatewayCurrentVersion where+  rnf LoRaWANGatewayCurrentVersion' {..} =+    Prelude.rnf currentVersion
+ gen/Amazonka/IoTWireless/Types/LoRaWANGatewayMetadata.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANGatewayMetadata 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++-- | LoRaWAN gateway metatdata.+--+-- /See:/ 'newLoRaWANGatewayMetadata' smart constructor.+data LoRaWANGatewayMetadata = LoRaWANGatewayMetadata'+  { -- | The gateway\'s EUI value.+    gatewayEui :: Prelude.Maybe Prelude.Text,+    -- | The RSSI value.+    rssi :: Prelude.Maybe Prelude.Double,+    -- | The SNR value.+    snr :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANGatewayMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gatewayEui', 'loRaWANGatewayMetadata_gatewayEui' - The gateway\'s EUI value.+--+-- 'rssi', 'loRaWANGatewayMetadata_rssi' - The RSSI value.+--+-- 'snr', 'loRaWANGatewayMetadata_snr' - The SNR value.+newLoRaWANGatewayMetadata ::+  LoRaWANGatewayMetadata+newLoRaWANGatewayMetadata =+  LoRaWANGatewayMetadata'+    { gatewayEui =+        Prelude.Nothing,+      rssi = Prelude.Nothing,+      snr = Prelude.Nothing+    }++-- | The gateway\'s EUI value.+loRaWANGatewayMetadata_gatewayEui :: Lens.Lens' LoRaWANGatewayMetadata (Prelude.Maybe Prelude.Text)+loRaWANGatewayMetadata_gatewayEui = Lens.lens (\LoRaWANGatewayMetadata' {gatewayEui} -> gatewayEui) (\s@LoRaWANGatewayMetadata' {} a -> s {gatewayEui = a} :: LoRaWANGatewayMetadata)++-- | The RSSI value.+loRaWANGatewayMetadata_rssi :: Lens.Lens' LoRaWANGatewayMetadata (Prelude.Maybe Prelude.Double)+loRaWANGatewayMetadata_rssi = Lens.lens (\LoRaWANGatewayMetadata' {rssi} -> rssi) (\s@LoRaWANGatewayMetadata' {} a -> s {rssi = a} :: LoRaWANGatewayMetadata)++-- | The SNR value.+loRaWANGatewayMetadata_snr :: Lens.Lens' LoRaWANGatewayMetadata (Prelude.Maybe Prelude.Double)+loRaWANGatewayMetadata_snr = Lens.lens (\LoRaWANGatewayMetadata' {snr} -> snr) (\s@LoRaWANGatewayMetadata' {} a -> s {snr = a} :: LoRaWANGatewayMetadata)++instance Data.FromJSON LoRaWANGatewayMetadata where+  parseJSON =+    Data.withObject+      "LoRaWANGatewayMetadata"+      ( \x ->+          LoRaWANGatewayMetadata'+            Prelude.<$> (x Data..:? "GatewayEui")+            Prelude.<*> (x Data..:? "Rssi")+            Prelude.<*> (x Data..:? "Snr")+      )++instance Prelude.Hashable LoRaWANGatewayMetadata where+  hashWithSalt _salt LoRaWANGatewayMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` gatewayEui+      `Prelude.hashWithSalt` rssi+      `Prelude.hashWithSalt` snr++instance Prelude.NFData LoRaWANGatewayMetadata where+  rnf LoRaWANGatewayMetadata' {..} =+    Prelude.rnf gatewayEui+      `Prelude.seq` Prelude.rnf rssi+      `Prelude.seq` Prelude.rnf snr
+ gen/Amazonka/IoTWireless/Types/LoRaWANGatewayVersion.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANGatewayVersion 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++-- | LoRaWANGatewayVersion object.+--+-- /See:/ 'newLoRaWANGatewayVersion' smart constructor.+data LoRaWANGatewayVersion = LoRaWANGatewayVersion'+  { -- | The model number of the wireless gateway.+    model :: Prelude.Maybe Prelude.Text,+    -- | The version of the wireless gateway firmware.+    packageVersion :: Prelude.Maybe Prelude.Text,+    -- | The basic station version of the wireless gateway.+    station :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANGatewayVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'model', 'loRaWANGatewayVersion_model' - The model number of the wireless gateway.+--+-- 'packageVersion', 'loRaWANGatewayVersion_packageVersion' - The version of the wireless gateway firmware.+--+-- 'station', 'loRaWANGatewayVersion_station' - The basic station version of the wireless gateway.+newLoRaWANGatewayVersion ::+  LoRaWANGatewayVersion+newLoRaWANGatewayVersion =+  LoRaWANGatewayVersion'+    { model = Prelude.Nothing,+      packageVersion = Prelude.Nothing,+      station = Prelude.Nothing+    }++-- | The model number of the wireless gateway.+loRaWANGatewayVersion_model :: Lens.Lens' LoRaWANGatewayVersion (Prelude.Maybe Prelude.Text)+loRaWANGatewayVersion_model = Lens.lens (\LoRaWANGatewayVersion' {model} -> model) (\s@LoRaWANGatewayVersion' {} a -> s {model = a} :: LoRaWANGatewayVersion)++-- | The version of the wireless gateway firmware.+loRaWANGatewayVersion_packageVersion :: Lens.Lens' LoRaWANGatewayVersion (Prelude.Maybe Prelude.Text)+loRaWANGatewayVersion_packageVersion = Lens.lens (\LoRaWANGatewayVersion' {packageVersion} -> packageVersion) (\s@LoRaWANGatewayVersion' {} a -> s {packageVersion = a} :: LoRaWANGatewayVersion)++-- | The basic station version of the wireless gateway.+loRaWANGatewayVersion_station :: Lens.Lens' LoRaWANGatewayVersion (Prelude.Maybe Prelude.Text)+loRaWANGatewayVersion_station = Lens.lens (\LoRaWANGatewayVersion' {station} -> station) (\s@LoRaWANGatewayVersion' {} a -> s {station = a} :: LoRaWANGatewayVersion)++instance Data.FromJSON LoRaWANGatewayVersion where+  parseJSON =+    Data.withObject+      "LoRaWANGatewayVersion"+      ( \x ->+          LoRaWANGatewayVersion'+            Prelude.<$> (x Data..:? "Model")+            Prelude.<*> (x Data..:? "PackageVersion")+            Prelude.<*> (x Data..:? "Station")+      )++instance Prelude.Hashable LoRaWANGatewayVersion where+  hashWithSalt _salt LoRaWANGatewayVersion' {..} =+    _salt+      `Prelude.hashWithSalt` model+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` station++instance Prelude.NFData LoRaWANGatewayVersion where+  rnf LoRaWANGatewayVersion' {..} =+    Prelude.rnf model+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf station++instance Data.ToJSON LoRaWANGatewayVersion where+  toJSON LoRaWANGatewayVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Model" Data..=) Prelude.<$> model,+            ("PackageVersion" Data..=)+              Prelude.<$> packageVersion,+            ("Station" Data..=) Prelude.<$> station+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANGetServiceProfileInfo.hs view
@@ -0,0 +1,295 @@+{-# 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.IoTWireless.Types.LoRaWANGetServiceProfileInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANGetServiceProfileInfo 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++-- | LoRaWANGetServiceProfileInfo object.+--+-- /See:/ 'newLoRaWANGetServiceProfileInfo' smart constructor.+data LoRaWANGetServiceProfileInfo = LoRaWANGetServiceProfileInfo'+  { -- | The AddGWMetaData value.+    addGwMetadata :: Prelude.Maybe Prelude.Bool,+    -- | The ChannelMask value.+    channelMask :: Prelude.Maybe Prelude.Text,+    -- | The DevStatusReqFreq value.+    devStatusReqFreq :: Prelude.Maybe Prelude.Natural,+    -- | The DLBucketSize value.+    dlBucketSize :: Prelude.Maybe Prelude.Natural,+    -- | The DLRate value.+    dlRate :: Prelude.Maybe Prelude.Natural,+    -- | The DLRatePolicy value.+    dlRatePolicy :: Prelude.Maybe Prelude.Text,+    -- | The DRMax value.+    drMax :: Prelude.Maybe Prelude.Natural,+    -- | The DRMin value.+    drMin :: Prelude.Maybe Prelude.Natural,+    -- | The HRAllowed value that describes whether handover roaming is allowed.+    hrAllowed :: Prelude.Maybe Prelude.Bool,+    -- | The MinGwDiversity value.+    minGwDiversity :: Prelude.Maybe Prelude.Natural,+    -- | The NwkGeoLoc value.+    nwkGeoLoc :: Prelude.Maybe Prelude.Bool,+    -- | The PRAllowed value that describes whether passive roaming is allowed.+    prAllowed :: Prelude.Maybe Prelude.Bool,+    -- | The RAAllowed value that describes whether roaming activation is+    -- allowed.+    raAllowed :: Prelude.Maybe Prelude.Bool,+    -- | The ReportDevStatusBattery value.+    reportDevStatusBattery :: Prelude.Maybe Prelude.Bool,+    -- | The ReportDevStatusMargin value.+    reportDevStatusMargin :: Prelude.Maybe Prelude.Bool,+    -- | The TargetPER value.+    targetPer :: Prelude.Maybe Prelude.Natural,+    -- | The ULBucketSize value.+    ulBucketSize :: Prelude.Maybe Prelude.Natural,+    -- | The ULRate value.+    ulRate :: Prelude.Maybe Prelude.Natural,+    -- | The ULRatePolicy value.+    ulRatePolicy :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANGetServiceProfileInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addGwMetadata', 'loRaWANGetServiceProfileInfo_addGwMetadata' - The AddGWMetaData value.+--+-- 'channelMask', 'loRaWANGetServiceProfileInfo_channelMask' - The ChannelMask value.+--+-- 'devStatusReqFreq', 'loRaWANGetServiceProfileInfo_devStatusReqFreq' - The DevStatusReqFreq value.+--+-- 'dlBucketSize', 'loRaWANGetServiceProfileInfo_dlBucketSize' - The DLBucketSize value.+--+-- 'dlRate', 'loRaWANGetServiceProfileInfo_dlRate' - The DLRate value.+--+-- 'dlRatePolicy', 'loRaWANGetServiceProfileInfo_dlRatePolicy' - The DLRatePolicy value.+--+-- 'drMax', 'loRaWANGetServiceProfileInfo_drMax' - The DRMax value.+--+-- 'drMin', 'loRaWANGetServiceProfileInfo_drMin' - The DRMin value.+--+-- 'hrAllowed', 'loRaWANGetServiceProfileInfo_hrAllowed' - The HRAllowed value that describes whether handover roaming is allowed.+--+-- 'minGwDiversity', 'loRaWANGetServiceProfileInfo_minGwDiversity' - The MinGwDiversity value.+--+-- 'nwkGeoLoc', 'loRaWANGetServiceProfileInfo_nwkGeoLoc' - The NwkGeoLoc value.+--+-- 'prAllowed', 'loRaWANGetServiceProfileInfo_prAllowed' - The PRAllowed value that describes whether passive roaming is allowed.+--+-- 'raAllowed', 'loRaWANGetServiceProfileInfo_raAllowed' - The RAAllowed value that describes whether roaming activation is+-- allowed.+--+-- 'reportDevStatusBattery', 'loRaWANGetServiceProfileInfo_reportDevStatusBattery' - The ReportDevStatusBattery value.+--+-- 'reportDevStatusMargin', 'loRaWANGetServiceProfileInfo_reportDevStatusMargin' - The ReportDevStatusMargin value.+--+-- 'targetPer', 'loRaWANGetServiceProfileInfo_targetPer' - The TargetPER value.+--+-- 'ulBucketSize', 'loRaWANGetServiceProfileInfo_ulBucketSize' - The ULBucketSize value.+--+-- 'ulRate', 'loRaWANGetServiceProfileInfo_ulRate' - The ULRate value.+--+-- 'ulRatePolicy', 'loRaWANGetServiceProfileInfo_ulRatePolicy' - The ULRatePolicy value.+newLoRaWANGetServiceProfileInfo ::+  LoRaWANGetServiceProfileInfo+newLoRaWANGetServiceProfileInfo =+  LoRaWANGetServiceProfileInfo'+    { addGwMetadata =+        Prelude.Nothing,+      channelMask = Prelude.Nothing,+      devStatusReqFreq = Prelude.Nothing,+      dlBucketSize = Prelude.Nothing,+      dlRate = Prelude.Nothing,+      dlRatePolicy = Prelude.Nothing,+      drMax = Prelude.Nothing,+      drMin = Prelude.Nothing,+      hrAllowed = Prelude.Nothing,+      minGwDiversity = Prelude.Nothing,+      nwkGeoLoc = Prelude.Nothing,+      prAllowed = Prelude.Nothing,+      raAllowed = Prelude.Nothing,+      reportDevStatusBattery = Prelude.Nothing,+      reportDevStatusMargin = Prelude.Nothing,+      targetPer = Prelude.Nothing,+      ulBucketSize = Prelude.Nothing,+      ulRate = Prelude.Nothing,+      ulRatePolicy = Prelude.Nothing+    }++-- | The AddGWMetaData value.+loRaWANGetServiceProfileInfo_addGwMetadata :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_addGwMetadata = Lens.lens (\LoRaWANGetServiceProfileInfo' {addGwMetadata} -> addGwMetadata) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {addGwMetadata = a} :: LoRaWANGetServiceProfileInfo)++-- | The ChannelMask value.+loRaWANGetServiceProfileInfo_channelMask :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)+loRaWANGetServiceProfileInfo_channelMask = Lens.lens (\LoRaWANGetServiceProfileInfo' {channelMask} -> channelMask) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {channelMask = a} :: LoRaWANGetServiceProfileInfo)++-- | The DevStatusReqFreq value.+loRaWANGetServiceProfileInfo_devStatusReqFreq :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_devStatusReqFreq = Lens.lens (\LoRaWANGetServiceProfileInfo' {devStatusReqFreq} -> devStatusReqFreq) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {devStatusReqFreq = a} :: LoRaWANGetServiceProfileInfo)++-- | The DLBucketSize value.+loRaWANGetServiceProfileInfo_dlBucketSize :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_dlBucketSize = Lens.lens (\LoRaWANGetServiceProfileInfo' {dlBucketSize} -> dlBucketSize) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {dlBucketSize = a} :: LoRaWANGetServiceProfileInfo)++-- | The DLRate value.+loRaWANGetServiceProfileInfo_dlRate :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_dlRate = Lens.lens (\LoRaWANGetServiceProfileInfo' {dlRate} -> dlRate) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {dlRate = a} :: LoRaWANGetServiceProfileInfo)++-- | The DLRatePolicy value.+loRaWANGetServiceProfileInfo_dlRatePolicy :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)+loRaWANGetServiceProfileInfo_dlRatePolicy = Lens.lens (\LoRaWANGetServiceProfileInfo' {dlRatePolicy} -> dlRatePolicy) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {dlRatePolicy = a} :: LoRaWANGetServiceProfileInfo)++-- | The DRMax value.+loRaWANGetServiceProfileInfo_drMax :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_drMax = Lens.lens (\LoRaWANGetServiceProfileInfo' {drMax} -> drMax) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {drMax = a} :: LoRaWANGetServiceProfileInfo)++-- | The DRMin value.+loRaWANGetServiceProfileInfo_drMin :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_drMin = Lens.lens (\LoRaWANGetServiceProfileInfo' {drMin} -> drMin) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {drMin = a} :: LoRaWANGetServiceProfileInfo)++-- | The HRAllowed value that describes whether handover roaming is allowed.+loRaWANGetServiceProfileInfo_hrAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_hrAllowed = Lens.lens (\LoRaWANGetServiceProfileInfo' {hrAllowed} -> hrAllowed) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {hrAllowed = a} :: LoRaWANGetServiceProfileInfo)++-- | The MinGwDiversity value.+loRaWANGetServiceProfileInfo_minGwDiversity :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_minGwDiversity = Lens.lens (\LoRaWANGetServiceProfileInfo' {minGwDiversity} -> minGwDiversity) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {minGwDiversity = a} :: LoRaWANGetServiceProfileInfo)++-- | The NwkGeoLoc value.+loRaWANGetServiceProfileInfo_nwkGeoLoc :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_nwkGeoLoc = Lens.lens (\LoRaWANGetServiceProfileInfo' {nwkGeoLoc} -> nwkGeoLoc) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {nwkGeoLoc = a} :: LoRaWANGetServiceProfileInfo)++-- | The PRAllowed value that describes whether passive roaming is allowed.+loRaWANGetServiceProfileInfo_prAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_prAllowed = Lens.lens (\LoRaWANGetServiceProfileInfo' {prAllowed} -> prAllowed) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {prAllowed = a} :: LoRaWANGetServiceProfileInfo)++-- | The RAAllowed value that describes whether roaming activation is+-- allowed.+loRaWANGetServiceProfileInfo_raAllowed :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_raAllowed = Lens.lens (\LoRaWANGetServiceProfileInfo' {raAllowed} -> raAllowed) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {raAllowed = a} :: LoRaWANGetServiceProfileInfo)++-- | The ReportDevStatusBattery value.+loRaWANGetServiceProfileInfo_reportDevStatusBattery :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_reportDevStatusBattery = Lens.lens (\LoRaWANGetServiceProfileInfo' {reportDevStatusBattery} -> reportDevStatusBattery) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {reportDevStatusBattery = a} :: LoRaWANGetServiceProfileInfo)++-- | The ReportDevStatusMargin value.+loRaWANGetServiceProfileInfo_reportDevStatusMargin :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Bool)+loRaWANGetServiceProfileInfo_reportDevStatusMargin = Lens.lens (\LoRaWANGetServiceProfileInfo' {reportDevStatusMargin} -> reportDevStatusMargin) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {reportDevStatusMargin = a} :: LoRaWANGetServiceProfileInfo)++-- | The TargetPER value.+loRaWANGetServiceProfileInfo_targetPer :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_targetPer = Lens.lens (\LoRaWANGetServiceProfileInfo' {targetPer} -> targetPer) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {targetPer = a} :: LoRaWANGetServiceProfileInfo)++-- | The ULBucketSize value.+loRaWANGetServiceProfileInfo_ulBucketSize :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_ulBucketSize = Lens.lens (\LoRaWANGetServiceProfileInfo' {ulBucketSize} -> ulBucketSize) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {ulBucketSize = a} :: LoRaWANGetServiceProfileInfo)++-- | The ULRate value.+loRaWANGetServiceProfileInfo_ulRate :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Natural)+loRaWANGetServiceProfileInfo_ulRate = Lens.lens (\LoRaWANGetServiceProfileInfo' {ulRate} -> ulRate) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {ulRate = a} :: LoRaWANGetServiceProfileInfo)++-- | The ULRatePolicy value.+loRaWANGetServiceProfileInfo_ulRatePolicy :: Lens.Lens' LoRaWANGetServiceProfileInfo (Prelude.Maybe Prelude.Text)+loRaWANGetServiceProfileInfo_ulRatePolicy = Lens.lens (\LoRaWANGetServiceProfileInfo' {ulRatePolicy} -> ulRatePolicy) (\s@LoRaWANGetServiceProfileInfo' {} a -> s {ulRatePolicy = a} :: LoRaWANGetServiceProfileInfo)++instance Data.FromJSON LoRaWANGetServiceProfileInfo where+  parseJSON =+    Data.withObject+      "LoRaWANGetServiceProfileInfo"+      ( \x ->+          LoRaWANGetServiceProfileInfo'+            Prelude.<$> (x Data..:? "AddGwMetadata")+            Prelude.<*> (x Data..:? "ChannelMask")+            Prelude.<*> (x Data..:? "DevStatusReqFreq")+            Prelude.<*> (x Data..:? "DlBucketSize")+            Prelude.<*> (x Data..:? "DlRate")+            Prelude.<*> (x Data..:? "DlRatePolicy")+            Prelude.<*> (x Data..:? "DrMax")+            Prelude.<*> (x Data..:? "DrMin")+            Prelude.<*> (x Data..:? "HrAllowed")+            Prelude.<*> (x Data..:? "MinGwDiversity")+            Prelude.<*> (x Data..:? "NwkGeoLoc")+            Prelude.<*> (x Data..:? "PrAllowed")+            Prelude.<*> (x Data..:? "RaAllowed")+            Prelude.<*> (x Data..:? "ReportDevStatusBattery")+            Prelude.<*> (x Data..:? "ReportDevStatusMargin")+            Prelude.<*> (x Data..:? "TargetPer")+            Prelude.<*> (x Data..:? "UlBucketSize")+            Prelude.<*> (x Data..:? "UlRate")+            Prelude.<*> (x Data..:? "UlRatePolicy")+      )++instance+  Prelude.Hashable+    LoRaWANGetServiceProfileInfo+  where+  hashWithSalt _salt LoRaWANGetServiceProfileInfo' {..} =+    _salt+      `Prelude.hashWithSalt` addGwMetadata+      `Prelude.hashWithSalt` channelMask+      `Prelude.hashWithSalt` devStatusReqFreq+      `Prelude.hashWithSalt` dlBucketSize+      `Prelude.hashWithSalt` dlRate+      `Prelude.hashWithSalt` dlRatePolicy+      `Prelude.hashWithSalt` drMax+      `Prelude.hashWithSalt` drMin+      `Prelude.hashWithSalt` hrAllowed+      `Prelude.hashWithSalt` minGwDiversity+      `Prelude.hashWithSalt` nwkGeoLoc+      `Prelude.hashWithSalt` prAllowed+      `Prelude.hashWithSalt` raAllowed+      `Prelude.hashWithSalt` reportDevStatusBattery+      `Prelude.hashWithSalt` reportDevStatusMargin+      `Prelude.hashWithSalt` targetPer+      `Prelude.hashWithSalt` ulBucketSize+      `Prelude.hashWithSalt` ulRate+      `Prelude.hashWithSalt` ulRatePolicy++instance Prelude.NFData LoRaWANGetServiceProfileInfo where+  rnf LoRaWANGetServiceProfileInfo' {..} =+    Prelude.rnf addGwMetadata+      `Prelude.seq` Prelude.rnf channelMask+      `Prelude.seq` Prelude.rnf devStatusReqFreq+      `Prelude.seq` Prelude.rnf dlBucketSize+      `Prelude.seq` Prelude.rnf dlRate+      `Prelude.seq` Prelude.rnf dlRatePolicy+      `Prelude.seq` Prelude.rnf drMax+      `Prelude.seq` Prelude.rnf drMin+      `Prelude.seq` Prelude.rnf hrAllowed+      `Prelude.seq` Prelude.rnf minGwDiversity+      `Prelude.seq` Prelude.rnf nwkGeoLoc+      `Prelude.seq` Prelude.rnf prAllowed+      `Prelude.seq` Prelude.rnf raAllowed+      `Prelude.seq` Prelude.rnf reportDevStatusBattery+      `Prelude.seq` Prelude.rnf reportDevStatusMargin+      `Prelude.seq` Prelude.rnf targetPer+      `Prelude.seq` Prelude.rnf ulBucketSize+      `Prelude.seq` Prelude.rnf ulRate+      `Prelude.seq` Prelude.rnf ulRatePolicy
+ gen/Amazonka/IoTWireless/Types/LoRaWANJoinEventNotificationConfigurations.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANJoinEventNotificationConfigurations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | Object for LoRaWAN join resource type event configuration.+--+-- /See:/ 'newLoRaWANJoinEventNotificationConfigurations' smart constructor.+data LoRaWANJoinEventNotificationConfigurations = LoRaWANJoinEventNotificationConfigurations'+  { -- | Denotes whether the Dev EUI join event topic is enabled or disabled.+    devEuiEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANJoinEventNotificationConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'devEuiEventTopic', 'loRaWANJoinEventNotificationConfigurations_devEuiEventTopic' - Denotes whether the Dev EUI join event topic is enabled or disabled.+newLoRaWANJoinEventNotificationConfigurations ::+  LoRaWANJoinEventNotificationConfigurations+newLoRaWANJoinEventNotificationConfigurations =+  LoRaWANJoinEventNotificationConfigurations'+    { devEuiEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the Dev EUI join event topic is enabled or disabled.+loRaWANJoinEventNotificationConfigurations_devEuiEventTopic :: Lens.Lens' LoRaWANJoinEventNotificationConfigurations (Prelude.Maybe EventNotificationTopicStatus)+loRaWANJoinEventNotificationConfigurations_devEuiEventTopic = Lens.lens (\LoRaWANJoinEventNotificationConfigurations' {devEuiEventTopic} -> devEuiEventTopic) (\s@LoRaWANJoinEventNotificationConfigurations' {} a -> s {devEuiEventTopic = a} :: LoRaWANJoinEventNotificationConfigurations)++instance+  Data.FromJSON+    LoRaWANJoinEventNotificationConfigurations+  where+  parseJSON =+    Data.withObject+      "LoRaWANJoinEventNotificationConfigurations"+      ( \x ->+          LoRaWANJoinEventNotificationConfigurations'+            Prelude.<$> (x Data..:? "DevEuiEventTopic")+      )++instance+  Prelude.Hashable+    LoRaWANJoinEventNotificationConfigurations+  where+  hashWithSalt+    _salt+    LoRaWANJoinEventNotificationConfigurations' {..} =+      _salt `Prelude.hashWithSalt` devEuiEventTopic++instance+  Prelude.NFData+    LoRaWANJoinEventNotificationConfigurations+  where+  rnf LoRaWANJoinEventNotificationConfigurations' {..} =+    Prelude.rnf devEuiEventTopic++instance+  Data.ToJSON+    LoRaWANJoinEventNotificationConfigurations+  where+  toJSON+    LoRaWANJoinEventNotificationConfigurations' {..} =+      Data.object+        ( Prelude.catMaybes+            [ ("DevEuiEventTopic" Data..=)+                Prelude.<$> devEuiEventTopic+            ]+        )
+ gen/Amazonka/IoTWireless/Types/LoRaWANJoinResourceTypeEventConfiguration.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.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANJoinResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | Object for LoRaWAN join resource type event configuration.+--+-- /See:/ 'newLoRaWANJoinResourceTypeEventConfiguration' smart constructor.+data LoRaWANJoinResourceTypeEventConfiguration = LoRaWANJoinResourceTypeEventConfiguration'+  { -- | Denotes whether the wireless device join event topic is enabled or+    -- disabled.+    wirelessDeviceEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANJoinResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessDeviceEventTopic', 'loRaWANJoinResourceTypeEventConfiguration_wirelessDeviceEventTopic' - Denotes whether the wireless device join event topic is enabled or+-- disabled.+newLoRaWANJoinResourceTypeEventConfiguration ::+  LoRaWANJoinResourceTypeEventConfiguration+newLoRaWANJoinResourceTypeEventConfiguration =+  LoRaWANJoinResourceTypeEventConfiguration'+    { wirelessDeviceEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the wireless device join event topic is enabled or+-- disabled.+loRaWANJoinResourceTypeEventConfiguration_wirelessDeviceEventTopic :: Lens.Lens' LoRaWANJoinResourceTypeEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+loRaWANJoinResourceTypeEventConfiguration_wirelessDeviceEventTopic = Lens.lens (\LoRaWANJoinResourceTypeEventConfiguration' {wirelessDeviceEventTopic} -> wirelessDeviceEventTopic) (\s@LoRaWANJoinResourceTypeEventConfiguration' {} a -> s {wirelessDeviceEventTopic = a} :: LoRaWANJoinResourceTypeEventConfiguration)++instance+  Data.FromJSON+    LoRaWANJoinResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "LoRaWANJoinResourceTypeEventConfiguration"+      ( \x ->+          LoRaWANJoinResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "WirelessDeviceEventTopic")+      )++instance+  Prelude.Hashable+    LoRaWANJoinResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    LoRaWANJoinResourceTypeEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` wirelessDeviceEventTopic++instance+  Prelude.NFData+    LoRaWANJoinResourceTypeEventConfiguration+  where+  rnf LoRaWANJoinResourceTypeEventConfiguration' {..} =+    Prelude.rnf wirelessDeviceEventTopic++instance+  Data.ToJSON+    LoRaWANJoinResourceTypeEventConfiguration+  where+  toJSON LoRaWANJoinResourceTypeEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WirelessDeviceEventTopic" Data..=)+              Prelude.<$> wirelessDeviceEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANListDevice.hs view
@@ -0,0 +1,67 @@+{-# 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.IoTWireless.Types.LoRaWANListDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANListDevice 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++-- | LoRaWAN object for list functions.+--+-- /See:/ 'newLoRaWANListDevice' smart constructor.+data LoRaWANListDevice = LoRaWANListDevice'+  { -- | The DevEUI value.+    devEui :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANListDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'devEui', 'loRaWANListDevice_devEui' - The DevEUI value.+newLoRaWANListDevice ::+  LoRaWANListDevice+newLoRaWANListDevice =+  LoRaWANListDevice' {devEui = Prelude.Nothing}++-- | The DevEUI value.+loRaWANListDevice_devEui :: Lens.Lens' LoRaWANListDevice (Prelude.Maybe Prelude.Text)+loRaWANListDevice_devEui = Lens.lens (\LoRaWANListDevice' {devEui} -> devEui) (\s@LoRaWANListDevice' {} a -> s {devEui = a} :: LoRaWANListDevice)++instance Data.FromJSON LoRaWANListDevice where+  parseJSON =+    Data.withObject+      "LoRaWANListDevice"+      ( \x ->+          LoRaWANListDevice' Prelude.<$> (x Data..:? "DevEui")+      )++instance Prelude.Hashable LoRaWANListDevice where+  hashWithSalt _salt LoRaWANListDevice' {..} =+    _salt `Prelude.hashWithSalt` devEui++instance Prelude.NFData LoRaWANListDevice where+  rnf LoRaWANListDevice' {..} = Prelude.rnf devEui
+ gen/Amazonka/IoTWireless/Types/LoRaWANMulticast.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANMulticast+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANMulticast where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.DlClass+import Amazonka.IoTWireless.Types.SupportedRfRegion+import qualified Amazonka.Prelude as Prelude++-- | The LoRaWAN information that is to be used with the multicast group.+--+-- /See:/ 'newLoRaWANMulticast' smart constructor.+data LoRaWANMulticast = LoRaWANMulticast'+  { dlClass :: Prelude.Maybe DlClass,+    rfRegion :: Prelude.Maybe SupportedRfRegion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANMulticast' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dlClass', 'loRaWANMulticast_dlClass' - Undocumented member.+--+-- 'rfRegion', 'loRaWANMulticast_rfRegion' - Undocumented member.+newLoRaWANMulticast ::+  LoRaWANMulticast+newLoRaWANMulticast =+  LoRaWANMulticast'+    { dlClass = Prelude.Nothing,+      rfRegion = Prelude.Nothing+    }++-- | Undocumented member.+loRaWANMulticast_dlClass :: Lens.Lens' LoRaWANMulticast (Prelude.Maybe DlClass)+loRaWANMulticast_dlClass = Lens.lens (\LoRaWANMulticast' {dlClass} -> dlClass) (\s@LoRaWANMulticast' {} a -> s {dlClass = a} :: LoRaWANMulticast)++-- | Undocumented member.+loRaWANMulticast_rfRegion :: Lens.Lens' LoRaWANMulticast (Prelude.Maybe SupportedRfRegion)+loRaWANMulticast_rfRegion = Lens.lens (\LoRaWANMulticast' {rfRegion} -> rfRegion) (\s@LoRaWANMulticast' {} a -> s {rfRegion = a} :: LoRaWANMulticast)++instance Prelude.Hashable LoRaWANMulticast where+  hashWithSalt _salt LoRaWANMulticast' {..} =+    _salt+      `Prelude.hashWithSalt` dlClass+      `Prelude.hashWithSalt` rfRegion++instance Prelude.NFData LoRaWANMulticast where+  rnf LoRaWANMulticast' {..} =+    Prelude.rnf dlClass+      `Prelude.seq` Prelude.rnf rfRegion++instance Data.ToJSON LoRaWANMulticast where+  toJSON LoRaWANMulticast' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DlClass" Data..=) Prelude.<$> dlClass,+            ("RfRegion" Data..=) Prelude.<$> rfRegion+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANMulticastGet.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANMulticastGet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANMulticastGet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.DlClass+import Amazonka.IoTWireless.Types.SupportedRfRegion+import qualified Amazonka.Prelude as Prelude++-- | The LoRaWAN information that is to be returned from getting multicast+-- group information.+--+-- /See:/ 'newLoRaWANMulticastGet' smart constructor.+data LoRaWANMulticastGet = LoRaWANMulticastGet'+  { dlClass :: Prelude.Maybe DlClass,+    numberOfDevicesInGroup :: Prelude.Maybe Prelude.Int,+    numberOfDevicesRequested :: Prelude.Maybe Prelude.Int,+    rfRegion :: Prelude.Maybe SupportedRfRegion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANMulticastGet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dlClass', 'loRaWANMulticastGet_dlClass' - Undocumented member.+--+-- 'numberOfDevicesInGroup', 'loRaWANMulticastGet_numberOfDevicesInGroup' - Undocumented member.+--+-- 'numberOfDevicesRequested', 'loRaWANMulticastGet_numberOfDevicesRequested' - Undocumented member.+--+-- 'rfRegion', 'loRaWANMulticastGet_rfRegion' - Undocumented member.+newLoRaWANMulticastGet ::+  LoRaWANMulticastGet+newLoRaWANMulticastGet =+  LoRaWANMulticastGet'+    { dlClass = Prelude.Nothing,+      numberOfDevicesInGroup = Prelude.Nothing,+      numberOfDevicesRequested = Prelude.Nothing,+      rfRegion = Prelude.Nothing+    }++-- | Undocumented member.+loRaWANMulticastGet_dlClass :: Lens.Lens' LoRaWANMulticastGet (Prelude.Maybe DlClass)+loRaWANMulticastGet_dlClass = Lens.lens (\LoRaWANMulticastGet' {dlClass} -> dlClass) (\s@LoRaWANMulticastGet' {} a -> s {dlClass = a} :: LoRaWANMulticastGet)++-- | Undocumented member.+loRaWANMulticastGet_numberOfDevicesInGroup :: Lens.Lens' LoRaWANMulticastGet (Prelude.Maybe Prelude.Int)+loRaWANMulticastGet_numberOfDevicesInGroup = Lens.lens (\LoRaWANMulticastGet' {numberOfDevicesInGroup} -> numberOfDevicesInGroup) (\s@LoRaWANMulticastGet' {} a -> s {numberOfDevicesInGroup = a} :: LoRaWANMulticastGet)++-- | Undocumented member.+loRaWANMulticastGet_numberOfDevicesRequested :: Lens.Lens' LoRaWANMulticastGet (Prelude.Maybe Prelude.Int)+loRaWANMulticastGet_numberOfDevicesRequested = Lens.lens (\LoRaWANMulticastGet' {numberOfDevicesRequested} -> numberOfDevicesRequested) (\s@LoRaWANMulticastGet' {} a -> s {numberOfDevicesRequested = a} :: LoRaWANMulticastGet)++-- | Undocumented member.+loRaWANMulticastGet_rfRegion :: Lens.Lens' LoRaWANMulticastGet (Prelude.Maybe SupportedRfRegion)+loRaWANMulticastGet_rfRegion = Lens.lens (\LoRaWANMulticastGet' {rfRegion} -> rfRegion) (\s@LoRaWANMulticastGet' {} a -> s {rfRegion = a} :: LoRaWANMulticastGet)++instance Data.FromJSON LoRaWANMulticastGet where+  parseJSON =+    Data.withObject+      "LoRaWANMulticastGet"+      ( \x ->+          LoRaWANMulticastGet'+            Prelude.<$> (x Data..:? "DlClass")+            Prelude.<*> (x Data..:? "NumberOfDevicesInGroup")+            Prelude.<*> (x Data..:? "NumberOfDevicesRequested")+            Prelude.<*> (x Data..:? "RfRegion")+      )++instance Prelude.Hashable LoRaWANMulticastGet where+  hashWithSalt _salt LoRaWANMulticastGet' {..} =+    _salt+      `Prelude.hashWithSalt` dlClass+      `Prelude.hashWithSalt` numberOfDevicesInGroup+      `Prelude.hashWithSalt` numberOfDevicesRequested+      `Prelude.hashWithSalt` rfRegion++instance Prelude.NFData LoRaWANMulticastGet where+  rnf LoRaWANMulticastGet' {..} =+    Prelude.rnf dlClass+      `Prelude.seq` Prelude.rnf numberOfDevicesInGroup+      `Prelude.seq` Prelude.rnf numberOfDevicesRequested+      `Prelude.seq` Prelude.rnf rfRegion
+ gen/Amazonka/IoTWireless/Types/LoRaWANMulticastMetadata.hs view
@@ -0,0 +1,65 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata 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 metadata information of the LoRaWAN multicast group.+--+-- /See:/ 'newLoRaWANMulticastMetadata' smart constructor.+data LoRaWANMulticastMetadata = LoRaWANMulticastMetadata'+  { fPort :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANMulticastMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fPort', 'loRaWANMulticastMetadata_fPort' - Undocumented member.+newLoRaWANMulticastMetadata ::+  LoRaWANMulticastMetadata+newLoRaWANMulticastMetadata =+  LoRaWANMulticastMetadata' {fPort = Prelude.Nothing}++-- | Undocumented member.+loRaWANMulticastMetadata_fPort :: Lens.Lens' LoRaWANMulticastMetadata (Prelude.Maybe Prelude.Natural)+loRaWANMulticastMetadata_fPort = Lens.lens (\LoRaWANMulticastMetadata' {fPort} -> fPort) (\s@LoRaWANMulticastMetadata' {} a -> s {fPort = a} :: LoRaWANMulticastMetadata)++instance Prelude.Hashable LoRaWANMulticastMetadata where+  hashWithSalt _salt LoRaWANMulticastMetadata' {..} =+    _salt `Prelude.hashWithSalt` fPort++instance Prelude.NFData LoRaWANMulticastMetadata where+  rnf LoRaWANMulticastMetadata' {..} = Prelude.rnf fPort++instance Data.ToJSON LoRaWANMulticastMetadata where+  toJSON LoRaWANMulticastMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FPort" Data..=) Prelude.<$> fPort]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANMulticastSession.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANMulticastSession+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANMulticastSession 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 LoRaWAN information used with the multicast session.+--+-- /See:/ 'newLoRaWANMulticastSession' smart constructor.+data LoRaWANMulticastSession = LoRaWANMulticastSession'+  { dlDr :: Prelude.Maybe Prelude.Natural,+    dlFreq :: Prelude.Maybe Prelude.Natural,+    sessionStartTime :: Prelude.Maybe Data.ISO8601,+    sessionTimeout :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANMulticastSession' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dlDr', 'loRaWANMulticastSession_dlDr' - Undocumented member.+--+-- 'dlFreq', 'loRaWANMulticastSession_dlFreq' - Undocumented member.+--+-- 'sessionStartTime', 'loRaWANMulticastSession_sessionStartTime' - Undocumented member.+--+-- 'sessionTimeout', 'loRaWANMulticastSession_sessionTimeout' - Undocumented member.+newLoRaWANMulticastSession ::+  LoRaWANMulticastSession+newLoRaWANMulticastSession =+  LoRaWANMulticastSession'+    { dlDr = Prelude.Nothing,+      dlFreq = Prelude.Nothing,+      sessionStartTime = Prelude.Nothing,+      sessionTimeout = Prelude.Nothing+    }++-- | Undocumented member.+loRaWANMulticastSession_dlDr :: Lens.Lens' LoRaWANMulticastSession (Prelude.Maybe Prelude.Natural)+loRaWANMulticastSession_dlDr = Lens.lens (\LoRaWANMulticastSession' {dlDr} -> dlDr) (\s@LoRaWANMulticastSession' {} a -> s {dlDr = a} :: LoRaWANMulticastSession)++-- | Undocumented member.+loRaWANMulticastSession_dlFreq :: Lens.Lens' LoRaWANMulticastSession (Prelude.Maybe Prelude.Natural)+loRaWANMulticastSession_dlFreq = Lens.lens (\LoRaWANMulticastSession' {dlFreq} -> dlFreq) (\s@LoRaWANMulticastSession' {} a -> s {dlFreq = a} :: LoRaWANMulticastSession)++-- | Undocumented member.+loRaWANMulticastSession_sessionStartTime :: Lens.Lens' LoRaWANMulticastSession (Prelude.Maybe Prelude.UTCTime)+loRaWANMulticastSession_sessionStartTime = Lens.lens (\LoRaWANMulticastSession' {sessionStartTime} -> sessionStartTime) (\s@LoRaWANMulticastSession' {} a -> s {sessionStartTime = a} :: LoRaWANMulticastSession) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+loRaWANMulticastSession_sessionTimeout :: Lens.Lens' LoRaWANMulticastSession (Prelude.Maybe Prelude.Natural)+loRaWANMulticastSession_sessionTimeout = Lens.lens (\LoRaWANMulticastSession' {sessionTimeout} -> sessionTimeout) (\s@LoRaWANMulticastSession' {} a -> s {sessionTimeout = a} :: LoRaWANMulticastSession)++instance Data.FromJSON LoRaWANMulticastSession where+  parseJSON =+    Data.withObject+      "LoRaWANMulticastSession"+      ( \x ->+          LoRaWANMulticastSession'+            Prelude.<$> (x Data..:? "DlDr")+            Prelude.<*> (x Data..:? "DlFreq")+            Prelude.<*> (x Data..:? "SessionStartTime")+            Prelude.<*> (x Data..:? "SessionTimeout")+      )++instance Prelude.Hashable LoRaWANMulticastSession where+  hashWithSalt _salt LoRaWANMulticastSession' {..} =+    _salt+      `Prelude.hashWithSalt` dlDr+      `Prelude.hashWithSalt` dlFreq+      `Prelude.hashWithSalt` sessionStartTime+      `Prelude.hashWithSalt` sessionTimeout++instance Prelude.NFData LoRaWANMulticastSession where+  rnf LoRaWANMulticastSession' {..} =+    Prelude.rnf dlDr+      `Prelude.seq` Prelude.rnf dlFreq+      `Prelude.seq` Prelude.rnf sessionStartTime+      `Prelude.seq` Prelude.rnf sessionTimeout++instance Data.ToJSON LoRaWANMulticastSession where+  toJSON LoRaWANMulticastSession' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DlDr" Data..=) Prelude.<$> dlDr,+            ("DlFreq" Data..=) Prelude.<$> dlFreq,+            ("SessionStartTime" Data..=)+              Prelude.<$> sessionStartTime,+            ("SessionTimeout" Data..=)+              Prelude.<$> sessionTimeout+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANSendDataToDevice.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ParticipatingGateways+import qualified Amazonka.Prelude as Prelude++-- | LoRaWAN router info.+--+-- /See:/ 'newLoRaWANSendDataToDevice' smart constructor.+data LoRaWANSendDataToDevice = LoRaWANSendDataToDevice'+  { fPort :: Prelude.Maybe Prelude.Natural,+    -- | Choose the gateways that you want to use for the downlink data traffic+    -- when the wireless device is running in class B or class C mode.+    participatingGateways :: Prelude.Maybe ParticipatingGateways+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANSendDataToDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fPort', 'loRaWANSendDataToDevice_fPort' - Undocumented member.+--+-- 'participatingGateways', 'loRaWANSendDataToDevice_participatingGateways' - Choose the gateways that you want to use for the downlink data traffic+-- when the wireless device is running in class B or class C mode.+newLoRaWANSendDataToDevice ::+  LoRaWANSendDataToDevice+newLoRaWANSendDataToDevice =+  LoRaWANSendDataToDevice'+    { fPort = Prelude.Nothing,+      participatingGateways = Prelude.Nothing+    }++-- | Undocumented member.+loRaWANSendDataToDevice_fPort :: Lens.Lens' LoRaWANSendDataToDevice (Prelude.Maybe Prelude.Natural)+loRaWANSendDataToDevice_fPort = Lens.lens (\LoRaWANSendDataToDevice' {fPort} -> fPort) (\s@LoRaWANSendDataToDevice' {} a -> s {fPort = a} :: LoRaWANSendDataToDevice)++-- | Choose the gateways that you want to use for the downlink data traffic+-- when the wireless device is running in class B or class C mode.+loRaWANSendDataToDevice_participatingGateways :: Lens.Lens' LoRaWANSendDataToDevice (Prelude.Maybe ParticipatingGateways)+loRaWANSendDataToDevice_participatingGateways = Lens.lens (\LoRaWANSendDataToDevice' {participatingGateways} -> participatingGateways) (\s@LoRaWANSendDataToDevice' {} a -> s {participatingGateways = a} :: LoRaWANSendDataToDevice)++instance Data.FromJSON LoRaWANSendDataToDevice where+  parseJSON =+    Data.withObject+      "LoRaWANSendDataToDevice"+      ( \x ->+          LoRaWANSendDataToDevice'+            Prelude.<$> (x Data..:? "FPort")+            Prelude.<*> (x Data..:? "ParticipatingGateways")+      )++instance Prelude.Hashable LoRaWANSendDataToDevice where+  hashWithSalt _salt LoRaWANSendDataToDevice' {..} =+    _salt+      `Prelude.hashWithSalt` fPort+      `Prelude.hashWithSalt` participatingGateways++instance Prelude.NFData LoRaWANSendDataToDevice where+  rnf LoRaWANSendDataToDevice' {..} =+    Prelude.rnf fPort+      `Prelude.seq` Prelude.rnf participatingGateways++instance Data.ToJSON LoRaWANSendDataToDevice where+  toJSON LoRaWANSendDataToDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FPort" Data..=) Prelude.<$> fPort,+            ("ParticipatingGateways" Data..=)+              Prelude.<$> participatingGateways+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANServiceProfile.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.IoTWireless.Types.LoRaWANServiceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANServiceProfile 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++-- | LoRaWANServiceProfile object.+--+-- /See:/ 'newLoRaWANServiceProfile' smart constructor.+data LoRaWANServiceProfile = LoRaWANServiceProfile'+  { -- | The AddGWMetaData value.+    addGwMetadata :: Prelude.Maybe Prelude.Bool,+    -- | The DrMax value.+    drMax :: Prelude.Maybe Prelude.Natural,+    -- | The DrMin value.+    drMin :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANServiceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addGwMetadata', 'loRaWANServiceProfile_addGwMetadata' - The AddGWMetaData value.+--+-- 'drMax', 'loRaWANServiceProfile_drMax' - The DrMax value.+--+-- 'drMin', 'loRaWANServiceProfile_drMin' - The DrMin value.+newLoRaWANServiceProfile ::+  LoRaWANServiceProfile+newLoRaWANServiceProfile =+  LoRaWANServiceProfile'+    { addGwMetadata =+        Prelude.Nothing,+      drMax = Prelude.Nothing,+      drMin = Prelude.Nothing+    }++-- | The AddGWMetaData value.+loRaWANServiceProfile_addGwMetadata :: Lens.Lens' LoRaWANServiceProfile (Prelude.Maybe Prelude.Bool)+loRaWANServiceProfile_addGwMetadata = Lens.lens (\LoRaWANServiceProfile' {addGwMetadata} -> addGwMetadata) (\s@LoRaWANServiceProfile' {} a -> s {addGwMetadata = a} :: LoRaWANServiceProfile)++-- | The DrMax value.+loRaWANServiceProfile_drMax :: Lens.Lens' LoRaWANServiceProfile (Prelude.Maybe Prelude.Natural)+loRaWANServiceProfile_drMax = Lens.lens (\LoRaWANServiceProfile' {drMax} -> drMax) (\s@LoRaWANServiceProfile' {} a -> s {drMax = a} :: LoRaWANServiceProfile)++-- | The DrMin value.+loRaWANServiceProfile_drMin :: Lens.Lens' LoRaWANServiceProfile (Prelude.Maybe Prelude.Natural)+loRaWANServiceProfile_drMin = Lens.lens (\LoRaWANServiceProfile' {drMin} -> drMin) (\s@LoRaWANServiceProfile' {} a -> s {drMin = a} :: LoRaWANServiceProfile)++instance Prelude.Hashable LoRaWANServiceProfile where+  hashWithSalt _salt LoRaWANServiceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` addGwMetadata+      `Prelude.hashWithSalt` drMax+      `Prelude.hashWithSalt` drMin++instance Prelude.NFData LoRaWANServiceProfile where+  rnf LoRaWANServiceProfile' {..} =+    Prelude.rnf addGwMetadata+      `Prelude.seq` Prelude.rnf drMax+      `Prelude.seq` Prelude.rnf drMin++instance Data.ToJSON LoRaWANServiceProfile where+  toJSON LoRaWANServiceProfile' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AddGwMetadata" Data..=) Prelude.<$> addGwMetadata,+            ("DrMax" Data..=) Prelude.<$> drMax,+            ("DrMin" Data..=) Prelude.<$> drMin+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANStartFuotaTask.hs view
@@ -0,0 +1,66 @@+{-# 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.IoTWireless.Types.LoRaWANStartFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANStartFuotaTask 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 LoRaWAN information used to start a FUOTA task.+--+-- /See:/ 'newLoRaWANStartFuotaTask' smart constructor.+data LoRaWANStartFuotaTask = LoRaWANStartFuotaTask'+  { startTime :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANStartFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'startTime', 'loRaWANStartFuotaTask_startTime' - Undocumented member.+newLoRaWANStartFuotaTask ::+  LoRaWANStartFuotaTask+newLoRaWANStartFuotaTask =+  LoRaWANStartFuotaTask' {startTime = Prelude.Nothing}++-- | Undocumented member.+loRaWANStartFuotaTask_startTime :: Lens.Lens' LoRaWANStartFuotaTask (Prelude.Maybe Prelude.UTCTime)+loRaWANStartFuotaTask_startTime = Lens.lens (\LoRaWANStartFuotaTask' {startTime} -> startTime) (\s@LoRaWANStartFuotaTask' {} a -> s {startTime = a} :: LoRaWANStartFuotaTask) Prelude.. Lens.mapping Data._Time++instance Prelude.Hashable LoRaWANStartFuotaTask where+  hashWithSalt _salt LoRaWANStartFuotaTask' {..} =+    _salt `Prelude.hashWithSalt` startTime++instance Prelude.NFData LoRaWANStartFuotaTask where+  rnf LoRaWANStartFuotaTask' {..} =+    Prelude.rnf startTime++instance Data.ToJSON LoRaWANStartFuotaTask where+  toJSON LoRaWANStartFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [("StartTime" Data..=) Prelude.<$> startTime]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANUpdateDevice.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.IoTWireless.Types.LoRaWANUpdateDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANUpdateDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.UpdateAbpV1_0_x+import Amazonka.IoTWireless.Types.UpdateAbpV1_1+import Amazonka.IoTWireless.Types.UpdateFPorts+import qualified Amazonka.Prelude as Prelude++-- | LoRaWAN object for update functions.+--+-- /See:/ 'newLoRaWANUpdateDevice' smart constructor.+data LoRaWANUpdateDevice = LoRaWANUpdateDevice'+  { -- | ABP device object for update APIs for v1.0.x+    abpV1_0_x :: Prelude.Maybe UpdateAbpV1_0_x,+    -- | ABP device object for update APIs for v1.1+    abpV1_1 :: Prelude.Maybe UpdateAbpV1_1,+    -- | The ID of the device profile for the wireless device.+    deviceProfileId :: Prelude.Maybe Prelude.Text,+    -- | FPorts object for the positioning information of the device.+    fPorts :: Prelude.Maybe UpdateFPorts,+    -- | The ID of the service profile.+    serviceProfileId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANUpdateDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abpV1_0_x', 'loRaWANUpdateDevice_abpV1_0_x' - ABP device object for update APIs for v1.0.x+--+-- 'abpV1_1', 'loRaWANUpdateDevice_abpV1_1' - ABP device object for update APIs for v1.1+--+-- 'deviceProfileId', 'loRaWANUpdateDevice_deviceProfileId' - The ID of the device profile for the wireless device.+--+-- 'fPorts', 'loRaWANUpdateDevice_fPorts' - FPorts object for the positioning information of the device.+--+-- 'serviceProfileId', 'loRaWANUpdateDevice_serviceProfileId' - The ID of the service profile.+newLoRaWANUpdateDevice ::+  LoRaWANUpdateDevice+newLoRaWANUpdateDevice =+  LoRaWANUpdateDevice'+    { abpV1_0_x = Prelude.Nothing,+      abpV1_1 = Prelude.Nothing,+      deviceProfileId = Prelude.Nothing,+      fPorts = Prelude.Nothing,+      serviceProfileId = Prelude.Nothing+    }++-- | ABP device object for update APIs for v1.0.x+loRaWANUpdateDevice_abpV1_0_x :: Lens.Lens' LoRaWANUpdateDevice (Prelude.Maybe UpdateAbpV1_0_x)+loRaWANUpdateDevice_abpV1_0_x = Lens.lens (\LoRaWANUpdateDevice' {abpV1_0_x} -> abpV1_0_x) (\s@LoRaWANUpdateDevice' {} a -> s {abpV1_0_x = a} :: LoRaWANUpdateDevice)++-- | ABP device object for update APIs for v1.1+loRaWANUpdateDevice_abpV1_1 :: Lens.Lens' LoRaWANUpdateDevice (Prelude.Maybe UpdateAbpV1_1)+loRaWANUpdateDevice_abpV1_1 = Lens.lens (\LoRaWANUpdateDevice' {abpV1_1} -> abpV1_1) (\s@LoRaWANUpdateDevice' {} a -> s {abpV1_1 = a} :: LoRaWANUpdateDevice)++-- | The ID of the device profile for the wireless device.+loRaWANUpdateDevice_deviceProfileId :: Lens.Lens' LoRaWANUpdateDevice (Prelude.Maybe Prelude.Text)+loRaWANUpdateDevice_deviceProfileId = Lens.lens (\LoRaWANUpdateDevice' {deviceProfileId} -> deviceProfileId) (\s@LoRaWANUpdateDevice' {} a -> s {deviceProfileId = a} :: LoRaWANUpdateDevice)++-- | FPorts object for the positioning information of the device.+loRaWANUpdateDevice_fPorts :: Lens.Lens' LoRaWANUpdateDevice (Prelude.Maybe UpdateFPorts)+loRaWANUpdateDevice_fPorts = Lens.lens (\LoRaWANUpdateDevice' {fPorts} -> fPorts) (\s@LoRaWANUpdateDevice' {} a -> s {fPorts = a} :: LoRaWANUpdateDevice)++-- | The ID of the service profile.+loRaWANUpdateDevice_serviceProfileId :: Lens.Lens' LoRaWANUpdateDevice (Prelude.Maybe Prelude.Text)+loRaWANUpdateDevice_serviceProfileId = Lens.lens (\LoRaWANUpdateDevice' {serviceProfileId} -> serviceProfileId) (\s@LoRaWANUpdateDevice' {} a -> s {serviceProfileId = a} :: LoRaWANUpdateDevice)++instance Prelude.Hashable LoRaWANUpdateDevice where+  hashWithSalt _salt LoRaWANUpdateDevice' {..} =+    _salt+      `Prelude.hashWithSalt` abpV1_0_x+      `Prelude.hashWithSalt` abpV1_1+      `Prelude.hashWithSalt` deviceProfileId+      `Prelude.hashWithSalt` fPorts+      `Prelude.hashWithSalt` serviceProfileId++instance Prelude.NFData LoRaWANUpdateDevice where+  rnf LoRaWANUpdateDevice' {..} =+    Prelude.rnf abpV1_0_x+      `Prelude.seq` Prelude.rnf abpV1_1+      `Prelude.seq` Prelude.rnf deviceProfileId+      `Prelude.seq` Prelude.rnf fPorts+      `Prelude.seq` Prelude.rnf serviceProfileId++instance Data.ToJSON LoRaWANUpdateDevice where+  toJSON LoRaWANUpdateDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AbpV1_0_x" Data..=) Prelude.<$> abpV1_0_x,+            ("AbpV1_1" Data..=) Prelude.<$> abpV1_1,+            ("DeviceProfileId" Data..=)+              Prelude.<$> deviceProfileId,+            ("FPorts" Data..=) Prelude.<$> fPorts,+            ("ServiceProfileId" Data..=)+              Prelude.<$> serviceProfileId+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANUpdateGatewayTaskCreate.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+import qualified Amazonka.Prelude as Prelude++-- | LoRaWANUpdateGatewayTaskCreate object.+--+-- /See:/ 'newLoRaWANUpdateGatewayTaskCreate' smart constructor.+data LoRaWANUpdateGatewayTaskCreate = LoRaWANUpdateGatewayTaskCreate'+  { -- | The version of the gateways that should receive the update.+    currentVersion :: Prelude.Maybe LoRaWANGatewayVersion,+    -- | The CRC of the signature private key to check.+    sigKeyCrc :: Prelude.Maybe Prelude.Natural,+    -- | The signature used to verify the update firmware.+    updateSignature :: Prelude.Maybe Prelude.Text,+    -- | The firmware version to update the gateway to.+    updateVersion :: Prelude.Maybe LoRaWANGatewayVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANUpdateGatewayTaskCreate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentVersion', 'loRaWANUpdateGatewayTaskCreate_currentVersion' - The version of the gateways that should receive the update.+--+-- 'sigKeyCrc', 'loRaWANUpdateGatewayTaskCreate_sigKeyCrc' - The CRC of the signature private key to check.+--+-- 'updateSignature', 'loRaWANUpdateGatewayTaskCreate_updateSignature' - The signature used to verify the update firmware.+--+-- 'updateVersion', 'loRaWANUpdateGatewayTaskCreate_updateVersion' - The firmware version to update the gateway to.+newLoRaWANUpdateGatewayTaskCreate ::+  LoRaWANUpdateGatewayTaskCreate+newLoRaWANUpdateGatewayTaskCreate =+  LoRaWANUpdateGatewayTaskCreate'+    { currentVersion =+        Prelude.Nothing,+      sigKeyCrc = Prelude.Nothing,+      updateSignature = Prelude.Nothing,+      updateVersion = Prelude.Nothing+    }++-- | The version of the gateways that should receive the update.+loRaWANUpdateGatewayTaskCreate_currentVersion :: Lens.Lens' LoRaWANUpdateGatewayTaskCreate (Prelude.Maybe LoRaWANGatewayVersion)+loRaWANUpdateGatewayTaskCreate_currentVersion = Lens.lens (\LoRaWANUpdateGatewayTaskCreate' {currentVersion} -> currentVersion) (\s@LoRaWANUpdateGatewayTaskCreate' {} a -> s {currentVersion = a} :: LoRaWANUpdateGatewayTaskCreate)++-- | The CRC of the signature private key to check.+loRaWANUpdateGatewayTaskCreate_sigKeyCrc :: Lens.Lens' LoRaWANUpdateGatewayTaskCreate (Prelude.Maybe Prelude.Natural)+loRaWANUpdateGatewayTaskCreate_sigKeyCrc = Lens.lens (\LoRaWANUpdateGatewayTaskCreate' {sigKeyCrc} -> sigKeyCrc) (\s@LoRaWANUpdateGatewayTaskCreate' {} a -> s {sigKeyCrc = a} :: LoRaWANUpdateGatewayTaskCreate)++-- | The signature used to verify the update firmware.+loRaWANUpdateGatewayTaskCreate_updateSignature :: Lens.Lens' LoRaWANUpdateGatewayTaskCreate (Prelude.Maybe Prelude.Text)+loRaWANUpdateGatewayTaskCreate_updateSignature = Lens.lens (\LoRaWANUpdateGatewayTaskCreate' {updateSignature} -> updateSignature) (\s@LoRaWANUpdateGatewayTaskCreate' {} a -> s {updateSignature = a} :: LoRaWANUpdateGatewayTaskCreate)++-- | The firmware version to update the gateway to.+loRaWANUpdateGatewayTaskCreate_updateVersion :: Lens.Lens' LoRaWANUpdateGatewayTaskCreate (Prelude.Maybe LoRaWANGatewayVersion)+loRaWANUpdateGatewayTaskCreate_updateVersion = Lens.lens (\LoRaWANUpdateGatewayTaskCreate' {updateVersion} -> updateVersion) (\s@LoRaWANUpdateGatewayTaskCreate' {} a -> s {updateVersion = a} :: LoRaWANUpdateGatewayTaskCreate)++instance Data.FromJSON LoRaWANUpdateGatewayTaskCreate where+  parseJSON =+    Data.withObject+      "LoRaWANUpdateGatewayTaskCreate"+      ( \x ->+          LoRaWANUpdateGatewayTaskCreate'+            Prelude.<$> (x Data..:? "CurrentVersion")+            Prelude.<*> (x Data..:? "SigKeyCrc")+            Prelude.<*> (x Data..:? "UpdateSignature")+            Prelude.<*> (x Data..:? "UpdateVersion")+      )++instance+  Prelude.Hashable+    LoRaWANUpdateGatewayTaskCreate+  where+  hashWithSalt+    _salt+    LoRaWANUpdateGatewayTaskCreate' {..} =+      _salt+        `Prelude.hashWithSalt` currentVersion+        `Prelude.hashWithSalt` sigKeyCrc+        `Prelude.hashWithSalt` updateSignature+        `Prelude.hashWithSalt` updateVersion++instance+  Prelude.NFData+    LoRaWANUpdateGatewayTaskCreate+  where+  rnf LoRaWANUpdateGatewayTaskCreate' {..} =+    Prelude.rnf currentVersion+      `Prelude.seq` Prelude.rnf sigKeyCrc+      `Prelude.seq` Prelude.rnf updateSignature+      `Prelude.seq` Prelude.rnf updateVersion++instance Data.ToJSON LoRaWANUpdateGatewayTaskCreate where+  toJSON LoRaWANUpdateGatewayTaskCreate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CurrentVersion" Data..=)+              Prelude.<$> currentVersion,+            ("SigKeyCrc" Data..=) Prelude.<$> sigKeyCrc,+            ("UpdateSignature" Data..=)+              Prelude.<$> updateSignature,+            ("UpdateVersion" Data..=) Prelude.<$> updateVersion+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LoRaWANUpdateGatewayTaskEntry.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANGatewayVersion+import qualified Amazonka.Prelude as Prelude++-- | LoRaWANUpdateGatewayTaskEntry object.+--+-- /See:/ 'newLoRaWANUpdateGatewayTaskEntry' smart constructor.+data LoRaWANUpdateGatewayTaskEntry = LoRaWANUpdateGatewayTaskEntry'+  { -- | The version of the gateways that should receive the update.+    currentVersion :: Prelude.Maybe LoRaWANGatewayVersion,+    -- | The firmware version to update the gateway to.+    updateVersion :: Prelude.Maybe LoRaWANGatewayVersion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoRaWANUpdateGatewayTaskEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currentVersion', 'loRaWANUpdateGatewayTaskEntry_currentVersion' - The version of the gateways that should receive the update.+--+-- 'updateVersion', 'loRaWANUpdateGatewayTaskEntry_updateVersion' - The firmware version to update the gateway to.+newLoRaWANUpdateGatewayTaskEntry ::+  LoRaWANUpdateGatewayTaskEntry+newLoRaWANUpdateGatewayTaskEntry =+  LoRaWANUpdateGatewayTaskEntry'+    { currentVersion =+        Prelude.Nothing,+      updateVersion = Prelude.Nothing+    }++-- | The version of the gateways that should receive the update.+loRaWANUpdateGatewayTaskEntry_currentVersion :: Lens.Lens' LoRaWANUpdateGatewayTaskEntry (Prelude.Maybe LoRaWANGatewayVersion)+loRaWANUpdateGatewayTaskEntry_currentVersion = Lens.lens (\LoRaWANUpdateGatewayTaskEntry' {currentVersion} -> currentVersion) (\s@LoRaWANUpdateGatewayTaskEntry' {} a -> s {currentVersion = a} :: LoRaWANUpdateGatewayTaskEntry)++-- | The firmware version to update the gateway to.+loRaWANUpdateGatewayTaskEntry_updateVersion :: Lens.Lens' LoRaWANUpdateGatewayTaskEntry (Prelude.Maybe LoRaWANGatewayVersion)+loRaWANUpdateGatewayTaskEntry_updateVersion = Lens.lens (\LoRaWANUpdateGatewayTaskEntry' {updateVersion} -> updateVersion) (\s@LoRaWANUpdateGatewayTaskEntry' {} a -> s {updateVersion = a} :: LoRaWANUpdateGatewayTaskEntry)++instance Data.FromJSON LoRaWANUpdateGatewayTaskEntry where+  parseJSON =+    Data.withObject+      "LoRaWANUpdateGatewayTaskEntry"+      ( \x ->+          LoRaWANUpdateGatewayTaskEntry'+            Prelude.<$> (x Data..:? "CurrentVersion")+            Prelude.<*> (x Data..:? "UpdateVersion")+      )++instance+  Prelude.Hashable+    LoRaWANUpdateGatewayTaskEntry+  where+  hashWithSalt _salt LoRaWANUpdateGatewayTaskEntry' {..} =+    _salt+      `Prelude.hashWithSalt` currentVersion+      `Prelude.hashWithSalt` updateVersion++instance Prelude.NFData LoRaWANUpdateGatewayTaskEntry where+  rnf LoRaWANUpdateGatewayTaskEntry' {..} =+    Prelude.rnf currentVersion+      `Prelude.seq` Prelude.rnf updateVersion
+ gen/Amazonka/IoTWireless/Types/LogLevel.hs view
@@ -0,0 +1,79 @@+{-# 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.IoTWireless.Types.LogLevel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LogLevel+  ( LogLevel+      ( ..,+        LogLevel_DISABLED,+        LogLevel_ERROR,+        LogLevel_INFO+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The log level for a log message. The log levels can be disabled, or set+-- to @ERROR@ to display less verbose logs containing only error+-- information, or to @INFO@ for more detailed logs.+newtype LogLevel = LogLevel'+  { fromLogLevel ::+      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 LogLevel_DISABLED :: LogLevel+pattern LogLevel_DISABLED = LogLevel' "DISABLED"++pattern LogLevel_ERROR :: LogLevel+pattern LogLevel_ERROR = LogLevel' "ERROR"++pattern LogLevel_INFO :: LogLevel+pattern LogLevel_INFO = LogLevel' "INFO"++{-# COMPLETE+  LogLevel_DISABLED,+  LogLevel_ERROR,+  LogLevel_INFO,+  LogLevel'+  #-}
+ gen/Amazonka/IoTWireless/Types/LteLocalId.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.LteLocalId+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LteLocalId 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++-- | LTE local identification (local ID) information.+--+-- /See:/ 'newLteLocalId' smart constructor.+data LteLocalId = LteLocalId'+  { -- | Physical cell ID.+    pci :: Prelude.Natural,+    -- | Evolved universal terrestrial radio access (E-UTRA) absolute radio+    -- frequency channel number (FCN).+    earfcn :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LteLocalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pci', 'lteLocalId_pci' - Physical cell ID.+--+-- 'earfcn', 'lteLocalId_earfcn' - Evolved universal terrestrial radio access (E-UTRA) absolute radio+-- frequency channel number (FCN).+newLteLocalId ::+  -- | 'pci'+  Prelude.Natural ->+  -- | 'earfcn'+  Prelude.Natural ->+  LteLocalId+newLteLocalId pPci_ pEarfcn_ =+  LteLocalId' {pci = pPci_, earfcn = pEarfcn_}++-- | Physical cell ID.+lteLocalId_pci :: Lens.Lens' LteLocalId Prelude.Natural+lteLocalId_pci = Lens.lens (\LteLocalId' {pci} -> pci) (\s@LteLocalId' {} a -> s {pci = a} :: LteLocalId)++-- | Evolved universal terrestrial radio access (E-UTRA) absolute radio+-- frequency channel number (FCN).+lteLocalId_earfcn :: Lens.Lens' LteLocalId Prelude.Natural+lteLocalId_earfcn = Lens.lens (\LteLocalId' {earfcn} -> earfcn) (\s@LteLocalId' {} a -> s {earfcn = a} :: LteLocalId)++instance Prelude.Hashable LteLocalId where+  hashWithSalt _salt LteLocalId' {..} =+    _salt+      `Prelude.hashWithSalt` pci+      `Prelude.hashWithSalt` earfcn++instance Prelude.NFData LteLocalId where+  rnf LteLocalId' {..} =+    Prelude.rnf pci `Prelude.seq` Prelude.rnf earfcn++instance Data.ToJSON LteLocalId where+  toJSON LteLocalId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Pci" Data..= pci),+            Prelude.Just ("Earfcn" Data..= earfcn)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LteNmrObj.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.IoTWireless.Types.LteNmrObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LteNmrObj 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++-- | LTE object for network measurement reports.+--+-- /See:/ 'newLteNmrObj' smart constructor.+data LteNmrObj = LteNmrObj'+  { -- | Signal power of the reference signal received, measured in dBm+    -- (decibel-milliwatts).+    rsrp :: Prelude.Maybe Prelude.Int,+    -- | Signal quality of the reference Signal received, measured in decibels+    -- (dB).+    rsrq :: Prelude.Maybe Prelude.Double,+    -- | Physical cell ID.+    pci :: Prelude.Natural,+    -- | E-UTRA (Evolved universal terrestrial Radio Access) absolute radio+    -- frequency channel Number (EARFCN).+    earfcn :: Prelude.Natural,+    -- | E-UTRAN (Evolved Universal Terrestrial Radio Access Network) cell global+    -- identifier (EUTRANCID).+    eutranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LteNmrObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rsrp', 'lteNmrObj_rsrp' - Signal power of the reference signal received, measured in dBm+-- (decibel-milliwatts).+--+-- 'rsrq', 'lteNmrObj_rsrq' - Signal quality of the reference Signal received, measured in decibels+-- (dB).+--+-- 'pci', 'lteNmrObj_pci' - Physical cell ID.+--+-- 'earfcn', 'lteNmrObj_earfcn' - E-UTRA (Evolved universal terrestrial Radio Access) absolute radio+-- frequency channel Number (EARFCN).+--+-- 'eutranCid', 'lteNmrObj_eutranCid' - E-UTRAN (Evolved Universal Terrestrial Radio Access Network) cell global+-- identifier (EUTRANCID).+newLteNmrObj ::+  -- | 'pci'+  Prelude.Natural ->+  -- | 'earfcn'+  Prelude.Natural ->+  -- | 'eutranCid'+  Prelude.Natural ->+  LteNmrObj+newLteNmrObj pPci_ pEarfcn_ pEutranCid_ =+  LteNmrObj'+    { rsrp = Prelude.Nothing,+      rsrq = Prelude.Nothing,+      pci = pPci_,+      earfcn = pEarfcn_,+      eutranCid = pEutranCid_+    }++-- | Signal power of the reference signal received, measured in dBm+-- (decibel-milliwatts).+lteNmrObj_rsrp :: Lens.Lens' LteNmrObj (Prelude.Maybe Prelude.Int)+lteNmrObj_rsrp = Lens.lens (\LteNmrObj' {rsrp} -> rsrp) (\s@LteNmrObj' {} a -> s {rsrp = a} :: LteNmrObj)++-- | Signal quality of the reference Signal received, measured in decibels+-- (dB).+lteNmrObj_rsrq :: Lens.Lens' LteNmrObj (Prelude.Maybe Prelude.Double)+lteNmrObj_rsrq = Lens.lens (\LteNmrObj' {rsrq} -> rsrq) (\s@LteNmrObj' {} a -> s {rsrq = a} :: LteNmrObj)++-- | Physical cell ID.+lteNmrObj_pci :: Lens.Lens' LteNmrObj Prelude.Natural+lteNmrObj_pci = Lens.lens (\LteNmrObj' {pci} -> pci) (\s@LteNmrObj' {} a -> s {pci = a} :: LteNmrObj)++-- | E-UTRA (Evolved universal terrestrial Radio Access) absolute radio+-- frequency channel Number (EARFCN).+lteNmrObj_earfcn :: Lens.Lens' LteNmrObj Prelude.Natural+lteNmrObj_earfcn = Lens.lens (\LteNmrObj' {earfcn} -> earfcn) (\s@LteNmrObj' {} a -> s {earfcn = a} :: LteNmrObj)++-- | E-UTRAN (Evolved Universal Terrestrial Radio Access Network) cell global+-- identifier (EUTRANCID).+lteNmrObj_eutranCid :: Lens.Lens' LteNmrObj Prelude.Natural+lteNmrObj_eutranCid = Lens.lens (\LteNmrObj' {eutranCid} -> eutranCid) (\s@LteNmrObj' {} a -> s {eutranCid = a} :: LteNmrObj)++instance Prelude.Hashable LteNmrObj where+  hashWithSalt _salt LteNmrObj' {..} =+    _salt+      `Prelude.hashWithSalt` rsrp+      `Prelude.hashWithSalt` rsrq+      `Prelude.hashWithSalt` pci+      `Prelude.hashWithSalt` earfcn+      `Prelude.hashWithSalt` eutranCid++instance Prelude.NFData LteNmrObj where+  rnf LteNmrObj' {..} =+    Prelude.rnf rsrp+      `Prelude.seq` Prelude.rnf rsrq+      `Prelude.seq` Prelude.rnf pci+      `Prelude.seq` Prelude.rnf earfcn+      `Prelude.seq` Prelude.rnf eutranCid++instance Data.ToJSON LteNmrObj where+  toJSON LteNmrObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Rsrp" Data..=) Prelude.<$> rsrp,+            ("Rsrq" Data..=) Prelude.<$> rsrq,+            Prelude.Just ("Pci" Data..= pci),+            Prelude.Just ("Earfcn" Data..= earfcn),+            Prelude.Just ("EutranCid" Data..= eutranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/LteObj.hs view
@@ -0,0 +1,200 @@+{-# 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.IoTWireless.Types.LteObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.LteObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LteLocalId+import Amazonka.IoTWireless.Types.LteNmrObj+import qualified Amazonka.Prelude as Prelude++-- | LTE object.+--+-- /See:/ 'newLteObj' smart constructor.+data LteObj = LteObj'+  { -- | LTE local identification (local ID) information.+    lteLocalId :: Prelude.Maybe LteLocalId,+    -- | LTE object for network measurement reports.+    lteNmr :: Prelude.Maybe (Prelude.NonEmpty LteNmrObj),+    -- | LTE timing advance.+    lteTimingAdvance :: Prelude.Maybe Prelude.Natural,+    -- | Parameter that determines whether the LTE object is capable of+    -- supporting NR (new radio).+    nrCapable :: Prelude.Maybe Prelude.Bool,+    -- | Signal power of the reference signal received, measured in dBm+    -- (decibel-milliwatts).+    rsrp :: Prelude.Maybe Prelude.Int,+    -- | Signal quality of the reference Signal received, measured in decibels+    -- (dB).+    rsrq :: Prelude.Maybe Prelude.Double,+    -- | LTE tracking area code.+    tac :: Prelude.Maybe Prelude.Natural,+    -- | Mobile Country Code.+    mcc :: Prelude.Natural,+    -- | Mobile Network Code.+    mnc :: Prelude.Natural,+    -- | E-UTRAN (Evolved Universal Terrestrial Radio Access Network) Cell Global+    -- Identifier.+    eutranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LteObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lteLocalId', 'lteObj_lteLocalId' - LTE local identification (local ID) information.+--+-- 'lteNmr', 'lteObj_lteNmr' - LTE object for network measurement reports.+--+-- 'lteTimingAdvance', 'lteObj_lteTimingAdvance' - LTE timing advance.+--+-- 'nrCapable', 'lteObj_nrCapable' - Parameter that determines whether the LTE object is capable of+-- supporting NR (new radio).+--+-- 'rsrp', 'lteObj_rsrp' - Signal power of the reference signal received, measured in dBm+-- (decibel-milliwatts).+--+-- 'rsrq', 'lteObj_rsrq' - Signal quality of the reference Signal received, measured in decibels+-- (dB).+--+-- 'tac', 'lteObj_tac' - LTE tracking area code.+--+-- 'mcc', 'lteObj_mcc' - Mobile Country Code.+--+-- 'mnc', 'lteObj_mnc' - Mobile Network Code.+--+-- 'eutranCid', 'lteObj_eutranCid' - E-UTRAN (Evolved Universal Terrestrial Radio Access Network) Cell Global+-- Identifier.+newLteObj ::+  -- | 'mcc'+  Prelude.Natural ->+  -- | 'mnc'+  Prelude.Natural ->+  -- | 'eutranCid'+  Prelude.Natural ->+  LteObj+newLteObj pMcc_ pMnc_ pEutranCid_ =+  LteObj'+    { lteLocalId = Prelude.Nothing,+      lteNmr = Prelude.Nothing,+      lteTimingAdvance = Prelude.Nothing,+      nrCapable = Prelude.Nothing,+      rsrp = Prelude.Nothing,+      rsrq = Prelude.Nothing,+      tac = Prelude.Nothing,+      mcc = pMcc_,+      mnc = pMnc_,+      eutranCid = pEutranCid_+    }++-- | LTE local identification (local ID) information.+lteObj_lteLocalId :: Lens.Lens' LteObj (Prelude.Maybe LteLocalId)+lteObj_lteLocalId = Lens.lens (\LteObj' {lteLocalId} -> lteLocalId) (\s@LteObj' {} a -> s {lteLocalId = a} :: LteObj)++-- | LTE object for network measurement reports.+lteObj_lteNmr :: Lens.Lens' LteObj (Prelude.Maybe (Prelude.NonEmpty LteNmrObj))+lteObj_lteNmr = Lens.lens (\LteObj' {lteNmr} -> lteNmr) (\s@LteObj' {} a -> s {lteNmr = a} :: LteObj) Prelude.. Lens.mapping Lens.coerced++-- | LTE timing advance.+lteObj_lteTimingAdvance :: Lens.Lens' LteObj (Prelude.Maybe Prelude.Natural)+lteObj_lteTimingAdvance = Lens.lens (\LteObj' {lteTimingAdvance} -> lteTimingAdvance) (\s@LteObj' {} a -> s {lteTimingAdvance = a} :: LteObj)++-- | Parameter that determines whether the LTE object is capable of+-- supporting NR (new radio).+lteObj_nrCapable :: Lens.Lens' LteObj (Prelude.Maybe Prelude.Bool)+lteObj_nrCapable = Lens.lens (\LteObj' {nrCapable} -> nrCapable) (\s@LteObj' {} a -> s {nrCapable = a} :: LteObj)++-- | Signal power of the reference signal received, measured in dBm+-- (decibel-milliwatts).+lteObj_rsrp :: Lens.Lens' LteObj (Prelude.Maybe Prelude.Int)+lteObj_rsrp = Lens.lens (\LteObj' {rsrp} -> rsrp) (\s@LteObj' {} a -> s {rsrp = a} :: LteObj)++-- | Signal quality of the reference Signal received, measured in decibels+-- (dB).+lteObj_rsrq :: Lens.Lens' LteObj (Prelude.Maybe Prelude.Double)+lteObj_rsrq = Lens.lens (\LteObj' {rsrq} -> rsrq) (\s@LteObj' {} a -> s {rsrq = a} :: LteObj)++-- | LTE tracking area code.+lteObj_tac :: Lens.Lens' LteObj (Prelude.Maybe Prelude.Natural)+lteObj_tac = Lens.lens (\LteObj' {tac} -> tac) (\s@LteObj' {} a -> s {tac = a} :: LteObj)++-- | Mobile Country Code.+lteObj_mcc :: Lens.Lens' LteObj Prelude.Natural+lteObj_mcc = Lens.lens (\LteObj' {mcc} -> mcc) (\s@LteObj' {} a -> s {mcc = a} :: LteObj)++-- | Mobile Network Code.+lteObj_mnc :: Lens.Lens' LteObj Prelude.Natural+lteObj_mnc = Lens.lens (\LteObj' {mnc} -> mnc) (\s@LteObj' {} a -> s {mnc = a} :: LteObj)++-- | E-UTRAN (Evolved Universal Terrestrial Radio Access Network) Cell Global+-- Identifier.+lteObj_eutranCid :: Lens.Lens' LteObj Prelude.Natural+lteObj_eutranCid = Lens.lens (\LteObj' {eutranCid} -> eutranCid) (\s@LteObj' {} a -> s {eutranCid = a} :: LteObj)++instance Prelude.Hashable LteObj where+  hashWithSalt _salt LteObj' {..} =+    _salt+      `Prelude.hashWithSalt` lteLocalId+      `Prelude.hashWithSalt` lteNmr+      `Prelude.hashWithSalt` lteTimingAdvance+      `Prelude.hashWithSalt` nrCapable+      `Prelude.hashWithSalt` rsrp+      `Prelude.hashWithSalt` rsrq+      `Prelude.hashWithSalt` tac+      `Prelude.hashWithSalt` mcc+      `Prelude.hashWithSalt` mnc+      `Prelude.hashWithSalt` eutranCid++instance Prelude.NFData LteObj where+  rnf LteObj' {..} =+    Prelude.rnf lteLocalId+      `Prelude.seq` Prelude.rnf lteNmr+      `Prelude.seq` Prelude.rnf lteTimingAdvance+      `Prelude.seq` Prelude.rnf nrCapable+      `Prelude.seq` Prelude.rnf rsrp+      `Prelude.seq` Prelude.rnf rsrq+      `Prelude.seq` Prelude.rnf tac+      `Prelude.seq` Prelude.rnf mcc+      `Prelude.seq` Prelude.rnf mnc+      `Prelude.seq` Prelude.rnf eutranCid++instance Data.ToJSON LteObj where+  toJSON LteObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LteLocalId" Data..=) Prelude.<$> lteLocalId,+            ("LteNmr" Data..=) Prelude.<$> lteNmr,+            ("LteTimingAdvance" Data..=)+              Prelude.<$> lteTimingAdvance,+            ("NrCapable" Data..=) Prelude.<$> nrCapable,+            ("Rsrp" Data..=) Prelude.<$> rsrp,+            ("Rsrq" Data..=) Prelude.<$> rsrq,+            ("Tac" Data..=) Prelude.<$> tac,+            Prelude.Just ("Mcc" Data..= mcc),+            Prelude.Just ("Mnc" Data..= mnc),+            Prelude.Just ("EutranCid" Data..= eutranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/MessageDeliveryStatusEventConfiguration.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.IoTWireless.Types.MessageDeliveryStatusEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MessageDeliveryStatusEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Message delivery status event configuration object for enabling and+-- disabling relevant topics.+--+-- /See:/ 'newMessageDeliveryStatusEventConfiguration' smart constructor.+data MessageDeliveryStatusEventConfiguration = MessageDeliveryStatusEventConfiguration'+  { sidewalk :: Prelude.Maybe SidewalkEventNotificationConfigurations,+    -- | Denotes whether the wireless device ID message delivery status event+    -- topic is enabled or disabled.+    wirelessDeviceIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MessageDeliveryStatusEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'messageDeliveryStatusEventConfiguration_sidewalk' - Undocumented member.+--+-- 'wirelessDeviceIdEventTopic', 'messageDeliveryStatusEventConfiguration_wirelessDeviceIdEventTopic' - Denotes whether the wireless device ID message delivery status event+-- topic is enabled or disabled.+newMessageDeliveryStatusEventConfiguration ::+  MessageDeliveryStatusEventConfiguration+newMessageDeliveryStatusEventConfiguration =+  MessageDeliveryStatusEventConfiguration'+    { sidewalk =+        Prelude.Nothing,+      wirelessDeviceIdEventTopic =+        Prelude.Nothing+    }++-- | Undocumented member.+messageDeliveryStatusEventConfiguration_sidewalk :: Lens.Lens' MessageDeliveryStatusEventConfiguration (Prelude.Maybe SidewalkEventNotificationConfigurations)+messageDeliveryStatusEventConfiguration_sidewalk = Lens.lens (\MessageDeliveryStatusEventConfiguration' {sidewalk} -> sidewalk) (\s@MessageDeliveryStatusEventConfiguration' {} a -> s {sidewalk = a} :: MessageDeliveryStatusEventConfiguration)++-- | Denotes whether the wireless device ID message delivery status event+-- topic is enabled or disabled.+messageDeliveryStatusEventConfiguration_wirelessDeviceIdEventTopic :: Lens.Lens' MessageDeliveryStatusEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+messageDeliveryStatusEventConfiguration_wirelessDeviceIdEventTopic = Lens.lens (\MessageDeliveryStatusEventConfiguration' {wirelessDeviceIdEventTopic} -> wirelessDeviceIdEventTopic) (\s@MessageDeliveryStatusEventConfiguration' {} a -> s {wirelessDeviceIdEventTopic = a} :: MessageDeliveryStatusEventConfiguration)++instance+  Data.FromJSON+    MessageDeliveryStatusEventConfiguration+  where+  parseJSON =+    Data.withObject+      "MessageDeliveryStatusEventConfiguration"+      ( \x ->+          MessageDeliveryStatusEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+            Prelude.<*> (x Data..:? "WirelessDeviceIdEventTopic")+      )++instance+  Prelude.Hashable+    MessageDeliveryStatusEventConfiguration+  where+  hashWithSalt+    _salt+    MessageDeliveryStatusEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sidewalk+        `Prelude.hashWithSalt` wirelessDeviceIdEventTopic++instance+  Prelude.NFData+    MessageDeliveryStatusEventConfiguration+  where+  rnf MessageDeliveryStatusEventConfiguration' {..} =+    Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf wirelessDeviceIdEventTopic++instance+  Data.ToJSON+    MessageDeliveryStatusEventConfiguration+  where+  toJSON MessageDeliveryStatusEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Sidewalk" Data..=) Prelude.<$> sidewalk,+            ("WirelessDeviceIdEventTopic" Data..=)+              Prelude.<$> wirelessDeviceIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/MessageDeliveryStatusResourceTypeEventConfiguration.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.IoTWireless.Types.MessageDeliveryStatusResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MessageDeliveryStatusResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Message delivery status resource type event configuration object for+-- enabling or disabling relevant topic.+--+-- /See:/ 'newMessageDeliveryStatusResourceTypeEventConfiguration' smart constructor.+data MessageDeliveryStatusResourceTypeEventConfiguration = MessageDeliveryStatusResourceTypeEventConfiguration'+  { sidewalk :: Prelude.Maybe SidewalkResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MessageDeliveryStatusResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'messageDeliveryStatusResourceTypeEventConfiguration_sidewalk' - Undocumented member.+newMessageDeliveryStatusResourceTypeEventConfiguration ::+  MessageDeliveryStatusResourceTypeEventConfiguration+newMessageDeliveryStatusResourceTypeEventConfiguration =+  MessageDeliveryStatusResourceTypeEventConfiguration'+    { sidewalk =+        Prelude.Nothing+    }++-- | Undocumented member.+messageDeliveryStatusResourceTypeEventConfiguration_sidewalk :: Lens.Lens' MessageDeliveryStatusResourceTypeEventConfiguration (Prelude.Maybe SidewalkResourceTypeEventConfiguration)+messageDeliveryStatusResourceTypeEventConfiguration_sidewalk = Lens.lens (\MessageDeliveryStatusResourceTypeEventConfiguration' {sidewalk} -> sidewalk) (\s@MessageDeliveryStatusResourceTypeEventConfiguration' {} a -> s {sidewalk = a} :: MessageDeliveryStatusResourceTypeEventConfiguration)++instance+  Data.FromJSON+    MessageDeliveryStatusResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "MessageDeliveryStatusResourceTypeEventConfiguration"+      ( \x ->+          MessageDeliveryStatusResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+      )++instance+  Prelude.Hashable+    MessageDeliveryStatusResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    MessageDeliveryStatusResourceTypeEventConfiguration' {..} =+      _salt `Prelude.hashWithSalt` sidewalk++instance+  Prelude.NFData+    MessageDeliveryStatusResourceTypeEventConfiguration+  where+  rnf+    MessageDeliveryStatusResourceTypeEventConfiguration' {..} =+      Prelude.rnf sidewalk++instance+  Data.ToJSON+    MessageDeliveryStatusResourceTypeEventConfiguration+  where+  toJSON+    MessageDeliveryStatusResourceTypeEventConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [("Sidewalk" Data..=) Prelude.<$> sidewalk]+        )
+ gen/Amazonka/IoTWireless/Types/MessageType.hs view
@@ -0,0 +1,83 @@+{-# 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.IoTWireless.Types.MessageType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MessageType+  ( MessageType+      ( ..,+        MessageType_CUSTOM_COMMAND_ID_GET,+        MessageType_CUSTOM_COMMAND_ID_NOTIFY,+        MessageType_CUSTOM_COMMAND_ID_RESP,+        MessageType_CUSTOM_COMMAND_ID_SET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk device message type. Default value is+-- @CUSTOM_COMMAND_ID_NOTIFY@.+newtype MessageType = MessageType'+  { fromMessageType ::+      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 MessageType_CUSTOM_COMMAND_ID_GET :: MessageType+pattern MessageType_CUSTOM_COMMAND_ID_GET = MessageType' "CUSTOM_COMMAND_ID_GET"++pattern MessageType_CUSTOM_COMMAND_ID_NOTIFY :: MessageType+pattern MessageType_CUSTOM_COMMAND_ID_NOTIFY = MessageType' "CUSTOM_COMMAND_ID_NOTIFY"++pattern MessageType_CUSTOM_COMMAND_ID_RESP :: MessageType+pattern MessageType_CUSTOM_COMMAND_ID_RESP = MessageType' "CUSTOM_COMMAND_ID_RESP"++pattern MessageType_CUSTOM_COMMAND_ID_SET :: MessageType+pattern MessageType_CUSTOM_COMMAND_ID_SET = MessageType' "CUSTOM_COMMAND_ID_SET"++{-# COMPLETE+  MessageType_CUSTOM_COMMAND_ID_GET,+  MessageType_CUSTOM_COMMAND_ID_NOTIFY,+  MessageType_CUSTOM_COMMAND_ID_RESP,+  MessageType_CUSTOM_COMMAND_ID_SET,+  MessageType'+  #-}
+ gen/Amazonka/IoTWireless/Types/MulticastGroup.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.IoTWireless.Types.MulticastGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MulticastGroup 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 multicast group.+--+-- /See:/ 'newMulticastGroup' smart constructor.+data MulticastGroup = MulticastGroup'+  { arn :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'multicastGroup_arn' - Undocumented member.+--+-- 'id', 'multicastGroup_id' - Undocumented member.+--+-- 'name', 'multicastGroup_name' - Undocumented member.+newMulticastGroup ::+  MulticastGroup+newMulticastGroup =+  MulticastGroup'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | Undocumented member.+multicastGroup_arn :: Lens.Lens' MulticastGroup (Prelude.Maybe Prelude.Text)+multicastGroup_arn = Lens.lens (\MulticastGroup' {arn} -> arn) (\s@MulticastGroup' {} a -> s {arn = a} :: MulticastGroup)++-- | Undocumented member.+multicastGroup_id :: Lens.Lens' MulticastGroup (Prelude.Maybe Prelude.Text)+multicastGroup_id = Lens.lens (\MulticastGroup' {id} -> id) (\s@MulticastGroup' {} a -> s {id = a} :: MulticastGroup)++-- | Undocumented member.+multicastGroup_name :: Lens.Lens' MulticastGroup (Prelude.Maybe Prelude.Text)+multicastGroup_name = Lens.lens (\MulticastGroup' {name} -> name) (\s@MulticastGroup' {} a -> s {name = a} :: MulticastGroup)++instance Data.FromJSON MulticastGroup where+  parseJSON =+    Data.withObject+      "MulticastGroup"+      ( \x ->+          MulticastGroup'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable MulticastGroup where+  hashWithSalt _salt MulticastGroup' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData MulticastGroup where+  rnf MulticastGroup' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/MulticastGroupByFuotaTask.hs view
@@ -0,0 +1,67 @@+{-# 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.IoTWireless.Types.MulticastGroupByFuotaTask+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MulticastGroupByFuotaTask 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 multicast group that is associated with a FUOTA task.+--+-- /See:/ 'newMulticastGroupByFuotaTask' smart constructor.+data MulticastGroupByFuotaTask = MulticastGroupByFuotaTask'+  { id :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MulticastGroupByFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'multicastGroupByFuotaTask_id' - Undocumented member.+newMulticastGroupByFuotaTask ::+  MulticastGroupByFuotaTask+newMulticastGroupByFuotaTask =+  MulticastGroupByFuotaTask' {id = Prelude.Nothing}++-- | Undocumented member.+multicastGroupByFuotaTask_id :: Lens.Lens' MulticastGroupByFuotaTask (Prelude.Maybe Prelude.Text)+multicastGroupByFuotaTask_id = Lens.lens (\MulticastGroupByFuotaTask' {id} -> id) (\s@MulticastGroupByFuotaTask' {} a -> s {id = a} :: MulticastGroupByFuotaTask)++instance Data.FromJSON MulticastGroupByFuotaTask where+  parseJSON =+    Data.withObject+      "MulticastGroupByFuotaTask"+      ( \x ->+          MulticastGroupByFuotaTask'+            Prelude.<$> (x Data..:? "Id")+      )++instance Prelude.Hashable MulticastGroupByFuotaTask where+  hashWithSalt _salt MulticastGroupByFuotaTask' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData MulticastGroupByFuotaTask where+  rnf MulticastGroupByFuotaTask' {..} = Prelude.rnf id
+ gen/Amazonka/IoTWireless/Types/MulticastWirelessMetadata.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.IoTWireless.Types.MulticastWirelessMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.MulticastWirelessMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANMulticastMetadata+import qualified Amazonka.Prelude as Prelude++-- | Wireless metadata that is to be sent to multicast group.+--+-- /See:/ 'newMulticastWirelessMetadata' smart constructor.+data MulticastWirelessMetadata = MulticastWirelessMetadata'+  { loRaWAN :: Prelude.Maybe LoRaWANMulticastMetadata+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MulticastWirelessMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'multicastWirelessMetadata_loRaWAN' - Undocumented member.+newMulticastWirelessMetadata ::+  MulticastWirelessMetadata+newMulticastWirelessMetadata =+  MulticastWirelessMetadata'+    { loRaWAN =+        Prelude.Nothing+    }++-- | Undocumented member.+multicastWirelessMetadata_loRaWAN :: Lens.Lens' MulticastWirelessMetadata (Prelude.Maybe LoRaWANMulticastMetadata)+multicastWirelessMetadata_loRaWAN = Lens.lens (\MulticastWirelessMetadata' {loRaWAN} -> loRaWAN) (\s@MulticastWirelessMetadata' {} a -> s {loRaWAN = a} :: MulticastWirelessMetadata)++instance Prelude.Hashable MulticastWirelessMetadata where+  hashWithSalt _salt MulticastWirelessMetadata' {..} =+    _salt `Prelude.hashWithSalt` loRaWAN++instance Prelude.NFData MulticastWirelessMetadata where+  rnf MulticastWirelessMetadata' {..} =+    Prelude.rnf loRaWAN++instance Data.ToJSON MulticastWirelessMetadata where+  toJSON MulticastWirelessMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [("LoRaWAN" Data..=) Prelude.<$> loRaWAN]+      )
+ gen/Amazonka/IoTWireless/Types/NetworkAnalyzerConfigurations.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.NetworkAnalyzerConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.NetworkAnalyzerConfigurations 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++-- | Network analyzer configurations.+--+-- /See:/ 'newNetworkAnalyzerConfigurations' smart constructor.+data NetworkAnalyzerConfigurations = NetworkAnalyzerConfigurations'+  { -- | The Amazon Resource Name of the new resource.+    arn :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkAnalyzerConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'networkAnalyzerConfigurations_arn' - The Amazon Resource Name of the new resource.+--+-- 'name', 'networkAnalyzerConfigurations_name' - Undocumented member.+newNetworkAnalyzerConfigurations ::+  NetworkAnalyzerConfigurations+newNetworkAnalyzerConfigurations =+  NetworkAnalyzerConfigurations'+    { arn =+        Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name of the new resource.+networkAnalyzerConfigurations_arn :: Lens.Lens' NetworkAnalyzerConfigurations (Prelude.Maybe Prelude.Text)+networkAnalyzerConfigurations_arn = Lens.lens (\NetworkAnalyzerConfigurations' {arn} -> arn) (\s@NetworkAnalyzerConfigurations' {} a -> s {arn = a} :: NetworkAnalyzerConfigurations)++-- | Undocumented member.+networkAnalyzerConfigurations_name :: Lens.Lens' NetworkAnalyzerConfigurations (Prelude.Maybe Prelude.Text)+networkAnalyzerConfigurations_name = Lens.lens (\NetworkAnalyzerConfigurations' {name} -> name) (\s@NetworkAnalyzerConfigurations' {} a -> s {name = a} :: NetworkAnalyzerConfigurations)++instance Data.FromJSON NetworkAnalyzerConfigurations where+  parseJSON =+    Data.withObject+      "NetworkAnalyzerConfigurations"+      ( \x ->+          NetworkAnalyzerConfigurations'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Name")+      )++instance+  Prelude.Hashable+    NetworkAnalyzerConfigurations+  where+  hashWithSalt _salt NetworkAnalyzerConfigurations' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name++instance Prelude.NFData NetworkAnalyzerConfigurations where+  rnf NetworkAnalyzerConfigurations' {..} =+    Prelude.rnf arn `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/OtaaV1_0_x.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.IoTWireless.Types.OtaaV1_0_x+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.OtaaV1_0_x 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++-- | OTAA device object for v1.0.x+--+-- /See:/ 'newOtaaV1_0_x' smart constructor.+data OtaaV1_0_x = OtaaV1_0_x'+  { -- | The AppEUI value.+    appEui :: Prelude.Maybe Prelude.Text,+    -- | The AppKey value.+    appKey :: Prelude.Maybe Prelude.Text,+    -- | The GenAppKey value.+    genAppKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OtaaV1_0_x' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appEui', 'otaaV1_0_x_appEui' - The AppEUI value.+--+-- 'appKey', 'otaaV1_0_x_appKey' - The AppKey value.+--+-- 'genAppKey', 'otaaV1_0_x_genAppKey' - The GenAppKey value.+newOtaaV1_0_x ::+  OtaaV1_0_x+newOtaaV1_0_x =+  OtaaV1_0_x'+    { appEui = Prelude.Nothing,+      appKey = Prelude.Nothing,+      genAppKey = Prelude.Nothing+    }++-- | The AppEUI value.+otaaV1_0_x_appEui :: Lens.Lens' OtaaV1_0_x (Prelude.Maybe Prelude.Text)+otaaV1_0_x_appEui = Lens.lens (\OtaaV1_0_x' {appEui} -> appEui) (\s@OtaaV1_0_x' {} a -> s {appEui = a} :: OtaaV1_0_x)++-- | The AppKey value.+otaaV1_0_x_appKey :: Lens.Lens' OtaaV1_0_x (Prelude.Maybe Prelude.Text)+otaaV1_0_x_appKey = Lens.lens (\OtaaV1_0_x' {appKey} -> appKey) (\s@OtaaV1_0_x' {} a -> s {appKey = a} :: OtaaV1_0_x)++-- | The GenAppKey value.+otaaV1_0_x_genAppKey :: Lens.Lens' OtaaV1_0_x (Prelude.Maybe Prelude.Text)+otaaV1_0_x_genAppKey = Lens.lens (\OtaaV1_0_x' {genAppKey} -> genAppKey) (\s@OtaaV1_0_x' {} a -> s {genAppKey = a} :: OtaaV1_0_x)++instance Data.FromJSON OtaaV1_0_x where+  parseJSON =+    Data.withObject+      "OtaaV1_0_x"+      ( \x ->+          OtaaV1_0_x'+            Prelude.<$> (x Data..:? "AppEui")+            Prelude.<*> (x Data..:? "AppKey")+            Prelude.<*> (x Data..:? "GenAppKey")+      )++instance Prelude.Hashable OtaaV1_0_x where+  hashWithSalt _salt OtaaV1_0_x' {..} =+    _salt+      `Prelude.hashWithSalt` appEui+      `Prelude.hashWithSalt` appKey+      `Prelude.hashWithSalt` genAppKey++instance Prelude.NFData OtaaV1_0_x where+  rnf OtaaV1_0_x' {..} =+    Prelude.rnf appEui+      `Prelude.seq` Prelude.rnf appKey+      `Prelude.seq` Prelude.rnf genAppKey++instance Data.ToJSON OtaaV1_0_x where+  toJSON OtaaV1_0_x' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AppEui" Data..=) Prelude.<$> appEui,+            ("AppKey" Data..=) Prelude.<$> appKey,+            ("GenAppKey" Data..=) Prelude.<$> genAppKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/OtaaV1_1.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.IoTWireless.Types.OtaaV1_1+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.OtaaV1_1 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++-- | OTAA device object for v1.1+--+-- /See:/ 'newOtaaV1_1' smart constructor.+data OtaaV1_1 = OtaaV1_1'+  { -- | The AppKey value.+    appKey :: Prelude.Maybe Prelude.Text,+    -- | The JoinEUI value.+    joinEui :: Prelude.Maybe Prelude.Text,+    -- | The NwkKey value.+    nwkKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OtaaV1_1' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appKey', 'otaaV1_1_appKey' - The AppKey value.+--+-- 'joinEui', 'otaaV1_1_joinEui' - The JoinEUI value.+--+-- 'nwkKey', 'otaaV1_1_nwkKey' - The NwkKey value.+newOtaaV1_1 ::+  OtaaV1_1+newOtaaV1_1 =+  OtaaV1_1'+    { appKey = Prelude.Nothing,+      joinEui = Prelude.Nothing,+      nwkKey = Prelude.Nothing+    }++-- | The AppKey value.+otaaV1_1_appKey :: Lens.Lens' OtaaV1_1 (Prelude.Maybe Prelude.Text)+otaaV1_1_appKey = Lens.lens (\OtaaV1_1' {appKey} -> appKey) (\s@OtaaV1_1' {} a -> s {appKey = a} :: OtaaV1_1)++-- | The JoinEUI value.+otaaV1_1_joinEui :: Lens.Lens' OtaaV1_1 (Prelude.Maybe Prelude.Text)+otaaV1_1_joinEui = Lens.lens (\OtaaV1_1' {joinEui} -> joinEui) (\s@OtaaV1_1' {} a -> s {joinEui = a} :: OtaaV1_1)++-- | The NwkKey value.+otaaV1_1_nwkKey :: Lens.Lens' OtaaV1_1 (Prelude.Maybe Prelude.Text)+otaaV1_1_nwkKey = Lens.lens (\OtaaV1_1' {nwkKey} -> nwkKey) (\s@OtaaV1_1' {} a -> s {nwkKey = a} :: OtaaV1_1)++instance Data.FromJSON OtaaV1_1 where+  parseJSON =+    Data.withObject+      "OtaaV1_1"+      ( \x ->+          OtaaV1_1'+            Prelude.<$> (x Data..:? "AppKey")+            Prelude.<*> (x Data..:? "JoinEui")+            Prelude.<*> (x Data..:? "NwkKey")+      )++instance Prelude.Hashable OtaaV1_1 where+  hashWithSalt _salt OtaaV1_1' {..} =+    _salt+      `Prelude.hashWithSalt` appKey+      `Prelude.hashWithSalt` joinEui+      `Prelude.hashWithSalt` nwkKey++instance Prelude.NFData OtaaV1_1 where+  rnf OtaaV1_1' {..} =+    Prelude.rnf appKey+      `Prelude.seq` Prelude.rnf joinEui+      `Prelude.seq` Prelude.rnf nwkKey++instance Data.ToJSON OtaaV1_1 where+  toJSON OtaaV1_1' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AppKey" Data..=) Prelude.<$> appKey,+            ("JoinEui" Data..=) Prelude.<$> joinEui,+            ("NwkKey" Data..=) Prelude.<$> nwkKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/ParticipatingGateways.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.ParticipatingGateways+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ParticipatingGateways where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.DownlinkMode+import Amazonka.IoTWireless.Types.GatewayListItem+import qualified Amazonka.Prelude as Prelude++-- | Specify the list of gateways to which you want to send downlink data+-- traffic when the wireless device is running in class B or class C mode.+--+-- /See:/ 'newParticipatingGateways' smart constructor.+data ParticipatingGateways = ParticipatingGateways'+  { -- | Indicates whether to send the downlink message in sequential mode or+    -- concurrent mode, or to use only the chosen gateways from the previous+    -- uplink message transmission.+    downlinkMode :: DownlinkMode,+    -- | The list of gateways that you want to use for sending the downlink data+    -- traffic.+    gatewayList :: [GatewayListItem],+    -- | The duration of time for which AWS IoT Core for LoRaWAN will wait before+    -- transmitting the payload to the next gateway.+    transmissionInterval :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParticipatingGateways' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'downlinkMode', 'participatingGateways_downlinkMode' - Indicates whether to send the downlink message in sequential mode or+-- concurrent mode, or to use only the chosen gateways from the previous+-- uplink message transmission.+--+-- 'gatewayList', 'participatingGateways_gatewayList' - The list of gateways that you want to use for sending the downlink data+-- traffic.+--+-- 'transmissionInterval', 'participatingGateways_transmissionInterval' - The duration of time for which AWS IoT Core for LoRaWAN will wait before+-- transmitting the payload to the next gateway.+newParticipatingGateways ::+  -- | 'downlinkMode'+  DownlinkMode ->+  -- | 'transmissionInterval'+  Prelude.Natural ->+  ParticipatingGateways+newParticipatingGateways+  pDownlinkMode_+  pTransmissionInterval_ =+    ParticipatingGateways'+      { downlinkMode =+          pDownlinkMode_,+        gatewayList = Prelude.mempty,+        transmissionInterval = pTransmissionInterval_+      }++-- | Indicates whether to send the downlink message in sequential mode or+-- concurrent mode, or to use only the chosen gateways from the previous+-- uplink message transmission.+participatingGateways_downlinkMode :: Lens.Lens' ParticipatingGateways DownlinkMode+participatingGateways_downlinkMode = Lens.lens (\ParticipatingGateways' {downlinkMode} -> downlinkMode) (\s@ParticipatingGateways' {} a -> s {downlinkMode = a} :: ParticipatingGateways)++-- | The list of gateways that you want to use for sending the downlink data+-- traffic.+participatingGateways_gatewayList :: Lens.Lens' ParticipatingGateways [GatewayListItem]+participatingGateways_gatewayList = Lens.lens (\ParticipatingGateways' {gatewayList} -> gatewayList) (\s@ParticipatingGateways' {} a -> s {gatewayList = a} :: ParticipatingGateways) Prelude.. Lens.coerced++-- | The duration of time for which AWS IoT Core for LoRaWAN will wait before+-- transmitting the payload to the next gateway.+participatingGateways_transmissionInterval :: Lens.Lens' ParticipatingGateways Prelude.Natural+participatingGateways_transmissionInterval = Lens.lens (\ParticipatingGateways' {transmissionInterval} -> transmissionInterval) (\s@ParticipatingGateways' {} a -> s {transmissionInterval = a} :: ParticipatingGateways)++instance Data.FromJSON ParticipatingGateways where+  parseJSON =+    Data.withObject+      "ParticipatingGateways"+      ( \x ->+          ParticipatingGateways'+            Prelude.<$> (x Data..: "DownlinkMode")+            Prelude.<*> (x Data..:? "GatewayList" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "TransmissionInterval")+      )++instance Prelude.Hashable ParticipatingGateways where+  hashWithSalt _salt ParticipatingGateways' {..} =+    _salt+      `Prelude.hashWithSalt` downlinkMode+      `Prelude.hashWithSalt` gatewayList+      `Prelude.hashWithSalt` transmissionInterval++instance Prelude.NFData ParticipatingGateways where+  rnf ParticipatingGateways' {..} =+    Prelude.rnf downlinkMode+      `Prelude.seq` Prelude.rnf gatewayList+      `Prelude.seq` Prelude.rnf transmissionInterval++instance Data.ToJSON ParticipatingGateways where+  toJSON ParticipatingGateways' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("DownlinkMode" Data..= downlinkMode),+            Prelude.Just ("GatewayList" Data..= gatewayList),+            Prelude.Just+              ( "TransmissionInterval"+                  Data..= transmissionInterval+              )+          ]+      )
+ gen/Amazonka/IoTWireless/Types/PartnerType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.PartnerType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.PartnerType+  ( PartnerType+      ( ..,+        PartnerType_Sidewalk+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PartnerType = PartnerType'+  { fromPartnerType ::+      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 PartnerType_Sidewalk :: PartnerType+pattern PartnerType_Sidewalk = PartnerType' "Sidewalk"++{-# COMPLETE+  PartnerType_Sidewalk,+  PartnerType'+  #-}
+ gen/Amazonka/IoTWireless/Types/PositionResourceType.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.IoTWireless.Types.PositionResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.PositionResourceType+  ( PositionResourceType+      ( ..,+        PositionResourceType_WirelessDevice,+        PositionResourceType_WirelessGateway+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PositionResourceType = PositionResourceType'+  { fromPositionResourceType ::+      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 PositionResourceType_WirelessDevice :: PositionResourceType+pattern PositionResourceType_WirelessDevice = PositionResourceType' "WirelessDevice"++pattern PositionResourceType_WirelessGateway :: PositionResourceType+pattern PositionResourceType_WirelessGateway = PositionResourceType' "WirelessGateway"++{-# COMPLETE+  PositionResourceType_WirelessDevice,+  PositionResourceType_WirelessGateway,+  PositionResourceType'+  #-}
+ gen/Amazonka/IoTWireless/Types/Positioning.hs view
@@ -0,0 +1,103 @@+{-# 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.IoTWireless.Types.Positioning+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.Positioning 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 FPorts for the position information.+--+-- /See:/ 'newPositioning' smart constructor.+data Positioning = Positioning'+  { clockSync :: Prelude.Maybe Prelude.Natural,+    gnss :: Prelude.Maybe Prelude.Natural,+    stream :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Positioning' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clockSync', 'positioning_clockSync' - Undocumented member.+--+-- 'gnss', 'positioning_gnss' - Undocumented member.+--+-- 'stream', 'positioning_stream' - Undocumented member.+newPositioning ::+  Positioning+newPositioning =+  Positioning'+    { clockSync = Prelude.Nothing,+      gnss = Prelude.Nothing,+      stream = Prelude.Nothing+    }++-- | Undocumented member.+positioning_clockSync :: Lens.Lens' Positioning (Prelude.Maybe Prelude.Natural)+positioning_clockSync = Lens.lens (\Positioning' {clockSync} -> clockSync) (\s@Positioning' {} a -> s {clockSync = a} :: Positioning)++-- | Undocumented member.+positioning_gnss :: Lens.Lens' Positioning (Prelude.Maybe Prelude.Natural)+positioning_gnss = Lens.lens (\Positioning' {gnss} -> gnss) (\s@Positioning' {} a -> s {gnss = a} :: Positioning)++-- | Undocumented member.+positioning_stream :: Lens.Lens' Positioning (Prelude.Maybe Prelude.Natural)+positioning_stream = Lens.lens (\Positioning' {stream} -> stream) (\s@Positioning' {} a -> s {stream = a} :: Positioning)++instance Data.FromJSON Positioning where+  parseJSON =+    Data.withObject+      "Positioning"+      ( \x ->+          Positioning'+            Prelude.<$> (x Data..:? "ClockSync")+            Prelude.<*> (x Data..:? "Gnss")+            Prelude.<*> (x Data..:? "Stream")+      )++instance Prelude.Hashable Positioning where+  hashWithSalt _salt Positioning' {..} =+    _salt+      `Prelude.hashWithSalt` clockSync+      `Prelude.hashWithSalt` gnss+      `Prelude.hashWithSalt` stream++instance Prelude.NFData Positioning where+  rnf Positioning' {..} =+    Prelude.rnf clockSync+      `Prelude.seq` Prelude.rnf gnss+      `Prelude.seq` Prelude.rnf stream++instance Data.ToJSON Positioning where+  toJSON Positioning' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClockSync" Data..=) Prelude.<$> clockSync,+            ("Gnss" Data..=) Prelude.<$> gnss,+            ("Stream" Data..=) Prelude.<$> stream+          ]+      )
+ gen/Amazonka/IoTWireless/Types/PositioningConfigStatus.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.IoTWireless.Types.PositioningConfigStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.PositioningConfigStatus+  ( PositioningConfigStatus+      ( ..,+        PositioningConfigStatus_Disabled,+        PositioningConfigStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PositioningConfigStatus = PositioningConfigStatus'+  { fromPositioningConfigStatus ::+      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 PositioningConfigStatus_Disabled :: PositioningConfigStatus+pattern PositioningConfigStatus_Disabled = PositioningConfigStatus' "Disabled"++pattern PositioningConfigStatus_Enabled :: PositioningConfigStatus+pattern PositioningConfigStatus_Enabled = PositioningConfigStatus' "Enabled"++{-# COMPLETE+  PositioningConfigStatus_Disabled,+  PositioningConfigStatus_Enabled,+  PositioningConfigStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/ProximityEventConfiguration.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.IoTWireless.Types.ProximityEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ProximityEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+import qualified Amazonka.Prelude as Prelude++-- | Proximity event configuration object for enabling and disabling relevant+-- topics.+--+-- /See:/ 'newProximityEventConfiguration' smart constructor.+data ProximityEventConfiguration = ProximityEventConfiguration'+  { -- | Proximity event configuration object for enabling or disabling Sidewalk+    -- related event topics.+    sidewalk :: Prelude.Maybe SidewalkEventNotificationConfigurations,+    -- | Denotes whether the wireless device ID proximity event topic is enabled+    -- or disabled.+    wirelessDeviceIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProximityEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'proximityEventConfiguration_sidewalk' - Proximity event configuration object for enabling or disabling Sidewalk+-- related event topics.+--+-- 'wirelessDeviceIdEventTopic', 'proximityEventConfiguration_wirelessDeviceIdEventTopic' - Denotes whether the wireless device ID proximity event topic is enabled+-- or disabled.+newProximityEventConfiguration ::+  ProximityEventConfiguration+newProximityEventConfiguration =+  ProximityEventConfiguration'+    { sidewalk =+        Prelude.Nothing,+      wirelessDeviceIdEventTopic = Prelude.Nothing+    }++-- | Proximity event configuration object for enabling or disabling Sidewalk+-- related event topics.+proximityEventConfiguration_sidewalk :: Lens.Lens' ProximityEventConfiguration (Prelude.Maybe SidewalkEventNotificationConfigurations)+proximityEventConfiguration_sidewalk = Lens.lens (\ProximityEventConfiguration' {sidewalk} -> sidewalk) (\s@ProximityEventConfiguration' {} a -> s {sidewalk = a} :: ProximityEventConfiguration)++-- | Denotes whether the wireless device ID proximity event topic is enabled+-- or disabled.+proximityEventConfiguration_wirelessDeviceIdEventTopic :: Lens.Lens' ProximityEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+proximityEventConfiguration_wirelessDeviceIdEventTopic = Lens.lens (\ProximityEventConfiguration' {wirelessDeviceIdEventTopic} -> wirelessDeviceIdEventTopic) (\s@ProximityEventConfiguration' {} a -> s {wirelessDeviceIdEventTopic = a} :: ProximityEventConfiguration)++instance Data.FromJSON ProximityEventConfiguration where+  parseJSON =+    Data.withObject+      "ProximityEventConfiguration"+      ( \x ->+          ProximityEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+            Prelude.<*> (x Data..:? "WirelessDeviceIdEventTopic")+      )++instance Prelude.Hashable ProximityEventConfiguration where+  hashWithSalt _salt ProximityEventConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` sidewalk+      `Prelude.hashWithSalt` wirelessDeviceIdEventTopic++instance Prelude.NFData ProximityEventConfiguration where+  rnf ProximityEventConfiguration' {..} =+    Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf wirelessDeviceIdEventTopic++instance Data.ToJSON ProximityEventConfiguration where+  toJSON ProximityEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Sidewalk" Data..=) Prelude.<$> sidewalk,+            ("WirelessDeviceIdEventTopic" Data..=)+              Prelude.<$> wirelessDeviceIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/ProximityResourceTypeEventConfiguration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.ProximityResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ProximityResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Proximity resource type event configuration object for enabling or+-- disabling topic.+--+-- /See:/ 'newProximityResourceTypeEventConfiguration' smart constructor.+data ProximityResourceTypeEventConfiguration = ProximityResourceTypeEventConfiguration'+  { -- | Proximity resource type event configuration object for enabling and+    -- disabling wireless device topic.+    sidewalk :: Prelude.Maybe SidewalkResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProximityResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'proximityResourceTypeEventConfiguration_sidewalk' - Proximity resource type event configuration object for enabling and+-- disabling wireless device topic.+newProximityResourceTypeEventConfiguration ::+  ProximityResourceTypeEventConfiguration+newProximityResourceTypeEventConfiguration =+  ProximityResourceTypeEventConfiguration'+    { sidewalk =+        Prelude.Nothing+    }++-- | Proximity resource type event configuration object for enabling and+-- disabling wireless device topic.+proximityResourceTypeEventConfiguration_sidewalk :: Lens.Lens' ProximityResourceTypeEventConfiguration (Prelude.Maybe SidewalkResourceTypeEventConfiguration)+proximityResourceTypeEventConfiguration_sidewalk = Lens.lens (\ProximityResourceTypeEventConfiguration' {sidewalk} -> sidewalk) (\s@ProximityResourceTypeEventConfiguration' {} a -> s {sidewalk = a} :: ProximityResourceTypeEventConfiguration)++instance+  Data.FromJSON+    ProximityResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "ProximityResourceTypeEventConfiguration"+      ( \x ->+          ProximityResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "Sidewalk")+      )++instance+  Prelude.Hashable+    ProximityResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    ProximityResourceTypeEventConfiguration' {..} =+      _salt `Prelude.hashWithSalt` sidewalk++instance+  Prelude.NFData+    ProximityResourceTypeEventConfiguration+  where+  rnf ProximityResourceTypeEventConfiguration' {..} =+    Prelude.rnf sidewalk++instance+  Data.ToJSON+    ProximityResourceTypeEventConfiguration+  where+  toJSON ProximityResourceTypeEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Sidewalk" Data..=) Prelude.<$> sidewalk]+      )
+ gen/Amazonka/IoTWireless/Types/ServiceProfile.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.IoTWireless.Types.ServiceProfile+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.ServiceProfile 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 service profile.+--+-- /See:/ 'newServiceProfile' smart constructor.+data ServiceProfile = ServiceProfile'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the service profile.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceProfile' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'serviceProfile_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'serviceProfile_id' - The ID of the service profile.+--+-- 'name', 'serviceProfile_name' - The name of the resource.+newServiceProfile ::+  ServiceProfile+newServiceProfile =+  ServiceProfile'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+serviceProfile_arn :: Lens.Lens' ServiceProfile (Prelude.Maybe Prelude.Text)+serviceProfile_arn = Lens.lens (\ServiceProfile' {arn} -> arn) (\s@ServiceProfile' {} a -> s {arn = a} :: ServiceProfile)++-- | The ID of the service profile.+serviceProfile_id :: Lens.Lens' ServiceProfile (Prelude.Maybe Prelude.Text)+serviceProfile_id = Lens.lens (\ServiceProfile' {id} -> id) (\s@ServiceProfile' {} a -> s {id = a} :: ServiceProfile)++-- | The name of the resource.+serviceProfile_name :: Lens.Lens' ServiceProfile (Prelude.Maybe Prelude.Text)+serviceProfile_name = Lens.lens (\ServiceProfile' {name} -> name) (\s@ServiceProfile' {} a -> s {name = a} :: ServiceProfile)++instance Data.FromJSON ServiceProfile where+  parseJSON =+    Data.withObject+      "ServiceProfile"+      ( \x ->+          ServiceProfile'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable ServiceProfile where+  hashWithSalt _salt ServiceProfile' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData ServiceProfile where+  rnf ServiceProfile' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/SessionKeysAbpV1_0_x.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.IoTWireless.Types.SessionKeysAbpV1_0_x+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SessionKeysAbpV1_0_x 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++-- | Session keys for ABP v1.1+--+-- /See:/ 'newSessionKeysAbpV1_0_x' smart constructor.+data SessionKeysAbpV1_0_x = SessionKeysAbpV1_0_x'+  { -- | The AppSKey value.+    appSKey :: Prelude.Maybe Prelude.Text,+    -- | The NwkSKey value.+    nwkSKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionKeysAbpV1_0_x' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appSKey', 'sessionKeysAbpV1_0_x_appSKey' - The AppSKey value.+--+-- 'nwkSKey', 'sessionKeysAbpV1_0_x_nwkSKey' - The NwkSKey value.+newSessionKeysAbpV1_0_x ::+  SessionKeysAbpV1_0_x+newSessionKeysAbpV1_0_x =+  SessionKeysAbpV1_0_x'+    { appSKey = Prelude.Nothing,+      nwkSKey = Prelude.Nothing+    }++-- | The AppSKey value.+sessionKeysAbpV1_0_x_appSKey :: Lens.Lens' SessionKeysAbpV1_0_x (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_0_x_appSKey = Lens.lens (\SessionKeysAbpV1_0_x' {appSKey} -> appSKey) (\s@SessionKeysAbpV1_0_x' {} a -> s {appSKey = a} :: SessionKeysAbpV1_0_x)++-- | The NwkSKey value.+sessionKeysAbpV1_0_x_nwkSKey :: Lens.Lens' SessionKeysAbpV1_0_x (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_0_x_nwkSKey = Lens.lens (\SessionKeysAbpV1_0_x' {nwkSKey} -> nwkSKey) (\s@SessionKeysAbpV1_0_x' {} a -> s {nwkSKey = a} :: SessionKeysAbpV1_0_x)++instance Data.FromJSON SessionKeysAbpV1_0_x where+  parseJSON =+    Data.withObject+      "SessionKeysAbpV1_0_x"+      ( \x ->+          SessionKeysAbpV1_0_x'+            Prelude.<$> (x Data..:? "AppSKey")+            Prelude.<*> (x Data..:? "NwkSKey")+      )++instance Prelude.Hashable SessionKeysAbpV1_0_x where+  hashWithSalt _salt SessionKeysAbpV1_0_x' {..} =+    _salt+      `Prelude.hashWithSalt` appSKey+      `Prelude.hashWithSalt` nwkSKey++instance Prelude.NFData SessionKeysAbpV1_0_x where+  rnf SessionKeysAbpV1_0_x' {..} =+    Prelude.rnf appSKey+      `Prelude.seq` Prelude.rnf nwkSKey++instance Data.ToJSON SessionKeysAbpV1_0_x where+  toJSON SessionKeysAbpV1_0_x' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AppSKey" Data..=) Prelude.<$> appSKey,+            ("NwkSKey" Data..=) Prelude.<$> nwkSKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SessionKeysAbpV1_1.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SessionKeysAbpV1_1+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SessionKeysAbpV1_1 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++-- | Session keys for ABP v1.1+--+-- /See:/ 'newSessionKeysAbpV1_1' smart constructor.+data SessionKeysAbpV1_1 = SessionKeysAbpV1_1'+  { -- | The AppSKey value.+    appSKey :: Prelude.Maybe Prelude.Text,+    -- | The FNwkSIntKey value.+    fNwkSIntKey :: Prelude.Maybe Prelude.Text,+    -- | The NwkSEncKey value.+    nwkSEncKey :: Prelude.Maybe Prelude.Text,+    -- | The SNwkSIntKey value.+    sNwkSIntKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionKeysAbpV1_1' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appSKey', 'sessionKeysAbpV1_1_appSKey' - The AppSKey value.+--+-- 'fNwkSIntKey', 'sessionKeysAbpV1_1_fNwkSIntKey' - The FNwkSIntKey value.+--+-- 'nwkSEncKey', 'sessionKeysAbpV1_1_nwkSEncKey' - The NwkSEncKey value.+--+-- 'sNwkSIntKey', 'sessionKeysAbpV1_1_sNwkSIntKey' - The SNwkSIntKey value.+newSessionKeysAbpV1_1 ::+  SessionKeysAbpV1_1+newSessionKeysAbpV1_1 =+  SessionKeysAbpV1_1'+    { appSKey = Prelude.Nothing,+      fNwkSIntKey = Prelude.Nothing,+      nwkSEncKey = Prelude.Nothing,+      sNwkSIntKey = Prelude.Nothing+    }++-- | The AppSKey value.+sessionKeysAbpV1_1_appSKey :: Lens.Lens' SessionKeysAbpV1_1 (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_1_appSKey = Lens.lens (\SessionKeysAbpV1_1' {appSKey} -> appSKey) (\s@SessionKeysAbpV1_1' {} a -> s {appSKey = a} :: SessionKeysAbpV1_1)++-- | The FNwkSIntKey value.+sessionKeysAbpV1_1_fNwkSIntKey :: Lens.Lens' SessionKeysAbpV1_1 (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_1_fNwkSIntKey = Lens.lens (\SessionKeysAbpV1_1' {fNwkSIntKey} -> fNwkSIntKey) (\s@SessionKeysAbpV1_1' {} a -> s {fNwkSIntKey = a} :: SessionKeysAbpV1_1)++-- | The NwkSEncKey value.+sessionKeysAbpV1_1_nwkSEncKey :: Lens.Lens' SessionKeysAbpV1_1 (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_1_nwkSEncKey = Lens.lens (\SessionKeysAbpV1_1' {nwkSEncKey} -> nwkSEncKey) (\s@SessionKeysAbpV1_1' {} a -> s {nwkSEncKey = a} :: SessionKeysAbpV1_1)++-- | The SNwkSIntKey value.+sessionKeysAbpV1_1_sNwkSIntKey :: Lens.Lens' SessionKeysAbpV1_1 (Prelude.Maybe Prelude.Text)+sessionKeysAbpV1_1_sNwkSIntKey = Lens.lens (\SessionKeysAbpV1_1' {sNwkSIntKey} -> sNwkSIntKey) (\s@SessionKeysAbpV1_1' {} a -> s {sNwkSIntKey = a} :: SessionKeysAbpV1_1)++instance Data.FromJSON SessionKeysAbpV1_1 where+  parseJSON =+    Data.withObject+      "SessionKeysAbpV1_1"+      ( \x ->+          SessionKeysAbpV1_1'+            Prelude.<$> (x Data..:? "AppSKey")+            Prelude.<*> (x Data..:? "FNwkSIntKey")+            Prelude.<*> (x Data..:? "NwkSEncKey")+            Prelude.<*> (x Data..:? "SNwkSIntKey")+      )++instance Prelude.Hashable SessionKeysAbpV1_1 where+  hashWithSalt _salt SessionKeysAbpV1_1' {..} =+    _salt+      `Prelude.hashWithSalt` appSKey+      `Prelude.hashWithSalt` fNwkSIntKey+      `Prelude.hashWithSalt` nwkSEncKey+      `Prelude.hashWithSalt` sNwkSIntKey++instance Prelude.NFData SessionKeysAbpV1_1 where+  rnf SessionKeysAbpV1_1' {..} =+    Prelude.rnf appSKey+      `Prelude.seq` Prelude.rnf fNwkSIntKey+      `Prelude.seq` Prelude.rnf nwkSEncKey+      `Prelude.seq` Prelude.rnf sNwkSIntKey++instance Data.ToJSON SessionKeysAbpV1_1 where+  toJSON SessionKeysAbpV1_1' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AppSKey" Data..=) Prelude.<$> appSKey,+            ("FNwkSIntKey" Data..=) Prelude.<$> fNwkSIntKey,+            ("NwkSEncKey" Data..=) Prelude.<$> nwkSEncKey,+            ("SNwkSIntKey" Data..=) Prelude.<$> sNwkSIntKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SidewalkAccountInfo.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkAccountInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkAccountInfo 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 Sidewalk account.+--+-- /See:/ 'newSidewalkAccountInfo' smart constructor.+data SidewalkAccountInfo = SidewalkAccountInfo'+  { -- | The Sidewalk Amazon ID.+    amazonId :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk application server private key.+    appServerPrivateKey :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkAccountInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonId', 'sidewalkAccountInfo_amazonId' - The Sidewalk Amazon ID.+--+-- 'appServerPrivateKey', 'sidewalkAccountInfo_appServerPrivateKey' - The Sidewalk application server private key.+newSidewalkAccountInfo ::+  SidewalkAccountInfo+newSidewalkAccountInfo =+  SidewalkAccountInfo'+    { amazonId = Prelude.Nothing,+      appServerPrivateKey = Prelude.Nothing+    }++-- | The Sidewalk Amazon ID.+sidewalkAccountInfo_amazonId :: Lens.Lens' SidewalkAccountInfo (Prelude.Maybe Prelude.Text)+sidewalkAccountInfo_amazonId = Lens.lens (\SidewalkAccountInfo' {amazonId} -> amazonId) (\s@SidewalkAccountInfo' {} a -> s {amazonId = a} :: SidewalkAccountInfo)++-- | The Sidewalk application server private key.+sidewalkAccountInfo_appServerPrivateKey :: Lens.Lens' SidewalkAccountInfo (Prelude.Maybe Prelude.Text)+sidewalkAccountInfo_appServerPrivateKey = Lens.lens (\SidewalkAccountInfo' {appServerPrivateKey} -> appServerPrivateKey) (\s@SidewalkAccountInfo' {} a -> s {appServerPrivateKey = a} :: SidewalkAccountInfo) Prelude.. Lens.mapping Data._Sensitive++instance Data.FromJSON SidewalkAccountInfo where+  parseJSON =+    Data.withObject+      "SidewalkAccountInfo"+      ( \x ->+          SidewalkAccountInfo'+            Prelude.<$> (x Data..:? "AmazonId")+            Prelude.<*> (x Data..:? "AppServerPrivateKey")+      )++instance Prelude.Hashable SidewalkAccountInfo where+  hashWithSalt _salt SidewalkAccountInfo' {..} =+    _salt+      `Prelude.hashWithSalt` amazonId+      `Prelude.hashWithSalt` appServerPrivateKey++instance Prelude.NFData SidewalkAccountInfo where+  rnf SidewalkAccountInfo' {..} =+    Prelude.rnf amazonId+      `Prelude.seq` Prelude.rnf appServerPrivateKey++instance Data.ToJSON SidewalkAccountInfo where+  toJSON SidewalkAccountInfo' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AmazonId" Data..=) Prelude.<$> amazonId,+            ("AppServerPrivateKey" Data..=)+              Prelude.<$> appServerPrivateKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SidewalkAccountInfoWithFingerprint.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkAccountInfoWithFingerprint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkAccountInfoWithFingerprint 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 Sidewalk account.+--+-- /See:/ 'newSidewalkAccountInfoWithFingerprint' smart constructor.+data SidewalkAccountInfoWithFingerprint = SidewalkAccountInfoWithFingerprint'+  { -- | The Sidewalk Amazon ID.+    amazonId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The fingerprint of the Sidewalk application server private key.+    fingerprint :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkAccountInfoWithFingerprint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonId', 'sidewalkAccountInfoWithFingerprint_amazonId' - The Sidewalk Amazon ID.+--+-- 'arn', 'sidewalkAccountInfoWithFingerprint_arn' - The Amazon Resource Name of the resource.+--+-- 'fingerprint', 'sidewalkAccountInfoWithFingerprint_fingerprint' - The fingerprint of the Sidewalk application server private key.+newSidewalkAccountInfoWithFingerprint ::+  SidewalkAccountInfoWithFingerprint+newSidewalkAccountInfoWithFingerprint =+  SidewalkAccountInfoWithFingerprint'+    { amazonId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      fingerprint = Prelude.Nothing+    }++-- | The Sidewalk Amazon ID.+sidewalkAccountInfoWithFingerprint_amazonId :: Lens.Lens' SidewalkAccountInfoWithFingerprint (Prelude.Maybe Prelude.Text)+sidewalkAccountInfoWithFingerprint_amazonId = Lens.lens (\SidewalkAccountInfoWithFingerprint' {amazonId} -> amazonId) (\s@SidewalkAccountInfoWithFingerprint' {} a -> s {amazonId = a} :: SidewalkAccountInfoWithFingerprint)++-- | The Amazon Resource Name of the resource.+sidewalkAccountInfoWithFingerprint_arn :: Lens.Lens' SidewalkAccountInfoWithFingerprint (Prelude.Maybe Prelude.Text)+sidewalkAccountInfoWithFingerprint_arn = Lens.lens (\SidewalkAccountInfoWithFingerprint' {arn} -> arn) (\s@SidewalkAccountInfoWithFingerprint' {} a -> s {arn = a} :: SidewalkAccountInfoWithFingerprint)++-- | The fingerprint of the Sidewalk application server private key.+sidewalkAccountInfoWithFingerprint_fingerprint :: Lens.Lens' SidewalkAccountInfoWithFingerprint (Prelude.Maybe Prelude.Text)+sidewalkAccountInfoWithFingerprint_fingerprint = Lens.lens (\SidewalkAccountInfoWithFingerprint' {fingerprint} -> fingerprint) (\s@SidewalkAccountInfoWithFingerprint' {} a -> s {fingerprint = a} :: SidewalkAccountInfoWithFingerprint) Prelude.. Lens.mapping Data._Sensitive++instance+  Data.FromJSON+    SidewalkAccountInfoWithFingerprint+  where+  parseJSON =+    Data.withObject+      "SidewalkAccountInfoWithFingerprint"+      ( \x ->+          SidewalkAccountInfoWithFingerprint'+            Prelude.<$> (x Data..:? "AmazonId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Fingerprint")+      )++instance+  Prelude.Hashable+    SidewalkAccountInfoWithFingerprint+  where+  hashWithSalt+    _salt+    SidewalkAccountInfoWithFingerprint' {..} =+      _salt+        `Prelude.hashWithSalt` amazonId+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` fingerprint++instance+  Prelude.NFData+    SidewalkAccountInfoWithFingerprint+  where+  rnf SidewalkAccountInfoWithFingerprint' {..} =+    Prelude.rnf amazonId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf fingerprint
+ gen/Amazonka/IoTWireless/Types/SidewalkDevice.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.CertificateList+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk device object.+--+-- /See:/ 'newSidewalkDevice' smart constructor.+data SidewalkDevice = SidewalkDevice'+  { amazonId :: Prelude.Maybe Prelude.Text,+    -- | The sidewalk device certificates for Ed25519 and P256r1.+    deviceCertificates :: Prelude.Maybe [CertificateList],+    -- | The sidewalk device identification.+    sidewalkId :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk manufacturing series number.+    sidewalkManufacturingSn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonId', 'sidewalkDevice_amazonId' - Undocumented member.+--+-- 'deviceCertificates', 'sidewalkDevice_deviceCertificates' - The sidewalk device certificates for Ed25519 and P256r1.+--+-- 'sidewalkId', 'sidewalkDevice_sidewalkId' - The sidewalk device identification.+--+-- 'sidewalkManufacturingSn', 'sidewalkDevice_sidewalkManufacturingSn' - The Sidewalk manufacturing series number.+newSidewalkDevice ::+  SidewalkDevice+newSidewalkDevice =+  SidewalkDevice'+    { amazonId = Prelude.Nothing,+      deviceCertificates = Prelude.Nothing,+      sidewalkId = Prelude.Nothing,+      sidewalkManufacturingSn = Prelude.Nothing+    }++-- | Undocumented member.+sidewalkDevice_amazonId :: Lens.Lens' SidewalkDevice (Prelude.Maybe Prelude.Text)+sidewalkDevice_amazonId = Lens.lens (\SidewalkDevice' {amazonId} -> amazonId) (\s@SidewalkDevice' {} a -> s {amazonId = a} :: SidewalkDevice)++-- | The sidewalk device certificates for Ed25519 and P256r1.+sidewalkDevice_deviceCertificates :: Lens.Lens' SidewalkDevice (Prelude.Maybe [CertificateList])+sidewalkDevice_deviceCertificates = Lens.lens (\SidewalkDevice' {deviceCertificates} -> deviceCertificates) (\s@SidewalkDevice' {} a -> s {deviceCertificates = a} :: SidewalkDevice) Prelude.. Lens.mapping Lens.coerced++-- | The sidewalk device identification.+sidewalkDevice_sidewalkId :: Lens.Lens' SidewalkDevice (Prelude.Maybe Prelude.Text)+sidewalkDevice_sidewalkId = Lens.lens (\SidewalkDevice' {sidewalkId} -> sidewalkId) (\s@SidewalkDevice' {} a -> s {sidewalkId = a} :: SidewalkDevice)++-- | The Sidewalk manufacturing series number.+sidewalkDevice_sidewalkManufacturingSn :: Lens.Lens' SidewalkDevice (Prelude.Maybe Prelude.Text)+sidewalkDevice_sidewalkManufacturingSn = Lens.lens (\SidewalkDevice' {sidewalkManufacturingSn} -> sidewalkManufacturingSn) (\s@SidewalkDevice' {} a -> s {sidewalkManufacturingSn = a} :: SidewalkDevice)++instance Data.FromJSON SidewalkDevice where+  parseJSON =+    Data.withObject+      "SidewalkDevice"+      ( \x ->+          SidewalkDevice'+            Prelude.<$> (x Data..:? "AmazonId")+            Prelude.<*> ( x+                            Data..:? "DeviceCertificates"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "SidewalkId")+            Prelude.<*> (x Data..:? "SidewalkManufacturingSn")+      )++instance Prelude.Hashable SidewalkDevice where+  hashWithSalt _salt SidewalkDevice' {..} =+    _salt+      `Prelude.hashWithSalt` amazonId+      `Prelude.hashWithSalt` deviceCertificates+      `Prelude.hashWithSalt` sidewalkId+      `Prelude.hashWithSalt` sidewalkManufacturingSn++instance Prelude.NFData SidewalkDevice where+  rnf SidewalkDevice' {..} =+    Prelude.rnf amazonId+      `Prelude.seq` Prelude.rnf deviceCertificates+      `Prelude.seq` Prelude.rnf sidewalkId+      `Prelude.seq` Prelude.rnf sidewalkManufacturingSn
+ gen/Amazonka/IoTWireless/Types/SidewalkDeviceMetadata.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkDeviceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkDeviceMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.BatteryLevel+import Amazonka.IoTWireless.Types.DeviceState+import Amazonka.IoTWireless.Types.Event+import qualified Amazonka.Prelude as Prelude++-- | MetaData for Sidewalk device.+--+-- /See:/ 'newSidewalkDeviceMetadata' smart constructor.+data SidewalkDeviceMetadata = SidewalkDeviceMetadata'+  { -- | Sidewalk device battery level.+    batteryLevel :: Prelude.Maybe BatteryLevel,+    -- | Device state defines the device status of sidewalk device.+    deviceState :: Prelude.Maybe DeviceState,+    -- | Sidewalk device status notification.+    event :: Prelude.Maybe Event,+    -- | The RSSI value.+    rssi :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkDeviceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'batteryLevel', 'sidewalkDeviceMetadata_batteryLevel' - Sidewalk device battery level.+--+-- 'deviceState', 'sidewalkDeviceMetadata_deviceState' - Device state defines the device status of sidewalk device.+--+-- 'event', 'sidewalkDeviceMetadata_event' - Sidewalk device status notification.+--+-- 'rssi', 'sidewalkDeviceMetadata_rssi' - The RSSI value.+newSidewalkDeviceMetadata ::+  SidewalkDeviceMetadata+newSidewalkDeviceMetadata =+  SidewalkDeviceMetadata'+    { batteryLevel =+        Prelude.Nothing,+      deviceState = Prelude.Nothing,+      event = Prelude.Nothing,+      rssi = Prelude.Nothing+    }++-- | Sidewalk device battery level.+sidewalkDeviceMetadata_batteryLevel :: Lens.Lens' SidewalkDeviceMetadata (Prelude.Maybe BatteryLevel)+sidewalkDeviceMetadata_batteryLevel = Lens.lens (\SidewalkDeviceMetadata' {batteryLevel} -> batteryLevel) (\s@SidewalkDeviceMetadata' {} a -> s {batteryLevel = a} :: SidewalkDeviceMetadata)++-- | Device state defines the device status of sidewalk device.+sidewalkDeviceMetadata_deviceState :: Lens.Lens' SidewalkDeviceMetadata (Prelude.Maybe DeviceState)+sidewalkDeviceMetadata_deviceState = Lens.lens (\SidewalkDeviceMetadata' {deviceState} -> deviceState) (\s@SidewalkDeviceMetadata' {} a -> s {deviceState = a} :: SidewalkDeviceMetadata)++-- | Sidewalk device status notification.+sidewalkDeviceMetadata_event :: Lens.Lens' SidewalkDeviceMetadata (Prelude.Maybe Event)+sidewalkDeviceMetadata_event = Lens.lens (\SidewalkDeviceMetadata' {event} -> event) (\s@SidewalkDeviceMetadata' {} a -> s {event = a} :: SidewalkDeviceMetadata)++-- | The RSSI value.+sidewalkDeviceMetadata_rssi :: Lens.Lens' SidewalkDeviceMetadata (Prelude.Maybe Prelude.Int)+sidewalkDeviceMetadata_rssi = Lens.lens (\SidewalkDeviceMetadata' {rssi} -> rssi) (\s@SidewalkDeviceMetadata' {} a -> s {rssi = a} :: SidewalkDeviceMetadata)++instance Data.FromJSON SidewalkDeviceMetadata where+  parseJSON =+    Data.withObject+      "SidewalkDeviceMetadata"+      ( \x ->+          SidewalkDeviceMetadata'+            Prelude.<$> (x Data..:? "BatteryLevel")+            Prelude.<*> (x Data..:? "DeviceState")+            Prelude.<*> (x Data..:? "Event")+            Prelude.<*> (x Data..:? "Rssi")+      )++instance Prelude.Hashable SidewalkDeviceMetadata where+  hashWithSalt _salt SidewalkDeviceMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` batteryLevel+      `Prelude.hashWithSalt` deviceState+      `Prelude.hashWithSalt` event+      `Prelude.hashWithSalt` rssi++instance Prelude.NFData SidewalkDeviceMetadata where+  rnf SidewalkDeviceMetadata' {..} =+    Prelude.rnf batteryLevel+      `Prelude.seq` Prelude.rnf deviceState+      `Prelude.seq` Prelude.rnf event+      `Prelude.seq` Prelude.rnf rssi
+ gen/Amazonka/IoTWireless/Types/SidewalkEventNotificationConfigurations.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkEventNotificationConfigurations where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | @SidewalkEventNotificationConfigurations@ object, which is the event+-- configuration object for Sidewalk-related event topics.+--+-- /See:/ 'newSidewalkEventNotificationConfigurations' smart constructor.+data SidewalkEventNotificationConfigurations = SidewalkEventNotificationConfigurations'+  { -- | Denotes whether the Amazon ID event topic is enabled or disabled.+    amazonIdEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkEventNotificationConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonIdEventTopic', 'sidewalkEventNotificationConfigurations_amazonIdEventTopic' - Denotes whether the Amazon ID event topic is enabled or disabled.+newSidewalkEventNotificationConfigurations ::+  SidewalkEventNotificationConfigurations+newSidewalkEventNotificationConfigurations =+  SidewalkEventNotificationConfigurations'+    { amazonIdEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the Amazon ID event topic is enabled or disabled.+sidewalkEventNotificationConfigurations_amazonIdEventTopic :: Lens.Lens' SidewalkEventNotificationConfigurations (Prelude.Maybe EventNotificationTopicStatus)+sidewalkEventNotificationConfigurations_amazonIdEventTopic = Lens.lens (\SidewalkEventNotificationConfigurations' {amazonIdEventTopic} -> amazonIdEventTopic) (\s@SidewalkEventNotificationConfigurations' {} a -> s {amazonIdEventTopic = a} :: SidewalkEventNotificationConfigurations)++instance+  Data.FromJSON+    SidewalkEventNotificationConfigurations+  where+  parseJSON =+    Data.withObject+      "SidewalkEventNotificationConfigurations"+      ( \x ->+          SidewalkEventNotificationConfigurations'+            Prelude.<$> (x Data..:? "AmazonIdEventTopic")+      )++instance+  Prelude.Hashable+    SidewalkEventNotificationConfigurations+  where+  hashWithSalt+    _salt+    SidewalkEventNotificationConfigurations' {..} =+      _salt `Prelude.hashWithSalt` amazonIdEventTopic++instance+  Prelude.NFData+    SidewalkEventNotificationConfigurations+  where+  rnf SidewalkEventNotificationConfigurations' {..} =+    Prelude.rnf amazonIdEventTopic++instance+  Data.ToJSON+    SidewalkEventNotificationConfigurations+  where+  toJSON SidewalkEventNotificationConfigurations' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AmazonIdEventTopic" Data..=)+              Prelude.<$> amazonIdEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SidewalkListDevice.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkListDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkListDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.CertificateList+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk object used by list functions.+--+-- /See:/ 'newSidewalkListDevice' smart constructor.+data SidewalkListDevice = SidewalkListDevice'+  { -- | The Sidewalk Amazon ID.+    amazonId :: Prelude.Maybe Prelude.Text,+    -- | The sidewalk device certificates for Ed25519 and P256r1.+    deviceCertificates :: Prelude.Maybe [CertificateList],+    -- | The sidewalk device identification.+    sidewalkId :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk manufacturing series number.+    sidewalkManufacturingSn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkListDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'amazonId', 'sidewalkListDevice_amazonId' - The Sidewalk Amazon ID.+--+-- 'deviceCertificates', 'sidewalkListDevice_deviceCertificates' - The sidewalk device certificates for Ed25519 and P256r1.+--+-- 'sidewalkId', 'sidewalkListDevice_sidewalkId' - The sidewalk device identification.+--+-- 'sidewalkManufacturingSn', 'sidewalkListDevice_sidewalkManufacturingSn' - The Sidewalk manufacturing series number.+newSidewalkListDevice ::+  SidewalkListDevice+newSidewalkListDevice =+  SidewalkListDevice'+    { amazonId = Prelude.Nothing,+      deviceCertificates = Prelude.Nothing,+      sidewalkId = Prelude.Nothing,+      sidewalkManufacturingSn = Prelude.Nothing+    }++-- | The Sidewalk Amazon ID.+sidewalkListDevice_amazonId :: Lens.Lens' SidewalkListDevice (Prelude.Maybe Prelude.Text)+sidewalkListDevice_amazonId = Lens.lens (\SidewalkListDevice' {amazonId} -> amazonId) (\s@SidewalkListDevice' {} a -> s {amazonId = a} :: SidewalkListDevice)++-- | The sidewalk device certificates for Ed25519 and P256r1.+sidewalkListDevice_deviceCertificates :: Lens.Lens' SidewalkListDevice (Prelude.Maybe [CertificateList])+sidewalkListDevice_deviceCertificates = Lens.lens (\SidewalkListDevice' {deviceCertificates} -> deviceCertificates) (\s@SidewalkListDevice' {} a -> s {deviceCertificates = a} :: SidewalkListDevice) Prelude.. Lens.mapping Lens.coerced++-- | The sidewalk device identification.+sidewalkListDevice_sidewalkId :: Lens.Lens' SidewalkListDevice (Prelude.Maybe Prelude.Text)+sidewalkListDevice_sidewalkId = Lens.lens (\SidewalkListDevice' {sidewalkId} -> sidewalkId) (\s@SidewalkListDevice' {} a -> s {sidewalkId = a} :: SidewalkListDevice)++-- | The Sidewalk manufacturing series number.+sidewalkListDevice_sidewalkManufacturingSn :: Lens.Lens' SidewalkListDevice (Prelude.Maybe Prelude.Text)+sidewalkListDevice_sidewalkManufacturingSn = Lens.lens (\SidewalkListDevice' {sidewalkManufacturingSn} -> sidewalkManufacturingSn) (\s@SidewalkListDevice' {} a -> s {sidewalkManufacturingSn = a} :: SidewalkListDevice)++instance Data.FromJSON SidewalkListDevice where+  parseJSON =+    Data.withObject+      "SidewalkListDevice"+      ( \x ->+          SidewalkListDevice'+            Prelude.<$> (x Data..:? "AmazonId")+            Prelude.<*> ( x+                            Data..:? "DeviceCertificates"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "SidewalkId")+            Prelude.<*> (x Data..:? "SidewalkManufacturingSn")+      )++instance Prelude.Hashable SidewalkListDevice where+  hashWithSalt _salt SidewalkListDevice' {..} =+    _salt+      `Prelude.hashWithSalt` amazonId+      `Prelude.hashWithSalt` deviceCertificates+      `Prelude.hashWithSalt` sidewalkId+      `Prelude.hashWithSalt` sidewalkManufacturingSn++instance Prelude.NFData SidewalkListDevice where+  rnf SidewalkListDevice' {..} =+    Prelude.rnf amazonId+      `Prelude.seq` Prelude.rnf deviceCertificates+      `Prelude.seq` Prelude.rnf sidewalkId+      `Prelude.seq` Prelude.rnf sidewalkManufacturingSn
+ gen/Amazonka/IoTWireless/Types/SidewalkResourceTypeEventConfiguration.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkResourceTypeEventConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.EventNotificationTopicStatus+import qualified Amazonka.Prelude as Prelude++-- | Sidewalk resource type event configuration object for enabling or+-- disabling topic.+--+-- /See:/ 'newSidewalkResourceTypeEventConfiguration' smart constructor.+data SidewalkResourceTypeEventConfiguration = SidewalkResourceTypeEventConfiguration'+  { -- | Denotes whether the wireless device join event topic is enabled or+    -- disabled.+    wirelessDeviceEventTopic :: Prelude.Maybe EventNotificationTopicStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkResourceTypeEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'wirelessDeviceEventTopic', 'sidewalkResourceTypeEventConfiguration_wirelessDeviceEventTopic' - Denotes whether the wireless device join event topic is enabled or+-- disabled.+newSidewalkResourceTypeEventConfiguration ::+  SidewalkResourceTypeEventConfiguration+newSidewalkResourceTypeEventConfiguration =+  SidewalkResourceTypeEventConfiguration'+    { wirelessDeviceEventTopic =+        Prelude.Nothing+    }++-- | Denotes whether the wireless device join event topic is enabled or+-- disabled.+sidewalkResourceTypeEventConfiguration_wirelessDeviceEventTopic :: Lens.Lens' SidewalkResourceTypeEventConfiguration (Prelude.Maybe EventNotificationTopicStatus)+sidewalkResourceTypeEventConfiguration_wirelessDeviceEventTopic = Lens.lens (\SidewalkResourceTypeEventConfiguration' {wirelessDeviceEventTopic} -> wirelessDeviceEventTopic) (\s@SidewalkResourceTypeEventConfiguration' {} a -> s {wirelessDeviceEventTopic = a} :: SidewalkResourceTypeEventConfiguration)++instance+  Data.FromJSON+    SidewalkResourceTypeEventConfiguration+  where+  parseJSON =+    Data.withObject+      "SidewalkResourceTypeEventConfiguration"+      ( \x ->+          SidewalkResourceTypeEventConfiguration'+            Prelude.<$> (x Data..:? "WirelessDeviceEventTopic")+      )++instance+  Prelude.Hashable+    SidewalkResourceTypeEventConfiguration+  where+  hashWithSalt+    _salt+    SidewalkResourceTypeEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` wirelessDeviceEventTopic++instance+  Prelude.NFData+    SidewalkResourceTypeEventConfiguration+  where+  rnf SidewalkResourceTypeEventConfiguration' {..} =+    Prelude.rnf wirelessDeviceEventTopic++instance+  Data.ToJSON+    SidewalkResourceTypeEventConfiguration+  where+  toJSON SidewalkResourceTypeEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("WirelessDeviceEventTopic" Data..=)+              Prelude.<$> wirelessDeviceEventTopic+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SidewalkSendDataToDevice.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkSendDataToDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkSendDataToDevice where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.MessageType+import qualified Amazonka.Prelude as Prelude++-- | Information about a Sidewalk router.+--+-- /See:/ 'newSidewalkSendDataToDevice' smart constructor.+data SidewalkSendDataToDevice = SidewalkSendDataToDevice'+  { -- | The duration of time in seconds to retry sending the ACK.+    ackModeRetryDurationSecs :: Prelude.Maybe Prelude.Natural,+    messageType :: Prelude.Maybe MessageType,+    -- | The sequence number.+    seq :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkSendDataToDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ackModeRetryDurationSecs', 'sidewalkSendDataToDevice_ackModeRetryDurationSecs' - The duration of time in seconds to retry sending the ACK.+--+-- 'messageType', 'sidewalkSendDataToDevice_messageType' - Undocumented member.+--+-- 'seq', 'sidewalkSendDataToDevice_seq' - The sequence number.+newSidewalkSendDataToDevice ::+  SidewalkSendDataToDevice+newSidewalkSendDataToDevice =+  SidewalkSendDataToDevice'+    { ackModeRetryDurationSecs =+        Prelude.Nothing,+      messageType = Prelude.Nothing,+      seq = Prelude.Nothing+    }++-- | The duration of time in seconds to retry sending the ACK.+sidewalkSendDataToDevice_ackModeRetryDurationSecs :: Lens.Lens' SidewalkSendDataToDevice (Prelude.Maybe Prelude.Natural)+sidewalkSendDataToDevice_ackModeRetryDurationSecs = Lens.lens (\SidewalkSendDataToDevice' {ackModeRetryDurationSecs} -> ackModeRetryDurationSecs) (\s@SidewalkSendDataToDevice' {} a -> s {ackModeRetryDurationSecs = a} :: SidewalkSendDataToDevice)++-- | Undocumented member.+sidewalkSendDataToDevice_messageType :: Lens.Lens' SidewalkSendDataToDevice (Prelude.Maybe MessageType)+sidewalkSendDataToDevice_messageType = Lens.lens (\SidewalkSendDataToDevice' {messageType} -> messageType) (\s@SidewalkSendDataToDevice' {} a -> s {messageType = a} :: SidewalkSendDataToDevice)++-- | The sequence number.+sidewalkSendDataToDevice_seq :: Lens.Lens' SidewalkSendDataToDevice (Prelude.Maybe Prelude.Natural)+sidewalkSendDataToDevice_seq = Lens.lens (\SidewalkSendDataToDevice' {seq} -> seq) (\s@SidewalkSendDataToDevice' {} a -> s {seq = a} :: SidewalkSendDataToDevice)++instance Prelude.Hashable SidewalkSendDataToDevice where+  hashWithSalt _salt SidewalkSendDataToDevice' {..} =+    _salt+      `Prelude.hashWithSalt` ackModeRetryDurationSecs+      `Prelude.hashWithSalt` messageType+      `Prelude.hashWithSalt` seq++instance Prelude.NFData SidewalkSendDataToDevice where+  rnf SidewalkSendDataToDevice' {..} =+    Prelude.rnf ackModeRetryDurationSecs+      `Prelude.seq` Prelude.rnf messageType+      `Prelude.seq` Prelude.rnf seq++instance Data.ToJSON SidewalkSendDataToDevice where+  toJSON SidewalkSendDataToDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AckModeRetryDurationSecs" Data..=)+              Prelude.<$> ackModeRetryDurationSecs,+            ("MessageType" Data..=) Prelude.<$> messageType,+            ("Seq" Data..=) Prelude.<$> seq+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SidewalkUpdateAccount.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.SidewalkUpdateAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SidewalkUpdateAccount 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++-- | Sidewalk update.+--+-- /See:/ 'newSidewalkUpdateAccount' smart constructor.+data SidewalkUpdateAccount = SidewalkUpdateAccount'+  { -- | The new Sidewalk application server private key.+    appServerPrivateKey :: Prelude.Maybe (Data.Sensitive Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SidewalkUpdateAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'appServerPrivateKey', 'sidewalkUpdateAccount_appServerPrivateKey' - The new Sidewalk application server private key.+newSidewalkUpdateAccount ::+  SidewalkUpdateAccount+newSidewalkUpdateAccount =+  SidewalkUpdateAccount'+    { appServerPrivateKey =+        Prelude.Nothing+    }++-- | The new Sidewalk application server private key.+sidewalkUpdateAccount_appServerPrivateKey :: Lens.Lens' SidewalkUpdateAccount (Prelude.Maybe Prelude.Text)+sidewalkUpdateAccount_appServerPrivateKey = Lens.lens (\SidewalkUpdateAccount' {appServerPrivateKey} -> appServerPrivateKey) (\s@SidewalkUpdateAccount' {} a -> s {appServerPrivateKey = a} :: SidewalkUpdateAccount) Prelude.. Lens.mapping Data._Sensitive++instance Prelude.Hashable SidewalkUpdateAccount where+  hashWithSalt _salt SidewalkUpdateAccount' {..} =+    _salt `Prelude.hashWithSalt` appServerPrivateKey++instance Prelude.NFData SidewalkUpdateAccount where+  rnf SidewalkUpdateAccount' {..} =+    Prelude.rnf appServerPrivateKey++instance Data.ToJSON SidewalkUpdateAccount where+  toJSON SidewalkUpdateAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AppServerPrivateKey" Data..=)+              Prelude.<$> appServerPrivateKey+          ]+      )
+ gen/Amazonka/IoTWireless/Types/SigningAlg.hs view
@@ -0,0 +1,72 @@+{-# 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.IoTWireless.Types.SigningAlg+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SigningAlg+  ( SigningAlg+      ( ..,+        SigningAlg_Ed25519,+        SigningAlg_P256r1+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The certificate chain algorithm provided by sidewalk.+newtype SigningAlg = SigningAlg'+  { fromSigningAlg ::+      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 SigningAlg_Ed25519 :: SigningAlg+pattern SigningAlg_Ed25519 = SigningAlg' "Ed25519"++pattern SigningAlg_P256r1 :: SigningAlg+pattern SigningAlg_P256r1 = SigningAlg' "P256r1"++{-# COMPLETE+  SigningAlg_Ed25519,+  SigningAlg_P256r1,+  SigningAlg'+  #-}
+ gen/Amazonka/IoTWireless/Types/SupportedRfRegion.hs view
@@ -0,0 +1,82 @@+{-# 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.IoTWireless.Types.SupportedRfRegion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.SupportedRfRegion+  ( SupportedRfRegion+      ( ..,+        SupportedRfRegion_AS923_1,+        SupportedRfRegion_AU915,+        SupportedRfRegion_EU868,+        SupportedRfRegion_US915+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Supported RfRegions+newtype SupportedRfRegion = SupportedRfRegion'+  { fromSupportedRfRegion ::+      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 SupportedRfRegion_AS923_1 :: SupportedRfRegion+pattern SupportedRfRegion_AS923_1 = SupportedRfRegion' "AS923-1"++pattern SupportedRfRegion_AU915 :: SupportedRfRegion+pattern SupportedRfRegion_AU915 = SupportedRfRegion' "AU915"++pattern SupportedRfRegion_EU868 :: SupportedRfRegion+pattern SupportedRfRegion_EU868 = SupportedRfRegion' "EU868"++pattern SupportedRfRegion_US915 :: SupportedRfRegion+pattern SupportedRfRegion_US915 = SupportedRfRegion' "US915"++{-# COMPLETE+  SupportedRfRegion_AS923_1,+  SupportedRfRegion_AU915,+  SupportedRfRegion_EU868,+  SupportedRfRegion_US915,+  SupportedRfRegion'+  #-}
+ gen/Amazonka/IoTWireless/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.IoTWireless.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.IoTWireless.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 simple label consisting of a customer-defined key-value pair+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The tag\'s key value.+    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.+--+-- '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 value.+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/IoTWireless/Types/TdscdmaLocalId.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.TdscdmaLocalId+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.TdscdmaLocalId 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++-- | TD-SCDMA local identification (local Id) information.+--+-- /See:/ 'newTdscdmaLocalId' smart constructor.+data TdscdmaLocalId = TdscdmaLocalId'+  { -- | TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+    -- channel number (UARFCN).+    uarfcn :: Prelude.Natural,+    -- | Cell parameters for TD-SCDMA.+    cellParams :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TdscdmaLocalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'uarfcn', 'tdscdmaLocalId_uarfcn' - TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+-- channel number (UARFCN).+--+-- 'cellParams', 'tdscdmaLocalId_cellParams' - Cell parameters for TD-SCDMA.+newTdscdmaLocalId ::+  -- | 'uarfcn'+  Prelude.Natural ->+  -- | 'cellParams'+  Prelude.Natural ->+  TdscdmaLocalId+newTdscdmaLocalId pUarfcn_ pCellParams_ =+  TdscdmaLocalId'+    { uarfcn = pUarfcn_,+      cellParams = pCellParams_+    }++-- | TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+-- channel number (UARFCN).+tdscdmaLocalId_uarfcn :: Lens.Lens' TdscdmaLocalId Prelude.Natural+tdscdmaLocalId_uarfcn = Lens.lens (\TdscdmaLocalId' {uarfcn} -> uarfcn) (\s@TdscdmaLocalId' {} a -> s {uarfcn = a} :: TdscdmaLocalId)++-- | Cell parameters for TD-SCDMA.+tdscdmaLocalId_cellParams :: Lens.Lens' TdscdmaLocalId Prelude.Natural+tdscdmaLocalId_cellParams = Lens.lens (\TdscdmaLocalId' {cellParams} -> cellParams) (\s@TdscdmaLocalId' {} a -> s {cellParams = a} :: TdscdmaLocalId)++instance Prelude.Hashable TdscdmaLocalId where+  hashWithSalt _salt TdscdmaLocalId' {..} =+    _salt+      `Prelude.hashWithSalt` uarfcn+      `Prelude.hashWithSalt` cellParams++instance Prelude.NFData TdscdmaLocalId where+  rnf TdscdmaLocalId' {..} =+    Prelude.rnf uarfcn+      `Prelude.seq` Prelude.rnf cellParams++instance Data.ToJSON TdscdmaLocalId where+  toJSON TdscdmaLocalId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Uarfcn" Data..= uarfcn),+            Prelude.Just ("CellParams" Data..= cellParams)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/TdscdmaNmrObj.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.TdscdmaNmrObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.TdscdmaNmrObj 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++-- | TD-SCDMA object for network measurement reports.+--+-- /See:/ 'newTdscdmaNmrObj' smart constructor.+data TdscdmaNmrObj = TdscdmaNmrObj'+  { -- | Path loss, or path attenuation, is the reduction in power density of an+    -- electromagnetic wave as it propagates through space.+    pathLoss :: Prelude.Maybe Prelude.Natural,+    -- | Code power of the received signal, measured in decibel-milliwatts (dBm).+    rscp :: Prelude.Maybe Prelude.Int,+    -- | UTRAN (UMTS Terrestrial Radio Access Network) cell global identifier.+    utranCid :: Prelude.Maybe Prelude.Natural,+    -- | TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+    -- channel number.+    uarfcn :: Prelude.Natural,+    -- | Cell parameters for TD-SCDMA network measurement reports object.+    cellParams :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TdscdmaNmrObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pathLoss', 'tdscdmaNmrObj_pathLoss' - Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+--+-- 'rscp', 'tdscdmaNmrObj_rscp' - Code power of the received signal, measured in decibel-milliwatts (dBm).+--+-- 'utranCid', 'tdscdmaNmrObj_utranCid' - UTRAN (UMTS Terrestrial Radio Access Network) cell global identifier.+--+-- 'uarfcn', 'tdscdmaNmrObj_uarfcn' - TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+-- channel number.+--+-- 'cellParams', 'tdscdmaNmrObj_cellParams' - Cell parameters for TD-SCDMA network measurement reports object.+newTdscdmaNmrObj ::+  -- | 'uarfcn'+  Prelude.Natural ->+  -- | 'cellParams'+  Prelude.Natural ->+  TdscdmaNmrObj+newTdscdmaNmrObj pUarfcn_ pCellParams_ =+  TdscdmaNmrObj'+    { pathLoss = Prelude.Nothing,+      rscp = Prelude.Nothing,+      utranCid = Prelude.Nothing,+      uarfcn = pUarfcn_,+      cellParams = pCellParams_+    }++-- | Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+tdscdmaNmrObj_pathLoss :: Lens.Lens' TdscdmaNmrObj (Prelude.Maybe Prelude.Natural)+tdscdmaNmrObj_pathLoss = Lens.lens (\TdscdmaNmrObj' {pathLoss} -> pathLoss) (\s@TdscdmaNmrObj' {} a -> s {pathLoss = a} :: TdscdmaNmrObj)++-- | Code power of the received signal, measured in decibel-milliwatts (dBm).+tdscdmaNmrObj_rscp :: Lens.Lens' TdscdmaNmrObj (Prelude.Maybe Prelude.Int)+tdscdmaNmrObj_rscp = Lens.lens (\TdscdmaNmrObj' {rscp} -> rscp) (\s@TdscdmaNmrObj' {} a -> s {rscp = a} :: TdscdmaNmrObj)++-- | UTRAN (UMTS Terrestrial Radio Access Network) cell global identifier.+tdscdmaNmrObj_utranCid :: Lens.Lens' TdscdmaNmrObj (Prelude.Maybe Prelude.Natural)+tdscdmaNmrObj_utranCid = Lens.lens (\TdscdmaNmrObj' {utranCid} -> utranCid) (\s@TdscdmaNmrObj' {} a -> s {utranCid = a} :: TdscdmaNmrObj)++-- | TD-SCDMA UTRA (Universal Terrestrial Radio Access Network) absolute RF+-- channel number.+tdscdmaNmrObj_uarfcn :: Lens.Lens' TdscdmaNmrObj Prelude.Natural+tdscdmaNmrObj_uarfcn = Lens.lens (\TdscdmaNmrObj' {uarfcn} -> uarfcn) (\s@TdscdmaNmrObj' {} a -> s {uarfcn = a} :: TdscdmaNmrObj)++-- | Cell parameters for TD-SCDMA network measurement reports object.+tdscdmaNmrObj_cellParams :: Lens.Lens' TdscdmaNmrObj Prelude.Natural+tdscdmaNmrObj_cellParams = Lens.lens (\TdscdmaNmrObj' {cellParams} -> cellParams) (\s@TdscdmaNmrObj' {} a -> s {cellParams = a} :: TdscdmaNmrObj)++instance Prelude.Hashable TdscdmaNmrObj where+  hashWithSalt _salt TdscdmaNmrObj' {..} =+    _salt+      `Prelude.hashWithSalt` pathLoss+      `Prelude.hashWithSalt` rscp+      `Prelude.hashWithSalt` utranCid+      `Prelude.hashWithSalt` uarfcn+      `Prelude.hashWithSalt` cellParams++instance Prelude.NFData TdscdmaNmrObj where+  rnf TdscdmaNmrObj' {..} =+    Prelude.rnf pathLoss+      `Prelude.seq` Prelude.rnf rscp+      `Prelude.seq` Prelude.rnf utranCid+      `Prelude.seq` Prelude.rnf uarfcn+      `Prelude.seq` Prelude.rnf cellParams++instance Data.ToJSON TdscdmaNmrObj where+  toJSON TdscdmaNmrObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PathLoss" Data..=) Prelude.<$> pathLoss,+            ("Rscp" Data..=) Prelude.<$> rscp,+            ("UtranCid" Data..=) Prelude.<$> utranCid,+            Prelude.Just ("Uarfcn" Data..= uarfcn),+            Prelude.Just ("CellParams" Data..= cellParams)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/TdscdmaObj.hs view
@@ -0,0 +1,183 @@+{-# 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.IoTWireless.Types.TdscdmaObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.TdscdmaObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.TdscdmaLocalId+import Amazonka.IoTWireless.Types.TdscdmaNmrObj+import qualified Amazonka.Prelude as Prelude++-- | TD-SCDMA object.+--+-- /See:/ 'newTdscdmaObj' smart constructor.+data TdscdmaObj = TdscdmaObj'+  { -- | Location Area Code.+    lac :: Prelude.Maybe Prelude.Natural,+    -- | Path loss, or path attenuation, is the reduction in power density of an+    -- electromagnetic wave as it propagates through space.+    pathLoss :: Prelude.Maybe Prelude.Natural,+    -- | Signal power of the received signal (Received Signal Code Power),+    -- measured in decibel-milliwatts (dBm).+    rscp :: Prelude.Maybe Prelude.Int,+    -- | TD-SCDMA local identification (local ID) information.+    tdscdmaLocalId :: Prelude.Maybe TdscdmaLocalId,+    -- | TD-SCDMA object for network measurement reports.+    tdscdmaNmr :: Prelude.Maybe (Prelude.NonEmpty TdscdmaNmrObj),+    -- | TD-SCDMA Timing advance.+    tdscdmaTimingAdvance :: Prelude.Maybe Prelude.Natural,+    -- | Mobile Country Code.+    mcc :: Prelude.Natural,+    -- | Mobile Network Code.+    mnc :: Prelude.Natural,+    -- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+    utranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TdscdmaObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lac', 'tdscdmaObj_lac' - Location Area Code.+--+-- 'pathLoss', 'tdscdmaObj_pathLoss' - Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+--+-- 'rscp', 'tdscdmaObj_rscp' - Signal power of the received signal (Received Signal Code Power),+-- measured in decibel-milliwatts (dBm).+--+-- 'tdscdmaLocalId', 'tdscdmaObj_tdscdmaLocalId' - TD-SCDMA local identification (local ID) information.+--+-- 'tdscdmaNmr', 'tdscdmaObj_tdscdmaNmr' - TD-SCDMA object for network measurement reports.+--+-- 'tdscdmaTimingAdvance', 'tdscdmaObj_tdscdmaTimingAdvance' - TD-SCDMA Timing advance.+--+-- 'mcc', 'tdscdmaObj_mcc' - Mobile Country Code.+--+-- 'mnc', 'tdscdmaObj_mnc' - Mobile Network Code.+--+-- 'utranCid', 'tdscdmaObj_utranCid' - UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+newTdscdmaObj ::+  -- | 'mcc'+  Prelude.Natural ->+  -- | 'mnc'+  Prelude.Natural ->+  -- | 'utranCid'+  Prelude.Natural ->+  TdscdmaObj+newTdscdmaObj pMcc_ pMnc_ pUtranCid_ =+  TdscdmaObj'+    { lac = Prelude.Nothing,+      pathLoss = Prelude.Nothing,+      rscp = Prelude.Nothing,+      tdscdmaLocalId = Prelude.Nothing,+      tdscdmaNmr = Prelude.Nothing,+      tdscdmaTimingAdvance = Prelude.Nothing,+      mcc = pMcc_,+      mnc = pMnc_,+      utranCid = pUtranCid_+    }++-- | Location Area Code.+tdscdmaObj_lac :: Lens.Lens' TdscdmaObj (Prelude.Maybe Prelude.Natural)+tdscdmaObj_lac = Lens.lens (\TdscdmaObj' {lac} -> lac) (\s@TdscdmaObj' {} a -> s {lac = a} :: TdscdmaObj)++-- | Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+tdscdmaObj_pathLoss :: Lens.Lens' TdscdmaObj (Prelude.Maybe Prelude.Natural)+tdscdmaObj_pathLoss = Lens.lens (\TdscdmaObj' {pathLoss} -> pathLoss) (\s@TdscdmaObj' {} a -> s {pathLoss = a} :: TdscdmaObj)++-- | Signal power of the received signal (Received Signal Code Power),+-- measured in decibel-milliwatts (dBm).+tdscdmaObj_rscp :: Lens.Lens' TdscdmaObj (Prelude.Maybe Prelude.Int)+tdscdmaObj_rscp = Lens.lens (\TdscdmaObj' {rscp} -> rscp) (\s@TdscdmaObj' {} a -> s {rscp = a} :: TdscdmaObj)++-- | TD-SCDMA local identification (local ID) information.+tdscdmaObj_tdscdmaLocalId :: Lens.Lens' TdscdmaObj (Prelude.Maybe TdscdmaLocalId)+tdscdmaObj_tdscdmaLocalId = Lens.lens (\TdscdmaObj' {tdscdmaLocalId} -> tdscdmaLocalId) (\s@TdscdmaObj' {} a -> s {tdscdmaLocalId = a} :: TdscdmaObj)++-- | TD-SCDMA object for network measurement reports.+tdscdmaObj_tdscdmaNmr :: Lens.Lens' TdscdmaObj (Prelude.Maybe (Prelude.NonEmpty TdscdmaNmrObj))+tdscdmaObj_tdscdmaNmr = Lens.lens (\TdscdmaObj' {tdscdmaNmr} -> tdscdmaNmr) (\s@TdscdmaObj' {} a -> s {tdscdmaNmr = a} :: TdscdmaObj) Prelude.. Lens.mapping Lens.coerced++-- | TD-SCDMA Timing advance.+tdscdmaObj_tdscdmaTimingAdvance :: Lens.Lens' TdscdmaObj (Prelude.Maybe Prelude.Natural)+tdscdmaObj_tdscdmaTimingAdvance = Lens.lens (\TdscdmaObj' {tdscdmaTimingAdvance} -> tdscdmaTimingAdvance) (\s@TdscdmaObj' {} a -> s {tdscdmaTimingAdvance = a} :: TdscdmaObj)++-- | Mobile Country Code.+tdscdmaObj_mcc :: Lens.Lens' TdscdmaObj Prelude.Natural+tdscdmaObj_mcc = Lens.lens (\TdscdmaObj' {mcc} -> mcc) (\s@TdscdmaObj' {} a -> s {mcc = a} :: TdscdmaObj)++-- | Mobile Network Code.+tdscdmaObj_mnc :: Lens.Lens' TdscdmaObj Prelude.Natural+tdscdmaObj_mnc = Lens.lens (\TdscdmaObj' {mnc} -> mnc) (\s@TdscdmaObj' {} a -> s {mnc = a} :: TdscdmaObj)++-- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+tdscdmaObj_utranCid :: Lens.Lens' TdscdmaObj Prelude.Natural+tdscdmaObj_utranCid = Lens.lens (\TdscdmaObj' {utranCid} -> utranCid) (\s@TdscdmaObj' {} a -> s {utranCid = a} :: TdscdmaObj)++instance Prelude.Hashable TdscdmaObj where+  hashWithSalt _salt TdscdmaObj' {..} =+    _salt+      `Prelude.hashWithSalt` lac+      `Prelude.hashWithSalt` pathLoss+      `Prelude.hashWithSalt` rscp+      `Prelude.hashWithSalt` tdscdmaLocalId+      `Prelude.hashWithSalt` tdscdmaNmr+      `Prelude.hashWithSalt` tdscdmaTimingAdvance+      `Prelude.hashWithSalt` mcc+      `Prelude.hashWithSalt` mnc+      `Prelude.hashWithSalt` utranCid++instance Prelude.NFData TdscdmaObj where+  rnf TdscdmaObj' {..} =+    Prelude.rnf lac+      `Prelude.seq` Prelude.rnf pathLoss+      `Prelude.seq` Prelude.rnf rscp+      `Prelude.seq` Prelude.rnf tdscdmaLocalId+      `Prelude.seq` Prelude.rnf tdscdmaNmr+      `Prelude.seq` Prelude.rnf tdscdmaTimingAdvance+      `Prelude.seq` Prelude.rnf mcc+      `Prelude.seq` Prelude.rnf mnc+      `Prelude.seq` Prelude.rnf utranCid++instance Data.ToJSON TdscdmaObj where+  toJSON TdscdmaObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Lac" Data..=) Prelude.<$> lac,+            ("PathLoss" Data..=) Prelude.<$> pathLoss,+            ("Rscp" Data..=) Prelude.<$> rscp,+            ("TdscdmaLocalId" Data..=)+              Prelude.<$> tdscdmaLocalId,+            ("TdscdmaNmr" Data..=) Prelude.<$> tdscdmaNmr,+            ("TdscdmaTimingAdvance" Data..=)+              Prelude.<$> tdscdmaTimingAdvance,+            Prelude.Just ("Mcc" Data..= mcc),+            Prelude.Just ("Mnc" Data..= mnc),+            Prelude.Just ("UtranCid" Data..= utranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/TraceContent.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.TraceContent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.TraceContent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.WirelessDeviceFrameInfo+import qualified Amazonka.Prelude as Prelude++-- | Trace content for your wireless gateway and wireless device resources.+--+-- /See:/ 'newTraceContent' smart constructor.+data TraceContent = TraceContent'+  { logLevel :: Prelude.Maybe LogLevel,+    wirelessDeviceFrameInfo :: Prelude.Maybe WirelessDeviceFrameInfo+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TraceContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logLevel', 'traceContent_logLevel' - Undocumented member.+--+-- 'wirelessDeviceFrameInfo', 'traceContent_wirelessDeviceFrameInfo' - Undocumented member.+newTraceContent ::+  TraceContent+newTraceContent =+  TraceContent'+    { logLevel = Prelude.Nothing,+      wirelessDeviceFrameInfo = Prelude.Nothing+    }++-- | Undocumented member.+traceContent_logLevel :: Lens.Lens' TraceContent (Prelude.Maybe LogLevel)+traceContent_logLevel = Lens.lens (\TraceContent' {logLevel} -> logLevel) (\s@TraceContent' {} a -> s {logLevel = a} :: TraceContent)++-- | Undocumented member.+traceContent_wirelessDeviceFrameInfo :: Lens.Lens' TraceContent (Prelude.Maybe WirelessDeviceFrameInfo)+traceContent_wirelessDeviceFrameInfo = Lens.lens (\TraceContent' {wirelessDeviceFrameInfo} -> wirelessDeviceFrameInfo) (\s@TraceContent' {} a -> s {wirelessDeviceFrameInfo = a} :: TraceContent)++instance Data.FromJSON TraceContent where+  parseJSON =+    Data.withObject+      "TraceContent"+      ( \x ->+          TraceContent'+            Prelude.<$> (x Data..:? "LogLevel")+            Prelude.<*> (x Data..:? "WirelessDeviceFrameInfo")+      )++instance Prelude.Hashable TraceContent where+  hashWithSalt _salt TraceContent' {..} =+    _salt+      `Prelude.hashWithSalt` logLevel+      `Prelude.hashWithSalt` wirelessDeviceFrameInfo++instance Prelude.NFData TraceContent where+  rnf TraceContent' {..} =+    Prelude.rnf logLevel+      `Prelude.seq` Prelude.rnf wirelessDeviceFrameInfo++instance Data.ToJSON TraceContent where+  toJSON TraceContent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LogLevel" Data..=) Prelude.<$> logLevel,+            ("WirelessDeviceFrameInfo" Data..=)+              Prelude.<$> wirelessDeviceFrameInfo+          ]+      )
+ gen/Amazonka/IoTWireless/Types/UpdateAbpV1_0_x.hs view
@@ -0,0 +1,66 @@+{-# 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.IoTWireless.Types.UpdateAbpV1_0_x+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.UpdateAbpV1_0_x 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++-- | ABP device object for LoRaWAN specification v1.0.x+--+-- /See:/ 'newUpdateAbpV1_0_x' smart constructor.+data UpdateAbpV1_0_x = UpdateAbpV1_0_x'+  { -- | The FCnt init value.+    fCntStart :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAbpV1_0_x' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fCntStart', 'updateAbpV1_0_x_fCntStart' - The FCnt init value.+newUpdateAbpV1_0_x ::+  UpdateAbpV1_0_x+newUpdateAbpV1_0_x =+  UpdateAbpV1_0_x' {fCntStart = Prelude.Nothing}++-- | The FCnt init value.+updateAbpV1_0_x_fCntStart :: Lens.Lens' UpdateAbpV1_0_x (Prelude.Maybe Prelude.Natural)+updateAbpV1_0_x_fCntStart = Lens.lens (\UpdateAbpV1_0_x' {fCntStart} -> fCntStart) (\s@UpdateAbpV1_0_x' {} a -> s {fCntStart = a} :: UpdateAbpV1_0_x)++instance Prelude.Hashable UpdateAbpV1_0_x where+  hashWithSalt _salt UpdateAbpV1_0_x' {..} =+    _salt `Prelude.hashWithSalt` fCntStart++instance Prelude.NFData UpdateAbpV1_0_x where+  rnf UpdateAbpV1_0_x' {..} = Prelude.rnf fCntStart++instance Data.ToJSON UpdateAbpV1_0_x where+  toJSON UpdateAbpV1_0_x' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FCntStart" Data..=) Prelude.<$> fCntStart]+      )
+ gen/Amazonka/IoTWireless/Types/UpdateAbpV1_1.hs view
@@ -0,0 +1,66 @@+{-# 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.IoTWireless.Types.UpdateAbpV1_1+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.UpdateAbpV1_1 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++-- | ABP device object for LoRaWAN specification v1.1+--+-- /See:/ 'newUpdateAbpV1_1' smart constructor.+data UpdateAbpV1_1 = UpdateAbpV1_1'+  { -- | The FCnt init value.+    fCntStart :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAbpV1_1' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fCntStart', 'updateAbpV1_1_fCntStart' - The FCnt init value.+newUpdateAbpV1_1 ::+  UpdateAbpV1_1+newUpdateAbpV1_1 =+  UpdateAbpV1_1' {fCntStart = Prelude.Nothing}++-- | The FCnt init value.+updateAbpV1_1_fCntStart :: Lens.Lens' UpdateAbpV1_1 (Prelude.Maybe Prelude.Natural)+updateAbpV1_1_fCntStart = Lens.lens (\UpdateAbpV1_1' {fCntStart} -> fCntStart) (\s@UpdateAbpV1_1' {} a -> s {fCntStart = a} :: UpdateAbpV1_1)++instance Prelude.Hashable UpdateAbpV1_1 where+  hashWithSalt _salt UpdateAbpV1_1' {..} =+    _salt `Prelude.hashWithSalt` fCntStart++instance Prelude.NFData UpdateAbpV1_1 where+  rnf UpdateAbpV1_1' {..} = Prelude.rnf fCntStart++instance Data.ToJSON UpdateAbpV1_1 where+  toJSON UpdateAbpV1_1' {..} =+    Data.object+      ( Prelude.catMaybes+          [("FCntStart" Data..=) Prelude.<$> fCntStart]+      )
+ gen/Amazonka/IoTWireless/Types/UpdateFPorts.hs view
@@ -0,0 +1,88 @@+{-# 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.IoTWireless.Types.UpdateFPorts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.UpdateFPorts where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.ApplicationConfig+import Amazonka.IoTWireless.Types.Positioning+import qualified Amazonka.Prelude as Prelude++-- | Object for updating the FPorts information.+--+-- /See:/ 'newUpdateFPorts' smart constructor.+data UpdateFPorts = UpdateFPorts'+  { -- | LoRaWAN application, which can be used for geolocation by activating+    -- positioning.+    applications :: Prelude.Maybe [ApplicationConfig],+    -- | Positioning FPorts for the ClockSync, Stream, and GNSS functions.+    positioning :: Prelude.Maybe Positioning+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFPorts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applications', 'updateFPorts_applications' - LoRaWAN application, which can be used for geolocation by activating+-- positioning.+--+-- 'positioning', 'updateFPorts_positioning' - Positioning FPorts for the ClockSync, Stream, and GNSS functions.+newUpdateFPorts ::+  UpdateFPorts+newUpdateFPorts =+  UpdateFPorts'+    { applications = Prelude.Nothing,+      positioning = Prelude.Nothing+    }++-- | LoRaWAN application, which can be used for geolocation by activating+-- positioning.+updateFPorts_applications :: Lens.Lens' UpdateFPorts (Prelude.Maybe [ApplicationConfig])+updateFPorts_applications = Lens.lens (\UpdateFPorts' {applications} -> applications) (\s@UpdateFPorts' {} a -> s {applications = a} :: UpdateFPorts) Prelude.. Lens.mapping Lens.coerced++-- | Positioning FPorts for the ClockSync, Stream, and GNSS functions.+updateFPorts_positioning :: Lens.Lens' UpdateFPorts (Prelude.Maybe Positioning)+updateFPorts_positioning = Lens.lens (\UpdateFPorts' {positioning} -> positioning) (\s@UpdateFPorts' {} a -> s {positioning = a} :: UpdateFPorts)++instance Prelude.Hashable UpdateFPorts where+  hashWithSalt _salt UpdateFPorts' {..} =+    _salt+      `Prelude.hashWithSalt` applications+      `Prelude.hashWithSalt` positioning++instance Prelude.NFData UpdateFPorts where+  rnf UpdateFPorts' {..} =+    Prelude.rnf applications+      `Prelude.seq` Prelude.rnf positioning++instance Data.ToJSON UpdateFPorts where+  toJSON UpdateFPorts' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Applications" Data..=) Prelude.<$> applications,+            ("Positioning" Data..=) Prelude.<$> positioning+          ]+      )
+ gen/Amazonka/IoTWireless/Types/UpdateWirelessGatewayTaskCreate.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskCreate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskCreate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskCreate+import qualified Amazonka.Prelude as Prelude++-- | UpdateWirelessGatewayTaskCreate object.+--+-- /See:/ 'newUpdateWirelessGatewayTaskCreate' smart constructor.+data UpdateWirelessGatewayTaskCreate = UpdateWirelessGatewayTaskCreate'+  { -- | The properties that relate to the LoRaWAN wireless gateway.+    loRaWAN :: Prelude.Maybe LoRaWANUpdateGatewayTaskCreate,+    -- | The IAM role used to read data from the S3 bucket.+    updateDataRole :: Prelude.Maybe Prelude.Text,+    -- | The link to the S3 bucket.+    updateDataSource :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessGatewayTaskCreate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'updateWirelessGatewayTaskCreate_loRaWAN' - The properties that relate to the LoRaWAN wireless gateway.+--+-- 'updateDataRole', 'updateWirelessGatewayTaskCreate_updateDataRole' - The IAM role used to read data from the S3 bucket.+--+-- 'updateDataSource', 'updateWirelessGatewayTaskCreate_updateDataSource' - The link to the S3 bucket.+newUpdateWirelessGatewayTaskCreate ::+  UpdateWirelessGatewayTaskCreate+newUpdateWirelessGatewayTaskCreate =+  UpdateWirelessGatewayTaskCreate'+    { loRaWAN =+        Prelude.Nothing,+      updateDataRole = Prelude.Nothing,+      updateDataSource = Prelude.Nothing+    }++-- | The properties that relate to the LoRaWAN wireless gateway.+updateWirelessGatewayTaskCreate_loRaWAN :: Lens.Lens' UpdateWirelessGatewayTaskCreate (Prelude.Maybe LoRaWANUpdateGatewayTaskCreate)+updateWirelessGatewayTaskCreate_loRaWAN = Lens.lens (\UpdateWirelessGatewayTaskCreate' {loRaWAN} -> loRaWAN) (\s@UpdateWirelessGatewayTaskCreate' {} a -> s {loRaWAN = a} :: UpdateWirelessGatewayTaskCreate)++-- | The IAM role used to read data from the S3 bucket.+updateWirelessGatewayTaskCreate_updateDataRole :: Lens.Lens' UpdateWirelessGatewayTaskCreate (Prelude.Maybe Prelude.Text)+updateWirelessGatewayTaskCreate_updateDataRole = Lens.lens (\UpdateWirelessGatewayTaskCreate' {updateDataRole} -> updateDataRole) (\s@UpdateWirelessGatewayTaskCreate' {} a -> s {updateDataRole = a} :: UpdateWirelessGatewayTaskCreate)++-- | The link to the S3 bucket.+updateWirelessGatewayTaskCreate_updateDataSource :: Lens.Lens' UpdateWirelessGatewayTaskCreate (Prelude.Maybe Prelude.Text)+updateWirelessGatewayTaskCreate_updateDataSource = Lens.lens (\UpdateWirelessGatewayTaskCreate' {updateDataSource} -> updateDataSource) (\s@UpdateWirelessGatewayTaskCreate' {} a -> s {updateDataSource = a} :: UpdateWirelessGatewayTaskCreate)++instance+  Data.FromJSON+    UpdateWirelessGatewayTaskCreate+  where+  parseJSON =+    Data.withObject+      "UpdateWirelessGatewayTaskCreate"+      ( \x ->+          UpdateWirelessGatewayTaskCreate'+            Prelude.<$> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "UpdateDataRole")+            Prelude.<*> (x Data..:? "UpdateDataSource")+      )++instance+  Prelude.Hashable+    UpdateWirelessGatewayTaskCreate+  where+  hashWithSalt+    _salt+    UpdateWirelessGatewayTaskCreate' {..} =+      _salt+        `Prelude.hashWithSalt` loRaWAN+        `Prelude.hashWithSalt` updateDataRole+        `Prelude.hashWithSalt` updateDataSource++instance+  Prelude.NFData+    UpdateWirelessGatewayTaskCreate+  where+  rnf UpdateWirelessGatewayTaskCreate' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf updateDataRole+      `Prelude.seq` Prelude.rnf updateDataSource++instance Data.ToJSON UpdateWirelessGatewayTaskCreate where+  toJSON UpdateWirelessGatewayTaskCreate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("UpdateDataRole" Data..=)+              Prelude.<$> updateDataRole,+            ("UpdateDataSource" Data..=)+              Prelude.<$> updateDataSource+          ]+      )
+ gen/Amazonka/IoTWireless/Types/UpdateWirelessGatewayTaskEntry.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.IoTWireless.Types.UpdateWirelessGatewayTaskEntry+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.UpdateWirelessGatewayTaskEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANUpdateGatewayTaskEntry+import qualified Amazonka.Prelude as Prelude++-- | UpdateWirelessGatewayTaskEntry object.+--+-- /See:/ 'newUpdateWirelessGatewayTaskEntry' smart constructor.+data UpdateWirelessGatewayTaskEntry = UpdateWirelessGatewayTaskEntry'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the new wireless gateway task entry.+    id :: Prelude.Maybe Prelude.Text,+    -- | The properties that relate to the LoRaWAN wireless gateway.+    loRaWAN :: Prelude.Maybe LoRaWANUpdateGatewayTaskEntry+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessGatewayTaskEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateWirelessGatewayTaskEntry_arn' - The Amazon Resource Name of the resource.+--+-- 'id', 'updateWirelessGatewayTaskEntry_id' - The ID of the new wireless gateway task entry.+--+-- 'loRaWAN', 'updateWirelessGatewayTaskEntry_loRaWAN' - The properties that relate to the LoRaWAN wireless gateway.+newUpdateWirelessGatewayTaskEntry ::+  UpdateWirelessGatewayTaskEntry+newUpdateWirelessGatewayTaskEntry =+  UpdateWirelessGatewayTaskEntry'+    { arn =+        Prelude.Nothing,+      id = Prelude.Nothing,+      loRaWAN = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+updateWirelessGatewayTaskEntry_arn :: Lens.Lens' UpdateWirelessGatewayTaskEntry (Prelude.Maybe Prelude.Text)+updateWirelessGatewayTaskEntry_arn = Lens.lens (\UpdateWirelessGatewayTaskEntry' {arn} -> arn) (\s@UpdateWirelessGatewayTaskEntry' {} a -> s {arn = a} :: UpdateWirelessGatewayTaskEntry)++-- | The ID of the new wireless gateway task entry.+updateWirelessGatewayTaskEntry_id :: Lens.Lens' UpdateWirelessGatewayTaskEntry (Prelude.Maybe Prelude.Text)+updateWirelessGatewayTaskEntry_id = Lens.lens (\UpdateWirelessGatewayTaskEntry' {id} -> id) (\s@UpdateWirelessGatewayTaskEntry' {} a -> s {id = a} :: UpdateWirelessGatewayTaskEntry)++-- | The properties that relate to the LoRaWAN wireless gateway.+updateWirelessGatewayTaskEntry_loRaWAN :: Lens.Lens' UpdateWirelessGatewayTaskEntry (Prelude.Maybe LoRaWANUpdateGatewayTaskEntry)+updateWirelessGatewayTaskEntry_loRaWAN = Lens.lens (\UpdateWirelessGatewayTaskEntry' {loRaWAN} -> loRaWAN) (\s@UpdateWirelessGatewayTaskEntry' {} a -> s {loRaWAN = a} :: UpdateWirelessGatewayTaskEntry)++instance Data.FromJSON UpdateWirelessGatewayTaskEntry where+  parseJSON =+    Data.withObject+      "UpdateWirelessGatewayTaskEntry"+      ( \x ->+          UpdateWirelessGatewayTaskEntry'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LoRaWAN")+      )++instance+  Prelude.Hashable+    UpdateWirelessGatewayTaskEntry+  where+  hashWithSalt+    _salt+    UpdateWirelessGatewayTaskEntry' {..} =+      _salt+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` loRaWAN++instance+  Prelude.NFData+    UpdateWirelessGatewayTaskEntry+  where+  rnf UpdateWirelessGatewayTaskEntry' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf loRaWAN
+ gen/Amazonka/IoTWireless/Types/WcdmaLocalId.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.WcdmaLocalId+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WcdmaLocalId 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++-- | WCDMA local identification (local ID) information.+--+-- /See:/ 'newWcdmaLocalId' smart constructor.+data WcdmaLocalId = WcdmaLocalId'+  { -- | WCDMA UTRA Absolute RF Channel Number downlink.+    uarfcndl :: Prelude.Natural,+    -- | Primary Scrambling Code.+    psc :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WcdmaLocalId' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'uarfcndl', 'wcdmaLocalId_uarfcndl' - WCDMA UTRA Absolute RF Channel Number downlink.+--+-- 'psc', 'wcdmaLocalId_psc' - Primary Scrambling Code.+newWcdmaLocalId ::+  -- | 'uarfcndl'+  Prelude.Natural ->+  -- | 'psc'+  Prelude.Natural ->+  WcdmaLocalId+newWcdmaLocalId pUarfcndl_ pPsc_ =+  WcdmaLocalId' {uarfcndl = pUarfcndl_, psc = pPsc_}++-- | WCDMA UTRA Absolute RF Channel Number downlink.+wcdmaLocalId_uarfcndl :: Lens.Lens' WcdmaLocalId Prelude.Natural+wcdmaLocalId_uarfcndl = Lens.lens (\WcdmaLocalId' {uarfcndl} -> uarfcndl) (\s@WcdmaLocalId' {} a -> s {uarfcndl = a} :: WcdmaLocalId)++-- | Primary Scrambling Code.+wcdmaLocalId_psc :: Lens.Lens' WcdmaLocalId Prelude.Natural+wcdmaLocalId_psc = Lens.lens (\WcdmaLocalId' {psc} -> psc) (\s@WcdmaLocalId' {} a -> s {psc = a} :: WcdmaLocalId)++instance Prelude.Hashable WcdmaLocalId where+  hashWithSalt _salt WcdmaLocalId' {..} =+    _salt+      `Prelude.hashWithSalt` uarfcndl+      `Prelude.hashWithSalt` psc++instance Prelude.NFData WcdmaLocalId where+  rnf WcdmaLocalId' {..} =+    Prelude.rnf uarfcndl `Prelude.seq` Prelude.rnf psc++instance Data.ToJSON WcdmaLocalId where+  toJSON WcdmaLocalId' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Uarfcndl" Data..= uarfcndl),+            Prelude.Just ("Psc" Data..= psc)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WcdmaNmrObj.hs view
@@ -0,0 +1,128 @@+{-# 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.IoTWireless.Types.WcdmaNmrObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WcdmaNmrObj 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++-- | Network Measurement Reports.+--+-- /See:/ 'newWcdmaNmrObj' smart constructor.+data WcdmaNmrObj = WcdmaNmrObj'+  { -- | Path loss, or path attenuation, is the reduction in power density of an+    -- electromagnetic wave as it propagates through space.+    pathLoss :: Prelude.Maybe Prelude.Natural,+    -- | Received Signal Code Power (signal power) (dBm)+    rscp :: Prelude.Maybe Prelude.Int,+    -- | WCDMA UTRA Absolute RF Channel Number downlink.+    uarfcndl :: Prelude.Natural,+    -- | Primary Scrambling Code.+    psc :: Prelude.Natural,+    -- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+    utranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WcdmaNmrObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pathLoss', 'wcdmaNmrObj_pathLoss' - Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+--+-- 'rscp', 'wcdmaNmrObj_rscp' - Received Signal Code Power (signal power) (dBm)+--+-- 'uarfcndl', 'wcdmaNmrObj_uarfcndl' - WCDMA UTRA Absolute RF Channel Number downlink.+--+-- 'psc', 'wcdmaNmrObj_psc' - Primary Scrambling Code.+--+-- 'utranCid', 'wcdmaNmrObj_utranCid' - UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+newWcdmaNmrObj ::+  -- | 'uarfcndl'+  Prelude.Natural ->+  -- | 'psc'+  Prelude.Natural ->+  -- | 'utranCid'+  Prelude.Natural ->+  WcdmaNmrObj+newWcdmaNmrObj pUarfcndl_ pPsc_ pUtranCid_ =+  WcdmaNmrObj'+    { pathLoss = Prelude.Nothing,+      rscp = Prelude.Nothing,+      uarfcndl = pUarfcndl_,+      psc = pPsc_,+      utranCid = pUtranCid_+    }++-- | Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+wcdmaNmrObj_pathLoss :: Lens.Lens' WcdmaNmrObj (Prelude.Maybe Prelude.Natural)+wcdmaNmrObj_pathLoss = Lens.lens (\WcdmaNmrObj' {pathLoss} -> pathLoss) (\s@WcdmaNmrObj' {} a -> s {pathLoss = a} :: WcdmaNmrObj)++-- | Received Signal Code Power (signal power) (dBm)+wcdmaNmrObj_rscp :: Lens.Lens' WcdmaNmrObj (Prelude.Maybe Prelude.Int)+wcdmaNmrObj_rscp = Lens.lens (\WcdmaNmrObj' {rscp} -> rscp) (\s@WcdmaNmrObj' {} a -> s {rscp = a} :: WcdmaNmrObj)++-- | WCDMA UTRA Absolute RF Channel Number downlink.+wcdmaNmrObj_uarfcndl :: Lens.Lens' WcdmaNmrObj Prelude.Natural+wcdmaNmrObj_uarfcndl = Lens.lens (\WcdmaNmrObj' {uarfcndl} -> uarfcndl) (\s@WcdmaNmrObj' {} a -> s {uarfcndl = a} :: WcdmaNmrObj)++-- | Primary Scrambling Code.+wcdmaNmrObj_psc :: Lens.Lens' WcdmaNmrObj Prelude.Natural+wcdmaNmrObj_psc = Lens.lens (\WcdmaNmrObj' {psc} -> psc) (\s@WcdmaNmrObj' {} a -> s {psc = a} :: WcdmaNmrObj)++-- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+wcdmaNmrObj_utranCid :: Lens.Lens' WcdmaNmrObj Prelude.Natural+wcdmaNmrObj_utranCid = Lens.lens (\WcdmaNmrObj' {utranCid} -> utranCid) (\s@WcdmaNmrObj' {} a -> s {utranCid = a} :: WcdmaNmrObj)++instance Prelude.Hashable WcdmaNmrObj where+  hashWithSalt _salt WcdmaNmrObj' {..} =+    _salt+      `Prelude.hashWithSalt` pathLoss+      `Prelude.hashWithSalt` rscp+      `Prelude.hashWithSalt` uarfcndl+      `Prelude.hashWithSalt` psc+      `Prelude.hashWithSalt` utranCid++instance Prelude.NFData WcdmaNmrObj where+  rnf WcdmaNmrObj' {..} =+    Prelude.rnf pathLoss+      `Prelude.seq` Prelude.rnf rscp+      `Prelude.seq` Prelude.rnf uarfcndl+      `Prelude.seq` Prelude.rnf psc+      `Prelude.seq` Prelude.rnf utranCid++instance Data.ToJSON WcdmaNmrObj where+  toJSON WcdmaNmrObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PathLoss" Data..=) Prelude.<$> pathLoss,+            ("Rscp" Data..=) Prelude.<$> rscp,+            Prelude.Just ("Uarfcndl" Data..= uarfcndl),+            Prelude.Just ("Psc" Data..= psc),+            Prelude.Just ("UtranCid" Data..= utranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WcdmaObj.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.IoTWireless.Types.WcdmaObj+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WcdmaObj where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.WcdmaLocalId+import Amazonka.IoTWireless.Types.WcdmaNmrObj+import qualified Amazonka.Prelude as Prelude++-- | WCDMA.+--+-- /See:/ 'newWcdmaObj' smart constructor.+data WcdmaObj = WcdmaObj'+  { -- | Location Area Code.+    lac :: Prelude.Maybe Prelude.Natural,+    -- | Path loss, or path attenuation, is the reduction in power density of an+    -- electromagnetic wave as it propagates through space.+    pathLoss :: Prelude.Maybe Prelude.Natural,+    -- | Received Signal Code Power (signal power) (dBm).+    rscp :: Prelude.Maybe Prelude.Int,+    -- | WCDMA local ID information.+    wcdmaLocalId :: Prelude.Maybe WcdmaLocalId,+    -- | WCDMA object for network measurement reports.+    wcdmaNmr :: Prelude.Maybe (Prelude.NonEmpty WcdmaNmrObj),+    -- | Mobile Country Code.+    mcc :: Prelude.Natural,+    -- | Mobile Network Code.+    mnc :: Prelude.Natural,+    -- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+    utranCid :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WcdmaObj' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lac', 'wcdmaObj_lac' - Location Area Code.+--+-- 'pathLoss', 'wcdmaObj_pathLoss' - Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+--+-- 'rscp', 'wcdmaObj_rscp' - Received Signal Code Power (signal power) (dBm).+--+-- 'wcdmaLocalId', 'wcdmaObj_wcdmaLocalId' - WCDMA local ID information.+--+-- 'wcdmaNmr', 'wcdmaObj_wcdmaNmr' - WCDMA object for network measurement reports.+--+-- 'mcc', 'wcdmaObj_mcc' - Mobile Country Code.+--+-- 'mnc', 'wcdmaObj_mnc' - Mobile Network Code.+--+-- 'utranCid', 'wcdmaObj_utranCid' - UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+newWcdmaObj ::+  -- | 'mcc'+  Prelude.Natural ->+  -- | 'mnc'+  Prelude.Natural ->+  -- | 'utranCid'+  Prelude.Natural ->+  WcdmaObj+newWcdmaObj pMcc_ pMnc_ pUtranCid_ =+  WcdmaObj'+    { lac = Prelude.Nothing,+      pathLoss = Prelude.Nothing,+      rscp = Prelude.Nothing,+      wcdmaLocalId = Prelude.Nothing,+      wcdmaNmr = Prelude.Nothing,+      mcc = pMcc_,+      mnc = pMnc_,+      utranCid = pUtranCid_+    }++-- | Location Area Code.+wcdmaObj_lac :: Lens.Lens' WcdmaObj (Prelude.Maybe Prelude.Natural)+wcdmaObj_lac = Lens.lens (\WcdmaObj' {lac} -> lac) (\s@WcdmaObj' {} a -> s {lac = a} :: WcdmaObj)++-- | Path loss, or path attenuation, is the reduction in power density of an+-- electromagnetic wave as it propagates through space.+wcdmaObj_pathLoss :: Lens.Lens' WcdmaObj (Prelude.Maybe Prelude.Natural)+wcdmaObj_pathLoss = Lens.lens (\WcdmaObj' {pathLoss} -> pathLoss) (\s@WcdmaObj' {} a -> s {pathLoss = a} :: WcdmaObj)++-- | Received Signal Code Power (signal power) (dBm).+wcdmaObj_rscp :: Lens.Lens' WcdmaObj (Prelude.Maybe Prelude.Int)+wcdmaObj_rscp = Lens.lens (\WcdmaObj' {rscp} -> rscp) (\s@WcdmaObj' {} a -> s {rscp = a} :: WcdmaObj)++-- | WCDMA local ID information.+wcdmaObj_wcdmaLocalId :: Lens.Lens' WcdmaObj (Prelude.Maybe WcdmaLocalId)+wcdmaObj_wcdmaLocalId = Lens.lens (\WcdmaObj' {wcdmaLocalId} -> wcdmaLocalId) (\s@WcdmaObj' {} a -> s {wcdmaLocalId = a} :: WcdmaObj)++-- | WCDMA object for network measurement reports.+wcdmaObj_wcdmaNmr :: Lens.Lens' WcdmaObj (Prelude.Maybe (Prelude.NonEmpty WcdmaNmrObj))+wcdmaObj_wcdmaNmr = Lens.lens (\WcdmaObj' {wcdmaNmr} -> wcdmaNmr) (\s@WcdmaObj' {} a -> s {wcdmaNmr = a} :: WcdmaObj) Prelude.. Lens.mapping Lens.coerced++-- | Mobile Country Code.+wcdmaObj_mcc :: Lens.Lens' WcdmaObj Prelude.Natural+wcdmaObj_mcc = Lens.lens (\WcdmaObj' {mcc} -> mcc) (\s@WcdmaObj' {} a -> s {mcc = a} :: WcdmaObj)++-- | Mobile Network Code.+wcdmaObj_mnc :: Lens.Lens' WcdmaObj Prelude.Natural+wcdmaObj_mnc = Lens.lens (\WcdmaObj' {mnc} -> mnc) (\s@WcdmaObj' {} a -> s {mnc = a} :: WcdmaObj)++-- | UTRAN (UMTS Terrestrial Radio Access Network) Cell Global Identifier.+wcdmaObj_utranCid :: Lens.Lens' WcdmaObj Prelude.Natural+wcdmaObj_utranCid = Lens.lens (\WcdmaObj' {utranCid} -> utranCid) (\s@WcdmaObj' {} a -> s {utranCid = a} :: WcdmaObj)++instance Prelude.Hashable WcdmaObj where+  hashWithSalt _salt WcdmaObj' {..} =+    _salt+      `Prelude.hashWithSalt` lac+      `Prelude.hashWithSalt` pathLoss+      `Prelude.hashWithSalt` rscp+      `Prelude.hashWithSalt` wcdmaLocalId+      `Prelude.hashWithSalt` wcdmaNmr+      `Prelude.hashWithSalt` mcc+      `Prelude.hashWithSalt` mnc+      `Prelude.hashWithSalt` utranCid++instance Prelude.NFData WcdmaObj where+  rnf WcdmaObj' {..} =+    Prelude.rnf lac+      `Prelude.seq` Prelude.rnf pathLoss+      `Prelude.seq` Prelude.rnf rscp+      `Prelude.seq` Prelude.rnf wcdmaLocalId+      `Prelude.seq` Prelude.rnf wcdmaNmr+      `Prelude.seq` Prelude.rnf mcc+      `Prelude.seq` Prelude.rnf mnc+      `Prelude.seq` Prelude.rnf utranCid++instance Data.ToJSON WcdmaObj where+  toJSON WcdmaObj' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Lac" Data..=) Prelude.<$> lac,+            ("PathLoss" Data..=) Prelude.<$> pathLoss,+            ("Rscp" Data..=) Prelude.<$> rscp,+            ("WcdmaLocalId" Data..=) Prelude.<$> wcdmaLocalId,+            ("WcdmaNmr" Data..=) Prelude.<$> wcdmaNmr,+            Prelude.Just ("Mcc" Data..= mcc),+            Prelude.Just ("Mnc" Data..= mnc),+            Prelude.Just ("UtranCid" Data..= utranCid)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WiFiAccessPoint.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.IoTWireless.Types.WiFiAccessPoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WiFiAccessPoint 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++-- | Wi-Fi access point.+--+-- /See:/ 'newWiFiAccessPoint' smart constructor.+data WiFiAccessPoint = WiFiAccessPoint'+  { -- | Wi-Fi MAC Address.+    macAddress :: Prelude.Text,+    -- | Recived signal strength of the WLAN measurement data.+    rss :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WiFiAccessPoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'macAddress', 'wiFiAccessPoint_macAddress' - Wi-Fi MAC Address.+--+-- 'rss', 'wiFiAccessPoint_rss' - Recived signal strength of the WLAN measurement data.+newWiFiAccessPoint ::+  -- | 'macAddress'+  Prelude.Text ->+  -- | 'rss'+  Prelude.Int ->+  WiFiAccessPoint+newWiFiAccessPoint pMacAddress_ pRss_ =+  WiFiAccessPoint'+    { macAddress = pMacAddress_,+      rss = pRss_+    }++-- | Wi-Fi MAC Address.+wiFiAccessPoint_macAddress :: Lens.Lens' WiFiAccessPoint Prelude.Text+wiFiAccessPoint_macAddress = Lens.lens (\WiFiAccessPoint' {macAddress} -> macAddress) (\s@WiFiAccessPoint' {} a -> s {macAddress = a} :: WiFiAccessPoint)++-- | Recived signal strength of the WLAN measurement data.+wiFiAccessPoint_rss :: Lens.Lens' WiFiAccessPoint Prelude.Int+wiFiAccessPoint_rss = Lens.lens (\WiFiAccessPoint' {rss} -> rss) (\s@WiFiAccessPoint' {} a -> s {rss = a} :: WiFiAccessPoint)++instance Prelude.Hashable WiFiAccessPoint where+  hashWithSalt _salt WiFiAccessPoint' {..} =+    _salt+      `Prelude.hashWithSalt` macAddress+      `Prelude.hashWithSalt` rss++instance Prelude.NFData WiFiAccessPoint where+  rnf WiFiAccessPoint' {..} =+    Prelude.rnf macAddress+      `Prelude.seq` Prelude.rnf rss++instance Data.ToJSON WiFiAccessPoint where+  toJSON WiFiAccessPoint' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("MacAddress" Data..= macAddress),+            Prelude.Just ("Rss" Data..= rss)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceEvent.hs view
@@ -0,0 +1,88 @@+{-# 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.IoTWireless.Types.WirelessDeviceEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceEvent+  ( WirelessDeviceEvent+      ( ..,+        WirelessDeviceEvent_Downlink_Data,+        WirelessDeviceEvent_Join,+        WirelessDeviceEvent_Registration,+        WirelessDeviceEvent_Rejoin,+        WirelessDeviceEvent_Uplink_Data+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The event for a log message, if the log message is tied to a wireless+-- device.+newtype WirelessDeviceEvent = WirelessDeviceEvent'+  { fromWirelessDeviceEvent ::+      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 WirelessDeviceEvent_Downlink_Data :: WirelessDeviceEvent+pattern WirelessDeviceEvent_Downlink_Data = WirelessDeviceEvent' "Downlink_Data"++pattern WirelessDeviceEvent_Join :: WirelessDeviceEvent+pattern WirelessDeviceEvent_Join = WirelessDeviceEvent' "Join"++pattern WirelessDeviceEvent_Registration :: WirelessDeviceEvent+pattern WirelessDeviceEvent_Registration = WirelessDeviceEvent' "Registration"++pattern WirelessDeviceEvent_Rejoin :: WirelessDeviceEvent+pattern WirelessDeviceEvent_Rejoin = WirelessDeviceEvent' "Rejoin"++pattern WirelessDeviceEvent_Uplink_Data :: WirelessDeviceEvent+pattern WirelessDeviceEvent_Uplink_Data = WirelessDeviceEvent' "Uplink_Data"++{-# COMPLETE+  WirelessDeviceEvent_Downlink_Data,+  WirelessDeviceEvent_Join,+  WirelessDeviceEvent_Registration,+  WirelessDeviceEvent_Rejoin,+  WirelessDeviceEvent_Uplink_Data,+  WirelessDeviceEvent'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceEventLogOption.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.IoTWireless.Types.WirelessDeviceEventLogOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceEventLogOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.WirelessDeviceEvent+import qualified Amazonka.Prelude as Prelude++-- | The log options for a wireless device event and can be used to set log+-- levels for a specific wireless device event.+--+-- For a LoRaWAN device, possible events for a log messsage are: @Join@,+-- @Rejoin@, @Downlink_Data@, and @Uplink_Data@. For a Sidewalk device,+-- possible events for a log message are @Registration@, @Downlink_Data@,+-- and @Uplink_Data@.+--+-- /See:/ 'newWirelessDeviceEventLogOption' smart constructor.+data WirelessDeviceEventLogOption = WirelessDeviceEventLogOption'+  { event :: WirelessDeviceEvent,+    logLevel :: LogLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessDeviceEventLogOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'event', 'wirelessDeviceEventLogOption_event' - Undocumented member.+--+-- 'logLevel', 'wirelessDeviceEventLogOption_logLevel' - Undocumented member.+newWirelessDeviceEventLogOption ::+  -- | 'event'+  WirelessDeviceEvent ->+  -- | 'logLevel'+  LogLevel ->+  WirelessDeviceEventLogOption+newWirelessDeviceEventLogOption pEvent_ pLogLevel_ =+  WirelessDeviceEventLogOption'+    { event = pEvent_,+      logLevel = pLogLevel_+    }++-- | Undocumented member.+wirelessDeviceEventLogOption_event :: Lens.Lens' WirelessDeviceEventLogOption WirelessDeviceEvent+wirelessDeviceEventLogOption_event = Lens.lens (\WirelessDeviceEventLogOption' {event} -> event) (\s@WirelessDeviceEventLogOption' {} a -> s {event = a} :: WirelessDeviceEventLogOption)++-- | Undocumented member.+wirelessDeviceEventLogOption_logLevel :: Lens.Lens' WirelessDeviceEventLogOption LogLevel+wirelessDeviceEventLogOption_logLevel = Lens.lens (\WirelessDeviceEventLogOption' {logLevel} -> logLevel) (\s@WirelessDeviceEventLogOption' {} a -> s {logLevel = a} :: WirelessDeviceEventLogOption)++instance Data.FromJSON WirelessDeviceEventLogOption where+  parseJSON =+    Data.withObject+      "WirelessDeviceEventLogOption"+      ( \x ->+          WirelessDeviceEventLogOption'+            Prelude.<$> (x Data..: "Event")+            Prelude.<*> (x Data..: "LogLevel")+      )++instance+  Prelude.Hashable+    WirelessDeviceEventLogOption+  where+  hashWithSalt _salt WirelessDeviceEventLogOption' {..} =+    _salt+      `Prelude.hashWithSalt` event+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData WirelessDeviceEventLogOption where+  rnf WirelessDeviceEventLogOption' {..} =+    Prelude.rnf event+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToJSON WirelessDeviceEventLogOption where+  toJSON WirelessDeviceEventLogOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Event" Data..= event),+            Prelude.Just ("LogLevel" Data..= logLevel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceFrameInfo.hs view
@@ -0,0 +1,74 @@+{-# 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.IoTWireless.Types.WirelessDeviceFrameInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceFrameInfo+  ( WirelessDeviceFrameInfo+      ( ..,+        WirelessDeviceFrameInfo_DISABLED,+        WirelessDeviceFrameInfo_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | @FrameInfo@ of your wireless device resources for the trace content. Use+-- FrameInfo to debug the communication between your LoRaWAN end devices+-- and the network server.+newtype WirelessDeviceFrameInfo = WirelessDeviceFrameInfo'+  { fromWirelessDeviceFrameInfo ::+      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 WirelessDeviceFrameInfo_DISABLED :: WirelessDeviceFrameInfo+pattern WirelessDeviceFrameInfo_DISABLED = WirelessDeviceFrameInfo' "DISABLED"++pattern WirelessDeviceFrameInfo_ENABLED :: WirelessDeviceFrameInfo+pattern WirelessDeviceFrameInfo_ENABLED = WirelessDeviceFrameInfo' "ENABLED"++{-# COMPLETE+  WirelessDeviceFrameInfo_DISABLED,+  WirelessDeviceFrameInfo_ENABLED,+  WirelessDeviceFrameInfo'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceIdType.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.IoTWireless.Types.WirelessDeviceIdType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceIdType+  ( WirelessDeviceIdType+      ( ..,+        WirelessDeviceIdType_DevEui,+        WirelessDeviceIdType_SidewalkManufacturingSn,+        WirelessDeviceIdType_ThingName,+        WirelessDeviceIdType_WirelessDeviceId+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessDeviceIdType = WirelessDeviceIdType'+  { fromWirelessDeviceIdType ::+      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 WirelessDeviceIdType_DevEui :: WirelessDeviceIdType+pattern WirelessDeviceIdType_DevEui = WirelessDeviceIdType' "DevEui"++pattern WirelessDeviceIdType_SidewalkManufacturingSn :: WirelessDeviceIdType+pattern WirelessDeviceIdType_SidewalkManufacturingSn = WirelessDeviceIdType' "SidewalkManufacturingSn"++pattern WirelessDeviceIdType_ThingName :: WirelessDeviceIdType+pattern WirelessDeviceIdType_ThingName = WirelessDeviceIdType' "ThingName"++pattern WirelessDeviceIdType_WirelessDeviceId :: WirelessDeviceIdType+pattern WirelessDeviceIdType_WirelessDeviceId = WirelessDeviceIdType' "WirelessDeviceId"++{-# COMPLETE+  WirelessDeviceIdType_DevEui,+  WirelessDeviceIdType_SidewalkManufacturingSn,+  WirelessDeviceIdType_ThingName,+  WirelessDeviceIdType_WirelessDeviceId,+  WirelessDeviceIdType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceLogOption.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.WirelessDeviceLogOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceLogOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.WirelessDeviceEventLogOption+import Amazonka.IoTWireless.Types.WirelessDeviceType+import qualified Amazonka.Prelude as Prelude++-- | The log options for wireless devices and can be used to set log levels+-- for a specific type of wireless device.+--+-- /See:/ 'newWirelessDeviceLogOption' smart constructor.+data WirelessDeviceLogOption = WirelessDeviceLogOption'+  { events :: Prelude.Maybe [WirelessDeviceEventLogOption],+    -- | The wireless device type.+    type' :: WirelessDeviceType,+    logLevel :: LogLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessDeviceLogOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'wirelessDeviceLogOption_events' - Undocumented member.+--+-- 'type'', 'wirelessDeviceLogOption_type' - The wireless device type.+--+-- 'logLevel', 'wirelessDeviceLogOption_logLevel' - Undocumented member.+newWirelessDeviceLogOption ::+  -- | 'type''+  WirelessDeviceType ->+  -- | 'logLevel'+  LogLevel ->+  WirelessDeviceLogOption+newWirelessDeviceLogOption pType_ pLogLevel_ =+  WirelessDeviceLogOption'+    { events = Prelude.Nothing,+      type' = pType_,+      logLevel = pLogLevel_+    }++-- | Undocumented member.+wirelessDeviceLogOption_events :: Lens.Lens' WirelessDeviceLogOption (Prelude.Maybe [WirelessDeviceEventLogOption])+wirelessDeviceLogOption_events = Lens.lens (\WirelessDeviceLogOption' {events} -> events) (\s@WirelessDeviceLogOption' {} a -> s {events = a} :: WirelessDeviceLogOption) Prelude.. Lens.mapping Lens.coerced++-- | The wireless device type.+wirelessDeviceLogOption_type :: Lens.Lens' WirelessDeviceLogOption WirelessDeviceType+wirelessDeviceLogOption_type = Lens.lens (\WirelessDeviceLogOption' {type'} -> type') (\s@WirelessDeviceLogOption' {} a -> s {type' = a} :: WirelessDeviceLogOption)++-- | Undocumented member.+wirelessDeviceLogOption_logLevel :: Lens.Lens' WirelessDeviceLogOption LogLevel+wirelessDeviceLogOption_logLevel = Lens.lens (\WirelessDeviceLogOption' {logLevel} -> logLevel) (\s@WirelessDeviceLogOption' {} a -> s {logLevel = a} :: WirelessDeviceLogOption)++instance Data.FromJSON WirelessDeviceLogOption where+  parseJSON =+    Data.withObject+      "WirelessDeviceLogOption"+      ( \x ->+          WirelessDeviceLogOption'+            Prelude.<$> (x Data..:? "Events" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Type")+            Prelude.<*> (x Data..: "LogLevel")+      )++instance Prelude.Hashable WirelessDeviceLogOption where+  hashWithSalt _salt WirelessDeviceLogOption' {..} =+    _salt+      `Prelude.hashWithSalt` events+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData WirelessDeviceLogOption where+  rnf WirelessDeviceLogOption' {..} =+    Prelude.rnf events+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToJSON WirelessDeviceLogOption where+  toJSON WirelessDeviceLogOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Events" Data..=) Prelude.<$> events,+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("LogLevel" Data..= logLevel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceStatistics.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.IoTWireless.Types.WirelessDeviceStatistics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceStatistics where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.FuotaDeviceStatus+import Amazonka.IoTWireless.Types.LoRaWANListDevice+import Amazonka.IoTWireless.Types.SidewalkListDevice+import Amazonka.IoTWireless.Types.WirelessDeviceType+import qualified Amazonka.Prelude as Prelude++-- | Information about a wireless device\'s operation.+--+-- /See:/ 'newWirelessDeviceStatistics' smart constructor.+data WirelessDeviceStatistics = WirelessDeviceStatistics'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The name of the destination to which the device is assigned.+    destinationName :: Prelude.Maybe Prelude.Text,+    fuotaDeviceStatus :: Prelude.Maybe FuotaDeviceStatus,+    -- | The ID of the wireless device reporting the data.+    id :: Prelude.Maybe Prelude.Text,+    -- | The date and time when the most recent uplink was received.+    lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,+    -- | LoRaWAN device info.+    loRaWAN :: Prelude.Maybe LoRaWANListDevice,+    mcGroupId :: Prelude.Maybe Prelude.Natural,+    -- | The status of the wireless device in the multicast group.+    multicastDeviceStatus :: Prelude.Maybe Prelude.Text,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Sidewalk account credentials.+    sidewalk :: Prelude.Maybe SidewalkListDevice,+    -- | The wireless device type.+    type' :: Prelude.Maybe WirelessDeviceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessDeviceStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'wirelessDeviceStatistics_arn' - The Amazon Resource Name of the resource.+--+-- 'destinationName', 'wirelessDeviceStatistics_destinationName' - The name of the destination to which the device is assigned.+--+-- 'fuotaDeviceStatus', 'wirelessDeviceStatistics_fuotaDeviceStatus' - Undocumented member.+--+-- 'id', 'wirelessDeviceStatistics_id' - The ID of the wireless device reporting the data.+--+-- 'lastUplinkReceivedAt', 'wirelessDeviceStatistics_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.+--+-- 'loRaWAN', 'wirelessDeviceStatistics_loRaWAN' - LoRaWAN device info.+--+-- 'mcGroupId', 'wirelessDeviceStatistics_mcGroupId' - Undocumented member.+--+-- 'multicastDeviceStatus', 'wirelessDeviceStatistics_multicastDeviceStatus' - The status of the wireless device in the multicast group.+--+-- 'name', 'wirelessDeviceStatistics_name' - The name of the resource.+--+-- 'sidewalk', 'wirelessDeviceStatistics_sidewalk' - The Sidewalk account credentials.+--+-- 'type'', 'wirelessDeviceStatistics_type' - The wireless device type.+newWirelessDeviceStatistics ::+  WirelessDeviceStatistics+newWirelessDeviceStatistics =+  WirelessDeviceStatistics'+    { arn = Prelude.Nothing,+      destinationName = Prelude.Nothing,+      fuotaDeviceStatus = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUplinkReceivedAt = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      mcGroupId = Prelude.Nothing,+      multicastDeviceStatus = Prelude.Nothing,+      name = Prelude.Nothing,+      sidewalk = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+wirelessDeviceStatistics_arn :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_arn = Lens.lens (\WirelessDeviceStatistics' {arn} -> arn) (\s@WirelessDeviceStatistics' {} a -> s {arn = a} :: WirelessDeviceStatistics)++-- | The name of the destination to which the device is assigned.+wirelessDeviceStatistics_destinationName :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_destinationName = Lens.lens (\WirelessDeviceStatistics' {destinationName} -> destinationName) (\s@WirelessDeviceStatistics' {} a -> s {destinationName = a} :: WirelessDeviceStatistics)++-- | Undocumented member.+wirelessDeviceStatistics_fuotaDeviceStatus :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe FuotaDeviceStatus)+wirelessDeviceStatistics_fuotaDeviceStatus = Lens.lens (\WirelessDeviceStatistics' {fuotaDeviceStatus} -> fuotaDeviceStatus) (\s@WirelessDeviceStatistics' {} a -> s {fuotaDeviceStatus = a} :: WirelessDeviceStatistics)++-- | The ID of the wireless device reporting the data.+wirelessDeviceStatistics_id :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_id = Lens.lens (\WirelessDeviceStatistics' {id} -> id) (\s@WirelessDeviceStatistics' {} a -> s {id = a} :: WirelessDeviceStatistics)++-- | The date and time when the most recent uplink was received.+wirelessDeviceStatistics_lastUplinkReceivedAt :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_lastUplinkReceivedAt = Lens.lens (\WirelessDeviceStatistics' {lastUplinkReceivedAt} -> lastUplinkReceivedAt) (\s@WirelessDeviceStatistics' {} a -> s {lastUplinkReceivedAt = a} :: WirelessDeviceStatistics)++-- | LoRaWAN device info.+wirelessDeviceStatistics_loRaWAN :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe LoRaWANListDevice)+wirelessDeviceStatistics_loRaWAN = Lens.lens (\WirelessDeviceStatistics' {loRaWAN} -> loRaWAN) (\s@WirelessDeviceStatistics' {} a -> s {loRaWAN = a} :: WirelessDeviceStatistics)++-- | Undocumented member.+wirelessDeviceStatistics_mcGroupId :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Natural)+wirelessDeviceStatistics_mcGroupId = Lens.lens (\WirelessDeviceStatistics' {mcGroupId} -> mcGroupId) (\s@WirelessDeviceStatistics' {} a -> s {mcGroupId = a} :: WirelessDeviceStatistics)++-- | The status of the wireless device in the multicast group.+wirelessDeviceStatistics_multicastDeviceStatus :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_multicastDeviceStatus = Lens.lens (\WirelessDeviceStatistics' {multicastDeviceStatus} -> multicastDeviceStatus) (\s@WirelessDeviceStatistics' {} a -> s {multicastDeviceStatus = a} :: WirelessDeviceStatistics)++-- | The name of the resource.+wirelessDeviceStatistics_name :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe Prelude.Text)+wirelessDeviceStatistics_name = Lens.lens (\WirelessDeviceStatistics' {name} -> name) (\s@WirelessDeviceStatistics' {} a -> s {name = a} :: WirelessDeviceStatistics)++-- | The Sidewalk account credentials.+wirelessDeviceStatistics_sidewalk :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe SidewalkListDevice)+wirelessDeviceStatistics_sidewalk = Lens.lens (\WirelessDeviceStatistics' {sidewalk} -> sidewalk) (\s@WirelessDeviceStatistics' {} a -> s {sidewalk = a} :: WirelessDeviceStatistics)++-- | The wireless device type.+wirelessDeviceStatistics_type :: Lens.Lens' WirelessDeviceStatistics (Prelude.Maybe WirelessDeviceType)+wirelessDeviceStatistics_type = Lens.lens (\WirelessDeviceStatistics' {type'} -> type') (\s@WirelessDeviceStatistics' {} a -> s {type' = a} :: WirelessDeviceStatistics)++instance Data.FromJSON WirelessDeviceStatistics where+  parseJSON =+    Data.withObject+      "WirelessDeviceStatistics"+      ( \x ->+          WirelessDeviceStatistics'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "DestinationName")+            Prelude.<*> (x Data..:? "FuotaDeviceStatus")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUplinkReceivedAt")+            Prelude.<*> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "McGroupId")+            Prelude.<*> (x Data..:? "MulticastDeviceStatus")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Sidewalk")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable WirelessDeviceStatistics where+  hashWithSalt _salt WirelessDeviceStatistics' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` destinationName+      `Prelude.hashWithSalt` fuotaDeviceStatus+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUplinkReceivedAt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` mcGroupId+      `Prelude.hashWithSalt` multicastDeviceStatus+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sidewalk+      `Prelude.hashWithSalt` type'++instance Prelude.NFData WirelessDeviceStatistics where+  rnf WirelessDeviceStatistics' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf destinationName+      `Prelude.seq` Prelude.rnf fuotaDeviceStatus+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUplinkReceivedAt+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf mcGroupId+      `Prelude.seq` Prelude.rnf multicastDeviceStatus+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/IoTWireless/Types/WirelessDeviceType.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.IoTWireless.Types.WirelessDeviceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessDeviceType+  ( WirelessDeviceType+      ( ..,+        WirelessDeviceType_LoRaWAN,+        WirelessDeviceType_Sidewalk+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessDeviceType = WirelessDeviceType'+  { fromWirelessDeviceType ::+      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 WirelessDeviceType_LoRaWAN :: WirelessDeviceType+pattern WirelessDeviceType_LoRaWAN = WirelessDeviceType' "LoRaWAN"++pattern WirelessDeviceType_Sidewalk :: WirelessDeviceType+pattern WirelessDeviceType_Sidewalk = WirelessDeviceType' "Sidewalk"++{-# COMPLETE+  WirelessDeviceType_LoRaWAN,+  WirelessDeviceType_Sidewalk,+  WirelessDeviceType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayEvent.hs view
@@ -0,0 +1,73 @@+{-# 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.IoTWireless.Types.WirelessGatewayEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayEvent+  ( WirelessGatewayEvent+      ( ..,+        WirelessGatewayEvent_CUPS_Request,+        WirelessGatewayEvent_Certificate+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The event for a log message, if the log message is tied to a wireless+-- gateway.+newtype WirelessGatewayEvent = WirelessGatewayEvent'+  { fromWirelessGatewayEvent ::+      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 WirelessGatewayEvent_CUPS_Request :: WirelessGatewayEvent+pattern WirelessGatewayEvent_CUPS_Request = WirelessGatewayEvent' "CUPS_Request"++pattern WirelessGatewayEvent_Certificate :: WirelessGatewayEvent+pattern WirelessGatewayEvent_Certificate = WirelessGatewayEvent' "Certificate"++{-# COMPLETE+  WirelessGatewayEvent_CUPS_Request,+  WirelessGatewayEvent_Certificate,+  WirelessGatewayEvent'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayEventLogOption.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.IoTWireless.Types.WirelessGatewayEventLogOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayEventLogOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.WirelessGatewayEvent+import qualified Amazonka.Prelude as Prelude++-- | The log options for a wireless gateway event and can be used to set log+-- levels for a specific wireless gateway event.+--+-- For a LoRaWAN gateway, possible events for a log message are+-- @CUPS_Request@ and @Certificate@.+--+-- /See:/ 'newWirelessGatewayEventLogOption' smart constructor.+data WirelessGatewayEventLogOption = WirelessGatewayEventLogOption'+  { event :: WirelessGatewayEvent,+    logLevel :: LogLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessGatewayEventLogOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'event', 'wirelessGatewayEventLogOption_event' - Undocumented member.+--+-- 'logLevel', 'wirelessGatewayEventLogOption_logLevel' - Undocumented member.+newWirelessGatewayEventLogOption ::+  -- | 'event'+  WirelessGatewayEvent ->+  -- | 'logLevel'+  LogLevel ->+  WirelessGatewayEventLogOption+newWirelessGatewayEventLogOption pEvent_ pLogLevel_ =+  WirelessGatewayEventLogOption'+    { event = pEvent_,+      logLevel = pLogLevel_+    }++-- | Undocumented member.+wirelessGatewayEventLogOption_event :: Lens.Lens' WirelessGatewayEventLogOption WirelessGatewayEvent+wirelessGatewayEventLogOption_event = Lens.lens (\WirelessGatewayEventLogOption' {event} -> event) (\s@WirelessGatewayEventLogOption' {} a -> s {event = a} :: WirelessGatewayEventLogOption)++-- | Undocumented member.+wirelessGatewayEventLogOption_logLevel :: Lens.Lens' WirelessGatewayEventLogOption LogLevel+wirelessGatewayEventLogOption_logLevel = Lens.lens (\WirelessGatewayEventLogOption' {logLevel} -> logLevel) (\s@WirelessGatewayEventLogOption' {} a -> s {logLevel = a} :: WirelessGatewayEventLogOption)++instance Data.FromJSON WirelessGatewayEventLogOption where+  parseJSON =+    Data.withObject+      "WirelessGatewayEventLogOption"+      ( \x ->+          WirelessGatewayEventLogOption'+            Prelude.<$> (x Data..: "Event")+            Prelude.<*> (x Data..: "LogLevel")+      )++instance+  Prelude.Hashable+    WirelessGatewayEventLogOption+  where+  hashWithSalt _salt WirelessGatewayEventLogOption' {..} =+    _salt+      `Prelude.hashWithSalt` event+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData WirelessGatewayEventLogOption where+  rnf WirelessGatewayEventLogOption' {..} =+    Prelude.rnf event+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToJSON WirelessGatewayEventLogOption where+  toJSON WirelessGatewayEventLogOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Event" Data..= event),+            Prelude.Just ("LogLevel" Data..= logLevel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayIdType.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.IoTWireless.Types.WirelessGatewayIdType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayIdType+  ( WirelessGatewayIdType+      ( ..,+        WirelessGatewayIdType_GatewayEui,+        WirelessGatewayIdType_ThingName,+        WirelessGatewayIdType_WirelessGatewayId+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessGatewayIdType = WirelessGatewayIdType'+  { fromWirelessGatewayIdType ::+      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 WirelessGatewayIdType_GatewayEui :: WirelessGatewayIdType+pattern WirelessGatewayIdType_GatewayEui = WirelessGatewayIdType' "GatewayEui"++pattern WirelessGatewayIdType_ThingName :: WirelessGatewayIdType+pattern WirelessGatewayIdType_ThingName = WirelessGatewayIdType' "ThingName"++pattern WirelessGatewayIdType_WirelessGatewayId :: WirelessGatewayIdType+pattern WirelessGatewayIdType_WirelessGatewayId = WirelessGatewayIdType' "WirelessGatewayId"++{-# COMPLETE+  WirelessGatewayIdType_GatewayEui,+  WirelessGatewayIdType_ThingName,+  WirelessGatewayIdType_WirelessGatewayId,+  WirelessGatewayIdType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayLogOption.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.WirelessGatewayLogOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayLogOption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LogLevel+import Amazonka.IoTWireless.Types.WirelessGatewayEventLogOption+import Amazonka.IoTWireless.Types.WirelessGatewayType+import qualified Amazonka.Prelude as Prelude++-- | The log options for wireless gateways and can be used to set log levels+-- for a specific type of wireless gateway.+--+-- /See:/ 'newWirelessGatewayLogOption' smart constructor.+data WirelessGatewayLogOption = WirelessGatewayLogOption'+  { events :: Prelude.Maybe [WirelessGatewayEventLogOption],+    type' :: WirelessGatewayType,+    logLevel :: LogLevel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessGatewayLogOption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'events', 'wirelessGatewayLogOption_events' - Undocumented member.+--+-- 'type'', 'wirelessGatewayLogOption_type' - Undocumented member.+--+-- 'logLevel', 'wirelessGatewayLogOption_logLevel' - Undocumented member.+newWirelessGatewayLogOption ::+  -- | 'type''+  WirelessGatewayType ->+  -- | 'logLevel'+  LogLevel ->+  WirelessGatewayLogOption+newWirelessGatewayLogOption pType_ pLogLevel_ =+  WirelessGatewayLogOption'+    { events = Prelude.Nothing,+      type' = pType_,+      logLevel = pLogLevel_+    }++-- | Undocumented member.+wirelessGatewayLogOption_events :: Lens.Lens' WirelessGatewayLogOption (Prelude.Maybe [WirelessGatewayEventLogOption])+wirelessGatewayLogOption_events = Lens.lens (\WirelessGatewayLogOption' {events} -> events) (\s@WirelessGatewayLogOption' {} a -> s {events = a} :: WirelessGatewayLogOption) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+wirelessGatewayLogOption_type :: Lens.Lens' WirelessGatewayLogOption WirelessGatewayType+wirelessGatewayLogOption_type = Lens.lens (\WirelessGatewayLogOption' {type'} -> type') (\s@WirelessGatewayLogOption' {} a -> s {type' = a} :: WirelessGatewayLogOption)++-- | Undocumented member.+wirelessGatewayLogOption_logLevel :: Lens.Lens' WirelessGatewayLogOption LogLevel+wirelessGatewayLogOption_logLevel = Lens.lens (\WirelessGatewayLogOption' {logLevel} -> logLevel) (\s@WirelessGatewayLogOption' {} a -> s {logLevel = a} :: WirelessGatewayLogOption)++instance Data.FromJSON WirelessGatewayLogOption where+  parseJSON =+    Data.withObject+      "WirelessGatewayLogOption"+      ( \x ->+          WirelessGatewayLogOption'+            Prelude.<$> (x Data..:? "Events" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "Type")+            Prelude.<*> (x Data..: "LogLevel")+      )++instance Prelude.Hashable WirelessGatewayLogOption where+  hashWithSalt _salt WirelessGatewayLogOption' {..} =+    _salt+      `Prelude.hashWithSalt` events+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` logLevel++instance Prelude.NFData WirelessGatewayLogOption where+  rnf WirelessGatewayLogOption' {..} =+    Prelude.rnf events+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf logLevel++instance Data.ToJSON WirelessGatewayLogOption where+  toJSON WirelessGatewayLogOption' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Events" Data..=) Prelude.<$> events,+            Prelude.Just ("Type" Data..= type'),+            Prelude.Just ("LogLevel" Data..= logLevel)+          ]+      )
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayServiceType.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.IoTWireless.Types.WirelessGatewayServiceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayServiceType+  ( WirelessGatewayServiceType+      ( ..,+        WirelessGatewayServiceType_CUPS,+        WirelessGatewayServiceType_LNS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessGatewayServiceType = WirelessGatewayServiceType'+  { fromWirelessGatewayServiceType ::+      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 WirelessGatewayServiceType_CUPS :: WirelessGatewayServiceType+pattern WirelessGatewayServiceType_CUPS = WirelessGatewayServiceType' "CUPS"++pattern WirelessGatewayServiceType_LNS :: WirelessGatewayServiceType+pattern WirelessGatewayServiceType_LNS = WirelessGatewayServiceType' "LNS"++{-# COMPLETE+  WirelessGatewayServiceType_CUPS,+  WirelessGatewayServiceType_LNS,+  WirelessGatewayServiceType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayStatistics.hs view
@@ -0,0 +1,133 @@+{-# 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.IoTWireless.Types.WirelessGatewayStatistics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayStatistics where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANGateway+import qualified Amazonka.Prelude as Prelude++-- | Information about a wireless gateway\'s operation.+--+-- /See:/ 'newWirelessGatewayStatistics' smart constructor.+data WirelessGatewayStatistics = WirelessGatewayStatistics'+  { -- | The Amazon Resource Name of the resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the wireless gateway reporting the data.+    id :: Prelude.Maybe Prelude.Text,+    -- | The date and time when the most recent uplink was received.+    lastUplinkReceivedAt :: Prelude.Maybe Prelude.Text,+    -- | LoRaWAN gateway info.+    loRaWAN :: Prelude.Maybe LoRaWANGateway,+    -- | The name of the resource.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessGatewayStatistics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'wirelessGatewayStatistics_arn' - The Amazon Resource Name of the resource.+--+-- 'description', 'wirelessGatewayStatistics_description' - The description of the resource.+--+-- 'id', 'wirelessGatewayStatistics_id' - The ID of the wireless gateway reporting the data.+--+-- 'lastUplinkReceivedAt', 'wirelessGatewayStatistics_lastUplinkReceivedAt' - The date and time when the most recent uplink was received.+--+-- 'loRaWAN', 'wirelessGatewayStatistics_loRaWAN' - LoRaWAN gateway info.+--+-- 'name', 'wirelessGatewayStatistics_name' - The name of the resource.+newWirelessGatewayStatistics ::+  WirelessGatewayStatistics+newWirelessGatewayStatistics =+  WirelessGatewayStatistics'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUplinkReceivedAt = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name of the resource.+wirelessGatewayStatistics_arn :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe Prelude.Text)+wirelessGatewayStatistics_arn = Lens.lens (\WirelessGatewayStatistics' {arn} -> arn) (\s@WirelessGatewayStatistics' {} a -> s {arn = a} :: WirelessGatewayStatistics)++-- | The description of the resource.+wirelessGatewayStatistics_description :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe Prelude.Text)+wirelessGatewayStatistics_description = Lens.lens (\WirelessGatewayStatistics' {description} -> description) (\s@WirelessGatewayStatistics' {} a -> s {description = a} :: WirelessGatewayStatistics)++-- | The ID of the wireless gateway reporting the data.+wirelessGatewayStatistics_id :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe Prelude.Text)+wirelessGatewayStatistics_id = Lens.lens (\WirelessGatewayStatistics' {id} -> id) (\s@WirelessGatewayStatistics' {} a -> s {id = a} :: WirelessGatewayStatistics)++-- | The date and time when the most recent uplink was received.+wirelessGatewayStatistics_lastUplinkReceivedAt :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe Prelude.Text)+wirelessGatewayStatistics_lastUplinkReceivedAt = Lens.lens (\WirelessGatewayStatistics' {lastUplinkReceivedAt} -> lastUplinkReceivedAt) (\s@WirelessGatewayStatistics' {} a -> s {lastUplinkReceivedAt = a} :: WirelessGatewayStatistics)++-- | LoRaWAN gateway info.+wirelessGatewayStatistics_loRaWAN :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe LoRaWANGateway)+wirelessGatewayStatistics_loRaWAN = Lens.lens (\WirelessGatewayStatistics' {loRaWAN} -> loRaWAN) (\s@WirelessGatewayStatistics' {} a -> s {loRaWAN = a} :: WirelessGatewayStatistics)++-- | The name of the resource.+wirelessGatewayStatistics_name :: Lens.Lens' WirelessGatewayStatistics (Prelude.Maybe Prelude.Text)+wirelessGatewayStatistics_name = Lens.lens (\WirelessGatewayStatistics' {name} -> name) (\s@WirelessGatewayStatistics' {} a -> s {name = a} :: WirelessGatewayStatistics)++instance Data.FromJSON WirelessGatewayStatistics where+  parseJSON =+    Data.withObject+      "WirelessGatewayStatistics"+      ( \x ->+          WirelessGatewayStatistics'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUplinkReceivedAt")+            Prelude.<*> (x Data..:? "LoRaWAN")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable WirelessGatewayStatistics where+  hashWithSalt _salt WirelessGatewayStatistics' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUplinkReceivedAt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name++instance Prelude.NFData WirelessGatewayStatistics where+  rnf WirelessGatewayStatistics' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUplinkReceivedAt+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayTaskDefinitionType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.WirelessGatewayTaskDefinitionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayTaskDefinitionType+  ( WirelessGatewayTaskDefinitionType+      ( ..,+        WirelessGatewayTaskDefinitionType_UPDATE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessGatewayTaskDefinitionType = WirelessGatewayTaskDefinitionType'+  { fromWirelessGatewayTaskDefinitionType ::+      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 WirelessGatewayTaskDefinitionType_UPDATE :: WirelessGatewayTaskDefinitionType+pattern WirelessGatewayTaskDefinitionType_UPDATE = WirelessGatewayTaskDefinitionType' "UPDATE"++{-# COMPLETE+  WirelessGatewayTaskDefinitionType_UPDATE,+  WirelessGatewayTaskDefinitionType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayTaskStatus.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.Types.WirelessGatewayTaskStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayTaskStatus+  ( WirelessGatewayTaskStatus+      ( ..,+        WirelessGatewayTaskStatus_COMPLETED,+        WirelessGatewayTaskStatus_FAILED,+        WirelessGatewayTaskStatus_FIRST_RETRY,+        WirelessGatewayTaskStatus_IN_PROGRESS,+        WirelessGatewayTaskStatus_PENDING,+        WirelessGatewayTaskStatus_SECOND_RETRY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype WirelessGatewayTaskStatus = WirelessGatewayTaskStatus'+  { fromWirelessGatewayTaskStatus ::+      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 WirelessGatewayTaskStatus_COMPLETED :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_COMPLETED = WirelessGatewayTaskStatus' "COMPLETED"++pattern WirelessGatewayTaskStatus_FAILED :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_FAILED = WirelessGatewayTaskStatus' "FAILED"++pattern WirelessGatewayTaskStatus_FIRST_RETRY :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_FIRST_RETRY = WirelessGatewayTaskStatus' "FIRST_RETRY"++pattern WirelessGatewayTaskStatus_IN_PROGRESS :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_IN_PROGRESS = WirelessGatewayTaskStatus' "IN_PROGRESS"++pattern WirelessGatewayTaskStatus_PENDING :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_PENDING = WirelessGatewayTaskStatus' "PENDING"++pattern WirelessGatewayTaskStatus_SECOND_RETRY :: WirelessGatewayTaskStatus+pattern WirelessGatewayTaskStatus_SECOND_RETRY = WirelessGatewayTaskStatus' "SECOND_RETRY"++{-# COMPLETE+  WirelessGatewayTaskStatus_COMPLETED,+  WirelessGatewayTaskStatus_FAILED,+  WirelessGatewayTaskStatus_FIRST_RETRY,+  WirelessGatewayTaskStatus_IN_PROGRESS,+  WirelessGatewayTaskStatus_PENDING,+  WirelessGatewayTaskStatus_SECOND_RETRY,+  WirelessGatewayTaskStatus'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessGatewayType.hs view
@@ -0,0 +1,67 @@+{-# 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.IoTWireless.Types.WirelessGatewayType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessGatewayType+  ( WirelessGatewayType+      ( ..,+        WirelessGatewayType_LoRaWAN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The wireless gateway type.+newtype WirelessGatewayType = WirelessGatewayType'+  { fromWirelessGatewayType ::+      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 WirelessGatewayType_LoRaWAN :: WirelessGatewayType+pattern WirelessGatewayType_LoRaWAN = WirelessGatewayType' "LoRaWAN"++{-# COMPLETE+  WirelessGatewayType_LoRaWAN,+  WirelessGatewayType'+  #-}
+ gen/Amazonka/IoTWireless/Types/WirelessMetadata.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.IoTWireless.Types.WirelessMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.IoTWireless.Types.WirelessMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types.LoRaWANSendDataToDevice+import Amazonka.IoTWireless.Types.SidewalkSendDataToDevice+import qualified Amazonka.Prelude as Prelude++-- | WirelessMetadata object.+--+-- /See:/ 'newWirelessMetadata' smart constructor.+data WirelessMetadata = WirelessMetadata'+  { -- | LoRaWAN device info.+    loRaWAN :: Prelude.Maybe LoRaWANSendDataToDevice,+    -- | The Sidewalk account credentials.+    sidewalk :: Prelude.Maybe SidewalkSendDataToDevice+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WirelessMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loRaWAN', 'wirelessMetadata_loRaWAN' - LoRaWAN device info.+--+-- 'sidewalk', 'wirelessMetadata_sidewalk' - The Sidewalk account credentials.+newWirelessMetadata ::+  WirelessMetadata+newWirelessMetadata =+  WirelessMetadata'+    { loRaWAN = Prelude.Nothing,+      sidewalk = Prelude.Nothing+    }++-- | LoRaWAN device info.+wirelessMetadata_loRaWAN :: Lens.Lens' WirelessMetadata (Prelude.Maybe LoRaWANSendDataToDevice)+wirelessMetadata_loRaWAN = Lens.lens (\WirelessMetadata' {loRaWAN} -> loRaWAN) (\s@WirelessMetadata' {} a -> s {loRaWAN = a} :: WirelessMetadata)++-- | The Sidewalk account credentials.+wirelessMetadata_sidewalk :: Lens.Lens' WirelessMetadata (Prelude.Maybe SidewalkSendDataToDevice)+wirelessMetadata_sidewalk = Lens.lens (\WirelessMetadata' {sidewalk} -> sidewalk) (\s@WirelessMetadata' {} a -> s {sidewalk = a} :: WirelessMetadata)++instance Prelude.Hashable WirelessMetadata where+  hashWithSalt _salt WirelessMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` sidewalk++instance Prelude.NFData WirelessMetadata where+  rnf WirelessMetadata' {..} =+    Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf sidewalk++instance Data.ToJSON WirelessMetadata where+  toJSON WirelessMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Sidewalk" Data..=) Prelude.<$> sidewalk+          ]+      )
+ gen/Amazonka/IoTWireless/UntagResource.hs view
@@ -0,0 +1,154 @@+{-# 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.IoTWireless.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes one or more tags from a resource.+module Amazonka.IoTWireless.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.IoTWireless.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 to remove tags from.+    resourceArn :: Prelude.Text,+    -- | A list of the keys of the tags to remove 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 to remove tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of the keys of the tags to remove from the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The ARN of the resource to remove tags from.+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 remove 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.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      [ "resourceArn" Data.=: resourceArn,+        "tagKeys" Data.=: Data.toQueryList "member" tagKeys+      ]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateDestination.hs view
@@ -0,0 +1,202 @@+{-# 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.IoTWireless.UpdateDestination+-- 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 properties of a destination.+module Amazonka.IoTWireless.UpdateDestination+  ( -- * Creating a Request+    UpdateDestination (..),+    newUpdateDestination,++    -- * Request Lenses+    updateDestination_description,+    updateDestination_expression,+    updateDestination_expressionType,+    updateDestination_roleArn,+    updateDestination_name,++    -- * Destructuring the Response+    UpdateDestinationResponse (..),+    newUpdateDestinationResponse,++    -- * Response Lenses+    updateDestinationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDestination' smart constructor.+data UpdateDestination = UpdateDestination'+  { -- | A new description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The new rule name or topic rule to send messages to.+    expression :: Prelude.Maybe Prelude.Text,+    -- | The type of value in @Expression@.+    expressionType :: Prelude.Maybe ExpressionType,+    -- | The ARN of the IAM Role that authorizes the destination.+    roleArn :: Prelude.Maybe Prelude.Text,+    -- | The new name of the resource.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDestination_description' - A new description of the resource.+--+-- 'expression', 'updateDestination_expression' - The new rule name or topic rule to send messages to.+--+-- 'expressionType', 'updateDestination_expressionType' - The type of value in @Expression@.+--+-- 'roleArn', 'updateDestination_roleArn' - The ARN of the IAM Role that authorizes the destination.+--+-- 'name', 'updateDestination_name' - The new name of the resource.+newUpdateDestination ::+  -- | 'name'+  Prelude.Text ->+  UpdateDestination+newUpdateDestination pName_ =+  UpdateDestination'+    { description = Prelude.Nothing,+      expression = Prelude.Nothing,+      expressionType = Prelude.Nothing,+      roleArn = Prelude.Nothing,+      name = pName_+    }++-- | A new description of the resource.+updateDestination_description :: Lens.Lens' UpdateDestination (Prelude.Maybe Prelude.Text)+updateDestination_description = Lens.lens (\UpdateDestination' {description} -> description) (\s@UpdateDestination' {} a -> s {description = a} :: UpdateDestination)++-- | The new rule name or topic rule to send messages to.+updateDestination_expression :: Lens.Lens' UpdateDestination (Prelude.Maybe Prelude.Text)+updateDestination_expression = Lens.lens (\UpdateDestination' {expression} -> expression) (\s@UpdateDestination' {} a -> s {expression = a} :: UpdateDestination)++-- | The type of value in @Expression@.+updateDestination_expressionType :: Lens.Lens' UpdateDestination (Prelude.Maybe ExpressionType)+updateDestination_expressionType = Lens.lens (\UpdateDestination' {expressionType} -> expressionType) (\s@UpdateDestination' {} a -> s {expressionType = a} :: UpdateDestination)++-- | The ARN of the IAM Role that authorizes the destination.+updateDestination_roleArn :: Lens.Lens' UpdateDestination (Prelude.Maybe Prelude.Text)+updateDestination_roleArn = Lens.lens (\UpdateDestination' {roleArn} -> roleArn) (\s@UpdateDestination' {} a -> s {roleArn = a} :: UpdateDestination)++-- | The new name of the resource.+updateDestination_name :: Lens.Lens' UpdateDestination Prelude.Text+updateDestination_name = Lens.lens (\UpdateDestination' {name} -> name) (\s@UpdateDestination' {} a -> s {name = a} :: UpdateDestination)++instance Core.AWSRequest UpdateDestination where+  type+    AWSResponse UpdateDestination =+      UpdateDestinationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateDestinationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDestination where+  hashWithSalt _salt UpdateDestination' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` expressionType+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateDestination where+  rnf UpdateDestination' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateDestination where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateDestination where+  toJSON UpdateDestination' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Expression" Data..=) Prelude.<$> expression,+            ("ExpressionType" Data..=)+              Prelude.<$> expressionType,+            ("RoleArn" Data..=) Prelude.<$> roleArn+          ]+      )++instance Data.ToPath UpdateDestination where+  toPath UpdateDestination' {..} =+    Prelude.mconcat ["/destinations/", Data.toBS name]++instance Data.ToQuery UpdateDestination where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDestinationResponse' smart constructor.+data UpdateDestinationResponse = UpdateDestinationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDestinationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDestinationResponse_httpStatus' - The response's http status code.+newUpdateDestinationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDestinationResponse+newUpdateDestinationResponse pHttpStatus_ =+  UpdateDestinationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateDestinationResponse_httpStatus :: Lens.Lens' UpdateDestinationResponse Prelude.Int+updateDestinationResponse_httpStatus = Lens.lens (\UpdateDestinationResponse' {httpStatus} -> httpStatus) (\s@UpdateDestinationResponse' {} a -> s {httpStatus = a} :: UpdateDestinationResponse)++instance Prelude.NFData UpdateDestinationResponse where+  rnf UpdateDestinationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateEventConfigurationByResourceTypes.hs view
@@ -0,0 +1,251 @@+{-# 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.IoTWireless.UpdateEventConfigurationByResourceTypes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the event configuration based on resource types.+module Amazonka.IoTWireless.UpdateEventConfigurationByResourceTypes+  ( -- * Creating a Request+    UpdateEventConfigurationByResourceTypes (..),+    newUpdateEventConfigurationByResourceTypes,++    -- * Request Lenses+    updateEventConfigurationByResourceTypes_connectionStatus,+    updateEventConfigurationByResourceTypes_deviceRegistrationState,+    updateEventConfigurationByResourceTypes_join,+    updateEventConfigurationByResourceTypes_messageDeliveryStatus,+    updateEventConfigurationByResourceTypes_proximity,++    -- * Destructuring the Response+    UpdateEventConfigurationByResourceTypesResponse (..),+    newUpdateEventConfigurationByResourceTypesResponse,++    -- * Response Lenses+    updateEventConfigurationByResourceTypesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateEventConfigurationByResourceTypes' smart constructor.+data UpdateEventConfigurationByResourceTypes = UpdateEventConfigurationByResourceTypes'+  { -- | Connection status resource type event configuration object for enabling+    -- and disabling wireless gateway topic.+    connectionStatus :: Prelude.Maybe ConnectionStatusResourceTypeEventConfiguration,+    -- | Device registration state resource type event configuration object for+    -- enabling and disabling wireless gateway topic.+    deviceRegistrationState :: Prelude.Maybe DeviceRegistrationStateResourceTypeEventConfiguration,+    -- | Join resource type event configuration object for enabling and disabling+    -- wireless device topic.+    join :: Prelude.Maybe JoinResourceTypeEventConfiguration,+    -- | Message delivery status resource type event configuration object for+    -- enabling and disabling wireless device topic.+    messageDeliveryStatus :: Prelude.Maybe MessageDeliveryStatusResourceTypeEventConfiguration,+    -- | Proximity resource type event configuration object for enabling and+    -- disabling wireless gateway topic.+    proximity :: Prelude.Maybe ProximityResourceTypeEventConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEventConfigurationByResourceTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'updateEventConfigurationByResourceTypes_connectionStatus' - Connection status resource type event configuration object for enabling+-- and disabling wireless gateway topic.+--+-- 'deviceRegistrationState', 'updateEventConfigurationByResourceTypes_deviceRegistrationState' - Device registration state resource type event configuration object for+-- enabling and disabling wireless gateway topic.+--+-- 'join', 'updateEventConfigurationByResourceTypes_join' - Join resource type event configuration object for enabling and disabling+-- wireless device topic.+--+-- 'messageDeliveryStatus', 'updateEventConfigurationByResourceTypes_messageDeliveryStatus' - Message delivery status resource type event configuration object for+-- enabling and disabling wireless device topic.+--+-- 'proximity', 'updateEventConfigurationByResourceTypes_proximity' - Proximity resource type event configuration object for enabling and+-- disabling wireless gateway topic.+newUpdateEventConfigurationByResourceTypes ::+  UpdateEventConfigurationByResourceTypes+newUpdateEventConfigurationByResourceTypes =+  UpdateEventConfigurationByResourceTypes'+    { connectionStatus =+        Prelude.Nothing,+      deviceRegistrationState =+        Prelude.Nothing,+      join = Prelude.Nothing,+      messageDeliveryStatus =+        Prelude.Nothing,+      proximity = Prelude.Nothing+    }++-- | Connection status resource type event configuration object for enabling+-- and disabling wireless gateway topic.+updateEventConfigurationByResourceTypes_connectionStatus :: Lens.Lens' UpdateEventConfigurationByResourceTypes (Prelude.Maybe ConnectionStatusResourceTypeEventConfiguration)+updateEventConfigurationByResourceTypes_connectionStatus = Lens.lens (\UpdateEventConfigurationByResourceTypes' {connectionStatus} -> connectionStatus) (\s@UpdateEventConfigurationByResourceTypes' {} a -> s {connectionStatus = a} :: UpdateEventConfigurationByResourceTypes)++-- | Device registration state resource type event configuration object for+-- enabling and disabling wireless gateway topic.+updateEventConfigurationByResourceTypes_deviceRegistrationState :: Lens.Lens' UpdateEventConfigurationByResourceTypes (Prelude.Maybe DeviceRegistrationStateResourceTypeEventConfiguration)+updateEventConfigurationByResourceTypes_deviceRegistrationState = Lens.lens (\UpdateEventConfigurationByResourceTypes' {deviceRegistrationState} -> deviceRegistrationState) (\s@UpdateEventConfigurationByResourceTypes' {} a -> s {deviceRegistrationState = a} :: UpdateEventConfigurationByResourceTypes)++-- | Join resource type event configuration object for enabling and disabling+-- wireless device topic.+updateEventConfigurationByResourceTypes_join :: Lens.Lens' UpdateEventConfigurationByResourceTypes (Prelude.Maybe JoinResourceTypeEventConfiguration)+updateEventConfigurationByResourceTypes_join = Lens.lens (\UpdateEventConfigurationByResourceTypes' {join} -> join) (\s@UpdateEventConfigurationByResourceTypes' {} a -> s {join = a} :: UpdateEventConfigurationByResourceTypes)++-- | Message delivery status resource type event configuration object for+-- enabling and disabling wireless device topic.+updateEventConfigurationByResourceTypes_messageDeliveryStatus :: Lens.Lens' UpdateEventConfigurationByResourceTypes (Prelude.Maybe MessageDeliveryStatusResourceTypeEventConfiguration)+updateEventConfigurationByResourceTypes_messageDeliveryStatus = Lens.lens (\UpdateEventConfigurationByResourceTypes' {messageDeliveryStatus} -> messageDeliveryStatus) (\s@UpdateEventConfigurationByResourceTypes' {} a -> s {messageDeliveryStatus = a} :: UpdateEventConfigurationByResourceTypes)++-- | Proximity resource type event configuration object for enabling and+-- disabling wireless gateway topic.+updateEventConfigurationByResourceTypes_proximity :: Lens.Lens' UpdateEventConfigurationByResourceTypes (Prelude.Maybe ProximityResourceTypeEventConfiguration)+updateEventConfigurationByResourceTypes_proximity = Lens.lens (\UpdateEventConfigurationByResourceTypes' {proximity} -> proximity) (\s@UpdateEventConfigurationByResourceTypes' {} a -> s {proximity = a} :: UpdateEventConfigurationByResourceTypes)++instance+  Core.AWSRequest+    UpdateEventConfigurationByResourceTypes+  where+  type+    AWSResponse+      UpdateEventConfigurationByResourceTypes =+      UpdateEventConfigurationByResourceTypesResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateEventConfigurationByResourceTypesResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateEventConfigurationByResourceTypes+  where+  hashWithSalt+    _salt+    UpdateEventConfigurationByResourceTypes' {..} =+      _salt+        `Prelude.hashWithSalt` connectionStatus+        `Prelude.hashWithSalt` deviceRegistrationState+        `Prelude.hashWithSalt` join+        `Prelude.hashWithSalt` messageDeliveryStatus+        `Prelude.hashWithSalt` proximity++instance+  Prelude.NFData+    UpdateEventConfigurationByResourceTypes+  where+  rnf UpdateEventConfigurationByResourceTypes' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf deviceRegistrationState+      `Prelude.seq` Prelude.rnf join+      `Prelude.seq` Prelude.rnf messageDeliveryStatus+      `Prelude.seq` Prelude.rnf proximity++instance+  Data.ToHeaders+    UpdateEventConfigurationByResourceTypes+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    UpdateEventConfigurationByResourceTypes+  where+  toJSON UpdateEventConfigurationByResourceTypes' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConnectionStatus" Data..=)+              Prelude.<$> connectionStatus,+            ("DeviceRegistrationState" Data..=)+              Prelude.<$> deviceRegistrationState,+            ("Join" Data..=) Prelude.<$> join,+            ("MessageDeliveryStatus" Data..=)+              Prelude.<$> messageDeliveryStatus,+            ("Proximity" Data..=) Prelude.<$> proximity+          ]+      )++instance+  Data.ToPath+    UpdateEventConfigurationByResourceTypes+  where+  toPath =+    Prelude.const+      "/event-configurations-resource-types"++instance+  Data.ToQuery+    UpdateEventConfigurationByResourceTypes+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateEventConfigurationByResourceTypesResponse' smart constructor.+data UpdateEventConfigurationByResourceTypesResponse = UpdateEventConfigurationByResourceTypesResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEventConfigurationByResourceTypesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateEventConfigurationByResourceTypesResponse_httpStatus' - The response's http status code.+newUpdateEventConfigurationByResourceTypesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateEventConfigurationByResourceTypesResponse+newUpdateEventConfigurationByResourceTypesResponse+  pHttpStatus_ =+    UpdateEventConfigurationByResourceTypesResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateEventConfigurationByResourceTypesResponse_httpStatus :: Lens.Lens' UpdateEventConfigurationByResourceTypesResponse Prelude.Int+updateEventConfigurationByResourceTypesResponse_httpStatus = Lens.lens (\UpdateEventConfigurationByResourceTypesResponse' {httpStatus} -> httpStatus) (\s@UpdateEventConfigurationByResourceTypesResponse' {} a -> s {httpStatus = a} :: UpdateEventConfigurationByResourceTypesResponse)++instance+  Prelude.NFData+    UpdateEventConfigurationByResourceTypesResponse+  where+  rnf+    UpdateEventConfigurationByResourceTypesResponse' {..} =+      Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateFuotaTask.hs view
@@ -0,0 +1,207 @@+{-# 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.IoTWireless.UpdateFuotaTask+-- 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 properties of a FUOTA task.+module Amazonka.IoTWireless.UpdateFuotaTask+  ( -- * Creating a Request+    UpdateFuotaTask (..),+    newUpdateFuotaTask,++    -- * Request Lenses+    updateFuotaTask_description,+    updateFuotaTask_firmwareUpdateImage,+    updateFuotaTask_firmwareUpdateRole,+    updateFuotaTask_loRaWAN,+    updateFuotaTask_name,+    updateFuotaTask_id,++    -- * Destructuring the Response+    UpdateFuotaTaskResponse (..),+    newUpdateFuotaTaskResponse,++    -- * Response Lenses+    updateFuotaTaskResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFuotaTask' smart constructor.+data UpdateFuotaTask = UpdateFuotaTask'+  { description :: Prelude.Maybe Prelude.Text,+    firmwareUpdateImage :: Prelude.Maybe Prelude.Text,+    firmwareUpdateRole :: Prelude.Maybe Prelude.Text,+    loRaWAN :: Prelude.Maybe LoRaWANFuotaTask,+    name :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFuotaTask' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateFuotaTask_description' - Undocumented member.+--+-- 'firmwareUpdateImage', 'updateFuotaTask_firmwareUpdateImage' - Undocumented member.+--+-- 'firmwareUpdateRole', 'updateFuotaTask_firmwareUpdateRole' - Undocumented member.+--+-- 'loRaWAN', 'updateFuotaTask_loRaWAN' - Undocumented member.+--+-- 'name', 'updateFuotaTask_name' - Undocumented member.+--+-- 'id', 'updateFuotaTask_id' - Undocumented member.+newUpdateFuotaTask ::+  -- | 'id'+  Prelude.Text ->+  UpdateFuotaTask+newUpdateFuotaTask pId_ =+  UpdateFuotaTask'+    { description = Prelude.Nothing,+      firmwareUpdateImage = Prelude.Nothing,+      firmwareUpdateRole = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      id = pId_+    }++-- | Undocumented member.+updateFuotaTask_description :: Lens.Lens' UpdateFuotaTask (Prelude.Maybe Prelude.Text)+updateFuotaTask_description = Lens.lens (\UpdateFuotaTask' {description} -> description) (\s@UpdateFuotaTask' {} a -> s {description = a} :: UpdateFuotaTask)++-- | Undocumented member.+updateFuotaTask_firmwareUpdateImage :: Lens.Lens' UpdateFuotaTask (Prelude.Maybe Prelude.Text)+updateFuotaTask_firmwareUpdateImage = Lens.lens (\UpdateFuotaTask' {firmwareUpdateImage} -> firmwareUpdateImage) (\s@UpdateFuotaTask' {} a -> s {firmwareUpdateImage = a} :: UpdateFuotaTask)++-- | Undocumented member.+updateFuotaTask_firmwareUpdateRole :: Lens.Lens' UpdateFuotaTask (Prelude.Maybe Prelude.Text)+updateFuotaTask_firmwareUpdateRole = Lens.lens (\UpdateFuotaTask' {firmwareUpdateRole} -> firmwareUpdateRole) (\s@UpdateFuotaTask' {} a -> s {firmwareUpdateRole = a} :: UpdateFuotaTask)++-- | Undocumented member.+updateFuotaTask_loRaWAN :: Lens.Lens' UpdateFuotaTask (Prelude.Maybe LoRaWANFuotaTask)+updateFuotaTask_loRaWAN = Lens.lens (\UpdateFuotaTask' {loRaWAN} -> loRaWAN) (\s@UpdateFuotaTask' {} a -> s {loRaWAN = a} :: UpdateFuotaTask)++-- | Undocumented member.+updateFuotaTask_name :: Lens.Lens' UpdateFuotaTask (Prelude.Maybe Prelude.Text)+updateFuotaTask_name = Lens.lens (\UpdateFuotaTask' {name} -> name) (\s@UpdateFuotaTask' {} a -> s {name = a} :: UpdateFuotaTask)++-- | Undocumented member.+updateFuotaTask_id :: Lens.Lens' UpdateFuotaTask Prelude.Text+updateFuotaTask_id = Lens.lens (\UpdateFuotaTask' {id} -> id) (\s@UpdateFuotaTask' {} a -> s {id = a} :: UpdateFuotaTask)++instance Core.AWSRequest UpdateFuotaTask where+  type+    AWSResponse UpdateFuotaTask =+      UpdateFuotaTaskResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateFuotaTaskResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateFuotaTask where+  hashWithSalt _salt UpdateFuotaTask' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` firmwareUpdateImage+      `Prelude.hashWithSalt` firmwareUpdateRole+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateFuotaTask where+  rnf UpdateFuotaTask' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf firmwareUpdateImage+      `Prelude.seq` Prelude.rnf firmwareUpdateRole+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateFuotaTask where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateFuotaTask where+  toJSON UpdateFuotaTask' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("FirmwareUpdateImage" Data..=)+              Prelude.<$> firmwareUpdateImage,+            ("FirmwareUpdateRole" Data..=)+              Prelude.<$> firmwareUpdateRole,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateFuotaTask where+  toPath UpdateFuotaTask' {..} =+    Prelude.mconcat ["/fuota-tasks/", Data.toBS id]++instance Data.ToQuery UpdateFuotaTask where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFuotaTaskResponse' smart constructor.+data UpdateFuotaTaskResponse = UpdateFuotaTaskResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFuotaTaskResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateFuotaTaskResponse_httpStatus' - The response's http status code.+newUpdateFuotaTaskResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateFuotaTaskResponse+newUpdateFuotaTaskResponse pHttpStatus_ =+  UpdateFuotaTaskResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateFuotaTaskResponse_httpStatus :: Lens.Lens' UpdateFuotaTaskResponse Prelude.Int+updateFuotaTaskResponse_httpStatus = Lens.lens (\UpdateFuotaTaskResponse' {httpStatus} -> httpStatus) (\s@UpdateFuotaTaskResponse' {} a -> s {httpStatus = a} :: UpdateFuotaTaskResponse)++instance Prelude.NFData UpdateFuotaTaskResponse where+  rnf UpdateFuotaTaskResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateLogLevelsByResourceTypes.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.IoTWireless.UpdateLogLevelsByResourceTypes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Set default log level, or log levels by resource types. This can be for+-- wireless device log options or wireless gateways log options and is used+-- to control the log messages that\'ll be displayed in CloudWatch.+module Amazonka.IoTWireless.UpdateLogLevelsByResourceTypes+  ( -- * Creating a Request+    UpdateLogLevelsByResourceTypes (..),+    newUpdateLogLevelsByResourceTypes,++    -- * Request Lenses+    updateLogLevelsByResourceTypes_defaultLogLevel,+    updateLogLevelsByResourceTypes_wirelessDeviceLogOptions,+    updateLogLevelsByResourceTypes_wirelessGatewayLogOptions,++    -- * Destructuring the Response+    UpdateLogLevelsByResourceTypesResponse (..),+    newUpdateLogLevelsByResourceTypesResponse,++    -- * Response Lenses+    updateLogLevelsByResourceTypesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLogLevelsByResourceTypes' smart constructor.+data UpdateLogLevelsByResourceTypes = UpdateLogLevelsByResourceTypes'+  { defaultLogLevel :: Prelude.Maybe LogLevel,+    wirelessDeviceLogOptions :: Prelude.Maybe [WirelessDeviceLogOption],+    wirelessGatewayLogOptions :: Prelude.Maybe [WirelessGatewayLogOption]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLogLevelsByResourceTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultLogLevel', 'updateLogLevelsByResourceTypes_defaultLogLevel' - Undocumented member.+--+-- 'wirelessDeviceLogOptions', 'updateLogLevelsByResourceTypes_wirelessDeviceLogOptions' - Undocumented member.+--+-- 'wirelessGatewayLogOptions', 'updateLogLevelsByResourceTypes_wirelessGatewayLogOptions' - Undocumented member.+newUpdateLogLevelsByResourceTypes ::+  UpdateLogLevelsByResourceTypes+newUpdateLogLevelsByResourceTypes =+  UpdateLogLevelsByResourceTypes'+    { defaultLogLevel =+        Prelude.Nothing,+      wirelessDeviceLogOptions = Prelude.Nothing,+      wirelessGatewayLogOptions = Prelude.Nothing+    }++-- | Undocumented member.+updateLogLevelsByResourceTypes_defaultLogLevel :: Lens.Lens' UpdateLogLevelsByResourceTypes (Prelude.Maybe LogLevel)+updateLogLevelsByResourceTypes_defaultLogLevel = Lens.lens (\UpdateLogLevelsByResourceTypes' {defaultLogLevel} -> defaultLogLevel) (\s@UpdateLogLevelsByResourceTypes' {} a -> s {defaultLogLevel = a} :: UpdateLogLevelsByResourceTypes)++-- | Undocumented member.+updateLogLevelsByResourceTypes_wirelessDeviceLogOptions :: Lens.Lens' UpdateLogLevelsByResourceTypes (Prelude.Maybe [WirelessDeviceLogOption])+updateLogLevelsByResourceTypes_wirelessDeviceLogOptions = Lens.lens (\UpdateLogLevelsByResourceTypes' {wirelessDeviceLogOptions} -> wirelessDeviceLogOptions) (\s@UpdateLogLevelsByResourceTypes' {} a -> s {wirelessDeviceLogOptions = a} :: UpdateLogLevelsByResourceTypes) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateLogLevelsByResourceTypes_wirelessGatewayLogOptions :: Lens.Lens' UpdateLogLevelsByResourceTypes (Prelude.Maybe [WirelessGatewayLogOption])+updateLogLevelsByResourceTypes_wirelessGatewayLogOptions = Lens.lens (\UpdateLogLevelsByResourceTypes' {wirelessGatewayLogOptions} -> wirelessGatewayLogOptions) (\s@UpdateLogLevelsByResourceTypes' {} a -> s {wirelessGatewayLogOptions = a} :: UpdateLogLevelsByResourceTypes) Prelude.. Lens.mapping Lens.coerced++instance+  Core.AWSRequest+    UpdateLogLevelsByResourceTypes+  where+  type+    AWSResponse UpdateLogLevelsByResourceTypes =+      UpdateLogLevelsByResourceTypesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateLogLevelsByResourceTypesResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateLogLevelsByResourceTypes+  where+  hashWithSalt+    _salt+    UpdateLogLevelsByResourceTypes' {..} =+      _salt+        `Prelude.hashWithSalt` defaultLogLevel+        `Prelude.hashWithSalt` wirelessDeviceLogOptions+        `Prelude.hashWithSalt` wirelessGatewayLogOptions++instance+  Prelude.NFData+    UpdateLogLevelsByResourceTypes+  where+  rnf UpdateLogLevelsByResourceTypes' {..} =+    Prelude.rnf defaultLogLevel+      `Prelude.seq` Prelude.rnf wirelessDeviceLogOptions+      `Prelude.seq` Prelude.rnf wirelessGatewayLogOptions++instance+  Data.ToHeaders+    UpdateLogLevelsByResourceTypes+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateLogLevelsByResourceTypes where+  toJSON UpdateLogLevelsByResourceTypes' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DefaultLogLevel" Data..=)+              Prelude.<$> defaultLogLevel,+            ("WirelessDeviceLogOptions" Data..=)+              Prelude.<$> wirelessDeviceLogOptions,+            ("WirelessGatewayLogOptions" Data..=)+              Prelude.<$> wirelessGatewayLogOptions+          ]+      )++instance Data.ToPath UpdateLogLevelsByResourceTypes where+  toPath = Prelude.const "/log-levels"++instance Data.ToQuery UpdateLogLevelsByResourceTypes where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLogLevelsByResourceTypesResponse' smart constructor.+data UpdateLogLevelsByResourceTypesResponse = UpdateLogLevelsByResourceTypesResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLogLevelsByResourceTypesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateLogLevelsByResourceTypesResponse_httpStatus' - The response's http status code.+newUpdateLogLevelsByResourceTypesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLogLevelsByResourceTypesResponse+newUpdateLogLevelsByResourceTypesResponse+  pHttpStatus_ =+    UpdateLogLevelsByResourceTypesResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateLogLevelsByResourceTypesResponse_httpStatus :: Lens.Lens' UpdateLogLevelsByResourceTypesResponse Prelude.Int+updateLogLevelsByResourceTypesResponse_httpStatus = Lens.lens (\UpdateLogLevelsByResourceTypesResponse' {httpStatus} -> httpStatus) (\s@UpdateLogLevelsByResourceTypesResponse' {} a -> s {httpStatus = a} :: UpdateLogLevelsByResourceTypesResponse)++instance+  Prelude.NFData+    UpdateLogLevelsByResourceTypesResponse+  where+  rnf UpdateLogLevelsByResourceTypesResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateMulticastGroup.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.IoTWireless.UpdateMulticastGroup+-- 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 properties of a multicast group session.+module Amazonka.IoTWireless.UpdateMulticastGroup+  ( -- * Creating a Request+    UpdateMulticastGroup (..),+    newUpdateMulticastGroup,++    -- * Request Lenses+    updateMulticastGroup_description,+    updateMulticastGroup_loRaWAN,+    updateMulticastGroup_name,+    updateMulticastGroup_id,++    -- * Destructuring the Response+    UpdateMulticastGroupResponse (..),+    newUpdateMulticastGroupResponse,++    -- * Response Lenses+    updateMulticastGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMulticastGroup' smart constructor.+data UpdateMulticastGroup = UpdateMulticastGroup'+  { description :: Prelude.Maybe Prelude.Text,+    loRaWAN :: Prelude.Maybe LoRaWANMulticast,+    name :: Prelude.Maybe Prelude.Text,+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMulticastGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateMulticastGroup_description' - Undocumented member.+--+-- 'loRaWAN', 'updateMulticastGroup_loRaWAN' - Undocumented member.+--+-- 'name', 'updateMulticastGroup_name' - Undocumented member.+--+-- 'id', 'updateMulticastGroup_id' - Undocumented member.+newUpdateMulticastGroup ::+  -- | 'id'+  Prelude.Text ->+  UpdateMulticastGroup+newUpdateMulticastGroup pId_ =+  UpdateMulticastGroup'+    { description =+        Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      id = pId_+    }++-- | Undocumented member.+updateMulticastGroup_description :: Lens.Lens' UpdateMulticastGroup (Prelude.Maybe Prelude.Text)+updateMulticastGroup_description = Lens.lens (\UpdateMulticastGroup' {description} -> description) (\s@UpdateMulticastGroup' {} a -> s {description = a} :: UpdateMulticastGroup)++-- | Undocumented member.+updateMulticastGroup_loRaWAN :: Lens.Lens' UpdateMulticastGroup (Prelude.Maybe LoRaWANMulticast)+updateMulticastGroup_loRaWAN = Lens.lens (\UpdateMulticastGroup' {loRaWAN} -> loRaWAN) (\s@UpdateMulticastGroup' {} a -> s {loRaWAN = a} :: UpdateMulticastGroup)++-- | Undocumented member.+updateMulticastGroup_name :: Lens.Lens' UpdateMulticastGroup (Prelude.Maybe Prelude.Text)+updateMulticastGroup_name = Lens.lens (\UpdateMulticastGroup' {name} -> name) (\s@UpdateMulticastGroup' {} a -> s {name = a} :: UpdateMulticastGroup)++-- | Undocumented member.+updateMulticastGroup_id :: Lens.Lens' UpdateMulticastGroup Prelude.Text+updateMulticastGroup_id = Lens.lens (\UpdateMulticastGroup' {id} -> id) (\s@UpdateMulticastGroup' {} a -> s {id = a} :: UpdateMulticastGroup)++instance Core.AWSRequest UpdateMulticastGroup where+  type+    AWSResponse UpdateMulticastGroup =+      UpdateMulticastGroupResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateMulticastGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateMulticastGroup where+  hashWithSalt _salt UpdateMulticastGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateMulticastGroup where+  rnf UpdateMulticastGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateMulticastGroup where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateMulticastGroup where+  toJSON UpdateMulticastGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name+          ]+      )++instance Data.ToPath UpdateMulticastGroup where+  toPath UpdateMulticastGroup' {..} =+    Prelude.mconcat+      ["/multicast-groups/", Data.toBS id]++instance Data.ToQuery UpdateMulticastGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMulticastGroupResponse' smart constructor.+data UpdateMulticastGroupResponse = UpdateMulticastGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMulticastGroupResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateMulticastGroupResponse_httpStatus' - The response's http status code.+newUpdateMulticastGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateMulticastGroupResponse+newUpdateMulticastGroupResponse pHttpStatus_ =+  UpdateMulticastGroupResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateMulticastGroupResponse_httpStatus :: Lens.Lens' UpdateMulticastGroupResponse Prelude.Int+updateMulticastGroupResponse_httpStatus = Lens.lens (\UpdateMulticastGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateMulticastGroupResponse' {} a -> s {httpStatus = a} :: UpdateMulticastGroupResponse)++instance Prelude.NFData UpdateMulticastGroupResponse where+  rnf UpdateMulticastGroupResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateNetworkAnalyzerConfiguration.hs view
@@ -0,0 +1,286 @@+{-# 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.IoTWireless.UpdateNetworkAnalyzerConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update network analyzer configuration.+module Amazonka.IoTWireless.UpdateNetworkAnalyzerConfiguration+  ( -- * Creating a Request+    UpdateNetworkAnalyzerConfiguration (..),+    newUpdateNetworkAnalyzerConfiguration,++    -- * Request Lenses+    updateNetworkAnalyzerConfiguration_description,+    updateNetworkAnalyzerConfiguration_traceContent,+    updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd,+    updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove,+    updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd,+    updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove,+    updateNetworkAnalyzerConfiguration_configurationName,++    -- * Destructuring the Response+    UpdateNetworkAnalyzerConfigurationResponse (..),+    newUpdateNetworkAnalyzerConfigurationResponse,++    -- * Response Lenses+    updateNetworkAnalyzerConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateNetworkAnalyzerConfiguration' smart constructor.+data UpdateNetworkAnalyzerConfiguration = UpdateNetworkAnalyzerConfiguration'+  { description :: Prelude.Maybe Prelude.Text,+    traceContent :: Prelude.Maybe TraceContent,+    -- | Wireless device resources to add to the network analyzer configuration.+    -- Provide the @WirelessDeviceId@ of the resource to add in the input+    -- array.+    wirelessDevicesToAdd :: Prelude.Maybe [Prelude.Text],+    -- | Wireless device resources to remove from the network analyzer+    -- configuration. Provide the @WirelessDeviceId@ of the resources to remove+    -- in the input array.+    wirelessDevicesToRemove :: Prelude.Maybe [Prelude.Text],+    -- | Wireless gateway resources to add to the network analyzer configuration.+    -- Provide the @WirelessGatewayId@ of the resource to add in the input+    -- array.+    wirelessGatewaysToAdd :: Prelude.Maybe [Prelude.Text],+    -- | Wireless gateway resources to remove from the network analyzer+    -- configuration. Provide the @WirelessGatewayId@ of the resources to+    -- remove in the input array.+    wirelessGatewaysToRemove :: Prelude.Maybe [Prelude.Text],+    configurationName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkAnalyzerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateNetworkAnalyzerConfiguration_description' - Undocumented member.+--+-- 'traceContent', 'updateNetworkAnalyzerConfiguration_traceContent' - Undocumented member.+--+-- 'wirelessDevicesToAdd', 'updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd' - Wireless device resources to add to the network analyzer configuration.+-- Provide the @WirelessDeviceId@ of the resource to add in the input+-- array.+--+-- 'wirelessDevicesToRemove', 'updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove' - Wireless device resources to remove from the network analyzer+-- configuration. Provide the @WirelessDeviceId@ of the resources to remove+-- in the input array.+--+-- 'wirelessGatewaysToAdd', 'updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd' - Wireless gateway resources to add to the network analyzer configuration.+-- Provide the @WirelessGatewayId@ of the resource to add in the input+-- array.+--+-- 'wirelessGatewaysToRemove', 'updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove' - Wireless gateway resources to remove from the network analyzer+-- configuration. Provide the @WirelessGatewayId@ of the resources to+-- remove in the input array.+--+-- 'configurationName', 'updateNetworkAnalyzerConfiguration_configurationName' - Undocumented member.+newUpdateNetworkAnalyzerConfiguration ::+  -- | 'configurationName'+  Prelude.Text ->+  UpdateNetworkAnalyzerConfiguration+newUpdateNetworkAnalyzerConfiguration+  pConfigurationName_ =+    UpdateNetworkAnalyzerConfiguration'+      { description =+          Prelude.Nothing,+        traceContent = Prelude.Nothing,+        wirelessDevicesToAdd = Prelude.Nothing,+        wirelessDevicesToRemove =+          Prelude.Nothing,+        wirelessGatewaysToAdd = Prelude.Nothing,+        wirelessGatewaysToRemove =+          Prelude.Nothing,+        configurationName = pConfigurationName_+      }++-- | Undocumented member.+updateNetworkAnalyzerConfiguration_description :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe Prelude.Text)+updateNetworkAnalyzerConfiguration_description = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {description} -> description) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {description = a} :: UpdateNetworkAnalyzerConfiguration)++-- | Undocumented member.+updateNetworkAnalyzerConfiguration_traceContent :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe TraceContent)+updateNetworkAnalyzerConfiguration_traceContent = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {traceContent} -> traceContent) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {traceContent = a} :: UpdateNetworkAnalyzerConfiguration)++-- | Wireless device resources to add to the network analyzer configuration.+-- Provide the @WirelessDeviceId@ of the resource to add in the input+-- array.+updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+updateNetworkAnalyzerConfiguration_wirelessDevicesToAdd = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {wirelessDevicesToAdd} -> wirelessDevicesToAdd) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {wirelessDevicesToAdd = a} :: UpdateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Wireless device resources to remove from the network analyzer+-- configuration. Provide the @WirelessDeviceId@ of the resources to remove+-- in the input array.+updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+updateNetworkAnalyzerConfiguration_wirelessDevicesToRemove = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {wirelessDevicesToRemove} -> wirelessDevicesToRemove) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {wirelessDevicesToRemove = a} :: UpdateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Wireless gateway resources to add to the network analyzer configuration.+-- Provide the @WirelessGatewayId@ of the resource to add in the input+-- array.+updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+updateNetworkAnalyzerConfiguration_wirelessGatewaysToAdd = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {wirelessGatewaysToAdd} -> wirelessGatewaysToAdd) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {wirelessGatewaysToAdd = a} :: UpdateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Wireless gateway resources to remove from the network analyzer+-- configuration. Provide the @WirelessGatewayId@ of the resources to+-- remove in the input array.+updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove :: Lens.Lens' UpdateNetworkAnalyzerConfiguration (Prelude.Maybe [Prelude.Text])+updateNetworkAnalyzerConfiguration_wirelessGatewaysToRemove = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {wirelessGatewaysToRemove} -> wirelessGatewaysToRemove) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {wirelessGatewaysToRemove = a} :: UpdateNetworkAnalyzerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+updateNetworkAnalyzerConfiguration_configurationName :: Lens.Lens' UpdateNetworkAnalyzerConfiguration Prelude.Text+updateNetworkAnalyzerConfiguration_configurationName = Lens.lens (\UpdateNetworkAnalyzerConfiguration' {configurationName} -> configurationName) (\s@UpdateNetworkAnalyzerConfiguration' {} a -> s {configurationName = a} :: UpdateNetworkAnalyzerConfiguration)++instance+  Core.AWSRequest+    UpdateNetworkAnalyzerConfiguration+  where+  type+    AWSResponse UpdateNetworkAnalyzerConfiguration =+      UpdateNetworkAnalyzerConfigurationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateNetworkAnalyzerConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateNetworkAnalyzerConfiguration+  where+  hashWithSalt+    _salt+    UpdateNetworkAnalyzerConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` description+        `Prelude.hashWithSalt` traceContent+        `Prelude.hashWithSalt` wirelessDevicesToAdd+        `Prelude.hashWithSalt` wirelessDevicesToRemove+        `Prelude.hashWithSalt` wirelessGatewaysToAdd+        `Prelude.hashWithSalt` wirelessGatewaysToRemove+        `Prelude.hashWithSalt` configurationName++instance+  Prelude.NFData+    UpdateNetworkAnalyzerConfiguration+  where+  rnf UpdateNetworkAnalyzerConfiguration' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf traceContent+      `Prelude.seq` Prelude.rnf wirelessDevicesToAdd+      `Prelude.seq` Prelude.rnf wirelessDevicesToRemove+      `Prelude.seq` Prelude.rnf wirelessGatewaysToAdd+      `Prelude.seq` Prelude.rnf wirelessGatewaysToRemove+      `Prelude.seq` Prelude.rnf configurationName++instance+  Data.ToHeaders+    UpdateNetworkAnalyzerConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToJSON+    UpdateNetworkAnalyzerConfiguration+  where+  toJSON UpdateNetworkAnalyzerConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("TraceContent" Data..=) Prelude.<$> traceContent,+            ("WirelessDevicesToAdd" Data..=)+              Prelude.<$> wirelessDevicesToAdd,+            ("WirelessDevicesToRemove" Data..=)+              Prelude.<$> wirelessDevicesToRemove,+            ("WirelessGatewaysToAdd" Data..=)+              Prelude.<$> wirelessGatewaysToAdd,+            ("WirelessGatewaysToRemove" Data..=)+              Prelude.<$> wirelessGatewaysToRemove+          ]+      )++instance+  Data.ToPath+    UpdateNetworkAnalyzerConfiguration+  where+  toPath UpdateNetworkAnalyzerConfiguration' {..} =+    Prelude.mconcat+      [ "/network-analyzer-configurations/",+        Data.toBS configurationName+      ]++instance+  Data.ToQuery+    UpdateNetworkAnalyzerConfiguration+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateNetworkAnalyzerConfigurationResponse' smart constructor.+data UpdateNetworkAnalyzerConfigurationResponse = UpdateNetworkAnalyzerConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkAnalyzerConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateNetworkAnalyzerConfigurationResponse_httpStatus' - The response's http status code.+newUpdateNetworkAnalyzerConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateNetworkAnalyzerConfigurationResponse+newUpdateNetworkAnalyzerConfigurationResponse+  pHttpStatus_ =+    UpdateNetworkAnalyzerConfigurationResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateNetworkAnalyzerConfigurationResponse_httpStatus :: Lens.Lens' UpdateNetworkAnalyzerConfigurationResponse Prelude.Int+updateNetworkAnalyzerConfigurationResponse_httpStatus = Lens.lens (\UpdateNetworkAnalyzerConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateNetworkAnalyzerConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateNetworkAnalyzerConfigurationResponse)++instance+  Prelude.NFData+    UpdateNetworkAnalyzerConfigurationResponse+  where+  rnf UpdateNetworkAnalyzerConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdatePartnerAccount.hs view
@@ -0,0 +1,182 @@+{-# 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.IoTWireless.UpdatePartnerAccount+-- 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 properties of a partner account.+module Amazonka.IoTWireless.UpdatePartnerAccount+  ( -- * Creating a Request+    UpdatePartnerAccount (..),+    newUpdatePartnerAccount,++    -- * Request Lenses+    updatePartnerAccount_sidewalk,+    updatePartnerAccount_partnerAccountId,+    updatePartnerAccount_partnerType,++    -- * Destructuring the Response+    UpdatePartnerAccountResponse (..),+    newUpdatePartnerAccountResponse,++    -- * Response Lenses+    updatePartnerAccountResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdatePartnerAccount' smart constructor.+data UpdatePartnerAccount = UpdatePartnerAccount'+  { -- | The Sidewalk account credentials.+    sidewalk :: SidewalkUpdateAccount,+    -- | The ID of the partner account to update.+    partnerAccountId :: Prelude.Text,+    -- | The partner type.+    partnerType :: PartnerType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePartnerAccount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sidewalk', 'updatePartnerAccount_sidewalk' - The Sidewalk account credentials.+--+-- 'partnerAccountId', 'updatePartnerAccount_partnerAccountId' - The ID of the partner account to update.+--+-- 'partnerType', 'updatePartnerAccount_partnerType' - The partner type.+newUpdatePartnerAccount ::+  -- | 'sidewalk'+  SidewalkUpdateAccount ->+  -- | 'partnerAccountId'+  Prelude.Text ->+  -- | 'partnerType'+  PartnerType ->+  UpdatePartnerAccount+newUpdatePartnerAccount+  pSidewalk_+  pPartnerAccountId_+  pPartnerType_ =+    UpdatePartnerAccount'+      { sidewalk = pSidewalk_,+        partnerAccountId = pPartnerAccountId_,+        partnerType = pPartnerType_+      }++-- | The Sidewalk account credentials.+updatePartnerAccount_sidewalk :: Lens.Lens' UpdatePartnerAccount SidewalkUpdateAccount+updatePartnerAccount_sidewalk = Lens.lens (\UpdatePartnerAccount' {sidewalk} -> sidewalk) (\s@UpdatePartnerAccount' {} a -> s {sidewalk = a} :: UpdatePartnerAccount)++-- | The ID of the partner account to update.+updatePartnerAccount_partnerAccountId :: Lens.Lens' UpdatePartnerAccount Prelude.Text+updatePartnerAccount_partnerAccountId = Lens.lens (\UpdatePartnerAccount' {partnerAccountId} -> partnerAccountId) (\s@UpdatePartnerAccount' {} a -> s {partnerAccountId = a} :: UpdatePartnerAccount)++-- | The partner type.+updatePartnerAccount_partnerType :: Lens.Lens' UpdatePartnerAccount PartnerType+updatePartnerAccount_partnerType = Lens.lens (\UpdatePartnerAccount' {partnerType} -> partnerType) (\s@UpdatePartnerAccount' {} a -> s {partnerType = a} :: UpdatePartnerAccount)++instance Core.AWSRequest UpdatePartnerAccount where+  type+    AWSResponse UpdatePartnerAccount =+      UpdatePartnerAccountResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdatePartnerAccountResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdatePartnerAccount where+  hashWithSalt _salt UpdatePartnerAccount' {..} =+    _salt+      `Prelude.hashWithSalt` sidewalk+      `Prelude.hashWithSalt` partnerAccountId+      `Prelude.hashWithSalt` partnerType++instance Prelude.NFData UpdatePartnerAccount where+  rnf UpdatePartnerAccount' {..} =+    Prelude.rnf sidewalk+      `Prelude.seq` Prelude.rnf partnerAccountId+      `Prelude.seq` Prelude.rnf partnerType++instance Data.ToHeaders UpdatePartnerAccount where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdatePartnerAccount where+  toJSON UpdatePartnerAccount' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Sidewalk" Data..= sidewalk)]+      )++instance Data.ToPath UpdatePartnerAccount where+  toPath UpdatePartnerAccount' {..} =+    Prelude.mconcat+      ["/partner-accounts/", Data.toBS partnerAccountId]++instance Data.ToQuery UpdatePartnerAccount where+  toQuery UpdatePartnerAccount' {..} =+    Prelude.mconcat ["partnerType" Data.=: partnerType]++-- | /See:/ 'newUpdatePartnerAccountResponse' smart constructor.+data UpdatePartnerAccountResponse = UpdatePartnerAccountResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdatePartnerAccountResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updatePartnerAccountResponse_httpStatus' - The response's http status code.+newUpdatePartnerAccountResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdatePartnerAccountResponse+newUpdatePartnerAccountResponse pHttpStatus_ =+  UpdatePartnerAccountResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updatePartnerAccountResponse_httpStatus :: Lens.Lens' UpdatePartnerAccountResponse Prelude.Int+updatePartnerAccountResponse_httpStatus = Lens.lens (\UpdatePartnerAccountResponse' {httpStatus} -> httpStatus) (\s@UpdatePartnerAccountResponse' {} a -> s {httpStatus = a} :: UpdatePartnerAccountResponse)++instance Prelude.NFData UpdatePartnerAccountResponse where+  rnf UpdatePartnerAccountResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateResourceEventConfiguration.hs view
@@ -0,0 +1,278 @@+{-# 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.IoTWireless.UpdateResourceEventConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the event configuration for a particular resource identifier.+module Amazonka.IoTWireless.UpdateResourceEventConfiguration+  ( -- * Creating a Request+    UpdateResourceEventConfiguration (..),+    newUpdateResourceEventConfiguration,++    -- * Request Lenses+    updateResourceEventConfiguration_connectionStatus,+    updateResourceEventConfiguration_deviceRegistrationState,+    updateResourceEventConfiguration_join,+    updateResourceEventConfiguration_messageDeliveryStatus,+    updateResourceEventConfiguration_partnerType,+    updateResourceEventConfiguration_proximity,+    updateResourceEventConfiguration_identifier,+    updateResourceEventConfiguration_identifierType,++    -- * Destructuring the Response+    UpdateResourceEventConfigurationResponse (..),+    newUpdateResourceEventConfigurationResponse,++    -- * Response Lenses+    updateResourceEventConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateResourceEventConfiguration' smart constructor.+data UpdateResourceEventConfiguration = UpdateResourceEventConfiguration'+  { -- | Event configuration for the connection status event.+    connectionStatus :: Prelude.Maybe ConnectionStatusEventConfiguration,+    -- | Event configuration for the device registration state event.+    deviceRegistrationState :: Prelude.Maybe DeviceRegistrationStateEventConfiguration,+    -- | Event configuration for the join event.+    join :: Prelude.Maybe JoinEventConfiguration,+    -- | Event configuration for the message delivery status event.+    messageDeliveryStatus :: Prelude.Maybe MessageDeliveryStatusEventConfiguration,+    -- | Partner type of the resource if the identifier type is+    -- @PartnerAccountId@+    partnerType :: Prelude.Maybe EventNotificationPartnerType,+    -- | Event configuration for the proximity event.+    proximity :: Prelude.Maybe ProximityEventConfiguration,+    -- | Resource identifier to opt in for event messaging.+    identifier :: Prelude.Text,+    -- | Identifier type of the particular resource identifier for event+    -- configuration.+    identifierType :: IdentifierType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceEventConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionStatus', 'updateResourceEventConfiguration_connectionStatus' - Event configuration for the connection status event.+--+-- 'deviceRegistrationState', 'updateResourceEventConfiguration_deviceRegistrationState' - Event configuration for the device registration state event.+--+-- 'join', 'updateResourceEventConfiguration_join' - Event configuration for the join event.+--+-- 'messageDeliveryStatus', 'updateResourceEventConfiguration_messageDeliveryStatus' - Event configuration for the message delivery status event.+--+-- 'partnerType', 'updateResourceEventConfiguration_partnerType' - Partner type of the resource if the identifier type is+-- @PartnerAccountId@+--+-- 'proximity', 'updateResourceEventConfiguration_proximity' - Event configuration for the proximity event.+--+-- 'identifier', 'updateResourceEventConfiguration_identifier' - Resource identifier to opt in for event messaging.+--+-- 'identifierType', 'updateResourceEventConfiguration_identifierType' - Identifier type of the particular resource identifier for event+-- configuration.+newUpdateResourceEventConfiguration ::+  -- | 'identifier'+  Prelude.Text ->+  -- | 'identifierType'+  IdentifierType ->+  UpdateResourceEventConfiguration+newUpdateResourceEventConfiguration+  pIdentifier_+  pIdentifierType_ =+    UpdateResourceEventConfiguration'+      { connectionStatus =+          Prelude.Nothing,+        deviceRegistrationState = Prelude.Nothing,+        join = Prelude.Nothing,+        messageDeliveryStatus = Prelude.Nothing,+        partnerType = Prelude.Nothing,+        proximity = Prelude.Nothing,+        identifier = pIdentifier_,+        identifierType = pIdentifierType_+      }++-- | Event configuration for the connection status event.+updateResourceEventConfiguration_connectionStatus :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe ConnectionStatusEventConfiguration)+updateResourceEventConfiguration_connectionStatus = Lens.lens (\UpdateResourceEventConfiguration' {connectionStatus} -> connectionStatus) (\s@UpdateResourceEventConfiguration' {} a -> s {connectionStatus = a} :: UpdateResourceEventConfiguration)++-- | Event configuration for the device registration state event.+updateResourceEventConfiguration_deviceRegistrationState :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe DeviceRegistrationStateEventConfiguration)+updateResourceEventConfiguration_deviceRegistrationState = Lens.lens (\UpdateResourceEventConfiguration' {deviceRegistrationState} -> deviceRegistrationState) (\s@UpdateResourceEventConfiguration' {} a -> s {deviceRegistrationState = a} :: UpdateResourceEventConfiguration)++-- | Event configuration for the join event.+updateResourceEventConfiguration_join :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe JoinEventConfiguration)+updateResourceEventConfiguration_join = Lens.lens (\UpdateResourceEventConfiguration' {join} -> join) (\s@UpdateResourceEventConfiguration' {} a -> s {join = a} :: UpdateResourceEventConfiguration)++-- | Event configuration for the message delivery status event.+updateResourceEventConfiguration_messageDeliveryStatus :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe MessageDeliveryStatusEventConfiguration)+updateResourceEventConfiguration_messageDeliveryStatus = Lens.lens (\UpdateResourceEventConfiguration' {messageDeliveryStatus} -> messageDeliveryStatus) (\s@UpdateResourceEventConfiguration' {} a -> s {messageDeliveryStatus = a} :: UpdateResourceEventConfiguration)++-- | Partner type of the resource if the identifier type is+-- @PartnerAccountId@+updateResourceEventConfiguration_partnerType :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe EventNotificationPartnerType)+updateResourceEventConfiguration_partnerType = Lens.lens (\UpdateResourceEventConfiguration' {partnerType} -> partnerType) (\s@UpdateResourceEventConfiguration' {} a -> s {partnerType = a} :: UpdateResourceEventConfiguration)++-- | Event configuration for the proximity event.+updateResourceEventConfiguration_proximity :: Lens.Lens' UpdateResourceEventConfiguration (Prelude.Maybe ProximityEventConfiguration)+updateResourceEventConfiguration_proximity = Lens.lens (\UpdateResourceEventConfiguration' {proximity} -> proximity) (\s@UpdateResourceEventConfiguration' {} a -> s {proximity = a} :: UpdateResourceEventConfiguration)++-- | Resource identifier to opt in for event messaging.+updateResourceEventConfiguration_identifier :: Lens.Lens' UpdateResourceEventConfiguration Prelude.Text+updateResourceEventConfiguration_identifier = Lens.lens (\UpdateResourceEventConfiguration' {identifier} -> identifier) (\s@UpdateResourceEventConfiguration' {} a -> s {identifier = a} :: UpdateResourceEventConfiguration)++-- | Identifier type of the particular resource identifier for event+-- configuration.+updateResourceEventConfiguration_identifierType :: Lens.Lens' UpdateResourceEventConfiguration IdentifierType+updateResourceEventConfiguration_identifierType = Lens.lens (\UpdateResourceEventConfiguration' {identifierType} -> identifierType) (\s@UpdateResourceEventConfiguration' {} a -> s {identifierType = a} :: UpdateResourceEventConfiguration)++instance+  Core.AWSRequest+    UpdateResourceEventConfiguration+  where+  type+    AWSResponse UpdateResourceEventConfiguration =+      UpdateResourceEventConfigurationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateResourceEventConfigurationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateResourceEventConfiguration+  where+  hashWithSalt+    _salt+    UpdateResourceEventConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` connectionStatus+        `Prelude.hashWithSalt` deviceRegistrationState+        `Prelude.hashWithSalt` join+        `Prelude.hashWithSalt` messageDeliveryStatus+        `Prelude.hashWithSalt` partnerType+        `Prelude.hashWithSalt` proximity+        `Prelude.hashWithSalt` identifier+        `Prelude.hashWithSalt` identifierType++instance+  Prelude.NFData+    UpdateResourceEventConfiguration+  where+  rnf UpdateResourceEventConfiguration' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf deviceRegistrationState+      `Prelude.seq` Prelude.rnf join+      `Prelude.seq` Prelude.rnf messageDeliveryStatus+      `Prelude.seq` Prelude.rnf partnerType+      `Prelude.seq` Prelude.rnf proximity+      `Prelude.seq` Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierType++instance+  Data.ToHeaders+    UpdateResourceEventConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateResourceEventConfiguration where+  toJSON UpdateResourceEventConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConnectionStatus" Data..=)+              Prelude.<$> connectionStatus,+            ("DeviceRegistrationState" Data..=)+              Prelude.<$> deviceRegistrationState,+            ("Join" Data..=) Prelude.<$> join,+            ("MessageDeliveryStatus" Data..=)+              Prelude.<$> messageDeliveryStatus,+            ("Proximity" Data..=) Prelude.<$> proximity+          ]+      )++instance Data.ToPath UpdateResourceEventConfiguration where+  toPath UpdateResourceEventConfiguration' {..} =+    Prelude.mconcat+      ["/event-configurations/", Data.toBS identifier]++instance+  Data.ToQuery+    UpdateResourceEventConfiguration+  where+  toQuery UpdateResourceEventConfiguration' {..} =+    Prelude.mconcat+      [ "partnerType" Data.=: partnerType,+        "identifierType" Data.=: identifierType+      ]++-- | /See:/ 'newUpdateResourceEventConfigurationResponse' smart constructor.+data UpdateResourceEventConfigurationResponse = UpdateResourceEventConfigurationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceEventConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateResourceEventConfigurationResponse_httpStatus' - The response's http status code.+newUpdateResourceEventConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateResourceEventConfigurationResponse+newUpdateResourceEventConfigurationResponse+  pHttpStatus_ =+    UpdateResourceEventConfigurationResponse'+      { httpStatus =+          pHttpStatus_+      }++-- | The response's http status code.+updateResourceEventConfigurationResponse_httpStatus :: Lens.Lens' UpdateResourceEventConfigurationResponse Prelude.Int+updateResourceEventConfigurationResponse_httpStatus = Lens.lens (\UpdateResourceEventConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateResourceEventConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateResourceEventConfigurationResponse)++instance+  Prelude.NFData+    UpdateResourceEventConfigurationResponse+  where+  rnf UpdateResourceEventConfigurationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateResourcePosition.hs view
@@ -0,0 +1,203 @@+{-# 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.IoTWireless.UpdateResourcePosition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the position information of a given wireless device or a wireless+-- gateway resource. The postion coordinates are based on the+-- <https://gisgeography.com/wgs84-world-geodetic-system/ World Geodetic System (WGS84)>.+module Amazonka.IoTWireless.UpdateResourcePosition+  ( -- * Creating a Request+    UpdateResourcePosition (..),+    newUpdateResourcePosition,++    -- * Request Lenses+    updateResourcePosition_geoJsonPayload,+    updateResourcePosition_resourceIdentifier,+    updateResourcePosition_resourceType,++    -- * Destructuring the Response+    UpdateResourcePositionResponse (..),+    newUpdateResourcePositionResponse,++    -- * Response Lenses+    updateResourcePositionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateResourcePosition' smart constructor.+data UpdateResourcePosition = UpdateResourcePosition'+  { -- | The position information of the resource, displayed as a JSON payload.+    -- The payload uses the GeoJSON format, which a format that\'s used to+    -- encode geographic data structures. For more information, see+    -- <https://geojson.org/ GeoJSON>.+    geoJsonPayload :: Prelude.Maybe Prelude.ByteString,+    -- | The identifier of the resource for which position information is+    -- updated. It can be the wireless device ID or the wireless gateway ID+    -- depending on the resource type.+    resourceIdentifier :: Prelude.Text,+    -- | The type of resource for which position information is updated, which+    -- can be a wireless device or a wireless gateway.+    resourceType :: PositionResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourcePosition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'geoJsonPayload', 'updateResourcePosition_geoJsonPayload' - The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+--+-- 'resourceIdentifier', 'updateResourcePosition_resourceIdentifier' - The identifier of the resource for which position information is+-- updated. It can be the wireless device ID or the wireless gateway ID+-- depending on the resource type.+--+-- 'resourceType', 'updateResourcePosition_resourceType' - The type of resource for which position information is updated, which+-- can be a wireless device or a wireless gateway.+newUpdateResourcePosition ::+  -- | 'resourceIdentifier'+  Prelude.Text ->+  -- | 'resourceType'+  PositionResourceType ->+  UpdateResourcePosition+newUpdateResourcePosition+  pResourceIdentifier_+  pResourceType_ =+    UpdateResourcePosition'+      { geoJsonPayload =+          Prelude.Nothing,+        resourceIdentifier = pResourceIdentifier_,+        resourceType = pResourceType_+      }++-- | The position information of the resource, displayed as a JSON payload.+-- The payload uses the GeoJSON format, which a format that\'s used to+-- encode geographic data structures. For more information, see+-- <https://geojson.org/ GeoJSON>.+updateResourcePosition_geoJsonPayload :: Lens.Lens' UpdateResourcePosition (Prelude.Maybe Prelude.ByteString)+updateResourcePosition_geoJsonPayload = Lens.lens (\UpdateResourcePosition' {geoJsonPayload} -> geoJsonPayload) (\s@UpdateResourcePosition' {} a -> s {geoJsonPayload = a} :: UpdateResourcePosition)++-- | The identifier of the resource for which position information is+-- updated. It can be the wireless device ID or the wireless gateway ID+-- depending on the resource type.+updateResourcePosition_resourceIdentifier :: Lens.Lens' UpdateResourcePosition Prelude.Text+updateResourcePosition_resourceIdentifier = Lens.lens (\UpdateResourcePosition' {resourceIdentifier} -> resourceIdentifier) (\s@UpdateResourcePosition' {} a -> s {resourceIdentifier = a} :: UpdateResourcePosition)++-- | The type of resource for which position information is updated, which+-- can be a wireless device or a wireless gateway.+updateResourcePosition_resourceType :: Lens.Lens' UpdateResourcePosition PositionResourceType+updateResourcePosition_resourceType = Lens.lens (\UpdateResourcePosition' {resourceType} -> resourceType) (\s@UpdateResourcePosition' {} a -> s {resourceType = a} :: UpdateResourcePosition)++instance Core.AWSRequest UpdateResourcePosition where+  type+    AWSResponse UpdateResourcePosition =+      UpdateResourcePositionResponse+  request overrides =+    Request.patchBody (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateResourcePositionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateResourcePosition where+  hashWithSalt _salt UpdateResourcePosition' {..} =+    _salt+      `Prelude.hashWithSalt` geoJsonPayload+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData UpdateResourcePosition where+  rnf UpdateResourcePosition' {..} =+    Prelude.rnf geoJsonPayload+      `Prelude.seq` Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType++instance Data.ToBody UpdateResourcePosition where+  toBody UpdateResourcePosition' {..} =+    Data.toBody geoJsonPayload++instance Data.ToHeaders UpdateResourcePosition where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath UpdateResourcePosition where+  toPath UpdateResourcePosition' {..} =+    Prelude.mconcat+      [ "/resource-positions/",+        Data.toBS resourceIdentifier+      ]++instance Data.ToQuery UpdateResourcePosition where+  toQuery UpdateResourcePosition' {..} =+    Prelude.mconcat+      ["resourceType" Data.=: resourceType]++-- | /See:/ 'newUpdateResourcePositionResponse' smart constructor.+data UpdateResourcePositionResponse = UpdateResourcePositionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourcePositionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateResourcePositionResponse_httpStatus' - The response's http status code.+newUpdateResourcePositionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateResourcePositionResponse+newUpdateResourcePositionResponse pHttpStatus_ =+  UpdateResourcePositionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateResourcePositionResponse_httpStatus :: Lens.Lens' UpdateResourcePositionResponse Prelude.Int+updateResourcePositionResponse_httpStatus = Lens.lens (\UpdateResourcePositionResponse' {httpStatus} -> httpStatus) (\s@UpdateResourcePositionResponse' {} a -> s {httpStatus = a} :: UpdateResourcePositionResponse)++instance+  Prelude.NFData+    UpdateResourcePositionResponse+  where+  rnf UpdateResourcePositionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateWirelessDevice.hs view
@@ -0,0 +1,220 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.IoTWireless.UpdateWirelessDevice+-- 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 properties of a wireless device.+module Amazonka.IoTWireless.UpdateWirelessDevice+  ( -- * Creating a Request+    UpdateWirelessDevice (..),+    newUpdateWirelessDevice,++    -- * Request Lenses+    updateWirelessDevice_description,+    updateWirelessDevice_destinationName,+    updateWirelessDevice_loRaWAN,+    updateWirelessDevice_name,+    updateWirelessDevice_positioning,+    updateWirelessDevice_id,++    -- * Destructuring the Response+    UpdateWirelessDeviceResponse (..),+    newUpdateWirelessDeviceResponse,++    -- * Response Lenses+    updateWirelessDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateWirelessDevice' smart constructor.+data UpdateWirelessDevice = UpdateWirelessDevice'+  { -- | A new description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the new destination for the device.+    destinationName :: Prelude.Maybe Prelude.Text,+    -- | The updated wireless device\'s configuration.+    loRaWAN :: Prelude.Maybe LoRaWANUpdateDevice,+    -- | The new name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    -- | FPort values for the GNSS, stream, and ClockSync functions of the+    -- positioning information.+    positioning :: Prelude.Maybe PositioningConfigStatus,+    -- | The ID of the resource to update.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateWirelessDevice_description' - A new description of the resource.+--+-- 'destinationName', 'updateWirelessDevice_destinationName' - The name of the new destination for the device.+--+-- 'loRaWAN', 'updateWirelessDevice_loRaWAN' - The updated wireless device\'s configuration.+--+-- 'name', 'updateWirelessDevice_name' - The new name of the resource.+--+-- 'positioning', 'updateWirelessDevice_positioning' - FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+--+-- 'id', 'updateWirelessDevice_id' - The ID of the resource to update.+newUpdateWirelessDevice ::+  -- | 'id'+  Prelude.Text ->+  UpdateWirelessDevice+newUpdateWirelessDevice pId_ =+  UpdateWirelessDevice'+    { description =+        Prelude.Nothing,+      destinationName = Prelude.Nothing,+      loRaWAN = Prelude.Nothing,+      name = Prelude.Nothing,+      positioning = Prelude.Nothing,+      id = pId_+    }++-- | A new description of the resource.+updateWirelessDevice_description :: Lens.Lens' UpdateWirelessDevice (Prelude.Maybe Prelude.Text)+updateWirelessDevice_description = Lens.lens (\UpdateWirelessDevice' {description} -> description) (\s@UpdateWirelessDevice' {} a -> s {description = a} :: UpdateWirelessDevice)++-- | The name of the new destination for the device.+updateWirelessDevice_destinationName :: Lens.Lens' UpdateWirelessDevice (Prelude.Maybe Prelude.Text)+updateWirelessDevice_destinationName = Lens.lens (\UpdateWirelessDevice' {destinationName} -> destinationName) (\s@UpdateWirelessDevice' {} a -> s {destinationName = a} :: UpdateWirelessDevice)++-- | The updated wireless device\'s configuration.+updateWirelessDevice_loRaWAN :: Lens.Lens' UpdateWirelessDevice (Prelude.Maybe LoRaWANUpdateDevice)+updateWirelessDevice_loRaWAN = Lens.lens (\UpdateWirelessDevice' {loRaWAN} -> loRaWAN) (\s@UpdateWirelessDevice' {} a -> s {loRaWAN = a} :: UpdateWirelessDevice)++-- | The new name of the resource.+updateWirelessDevice_name :: Lens.Lens' UpdateWirelessDevice (Prelude.Maybe Prelude.Text)+updateWirelessDevice_name = Lens.lens (\UpdateWirelessDevice' {name} -> name) (\s@UpdateWirelessDevice' {} a -> s {name = a} :: UpdateWirelessDevice)++-- | FPort values for the GNSS, stream, and ClockSync functions of the+-- positioning information.+updateWirelessDevice_positioning :: Lens.Lens' UpdateWirelessDevice (Prelude.Maybe PositioningConfigStatus)+updateWirelessDevice_positioning = Lens.lens (\UpdateWirelessDevice' {positioning} -> positioning) (\s@UpdateWirelessDevice' {} a -> s {positioning = a} :: UpdateWirelessDevice)++-- | The ID of the resource to update.+updateWirelessDevice_id :: Lens.Lens' UpdateWirelessDevice Prelude.Text+updateWirelessDevice_id = Lens.lens (\UpdateWirelessDevice' {id} -> id) (\s@UpdateWirelessDevice' {} a -> s {id = a} :: UpdateWirelessDevice)++instance Core.AWSRequest UpdateWirelessDevice where+  type+    AWSResponse UpdateWirelessDevice =+      UpdateWirelessDeviceResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateWirelessDeviceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWirelessDevice where+  hashWithSalt _salt UpdateWirelessDevice' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` destinationName+      `Prelude.hashWithSalt` loRaWAN+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` positioning+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateWirelessDevice where+  rnf UpdateWirelessDevice' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf destinationName+      `Prelude.seq` Prelude.rnf loRaWAN+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf positioning+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateWirelessDevice where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateWirelessDevice where+  toJSON UpdateWirelessDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("DestinationName" Data..=)+              Prelude.<$> destinationName,+            ("LoRaWAN" Data..=) Prelude.<$> loRaWAN,+            ("Name" Data..=) Prelude.<$> name,+            ("Positioning" Data..=) Prelude.<$> positioning+          ]+      )++instance Data.ToPath UpdateWirelessDevice where+  toPath UpdateWirelessDevice' {..} =+    Prelude.mconcat+      ["/wireless-devices/", Data.toBS id]++instance Data.ToQuery UpdateWirelessDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWirelessDeviceResponse' smart constructor.+data UpdateWirelessDeviceResponse = UpdateWirelessDeviceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateWirelessDeviceResponse_httpStatus' - The response's http status code.+newUpdateWirelessDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWirelessDeviceResponse+newUpdateWirelessDeviceResponse pHttpStatus_ =+  UpdateWirelessDeviceResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateWirelessDeviceResponse_httpStatus :: Lens.Lens' UpdateWirelessDeviceResponse Prelude.Int+updateWirelessDeviceResponse_httpStatus = Lens.lens (\UpdateWirelessDeviceResponse' {httpStatus} -> httpStatus) (\s@UpdateWirelessDeviceResponse' {} a -> s {httpStatus = a} :: UpdateWirelessDeviceResponse)++instance Prelude.NFData UpdateWirelessDeviceResponse where+  rnf UpdateWirelessDeviceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/UpdateWirelessGateway.hs view
@@ -0,0 +1,202 @@+{-# 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.IoTWireless.UpdateWirelessGateway+-- 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 properties of a wireless gateway.+module Amazonka.IoTWireless.UpdateWirelessGateway+  ( -- * Creating a Request+    UpdateWirelessGateway (..),+    newUpdateWirelessGateway,++    -- * Request Lenses+    updateWirelessGateway_description,+    updateWirelessGateway_joinEuiFilters,+    updateWirelessGateway_name,+    updateWirelessGateway_netIdFilters,+    updateWirelessGateway_id,++    -- * Destructuring the Response+    UpdateWirelessGatewayResponse (..),+    newUpdateWirelessGatewayResponse,++    -- * Response Lenses+    updateWirelessGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateWirelessGateway' smart constructor.+data UpdateWirelessGateway = UpdateWirelessGateway'+  { -- | A new description of the resource.+    description :: Prelude.Maybe Prelude.Text,+    joinEuiFilters :: Prelude.Maybe [Prelude.NonEmpty Prelude.Text],+    -- | The new name of the resource.+    name :: Prelude.Maybe Prelude.Text,+    netIdFilters :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the resource to update.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateWirelessGateway_description' - A new description of the resource.+--+-- 'joinEuiFilters', 'updateWirelessGateway_joinEuiFilters' - Undocumented member.+--+-- 'name', 'updateWirelessGateway_name' - The new name of the resource.+--+-- 'netIdFilters', 'updateWirelessGateway_netIdFilters' - Undocumented member.+--+-- 'id', 'updateWirelessGateway_id' - The ID of the resource to update.+newUpdateWirelessGateway ::+  -- | 'id'+  Prelude.Text ->+  UpdateWirelessGateway+newUpdateWirelessGateway pId_ =+  UpdateWirelessGateway'+    { description =+        Prelude.Nothing,+      joinEuiFilters = Prelude.Nothing,+      name = Prelude.Nothing,+      netIdFilters = Prelude.Nothing,+      id = pId_+    }++-- | A new description of the resource.+updateWirelessGateway_description :: Lens.Lens' UpdateWirelessGateway (Prelude.Maybe Prelude.Text)+updateWirelessGateway_description = Lens.lens (\UpdateWirelessGateway' {description} -> description) (\s@UpdateWirelessGateway' {} a -> s {description = a} :: UpdateWirelessGateway)++-- | Undocumented member.+updateWirelessGateway_joinEuiFilters :: Lens.Lens' UpdateWirelessGateway (Prelude.Maybe [Prelude.NonEmpty Prelude.Text])+updateWirelessGateway_joinEuiFilters = Lens.lens (\UpdateWirelessGateway' {joinEuiFilters} -> joinEuiFilters) (\s@UpdateWirelessGateway' {} a -> s {joinEuiFilters = a} :: UpdateWirelessGateway) Prelude.. Lens.mapping Lens.coerced++-- | The new name of the resource.+updateWirelessGateway_name :: Lens.Lens' UpdateWirelessGateway (Prelude.Maybe Prelude.Text)+updateWirelessGateway_name = Lens.lens (\UpdateWirelessGateway' {name} -> name) (\s@UpdateWirelessGateway' {} a -> s {name = a} :: UpdateWirelessGateway)++-- | Undocumented member.+updateWirelessGateway_netIdFilters :: Lens.Lens' UpdateWirelessGateway (Prelude.Maybe [Prelude.Text])+updateWirelessGateway_netIdFilters = Lens.lens (\UpdateWirelessGateway' {netIdFilters} -> netIdFilters) (\s@UpdateWirelessGateway' {} a -> s {netIdFilters = a} :: UpdateWirelessGateway) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the resource to update.+updateWirelessGateway_id :: Lens.Lens' UpdateWirelessGateway Prelude.Text+updateWirelessGateway_id = Lens.lens (\UpdateWirelessGateway' {id} -> id) (\s@UpdateWirelessGateway' {} a -> s {id = a} :: UpdateWirelessGateway)++instance Core.AWSRequest UpdateWirelessGateway where+  type+    AWSResponse UpdateWirelessGateway =+      UpdateWirelessGatewayResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateWirelessGatewayResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWirelessGateway where+  hashWithSalt _salt UpdateWirelessGateway' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` joinEuiFilters+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` netIdFilters+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateWirelessGateway where+  rnf UpdateWirelessGateway' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf joinEuiFilters+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf netIdFilters+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateWirelessGateway where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON UpdateWirelessGateway where+  toJSON UpdateWirelessGateway' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("JoinEuiFilters" Data..=)+              Prelude.<$> joinEuiFilters,+            ("Name" Data..=) Prelude.<$> name,+            ("NetIdFilters" Data..=) Prelude.<$> netIdFilters+          ]+      )++instance Data.ToPath UpdateWirelessGateway where+  toPath UpdateWirelessGateway' {..} =+    Prelude.mconcat+      ["/wireless-gateways/", Data.toBS id]++instance Data.ToQuery UpdateWirelessGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWirelessGatewayResponse' smart constructor.+data UpdateWirelessGatewayResponse = UpdateWirelessGatewayResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWirelessGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateWirelessGatewayResponse_httpStatus' - The response's http status code.+newUpdateWirelessGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWirelessGatewayResponse+newUpdateWirelessGatewayResponse pHttpStatus_ =+  UpdateWirelessGatewayResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateWirelessGatewayResponse_httpStatus :: Lens.Lens' UpdateWirelessGatewayResponse Prelude.Int+updateWirelessGatewayResponse_httpStatus = Lens.lens (\UpdateWirelessGatewayResponse' {httpStatus} -> httpStatus) (\s@UpdateWirelessGatewayResponse' {} a -> s {httpStatus = a} :: UpdateWirelessGatewayResponse)++instance Prelude.NFData UpdateWirelessGatewayResponse where+  rnf UpdateWirelessGatewayResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/IoTWireless/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.IoTWireless.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.IoTWireless.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.IoTWireless.Lens+import Amazonka.IoTWireless.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.IoTWireless+import Test.Amazonka.IoTWireless.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "IoTWireless"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/IoTWireless.hs view
@@ -0,0 +1,1958 @@+{-# 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.IoTWireless+-- Copyright   : (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.IoTWireless where++import Amazonka.IoTWireless+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.IoTWireless.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"+--         [ requestAssociateAwsAccountWithPartnerAccount $+--             newAssociateAwsAccountWithPartnerAccount+--+--         , requestAssociateMulticastGroupWithFuotaTask $+--             newAssociateMulticastGroupWithFuotaTask+--+--         , requestAssociateWirelessDeviceWithFuotaTask $+--             newAssociateWirelessDeviceWithFuotaTask+--+--         , requestAssociateWirelessDeviceWithMulticastGroup $+--             newAssociateWirelessDeviceWithMulticastGroup+--+--         , requestAssociateWirelessDeviceWithThing $+--             newAssociateWirelessDeviceWithThing+--+--         , requestAssociateWirelessGatewayWithCertificate $+--             newAssociateWirelessGatewayWithCertificate+--+--         , requestAssociateWirelessGatewayWithThing $+--             newAssociateWirelessGatewayWithThing+--+--         , requestCancelMulticastGroupSession $+--             newCancelMulticastGroupSession+--+--         , requestCreateDestination $+--             newCreateDestination+--+--         , requestCreateDeviceProfile $+--             newCreateDeviceProfile+--+--         , requestCreateFuotaTask $+--             newCreateFuotaTask+--+--         , requestCreateMulticastGroup $+--             newCreateMulticastGroup+--+--         , requestCreateNetworkAnalyzerConfiguration $+--             newCreateNetworkAnalyzerConfiguration+--+--         , requestCreateServiceProfile $+--             newCreateServiceProfile+--+--         , requestCreateWirelessDevice $+--             newCreateWirelessDevice+--+--         , requestCreateWirelessGateway $+--             newCreateWirelessGateway+--+--         , requestCreateWirelessGatewayTask $+--             newCreateWirelessGatewayTask+--+--         , requestCreateWirelessGatewayTaskDefinition $+--             newCreateWirelessGatewayTaskDefinition+--+--         , requestDeleteDestination $+--             newDeleteDestination+--+--         , requestDeleteDeviceProfile $+--             newDeleteDeviceProfile+--+--         , requestDeleteFuotaTask $+--             newDeleteFuotaTask+--+--         , requestDeleteMulticastGroup $+--             newDeleteMulticastGroup+--+--         , requestDeleteNetworkAnalyzerConfiguration $+--             newDeleteNetworkAnalyzerConfiguration+--+--         , requestDeleteQueuedMessages $+--             newDeleteQueuedMessages+--+--         , requestDeleteServiceProfile $+--             newDeleteServiceProfile+--+--         , requestDeleteWirelessDevice $+--             newDeleteWirelessDevice+--+--         , requestDeleteWirelessGateway $+--             newDeleteWirelessGateway+--+--         , requestDeleteWirelessGatewayTask $+--             newDeleteWirelessGatewayTask+--+--         , requestDeleteWirelessGatewayTaskDefinition $+--             newDeleteWirelessGatewayTaskDefinition+--+--         , requestDisassociateAwsAccountFromPartnerAccount $+--             newDisassociateAwsAccountFromPartnerAccount+--+--         , requestDisassociateMulticastGroupFromFuotaTask $+--             newDisassociateMulticastGroupFromFuotaTask+--+--         , requestDisassociateWirelessDeviceFromFuotaTask $+--             newDisassociateWirelessDeviceFromFuotaTask+--+--         , requestDisassociateWirelessDeviceFromMulticastGroup $+--             newDisassociateWirelessDeviceFromMulticastGroup+--+--         , requestDisassociateWirelessDeviceFromThing $+--             newDisassociateWirelessDeviceFromThing+--+--         , requestDisassociateWirelessGatewayFromCertificate $+--             newDisassociateWirelessGatewayFromCertificate+--+--         , requestDisassociateWirelessGatewayFromThing $+--             newDisassociateWirelessGatewayFromThing+--+--         , requestGetDestination $+--             newGetDestination+--+--         , requestGetDeviceProfile $+--             newGetDeviceProfile+--+--         , requestGetEventConfigurationByResourceTypes $+--             newGetEventConfigurationByResourceTypes+--+--         , requestGetFuotaTask $+--             newGetFuotaTask+--+--         , requestGetLogLevelsByResourceTypes $+--             newGetLogLevelsByResourceTypes+--+--         , requestGetMulticastGroup $+--             newGetMulticastGroup+--+--         , requestGetMulticastGroupSession $+--             newGetMulticastGroupSession+--+--         , requestGetNetworkAnalyzerConfiguration $+--             newGetNetworkAnalyzerConfiguration+--+--         , requestGetPartnerAccount $+--             newGetPartnerAccount+--+--         , requestGetPositionEstimate $+--             newGetPositionEstimate+--+--         , requestGetResourceEventConfiguration $+--             newGetResourceEventConfiguration+--+--         , requestGetResourceLogLevel $+--             newGetResourceLogLevel+--+--         , requestGetResourcePosition $+--             newGetResourcePosition+--+--         , requestGetServiceEndpoint $+--             newGetServiceEndpoint+--+--         , requestGetServiceProfile $+--             newGetServiceProfile+--+--         , requestGetWirelessDevice $+--             newGetWirelessDevice+--+--         , requestGetWirelessDeviceStatistics $+--             newGetWirelessDeviceStatistics+--+--         , requestGetWirelessGateway $+--             newGetWirelessGateway+--+--         , requestGetWirelessGatewayCertificate $+--             newGetWirelessGatewayCertificate+--+--         , requestGetWirelessGatewayFirmwareInformation $+--             newGetWirelessGatewayFirmwareInformation+--+--         , requestGetWirelessGatewayStatistics $+--             newGetWirelessGatewayStatistics+--+--         , requestGetWirelessGatewayTask $+--             newGetWirelessGatewayTask+--+--         , requestGetWirelessGatewayTaskDefinition $+--             newGetWirelessGatewayTaskDefinition+--+--         , requestListDestinations $+--             newListDestinations+--+--         , requestListDeviceProfiles $+--             newListDeviceProfiles+--+--         , requestListEventConfigurations $+--             newListEventConfigurations+--+--         , requestListFuotaTasks $+--             newListFuotaTasks+--+--         , requestListMulticastGroups $+--             newListMulticastGroups+--+--         , requestListMulticastGroupsByFuotaTask $+--             newListMulticastGroupsByFuotaTask+--+--         , requestListNetworkAnalyzerConfigurations $+--             newListNetworkAnalyzerConfigurations+--+--         , requestListPartnerAccounts $+--             newListPartnerAccounts+--+--         , requestListQueuedMessages $+--             newListQueuedMessages+--+--         , requestListServiceProfiles $+--             newListServiceProfiles+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListWirelessDevices $+--             newListWirelessDevices+--+--         , requestListWirelessGatewayTaskDefinitions $+--             newListWirelessGatewayTaskDefinitions+--+--         , requestListWirelessGateways $+--             newListWirelessGateways+--+--         , requestPutResourceLogLevel $+--             newPutResourceLogLevel+--+--         , requestResetAllResourceLogLevels $+--             newResetAllResourceLogLevels+--+--         , requestResetResourceLogLevel $+--             newResetResourceLogLevel+--+--         , requestSendDataToMulticastGroup $+--             newSendDataToMulticastGroup+--+--         , requestSendDataToWirelessDevice $+--             newSendDataToWirelessDevice+--+--         , requestStartBulkAssociateWirelessDeviceWithMulticastGroup $+--             newStartBulkAssociateWirelessDeviceWithMulticastGroup+--+--         , requestStartBulkDisassociateWirelessDeviceFromMulticastGroup $+--             newStartBulkDisassociateWirelessDeviceFromMulticastGroup+--+--         , requestStartFuotaTask $+--             newStartFuotaTask+--+--         , requestStartMulticastGroupSession $+--             newStartMulticastGroupSession+--+--         , requestTagResource $+--             newTagResource+--+--         , requestTestWirelessDevice $+--             newTestWirelessDevice+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateDestination $+--             newUpdateDestination+--+--         , requestUpdateEventConfigurationByResourceTypes $+--             newUpdateEventConfigurationByResourceTypes+--+--         , requestUpdateFuotaTask $+--             newUpdateFuotaTask+--+--         , requestUpdateLogLevelsByResourceTypes $+--             newUpdateLogLevelsByResourceTypes+--+--         , requestUpdateMulticastGroup $+--             newUpdateMulticastGroup+--+--         , requestUpdateNetworkAnalyzerConfiguration $+--             newUpdateNetworkAnalyzerConfiguration+--+--         , requestUpdatePartnerAccount $+--             newUpdatePartnerAccount+--+--         , requestUpdateResourceEventConfiguration $+--             newUpdateResourceEventConfiguration+--+--         , requestUpdateResourcePosition $+--             newUpdateResourcePosition+--+--         , requestUpdateWirelessDevice $+--             newUpdateWirelessDevice+--+--         , requestUpdateWirelessGateway $+--             newUpdateWirelessGateway+--+--           ]++--     , testGroup "response"+--         [ responseAssociateAwsAccountWithPartnerAccount $+--             newAssociateAwsAccountWithPartnerAccountResponse+--+--         , responseAssociateMulticastGroupWithFuotaTask $+--             newAssociateMulticastGroupWithFuotaTaskResponse+--+--         , responseAssociateWirelessDeviceWithFuotaTask $+--             newAssociateWirelessDeviceWithFuotaTaskResponse+--+--         , responseAssociateWirelessDeviceWithMulticastGroup $+--             newAssociateWirelessDeviceWithMulticastGroupResponse+--+--         , responseAssociateWirelessDeviceWithThing $+--             newAssociateWirelessDeviceWithThingResponse+--+--         , responseAssociateWirelessGatewayWithCertificate $+--             newAssociateWirelessGatewayWithCertificateResponse+--+--         , responseAssociateWirelessGatewayWithThing $+--             newAssociateWirelessGatewayWithThingResponse+--+--         , responseCancelMulticastGroupSession $+--             newCancelMulticastGroupSessionResponse+--+--         , responseCreateDestination $+--             newCreateDestinationResponse+--+--         , responseCreateDeviceProfile $+--             newCreateDeviceProfileResponse+--+--         , responseCreateFuotaTask $+--             newCreateFuotaTaskResponse+--+--         , responseCreateMulticastGroup $+--             newCreateMulticastGroupResponse+--+--         , responseCreateNetworkAnalyzerConfiguration $+--             newCreateNetworkAnalyzerConfigurationResponse+--+--         , responseCreateServiceProfile $+--             newCreateServiceProfileResponse+--+--         , responseCreateWirelessDevice $+--             newCreateWirelessDeviceResponse+--+--         , responseCreateWirelessGateway $+--             newCreateWirelessGatewayResponse+--+--         , responseCreateWirelessGatewayTask $+--             newCreateWirelessGatewayTaskResponse+--+--         , responseCreateWirelessGatewayTaskDefinition $+--             newCreateWirelessGatewayTaskDefinitionResponse+--+--         , responseDeleteDestination $+--             newDeleteDestinationResponse+--+--         , responseDeleteDeviceProfile $+--             newDeleteDeviceProfileResponse+--+--         , responseDeleteFuotaTask $+--             newDeleteFuotaTaskResponse+--+--         , responseDeleteMulticastGroup $+--             newDeleteMulticastGroupResponse+--+--         , responseDeleteNetworkAnalyzerConfiguration $+--             newDeleteNetworkAnalyzerConfigurationResponse+--+--         , responseDeleteQueuedMessages $+--             newDeleteQueuedMessagesResponse+--+--         , responseDeleteServiceProfile $+--             newDeleteServiceProfileResponse+--+--         , responseDeleteWirelessDevice $+--             newDeleteWirelessDeviceResponse+--+--         , responseDeleteWirelessGateway $+--             newDeleteWirelessGatewayResponse+--+--         , responseDeleteWirelessGatewayTask $+--             newDeleteWirelessGatewayTaskResponse+--+--         , responseDeleteWirelessGatewayTaskDefinition $+--             newDeleteWirelessGatewayTaskDefinitionResponse+--+--         , responseDisassociateAwsAccountFromPartnerAccount $+--             newDisassociateAwsAccountFromPartnerAccountResponse+--+--         , responseDisassociateMulticastGroupFromFuotaTask $+--             newDisassociateMulticastGroupFromFuotaTaskResponse+--+--         , responseDisassociateWirelessDeviceFromFuotaTask $+--             newDisassociateWirelessDeviceFromFuotaTaskResponse+--+--         , responseDisassociateWirelessDeviceFromMulticastGroup $+--             newDisassociateWirelessDeviceFromMulticastGroupResponse+--+--         , responseDisassociateWirelessDeviceFromThing $+--             newDisassociateWirelessDeviceFromThingResponse+--+--         , responseDisassociateWirelessGatewayFromCertificate $+--             newDisassociateWirelessGatewayFromCertificateResponse+--+--         , responseDisassociateWirelessGatewayFromThing $+--             newDisassociateWirelessGatewayFromThingResponse+--+--         , responseGetDestination $+--             newGetDestinationResponse+--+--         , responseGetDeviceProfile $+--             newGetDeviceProfileResponse+--+--         , responseGetEventConfigurationByResourceTypes $+--             newGetEventConfigurationByResourceTypesResponse+--+--         , responseGetFuotaTask $+--             newGetFuotaTaskResponse+--+--         , responseGetLogLevelsByResourceTypes $+--             newGetLogLevelsByResourceTypesResponse+--+--         , responseGetMulticastGroup $+--             newGetMulticastGroupResponse+--+--         , responseGetMulticastGroupSession $+--             newGetMulticastGroupSessionResponse+--+--         , responseGetNetworkAnalyzerConfiguration $+--             newGetNetworkAnalyzerConfigurationResponse+--+--         , responseGetPartnerAccount $+--             newGetPartnerAccountResponse+--+--         , responseGetPositionEstimate $+--             newGetPositionEstimateResponse+--+--         , responseGetResourceEventConfiguration $+--             newGetResourceEventConfigurationResponse+--+--         , responseGetResourceLogLevel $+--             newGetResourceLogLevelResponse+--+--         , responseGetResourcePosition $+--             newGetResourcePositionResponse+--+--         , responseGetServiceEndpoint $+--             newGetServiceEndpointResponse+--+--         , responseGetServiceProfile $+--             newGetServiceProfileResponse+--+--         , responseGetWirelessDevice $+--             newGetWirelessDeviceResponse+--+--         , responseGetWirelessDeviceStatistics $+--             newGetWirelessDeviceStatisticsResponse+--+--         , responseGetWirelessGateway $+--             newGetWirelessGatewayResponse+--+--         , responseGetWirelessGatewayCertificate $+--             newGetWirelessGatewayCertificateResponse+--+--         , responseGetWirelessGatewayFirmwareInformation $+--             newGetWirelessGatewayFirmwareInformationResponse+--+--         , responseGetWirelessGatewayStatistics $+--             newGetWirelessGatewayStatisticsResponse+--+--         , responseGetWirelessGatewayTask $+--             newGetWirelessGatewayTaskResponse+--+--         , responseGetWirelessGatewayTaskDefinition $+--             newGetWirelessGatewayTaskDefinitionResponse+--+--         , responseListDestinations $+--             newListDestinationsResponse+--+--         , responseListDeviceProfiles $+--             newListDeviceProfilesResponse+--+--         , responseListEventConfigurations $+--             newListEventConfigurationsResponse+--+--         , responseListFuotaTasks $+--             newListFuotaTasksResponse+--+--         , responseListMulticastGroups $+--             newListMulticastGroupsResponse+--+--         , responseListMulticastGroupsByFuotaTask $+--             newListMulticastGroupsByFuotaTaskResponse+--+--         , responseListNetworkAnalyzerConfigurations $+--             newListNetworkAnalyzerConfigurationsResponse+--+--         , responseListPartnerAccounts $+--             newListPartnerAccountsResponse+--+--         , responseListQueuedMessages $+--             newListQueuedMessagesResponse+--+--         , responseListServiceProfiles $+--             newListServiceProfilesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListWirelessDevices $+--             newListWirelessDevicesResponse+--+--         , responseListWirelessGatewayTaskDefinitions $+--             newListWirelessGatewayTaskDefinitionsResponse+--+--         , responseListWirelessGateways $+--             newListWirelessGatewaysResponse+--+--         , responsePutResourceLogLevel $+--             newPutResourceLogLevelResponse+--+--         , responseResetAllResourceLogLevels $+--             newResetAllResourceLogLevelsResponse+--+--         , responseResetResourceLogLevel $+--             newResetResourceLogLevelResponse+--+--         , responseSendDataToMulticastGroup $+--             newSendDataToMulticastGroupResponse+--+--         , responseSendDataToWirelessDevice $+--             newSendDataToWirelessDeviceResponse+--+--         , responseStartBulkAssociateWirelessDeviceWithMulticastGroup $+--             newStartBulkAssociateWirelessDeviceWithMulticastGroupResponse+--+--         , responseStartBulkDisassociateWirelessDeviceFromMulticastGroup $+--             newStartBulkDisassociateWirelessDeviceFromMulticastGroupResponse+--+--         , responseStartFuotaTask $+--             newStartFuotaTaskResponse+--+--         , responseStartMulticastGroupSession $+--             newStartMulticastGroupSessionResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseTestWirelessDevice $+--             newTestWirelessDeviceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateDestination $+--             newUpdateDestinationResponse+--+--         , responseUpdateEventConfigurationByResourceTypes $+--             newUpdateEventConfigurationByResourceTypesResponse+--+--         , responseUpdateFuotaTask $+--             newUpdateFuotaTaskResponse+--+--         , responseUpdateLogLevelsByResourceTypes $+--             newUpdateLogLevelsByResourceTypesResponse+--+--         , responseUpdateMulticastGroup $+--             newUpdateMulticastGroupResponse+--+--         , responseUpdateNetworkAnalyzerConfiguration $+--             newUpdateNetworkAnalyzerConfigurationResponse+--+--         , responseUpdatePartnerAccount $+--             newUpdatePartnerAccountResponse+--+--         , responseUpdateResourceEventConfiguration $+--             newUpdateResourceEventConfigurationResponse+--+--         , responseUpdateResourcePosition $+--             newUpdateResourcePositionResponse+--+--         , responseUpdateWirelessDevice $+--             newUpdateWirelessDeviceResponse+--+--         , responseUpdateWirelessGateway $+--             newUpdateWirelessGatewayResponse+--+--           ]+--     ]++-- Requests++requestAssociateAwsAccountWithPartnerAccount :: AssociateAwsAccountWithPartnerAccount -> TestTree+requestAssociateAwsAccountWithPartnerAccount =+  req+    "AssociateAwsAccountWithPartnerAccount"+    "fixture/AssociateAwsAccountWithPartnerAccount.yaml"++requestAssociateMulticastGroupWithFuotaTask :: AssociateMulticastGroupWithFuotaTask -> TestTree+requestAssociateMulticastGroupWithFuotaTask =+  req+    "AssociateMulticastGroupWithFuotaTask"+    "fixture/AssociateMulticastGroupWithFuotaTask.yaml"++requestAssociateWirelessDeviceWithFuotaTask :: AssociateWirelessDeviceWithFuotaTask -> TestTree+requestAssociateWirelessDeviceWithFuotaTask =+  req+    "AssociateWirelessDeviceWithFuotaTask"+    "fixture/AssociateWirelessDeviceWithFuotaTask.yaml"++requestAssociateWirelessDeviceWithMulticastGroup :: AssociateWirelessDeviceWithMulticastGroup -> TestTree+requestAssociateWirelessDeviceWithMulticastGroup =+  req+    "AssociateWirelessDeviceWithMulticastGroup"+    "fixture/AssociateWirelessDeviceWithMulticastGroup.yaml"++requestAssociateWirelessDeviceWithThing :: AssociateWirelessDeviceWithThing -> TestTree+requestAssociateWirelessDeviceWithThing =+  req+    "AssociateWirelessDeviceWithThing"+    "fixture/AssociateWirelessDeviceWithThing.yaml"++requestAssociateWirelessGatewayWithCertificate :: AssociateWirelessGatewayWithCertificate -> TestTree+requestAssociateWirelessGatewayWithCertificate =+  req+    "AssociateWirelessGatewayWithCertificate"+    "fixture/AssociateWirelessGatewayWithCertificate.yaml"++requestAssociateWirelessGatewayWithThing :: AssociateWirelessGatewayWithThing -> TestTree+requestAssociateWirelessGatewayWithThing =+  req+    "AssociateWirelessGatewayWithThing"+    "fixture/AssociateWirelessGatewayWithThing.yaml"++requestCancelMulticastGroupSession :: CancelMulticastGroupSession -> TestTree+requestCancelMulticastGroupSession =+  req+    "CancelMulticastGroupSession"+    "fixture/CancelMulticastGroupSession.yaml"++requestCreateDestination :: CreateDestination -> TestTree+requestCreateDestination =+  req+    "CreateDestination"+    "fixture/CreateDestination.yaml"++requestCreateDeviceProfile :: CreateDeviceProfile -> TestTree+requestCreateDeviceProfile =+  req+    "CreateDeviceProfile"+    "fixture/CreateDeviceProfile.yaml"++requestCreateFuotaTask :: CreateFuotaTask -> TestTree+requestCreateFuotaTask =+  req+    "CreateFuotaTask"+    "fixture/CreateFuotaTask.yaml"++requestCreateMulticastGroup :: CreateMulticastGroup -> TestTree+requestCreateMulticastGroup =+  req+    "CreateMulticastGroup"+    "fixture/CreateMulticastGroup.yaml"++requestCreateNetworkAnalyzerConfiguration :: CreateNetworkAnalyzerConfiguration -> TestTree+requestCreateNetworkAnalyzerConfiguration =+  req+    "CreateNetworkAnalyzerConfiguration"+    "fixture/CreateNetworkAnalyzerConfiguration.yaml"++requestCreateServiceProfile :: CreateServiceProfile -> TestTree+requestCreateServiceProfile =+  req+    "CreateServiceProfile"+    "fixture/CreateServiceProfile.yaml"++requestCreateWirelessDevice :: CreateWirelessDevice -> TestTree+requestCreateWirelessDevice =+  req+    "CreateWirelessDevice"+    "fixture/CreateWirelessDevice.yaml"++requestCreateWirelessGateway :: CreateWirelessGateway -> TestTree+requestCreateWirelessGateway =+  req+    "CreateWirelessGateway"+    "fixture/CreateWirelessGateway.yaml"++requestCreateWirelessGatewayTask :: CreateWirelessGatewayTask -> TestTree+requestCreateWirelessGatewayTask =+  req+    "CreateWirelessGatewayTask"+    "fixture/CreateWirelessGatewayTask.yaml"++requestCreateWirelessGatewayTaskDefinition :: CreateWirelessGatewayTaskDefinition -> TestTree+requestCreateWirelessGatewayTaskDefinition =+  req+    "CreateWirelessGatewayTaskDefinition"+    "fixture/CreateWirelessGatewayTaskDefinition.yaml"++requestDeleteDestination :: DeleteDestination -> TestTree+requestDeleteDestination =+  req+    "DeleteDestination"+    "fixture/DeleteDestination.yaml"++requestDeleteDeviceProfile :: DeleteDeviceProfile -> TestTree+requestDeleteDeviceProfile =+  req+    "DeleteDeviceProfile"+    "fixture/DeleteDeviceProfile.yaml"++requestDeleteFuotaTask :: DeleteFuotaTask -> TestTree+requestDeleteFuotaTask =+  req+    "DeleteFuotaTask"+    "fixture/DeleteFuotaTask.yaml"++requestDeleteMulticastGroup :: DeleteMulticastGroup -> TestTree+requestDeleteMulticastGroup =+  req+    "DeleteMulticastGroup"+    "fixture/DeleteMulticastGroup.yaml"++requestDeleteNetworkAnalyzerConfiguration :: DeleteNetworkAnalyzerConfiguration -> TestTree+requestDeleteNetworkAnalyzerConfiguration =+  req+    "DeleteNetworkAnalyzerConfiguration"+    "fixture/DeleteNetworkAnalyzerConfiguration.yaml"++requestDeleteQueuedMessages :: DeleteQueuedMessages -> TestTree+requestDeleteQueuedMessages =+  req+    "DeleteQueuedMessages"+    "fixture/DeleteQueuedMessages.yaml"++requestDeleteServiceProfile :: DeleteServiceProfile -> TestTree+requestDeleteServiceProfile =+  req+    "DeleteServiceProfile"+    "fixture/DeleteServiceProfile.yaml"++requestDeleteWirelessDevice :: DeleteWirelessDevice -> TestTree+requestDeleteWirelessDevice =+  req+    "DeleteWirelessDevice"+    "fixture/DeleteWirelessDevice.yaml"++requestDeleteWirelessGateway :: DeleteWirelessGateway -> TestTree+requestDeleteWirelessGateway =+  req+    "DeleteWirelessGateway"+    "fixture/DeleteWirelessGateway.yaml"++requestDeleteWirelessGatewayTask :: DeleteWirelessGatewayTask -> TestTree+requestDeleteWirelessGatewayTask =+  req+    "DeleteWirelessGatewayTask"+    "fixture/DeleteWirelessGatewayTask.yaml"++requestDeleteWirelessGatewayTaskDefinition :: DeleteWirelessGatewayTaskDefinition -> TestTree+requestDeleteWirelessGatewayTaskDefinition =+  req+    "DeleteWirelessGatewayTaskDefinition"+    "fixture/DeleteWirelessGatewayTaskDefinition.yaml"++requestDisassociateAwsAccountFromPartnerAccount :: DisassociateAwsAccountFromPartnerAccount -> TestTree+requestDisassociateAwsAccountFromPartnerAccount =+  req+    "DisassociateAwsAccountFromPartnerAccount"+    "fixture/DisassociateAwsAccountFromPartnerAccount.yaml"++requestDisassociateMulticastGroupFromFuotaTask :: DisassociateMulticastGroupFromFuotaTask -> TestTree+requestDisassociateMulticastGroupFromFuotaTask =+  req+    "DisassociateMulticastGroupFromFuotaTask"+    "fixture/DisassociateMulticastGroupFromFuotaTask.yaml"++requestDisassociateWirelessDeviceFromFuotaTask :: DisassociateWirelessDeviceFromFuotaTask -> TestTree+requestDisassociateWirelessDeviceFromFuotaTask =+  req+    "DisassociateWirelessDeviceFromFuotaTask"+    "fixture/DisassociateWirelessDeviceFromFuotaTask.yaml"++requestDisassociateWirelessDeviceFromMulticastGroup :: DisassociateWirelessDeviceFromMulticastGroup -> TestTree+requestDisassociateWirelessDeviceFromMulticastGroup =+  req+    "DisassociateWirelessDeviceFromMulticastGroup"+    "fixture/DisassociateWirelessDeviceFromMulticastGroup.yaml"++requestDisassociateWirelessDeviceFromThing :: DisassociateWirelessDeviceFromThing -> TestTree+requestDisassociateWirelessDeviceFromThing =+  req+    "DisassociateWirelessDeviceFromThing"+    "fixture/DisassociateWirelessDeviceFromThing.yaml"++requestDisassociateWirelessGatewayFromCertificate :: DisassociateWirelessGatewayFromCertificate -> TestTree+requestDisassociateWirelessGatewayFromCertificate =+  req+    "DisassociateWirelessGatewayFromCertificate"+    "fixture/DisassociateWirelessGatewayFromCertificate.yaml"++requestDisassociateWirelessGatewayFromThing :: DisassociateWirelessGatewayFromThing -> TestTree+requestDisassociateWirelessGatewayFromThing =+  req+    "DisassociateWirelessGatewayFromThing"+    "fixture/DisassociateWirelessGatewayFromThing.yaml"++requestGetDestination :: GetDestination -> TestTree+requestGetDestination =+  req+    "GetDestination"+    "fixture/GetDestination.yaml"++requestGetDeviceProfile :: GetDeviceProfile -> TestTree+requestGetDeviceProfile =+  req+    "GetDeviceProfile"+    "fixture/GetDeviceProfile.yaml"++requestGetEventConfigurationByResourceTypes :: GetEventConfigurationByResourceTypes -> TestTree+requestGetEventConfigurationByResourceTypes =+  req+    "GetEventConfigurationByResourceTypes"+    "fixture/GetEventConfigurationByResourceTypes.yaml"++requestGetFuotaTask :: GetFuotaTask -> TestTree+requestGetFuotaTask =+  req+    "GetFuotaTask"+    "fixture/GetFuotaTask.yaml"++requestGetLogLevelsByResourceTypes :: GetLogLevelsByResourceTypes -> TestTree+requestGetLogLevelsByResourceTypes =+  req+    "GetLogLevelsByResourceTypes"+    "fixture/GetLogLevelsByResourceTypes.yaml"++requestGetMulticastGroup :: GetMulticastGroup -> TestTree+requestGetMulticastGroup =+  req+    "GetMulticastGroup"+    "fixture/GetMulticastGroup.yaml"++requestGetMulticastGroupSession :: GetMulticastGroupSession -> TestTree+requestGetMulticastGroupSession =+  req+    "GetMulticastGroupSession"+    "fixture/GetMulticastGroupSession.yaml"++requestGetNetworkAnalyzerConfiguration :: GetNetworkAnalyzerConfiguration -> TestTree+requestGetNetworkAnalyzerConfiguration =+  req+    "GetNetworkAnalyzerConfiguration"+    "fixture/GetNetworkAnalyzerConfiguration.yaml"++requestGetPartnerAccount :: GetPartnerAccount -> TestTree+requestGetPartnerAccount =+  req+    "GetPartnerAccount"+    "fixture/GetPartnerAccount.yaml"++requestGetPositionEstimate :: GetPositionEstimate -> TestTree+requestGetPositionEstimate =+  req+    "GetPositionEstimate"+    "fixture/GetPositionEstimate.yaml"++requestGetResourceEventConfiguration :: GetResourceEventConfiguration -> TestTree+requestGetResourceEventConfiguration =+  req+    "GetResourceEventConfiguration"+    "fixture/GetResourceEventConfiguration.yaml"++requestGetResourceLogLevel :: GetResourceLogLevel -> TestTree+requestGetResourceLogLevel =+  req+    "GetResourceLogLevel"+    "fixture/GetResourceLogLevel.yaml"++requestGetResourcePosition :: GetResourcePosition -> TestTree+requestGetResourcePosition =+  req+    "GetResourcePosition"+    "fixture/GetResourcePosition.yaml"++requestGetServiceEndpoint :: GetServiceEndpoint -> TestTree+requestGetServiceEndpoint =+  req+    "GetServiceEndpoint"+    "fixture/GetServiceEndpoint.yaml"++requestGetServiceProfile :: GetServiceProfile -> TestTree+requestGetServiceProfile =+  req+    "GetServiceProfile"+    "fixture/GetServiceProfile.yaml"++requestGetWirelessDevice :: GetWirelessDevice -> TestTree+requestGetWirelessDevice =+  req+    "GetWirelessDevice"+    "fixture/GetWirelessDevice.yaml"++requestGetWirelessDeviceStatistics :: GetWirelessDeviceStatistics -> TestTree+requestGetWirelessDeviceStatistics =+  req+    "GetWirelessDeviceStatistics"+    "fixture/GetWirelessDeviceStatistics.yaml"++requestGetWirelessGateway :: GetWirelessGateway -> TestTree+requestGetWirelessGateway =+  req+    "GetWirelessGateway"+    "fixture/GetWirelessGateway.yaml"++requestGetWirelessGatewayCertificate :: GetWirelessGatewayCertificate -> TestTree+requestGetWirelessGatewayCertificate =+  req+    "GetWirelessGatewayCertificate"+    "fixture/GetWirelessGatewayCertificate.yaml"++requestGetWirelessGatewayFirmwareInformation :: GetWirelessGatewayFirmwareInformation -> TestTree+requestGetWirelessGatewayFirmwareInformation =+  req+    "GetWirelessGatewayFirmwareInformation"+    "fixture/GetWirelessGatewayFirmwareInformation.yaml"++requestGetWirelessGatewayStatistics :: GetWirelessGatewayStatistics -> TestTree+requestGetWirelessGatewayStatistics =+  req+    "GetWirelessGatewayStatistics"+    "fixture/GetWirelessGatewayStatistics.yaml"++requestGetWirelessGatewayTask :: GetWirelessGatewayTask -> TestTree+requestGetWirelessGatewayTask =+  req+    "GetWirelessGatewayTask"+    "fixture/GetWirelessGatewayTask.yaml"++requestGetWirelessGatewayTaskDefinition :: GetWirelessGatewayTaskDefinition -> TestTree+requestGetWirelessGatewayTaskDefinition =+  req+    "GetWirelessGatewayTaskDefinition"+    "fixture/GetWirelessGatewayTaskDefinition.yaml"++requestListDestinations :: ListDestinations -> TestTree+requestListDestinations =+  req+    "ListDestinations"+    "fixture/ListDestinations.yaml"++requestListDeviceProfiles :: ListDeviceProfiles -> TestTree+requestListDeviceProfiles =+  req+    "ListDeviceProfiles"+    "fixture/ListDeviceProfiles.yaml"++requestListEventConfigurations :: ListEventConfigurations -> TestTree+requestListEventConfigurations =+  req+    "ListEventConfigurations"+    "fixture/ListEventConfigurations.yaml"++requestListFuotaTasks :: ListFuotaTasks -> TestTree+requestListFuotaTasks =+  req+    "ListFuotaTasks"+    "fixture/ListFuotaTasks.yaml"++requestListMulticastGroups :: ListMulticastGroups -> TestTree+requestListMulticastGroups =+  req+    "ListMulticastGroups"+    "fixture/ListMulticastGroups.yaml"++requestListMulticastGroupsByFuotaTask :: ListMulticastGroupsByFuotaTask -> TestTree+requestListMulticastGroupsByFuotaTask =+  req+    "ListMulticastGroupsByFuotaTask"+    "fixture/ListMulticastGroupsByFuotaTask.yaml"++requestListNetworkAnalyzerConfigurations :: ListNetworkAnalyzerConfigurations -> TestTree+requestListNetworkAnalyzerConfigurations =+  req+    "ListNetworkAnalyzerConfigurations"+    "fixture/ListNetworkAnalyzerConfigurations.yaml"++requestListPartnerAccounts :: ListPartnerAccounts -> TestTree+requestListPartnerAccounts =+  req+    "ListPartnerAccounts"+    "fixture/ListPartnerAccounts.yaml"++requestListQueuedMessages :: ListQueuedMessages -> TestTree+requestListQueuedMessages =+  req+    "ListQueuedMessages"+    "fixture/ListQueuedMessages.yaml"++requestListServiceProfiles :: ListServiceProfiles -> TestTree+requestListServiceProfiles =+  req+    "ListServiceProfiles"+    "fixture/ListServiceProfiles.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListWirelessDevices :: ListWirelessDevices -> TestTree+requestListWirelessDevices =+  req+    "ListWirelessDevices"+    "fixture/ListWirelessDevices.yaml"++requestListWirelessGatewayTaskDefinitions :: ListWirelessGatewayTaskDefinitions -> TestTree+requestListWirelessGatewayTaskDefinitions =+  req+    "ListWirelessGatewayTaskDefinitions"+    "fixture/ListWirelessGatewayTaskDefinitions.yaml"++requestListWirelessGateways :: ListWirelessGateways -> TestTree+requestListWirelessGateways =+  req+    "ListWirelessGateways"+    "fixture/ListWirelessGateways.yaml"++requestPutResourceLogLevel :: PutResourceLogLevel -> TestTree+requestPutResourceLogLevel =+  req+    "PutResourceLogLevel"+    "fixture/PutResourceLogLevel.yaml"++requestResetAllResourceLogLevels :: ResetAllResourceLogLevels -> TestTree+requestResetAllResourceLogLevels =+  req+    "ResetAllResourceLogLevels"+    "fixture/ResetAllResourceLogLevels.yaml"++requestResetResourceLogLevel :: ResetResourceLogLevel -> TestTree+requestResetResourceLogLevel =+  req+    "ResetResourceLogLevel"+    "fixture/ResetResourceLogLevel.yaml"++requestSendDataToMulticastGroup :: SendDataToMulticastGroup -> TestTree+requestSendDataToMulticastGroup =+  req+    "SendDataToMulticastGroup"+    "fixture/SendDataToMulticastGroup.yaml"++requestSendDataToWirelessDevice :: SendDataToWirelessDevice -> TestTree+requestSendDataToWirelessDevice =+  req+    "SendDataToWirelessDevice"+    "fixture/SendDataToWirelessDevice.yaml"++requestStartBulkAssociateWirelessDeviceWithMulticastGroup :: StartBulkAssociateWirelessDeviceWithMulticastGroup -> TestTree+requestStartBulkAssociateWirelessDeviceWithMulticastGroup =+  req+    "StartBulkAssociateWirelessDeviceWithMulticastGroup"+    "fixture/StartBulkAssociateWirelessDeviceWithMulticastGroup.yaml"++requestStartBulkDisassociateWirelessDeviceFromMulticastGroup :: StartBulkDisassociateWirelessDeviceFromMulticastGroup -> TestTree+requestStartBulkDisassociateWirelessDeviceFromMulticastGroup =+  req+    "StartBulkDisassociateWirelessDeviceFromMulticastGroup"+    "fixture/StartBulkDisassociateWirelessDeviceFromMulticastGroup.yaml"++requestStartFuotaTask :: StartFuotaTask -> TestTree+requestStartFuotaTask =+  req+    "StartFuotaTask"+    "fixture/StartFuotaTask.yaml"++requestStartMulticastGroupSession :: StartMulticastGroupSession -> TestTree+requestStartMulticastGroupSession =+  req+    "StartMulticastGroupSession"+    "fixture/StartMulticastGroupSession.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestTestWirelessDevice :: TestWirelessDevice -> TestTree+requestTestWirelessDevice =+  req+    "TestWirelessDevice"+    "fixture/TestWirelessDevice.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateDestination :: UpdateDestination -> TestTree+requestUpdateDestination =+  req+    "UpdateDestination"+    "fixture/UpdateDestination.yaml"++requestUpdateEventConfigurationByResourceTypes :: UpdateEventConfigurationByResourceTypes -> TestTree+requestUpdateEventConfigurationByResourceTypes =+  req+    "UpdateEventConfigurationByResourceTypes"+    "fixture/UpdateEventConfigurationByResourceTypes.yaml"++requestUpdateFuotaTask :: UpdateFuotaTask -> TestTree+requestUpdateFuotaTask =+  req+    "UpdateFuotaTask"+    "fixture/UpdateFuotaTask.yaml"++requestUpdateLogLevelsByResourceTypes :: UpdateLogLevelsByResourceTypes -> TestTree+requestUpdateLogLevelsByResourceTypes =+  req+    "UpdateLogLevelsByResourceTypes"+    "fixture/UpdateLogLevelsByResourceTypes.yaml"++requestUpdateMulticastGroup :: UpdateMulticastGroup -> TestTree+requestUpdateMulticastGroup =+  req+    "UpdateMulticastGroup"+    "fixture/UpdateMulticastGroup.yaml"++requestUpdateNetworkAnalyzerConfiguration :: UpdateNetworkAnalyzerConfiguration -> TestTree+requestUpdateNetworkAnalyzerConfiguration =+  req+    "UpdateNetworkAnalyzerConfiguration"+    "fixture/UpdateNetworkAnalyzerConfiguration.yaml"++requestUpdatePartnerAccount :: UpdatePartnerAccount -> TestTree+requestUpdatePartnerAccount =+  req+    "UpdatePartnerAccount"+    "fixture/UpdatePartnerAccount.yaml"++requestUpdateResourceEventConfiguration :: UpdateResourceEventConfiguration -> TestTree+requestUpdateResourceEventConfiguration =+  req+    "UpdateResourceEventConfiguration"+    "fixture/UpdateResourceEventConfiguration.yaml"++requestUpdateResourcePosition :: UpdateResourcePosition -> TestTree+requestUpdateResourcePosition =+  req+    "UpdateResourcePosition"+    "fixture/UpdateResourcePosition.yaml"++requestUpdateWirelessDevice :: UpdateWirelessDevice -> TestTree+requestUpdateWirelessDevice =+  req+    "UpdateWirelessDevice"+    "fixture/UpdateWirelessDevice.yaml"++requestUpdateWirelessGateway :: UpdateWirelessGateway -> TestTree+requestUpdateWirelessGateway =+  req+    "UpdateWirelessGateway"+    "fixture/UpdateWirelessGateway.yaml"++-- Responses++responseAssociateAwsAccountWithPartnerAccount :: AssociateAwsAccountWithPartnerAccountResponse -> TestTree+responseAssociateAwsAccountWithPartnerAccount =+  res+    "AssociateAwsAccountWithPartnerAccountResponse"+    "fixture/AssociateAwsAccountWithPartnerAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateAwsAccountWithPartnerAccount)++responseAssociateMulticastGroupWithFuotaTask :: AssociateMulticastGroupWithFuotaTaskResponse -> TestTree+responseAssociateMulticastGroupWithFuotaTask =+  res+    "AssociateMulticastGroupWithFuotaTaskResponse"+    "fixture/AssociateMulticastGroupWithFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateMulticastGroupWithFuotaTask)++responseAssociateWirelessDeviceWithFuotaTask :: AssociateWirelessDeviceWithFuotaTaskResponse -> TestTree+responseAssociateWirelessDeviceWithFuotaTask =+  res+    "AssociateWirelessDeviceWithFuotaTaskResponse"+    "fixture/AssociateWirelessDeviceWithFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateWirelessDeviceWithFuotaTask)++responseAssociateWirelessDeviceWithMulticastGroup :: AssociateWirelessDeviceWithMulticastGroupResponse -> TestTree+responseAssociateWirelessDeviceWithMulticastGroup =+  res+    "AssociateWirelessDeviceWithMulticastGroupResponse"+    "fixture/AssociateWirelessDeviceWithMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateWirelessDeviceWithMulticastGroup)++responseAssociateWirelessDeviceWithThing :: AssociateWirelessDeviceWithThingResponse -> TestTree+responseAssociateWirelessDeviceWithThing =+  res+    "AssociateWirelessDeviceWithThingResponse"+    "fixture/AssociateWirelessDeviceWithThingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateWirelessDeviceWithThing)++responseAssociateWirelessGatewayWithCertificate :: AssociateWirelessGatewayWithCertificateResponse -> TestTree+responseAssociateWirelessGatewayWithCertificate =+  res+    "AssociateWirelessGatewayWithCertificateResponse"+    "fixture/AssociateWirelessGatewayWithCertificateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateWirelessGatewayWithCertificate)++responseAssociateWirelessGatewayWithThing :: AssociateWirelessGatewayWithThingResponse -> TestTree+responseAssociateWirelessGatewayWithThing =+  res+    "AssociateWirelessGatewayWithThingResponse"+    "fixture/AssociateWirelessGatewayWithThingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateWirelessGatewayWithThing)++responseCancelMulticastGroupSession :: CancelMulticastGroupSessionResponse -> TestTree+responseCancelMulticastGroupSession =+  res+    "CancelMulticastGroupSessionResponse"+    "fixture/CancelMulticastGroupSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CancelMulticastGroupSession)++responseCreateDestination :: CreateDestinationResponse -> TestTree+responseCreateDestination =+  res+    "CreateDestinationResponse"+    "fixture/CreateDestinationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDestination)++responseCreateDeviceProfile :: CreateDeviceProfileResponse -> TestTree+responseCreateDeviceProfile =+  res+    "CreateDeviceProfileResponse"+    "fixture/CreateDeviceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDeviceProfile)++responseCreateFuotaTask :: CreateFuotaTaskResponse -> TestTree+responseCreateFuotaTask =+  res+    "CreateFuotaTaskResponse"+    "fixture/CreateFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateFuotaTask)++responseCreateMulticastGroup :: CreateMulticastGroupResponse -> TestTree+responseCreateMulticastGroup =+  res+    "CreateMulticastGroupResponse"+    "fixture/CreateMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMulticastGroup)++responseCreateNetworkAnalyzerConfiguration :: CreateNetworkAnalyzerConfigurationResponse -> TestTree+responseCreateNetworkAnalyzerConfiguration =+  res+    "CreateNetworkAnalyzerConfigurationResponse"+    "fixture/CreateNetworkAnalyzerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNetworkAnalyzerConfiguration)++responseCreateServiceProfile :: CreateServiceProfileResponse -> TestTree+responseCreateServiceProfile =+  res+    "CreateServiceProfileResponse"+    "fixture/CreateServiceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateServiceProfile)++responseCreateWirelessDevice :: CreateWirelessDeviceResponse -> TestTree+responseCreateWirelessDevice =+  res+    "CreateWirelessDeviceResponse"+    "fixture/CreateWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWirelessDevice)++responseCreateWirelessGateway :: CreateWirelessGatewayResponse -> TestTree+responseCreateWirelessGateway =+  res+    "CreateWirelessGatewayResponse"+    "fixture/CreateWirelessGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWirelessGateway)++responseCreateWirelessGatewayTask :: CreateWirelessGatewayTaskResponse -> TestTree+responseCreateWirelessGatewayTask =+  res+    "CreateWirelessGatewayTaskResponse"+    "fixture/CreateWirelessGatewayTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWirelessGatewayTask)++responseCreateWirelessGatewayTaskDefinition :: CreateWirelessGatewayTaskDefinitionResponse -> TestTree+responseCreateWirelessGatewayTaskDefinition =+  res+    "CreateWirelessGatewayTaskDefinitionResponse"+    "fixture/CreateWirelessGatewayTaskDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWirelessGatewayTaskDefinition)++responseDeleteDestination :: DeleteDestinationResponse -> TestTree+responseDeleteDestination =+  res+    "DeleteDestinationResponse"+    "fixture/DeleteDestinationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDestination)++responseDeleteDeviceProfile :: DeleteDeviceProfileResponse -> TestTree+responseDeleteDeviceProfile =+  res+    "DeleteDeviceProfileResponse"+    "fixture/DeleteDeviceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDeviceProfile)++responseDeleteFuotaTask :: DeleteFuotaTaskResponse -> TestTree+responseDeleteFuotaTask =+  res+    "DeleteFuotaTaskResponse"+    "fixture/DeleteFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteFuotaTask)++responseDeleteMulticastGroup :: DeleteMulticastGroupResponse -> TestTree+responseDeleteMulticastGroup =+  res+    "DeleteMulticastGroupResponse"+    "fixture/DeleteMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMulticastGroup)++responseDeleteNetworkAnalyzerConfiguration :: DeleteNetworkAnalyzerConfigurationResponse -> TestTree+responseDeleteNetworkAnalyzerConfiguration =+  res+    "DeleteNetworkAnalyzerConfigurationResponse"+    "fixture/DeleteNetworkAnalyzerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNetworkAnalyzerConfiguration)++responseDeleteQueuedMessages :: DeleteQueuedMessagesResponse -> TestTree+responseDeleteQueuedMessages =+  res+    "DeleteQueuedMessagesResponse"+    "fixture/DeleteQueuedMessagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteQueuedMessages)++responseDeleteServiceProfile :: DeleteServiceProfileResponse -> TestTree+responseDeleteServiceProfile =+  res+    "DeleteServiceProfileResponse"+    "fixture/DeleteServiceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteServiceProfile)++responseDeleteWirelessDevice :: DeleteWirelessDeviceResponse -> TestTree+responseDeleteWirelessDevice =+  res+    "DeleteWirelessDeviceResponse"+    "fixture/DeleteWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWirelessDevice)++responseDeleteWirelessGateway :: DeleteWirelessGatewayResponse -> TestTree+responseDeleteWirelessGateway =+  res+    "DeleteWirelessGatewayResponse"+    "fixture/DeleteWirelessGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWirelessGateway)++responseDeleteWirelessGatewayTask :: DeleteWirelessGatewayTaskResponse -> TestTree+responseDeleteWirelessGatewayTask =+  res+    "DeleteWirelessGatewayTaskResponse"+    "fixture/DeleteWirelessGatewayTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWirelessGatewayTask)++responseDeleteWirelessGatewayTaskDefinition :: DeleteWirelessGatewayTaskDefinitionResponse -> TestTree+responseDeleteWirelessGatewayTaskDefinition =+  res+    "DeleteWirelessGatewayTaskDefinitionResponse"+    "fixture/DeleteWirelessGatewayTaskDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWirelessGatewayTaskDefinition)++responseDisassociateAwsAccountFromPartnerAccount :: DisassociateAwsAccountFromPartnerAccountResponse -> TestTree+responseDisassociateAwsAccountFromPartnerAccount =+  res+    "DisassociateAwsAccountFromPartnerAccountResponse"+    "fixture/DisassociateAwsAccountFromPartnerAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateAwsAccountFromPartnerAccount)++responseDisassociateMulticastGroupFromFuotaTask :: DisassociateMulticastGroupFromFuotaTaskResponse -> TestTree+responseDisassociateMulticastGroupFromFuotaTask =+  res+    "DisassociateMulticastGroupFromFuotaTaskResponse"+    "fixture/DisassociateMulticastGroupFromFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateMulticastGroupFromFuotaTask)++responseDisassociateWirelessDeviceFromFuotaTask :: DisassociateWirelessDeviceFromFuotaTaskResponse -> TestTree+responseDisassociateWirelessDeviceFromFuotaTask =+  res+    "DisassociateWirelessDeviceFromFuotaTaskResponse"+    "fixture/DisassociateWirelessDeviceFromFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateWirelessDeviceFromFuotaTask)++responseDisassociateWirelessDeviceFromMulticastGroup :: DisassociateWirelessDeviceFromMulticastGroupResponse -> TestTree+responseDisassociateWirelessDeviceFromMulticastGroup =+  res+    "DisassociateWirelessDeviceFromMulticastGroupResponse"+    "fixture/DisassociateWirelessDeviceFromMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateWirelessDeviceFromMulticastGroup)++responseDisassociateWirelessDeviceFromThing :: DisassociateWirelessDeviceFromThingResponse -> TestTree+responseDisassociateWirelessDeviceFromThing =+  res+    "DisassociateWirelessDeviceFromThingResponse"+    "fixture/DisassociateWirelessDeviceFromThingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateWirelessDeviceFromThing)++responseDisassociateWirelessGatewayFromCertificate :: DisassociateWirelessGatewayFromCertificateResponse -> TestTree+responseDisassociateWirelessGatewayFromCertificate =+  res+    "DisassociateWirelessGatewayFromCertificateResponse"+    "fixture/DisassociateWirelessGatewayFromCertificateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateWirelessGatewayFromCertificate)++responseDisassociateWirelessGatewayFromThing :: DisassociateWirelessGatewayFromThingResponse -> TestTree+responseDisassociateWirelessGatewayFromThing =+  res+    "DisassociateWirelessGatewayFromThingResponse"+    "fixture/DisassociateWirelessGatewayFromThingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateWirelessGatewayFromThing)++responseGetDestination :: GetDestinationResponse -> TestTree+responseGetDestination =+  res+    "GetDestinationResponse"+    "fixture/GetDestinationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDestination)++responseGetDeviceProfile :: GetDeviceProfileResponse -> TestTree+responseGetDeviceProfile =+  res+    "GetDeviceProfileResponse"+    "fixture/GetDeviceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDeviceProfile)++responseGetEventConfigurationByResourceTypes :: GetEventConfigurationByResourceTypesResponse -> TestTree+responseGetEventConfigurationByResourceTypes =+  res+    "GetEventConfigurationByResourceTypesResponse"+    "fixture/GetEventConfigurationByResourceTypesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEventConfigurationByResourceTypes)++responseGetFuotaTask :: GetFuotaTaskResponse -> TestTree+responseGetFuotaTask =+  res+    "GetFuotaTaskResponse"+    "fixture/GetFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetFuotaTask)++responseGetLogLevelsByResourceTypes :: GetLogLevelsByResourceTypesResponse -> TestTree+responseGetLogLevelsByResourceTypes =+  res+    "GetLogLevelsByResourceTypesResponse"+    "fixture/GetLogLevelsByResourceTypesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLogLevelsByResourceTypes)++responseGetMulticastGroup :: GetMulticastGroupResponse -> TestTree+responseGetMulticastGroup =+  res+    "GetMulticastGroupResponse"+    "fixture/GetMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMulticastGroup)++responseGetMulticastGroupSession :: GetMulticastGroupSessionResponse -> TestTree+responseGetMulticastGroupSession =+  res+    "GetMulticastGroupSessionResponse"+    "fixture/GetMulticastGroupSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMulticastGroupSession)++responseGetNetworkAnalyzerConfiguration :: GetNetworkAnalyzerConfigurationResponse -> TestTree+responseGetNetworkAnalyzerConfiguration =+  res+    "GetNetworkAnalyzerConfigurationResponse"+    "fixture/GetNetworkAnalyzerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkAnalyzerConfiguration)++responseGetPartnerAccount :: GetPartnerAccountResponse -> TestTree+responseGetPartnerAccount =+  res+    "GetPartnerAccountResponse"+    "fixture/GetPartnerAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPartnerAccount)++responseGetPositionEstimate :: GetPositionEstimateResponse -> TestTree+responseGetPositionEstimate =+  res+    "GetPositionEstimateResponse"+    "fixture/GetPositionEstimateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPositionEstimate)++responseGetResourceEventConfiguration :: GetResourceEventConfigurationResponse -> TestTree+responseGetResourceEventConfiguration =+  res+    "GetResourceEventConfigurationResponse"+    "fixture/GetResourceEventConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourceEventConfiguration)++responseGetResourceLogLevel :: GetResourceLogLevelResponse -> TestTree+responseGetResourceLogLevel =+  res+    "GetResourceLogLevelResponse"+    "fixture/GetResourceLogLevelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourceLogLevel)++responseGetResourcePosition :: GetResourcePositionResponse -> TestTree+responseGetResourcePosition =+  res+    "GetResourcePositionResponse"+    "fixture/GetResourcePositionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourcePosition)++responseGetServiceEndpoint :: GetServiceEndpointResponse -> TestTree+responseGetServiceEndpoint =+  res+    "GetServiceEndpointResponse"+    "fixture/GetServiceEndpointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetServiceEndpoint)++responseGetServiceProfile :: GetServiceProfileResponse -> TestTree+responseGetServiceProfile =+  res+    "GetServiceProfileResponse"+    "fixture/GetServiceProfileResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetServiceProfile)++responseGetWirelessDevice :: GetWirelessDeviceResponse -> TestTree+responseGetWirelessDevice =+  res+    "GetWirelessDeviceResponse"+    "fixture/GetWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessDevice)++responseGetWirelessDeviceStatistics :: GetWirelessDeviceStatisticsResponse -> TestTree+responseGetWirelessDeviceStatistics =+  res+    "GetWirelessDeviceStatisticsResponse"+    "fixture/GetWirelessDeviceStatisticsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessDeviceStatistics)++responseGetWirelessGateway :: GetWirelessGatewayResponse -> TestTree+responseGetWirelessGateway =+  res+    "GetWirelessGatewayResponse"+    "fixture/GetWirelessGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGateway)++responseGetWirelessGatewayCertificate :: GetWirelessGatewayCertificateResponse -> TestTree+responseGetWirelessGatewayCertificate =+  res+    "GetWirelessGatewayCertificateResponse"+    "fixture/GetWirelessGatewayCertificateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGatewayCertificate)++responseGetWirelessGatewayFirmwareInformation :: GetWirelessGatewayFirmwareInformationResponse -> TestTree+responseGetWirelessGatewayFirmwareInformation =+  res+    "GetWirelessGatewayFirmwareInformationResponse"+    "fixture/GetWirelessGatewayFirmwareInformationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGatewayFirmwareInformation)++responseGetWirelessGatewayStatistics :: GetWirelessGatewayStatisticsResponse -> TestTree+responseGetWirelessGatewayStatistics =+  res+    "GetWirelessGatewayStatisticsResponse"+    "fixture/GetWirelessGatewayStatisticsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGatewayStatistics)++responseGetWirelessGatewayTask :: GetWirelessGatewayTaskResponse -> TestTree+responseGetWirelessGatewayTask =+  res+    "GetWirelessGatewayTaskResponse"+    "fixture/GetWirelessGatewayTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGatewayTask)++responseGetWirelessGatewayTaskDefinition :: GetWirelessGatewayTaskDefinitionResponse -> TestTree+responseGetWirelessGatewayTaskDefinition =+  res+    "GetWirelessGatewayTaskDefinitionResponse"+    "fixture/GetWirelessGatewayTaskDefinitionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWirelessGatewayTaskDefinition)++responseListDestinations :: ListDestinationsResponse -> TestTree+responseListDestinations =+  res+    "ListDestinationsResponse"+    "fixture/ListDestinationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDestinations)++responseListDeviceProfiles :: ListDeviceProfilesResponse -> TestTree+responseListDeviceProfiles =+  res+    "ListDeviceProfilesResponse"+    "fixture/ListDeviceProfilesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDeviceProfiles)++responseListEventConfigurations :: ListEventConfigurationsResponse -> TestTree+responseListEventConfigurations =+  res+    "ListEventConfigurationsResponse"+    "fixture/ListEventConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEventConfigurations)++responseListFuotaTasks :: ListFuotaTasksResponse -> TestTree+responseListFuotaTasks =+  res+    "ListFuotaTasksResponse"+    "fixture/ListFuotaTasksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListFuotaTasks)++responseListMulticastGroups :: ListMulticastGroupsResponse -> TestTree+responseListMulticastGroups =+  res+    "ListMulticastGroupsResponse"+    "fixture/ListMulticastGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMulticastGroups)++responseListMulticastGroupsByFuotaTask :: ListMulticastGroupsByFuotaTaskResponse -> TestTree+responseListMulticastGroupsByFuotaTask =+  res+    "ListMulticastGroupsByFuotaTaskResponse"+    "fixture/ListMulticastGroupsByFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMulticastGroupsByFuotaTask)++responseListNetworkAnalyzerConfigurations :: ListNetworkAnalyzerConfigurationsResponse -> TestTree+responseListNetworkAnalyzerConfigurations =+  res+    "ListNetworkAnalyzerConfigurationsResponse"+    "fixture/ListNetworkAnalyzerConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNetworkAnalyzerConfigurations)++responseListPartnerAccounts :: ListPartnerAccountsResponse -> TestTree+responseListPartnerAccounts =+  res+    "ListPartnerAccountsResponse"+    "fixture/ListPartnerAccountsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPartnerAccounts)++responseListQueuedMessages :: ListQueuedMessagesResponse -> TestTree+responseListQueuedMessages =+  res+    "ListQueuedMessagesResponse"+    "fixture/ListQueuedMessagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListQueuedMessages)++responseListServiceProfiles :: ListServiceProfilesResponse -> TestTree+responseListServiceProfiles =+  res+    "ListServiceProfilesResponse"+    "fixture/ListServiceProfilesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListServiceProfiles)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListWirelessDevices :: ListWirelessDevicesResponse -> TestTree+responseListWirelessDevices =+  res+    "ListWirelessDevicesResponse"+    "fixture/ListWirelessDevicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWirelessDevices)++responseListWirelessGatewayTaskDefinitions :: ListWirelessGatewayTaskDefinitionsResponse -> TestTree+responseListWirelessGatewayTaskDefinitions =+  res+    "ListWirelessGatewayTaskDefinitionsResponse"+    "fixture/ListWirelessGatewayTaskDefinitionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWirelessGatewayTaskDefinitions)++responseListWirelessGateways :: ListWirelessGatewaysResponse -> TestTree+responseListWirelessGateways =+  res+    "ListWirelessGatewaysResponse"+    "fixture/ListWirelessGatewaysResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWirelessGateways)++responsePutResourceLogLevel :: PutResourceLogLevelResponse -> TestTree+responsePutResourceLogLevel =+  res+    "PutResourceLogLevelResponse"+    "fixture/PutResourceLogLevelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutResourceLogLevel)++responseResetAllResourceLogLevels :: ResetAllResourceLogLevelsResponse -> TestTree+responseResetAllResourceLogLevels =+  res+    "ResetAllResourceLogLevelsResponse"+    "fixture/ResetAllResourceLogLevelsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResetAllResourceLogLevels)++responseResetResourceLogLevel :: ResetResourceLogLevelResponse -> TestTree+responseResetResourceLogLevel =+  res+    "ResetResourceLogLevelResponse"+    "fixture/ResetResourceLogLevelResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ResetResourceLogLevel)++responseSendDataToMulticastGroup :: SendDataToMulticastGroupResponse -> TestTree+responseSendDataToMulticastGroup =+  res+    "SendDataToMulticastGroupResponse"+    "fixture/SendDataToMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SendDataToMulticastGroup)++responseSendDataToWirelessDevice :: SendDataToWirelessDeviceResponse -> TestTree+responseSendDataToWirelessDevice =+  res+    "SendDataToWirelessDeviceResponse"+    "fixture/SendDataToWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SendDataToWirelessDevice)++responseStartBulkAssociateWirelessDeviceWithMulticastGroup :: StartBulkAssociateWirelessDeviceWithMulticastGroupResponse -> TestTree+responseStartBulkAssociateWirelessDeviceWithMulticastGroup =+  res+    "StartBulkAssociateWirelessDeviceWithMulticastGroupResponse"+    "fixture/StartBulkAssociateWirelessDeviceWithMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartBulkAssociateWirelessDeviceWithMulticastGroup)++responseStartBulkDisassociateWirelessDeviceFromMulticastGroup :: StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse -> TestTree+responseStartBulkDisassociateWirelessDeviceFromMulticastGroup =+  res+    "StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse"+    "fixture/StartBulkDisassociateWirelessDeviceFromMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartBulkDisassociateWirelessDeviceFromMulticastGroup)++responseStartFuotaTask :: StartFuotaTaskResponse -> TestTree+responseStartFuotaTask =+  res+    "StartFuotaTaskResponse"+    "fixture/StartFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartFuotaTask)++responseStartMulticastGroupSession :: StartMulticastGroupSessionResponse -> TestTree+responseStartMulticastGroupSession =+  res+    "StartMulticastGroupSessionResponse"+    "fixture/StartMulticastGroupSessionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartMulticastGroupSession)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseTestWirelessDevice :: TestWirelessDeviceResponse -> TestTree+responseTestWirelessDevice =+  res+    "TestWirelessDeviceResponse"+    "fixture/TestWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TestWirelessDevice)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDestination :: UpdateDestinationResponse -> TestTree+responseUpdateDestination =+  res+    "UpdateDestinationResponse"+    "fixture/UpdateDestinationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDestination)++responseUpdateEventConfigurationByResourceTypes :: UpdateEventConfigurationByResourceTypesResponse -> TestTree+responseUpdateEventConfigurationByResourceTypes =+  res+    "UpdateEventConfigurationByResourceTypesResponse"+    "fixture/UpdateEventConfigurationByResourceTypesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateEventConfigurationByResourceTypes)++responseUpdateFuotaTask :: UpdateFuotaTaskResponse -> TestTree+responseUpdateFuotaTask =+  res+    "UpdateFuotaTaskResponse"+    "fixture/UpdateFuotaTaskResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateFuotaTask)++responseUpdateLogLevelsByResourceTypes :: UpdateLogLevelsByResourceTypesResponse -> TestTree+responseUpdateLogLevelsByResourceTypes =+  res+    "UpdateLogLevelsByResourceTypesResponse"+    "fixture/UpdateLogLevelsByResourceTypesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLogLevelsByResourceTypes)++responseUpdateMulticastGroup :: UpdateMulticastGroupResponse -> TestTree+responseUpdateMulticastGroup =+  res+    "UpdateMulticastGroupResponse"+    "fixture/UpdateMulticastGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateMulticastGroup)++responseUpdateNetworkAnalyzerConfiguration :: UpdateNetworkAnalyzerConfigurationResponse -> TestTree+responseUpdateNetworkAnalyzerConfiguration =+  res+    "UpdateNetworkAnalyzerConfigurationResponse"+    "fixture/UpdateNetworkAnalyzerConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateNetworkAnalyzerConfiguration)++responseUpdatePartnerAccount :: UpdatePartnerAccountResponse -> TestTree+responseUpdatePartnerAccount =+  res+    "UpdatePartnerAccountResponse"+    "fixture/UpdatePartnerAccountResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdatePartnerAccount)++responseUpdateResourceEventConfiguration :: UpdateResourceEventConfigurationResponse -> TestTree+responseUpdateResourceEventConfiguration =+  res+    "UpdateResourceEventConfigurationResponse"+    "fixture/UpdateResourceEventConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateResourceEventConfiguration)++responseUpdateResourcePosition :: UpdateResourcePositionResponse -> TestTree+responseUpdateResourcePosition =+  res+    "UpdateResourcePositionResponse"+    "fixture/UpdateResourcePositionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateResourcePosition)++responseUpdateWirelessDevice :: UpdateWirelessDeviceResponse -> TestTree+responseUpdateWirelessDevice =+  res+    "UpdateWirelessDeviceResponse"+    "fixture/UpdateWirelessDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWirelessDevice)++responseUpdateWirelessGateway :: UpdateWirelessGatewayResponse -> TestTree+responseUpdateWirelessGateway =+  res+    "UpdateWirelessGatewayResponse"+    "fixture/UpdateWirelessGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWirelessGateway)
+ test/Test/Amazonka/IoTWireless.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.IoTWireless+-- Copyright   : (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.IoTWireless+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/IoTWireless/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.IoTWireless.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.IoTWireless.Internal where