packages feed

amazonka-panorama (empty) → 2.0

raw patch · 177 files changed

+17906/−0 lines, 177 filesdep +amazonka-coredep +amazonka-panoramadep +amazonka-test

Dependencies added: amazonka-core, amazonka-panorama, 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 Panorama SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-07-24@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-panorama)+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.Panorama](http://hackage.haskell.org/package/amazonka-panorama/docs/Amazonka-Panorama.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-panorama` 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-panorama.cabal view
@@ -0,0 +1,180 @@+cabal-version:      2.2+name:               amazonka-panorama+version:            2.0+synopsis:           Amazon Panorama 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 @2019-07-24@ 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.Panorama.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.Panorama" 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-panorama++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.Panorama+    Amazonka.Panorama.CreateApplicationInstance+    Amazonka.Panorama.CreateJobForDevices+    Amazonka.Panorama.CreateNodeFromTemplateJob+    Amazonka.Panorama.CreatePackage+    Amazonka.Panorama.CreatePackageImportJob+    Amazonka.Panorama.DeleteDevice+    Amazonka.Panorama.DeletePackage+    Amazonka.Panorama.DeregisterPackageVersion+    Amazonka.Panorama.DescribeApplicationInstance+    Amazonka.Panorama.DescribeApplicationInstanceDetails+    Amazonka.Panorama.DescribeDevice+    Amazonka.Panorama.DescribeDeviceJob+    Amazonka.Panorama.DescribeNode+    Amazonka.Panorama.DescribeNodeFromTemplateJob+    Amazonka.Panorama.DescribePackage+    Amazonka.Panorama.DescribePackageImportJob+    Amazonka.Panorama.DescribePackageVersion+    Amazonka.Panorama.Lens+    Amazonka.Panorama.ListApplicationInstanceDependencies+    Amazonka.Panorama.ListApplicationInstanceNodeInstances+    Amazonka.Panorama.ListApplicationInstances+    Amazonka.Panorama.ListDevices+    Amazonka.Panorama.ListDevicesJobs+    Amazonka.Panorama.ListNodeFromTemplateJobs+    Amazonka.Panorama.ListNodes+    Amazonka.Panorama.ListPackageImportJobs+    Amazonka.Panorama.ListPackages+    Amazonka.Panorama.ListTagsForResource+    Amazonka.Panorama.ProvisionDevice+    Amazonka.Panorama.RegisterPackageVersion+    Amazonka.Panorama.RemoveApplicationInstance+    Amazonka.Panorama.SignalApplicationInstanceNodeInstances+    Amazonka.Panorama.TagResource+    Amazonka.Panorama.Types+    Amazonka.Panorama.Types.AlternateSoftwareMetadata+    Amazonka.Panorama.Types.ApplicationInstance+    Amazonka.Panorama.Types.ApplicationInstanceHealthStatus+    Amazonka.Panorama.Types.ApplicationInstanceStatus+    Amazonka.Panorama.Types.ConnectionType+    Amazonka.Panorama.Types.DesiredState+    Amazonka.Panorama.Types.Device+    Amazonka.Panorama.Types.DeviceAggregatedStatus+    Amazonka.Panorama.Types.DeviceBrand+    Amazonka.Panorama.Types.DeviceConnectionStatus+    Amazonka.Panorama.Types.DeviceJob+    Amazonka.Panorama.Types.DeviceJobConfig+    Amazonka.Panorama.Types.DeviceReportedStatus+    Amazonka.Panorama.Types.DeviceStatus+    Amazonka.Panorama.Types.DeviceType+    Amazonka.Panorama.Types.EthernetPayload+    Amazonka.Panorama.Types.EthernetStatus+    Amazonka.Panorama.Types.Job+    Amazonka.Panorama.Types.JobResourceTags+    Amazonka.Panorama.Types.JobResourceType+    Amazonka.Panorama.Types.JobType+    Amazonka.Panorama.Types.LatestDeviceJob+    Amazonka.Panorama.Types.ListDevicesSortBy+    Amazonka.Panorama.Types.ManifestOverridesPayload+    Amazonka.Panorama.Types.ManifestPayload+    Amazonka.Panorama.Types.NetworkConnectionStatus+    Amazonka.Panorama.Types.NetworkPayload+    Amazonka.Panorama.Types.NetworkStatus+    Amazonka.Panorama.Types.Node+    Amazonka.Panorama.Types.NodeCategory+    Amazonka.Panorama.Types.NodeFromTemplateJob+    Amazonka.Panorama.Types.NodeFromTemplateJobStatus+    Amazonka.Panorama.Types.NodeInputPort+    Amazonka.Panorama.Types.NodeInstance+    Amazonka.Panorama.Types.NodeInstanceStatus+    Amazonka.Panorama.Types.NodeInterface+    Amazonka.Panorama.Types.NodeOutputPort+    Amazonka.Panorama.Types.NodeSignal+    Amazonka.Panorama.Types.NodeSignalValue+    Amazonka.Panorama.Types.NtpPayload+    Amazonka.Panorama.Types.NtpStatus+    Amazonka.Panorama.Types.OTAJobConfig+    Amazonka.Panorama.Types.OutPutS3Location+    Amazonka.Panorama.Types.PackageImportJob+    Amazonka.Panorama.Types.PackageImportJobInputConfig+    Amazonka.Panorama.Types.PackageImportJobOutput+    Amazonka.Panorama.Types.PackageImportJobOutputConfig+    Amazonka.Panorama.Types.PackageImportJobStatus+    Amazonka.Panorama.Types.PackageImportJobType+    Amazonka.Panorama.Types.PackageListItem+    Amazonka.Panorama.Types.PackageObject+    Amazonka.Panorama.Types.PackageVersionInputConfig+    Amazonka.Panorama.Types.PackageVersionOutputConfig+    Amazonka.Panorama.Types.PackageVersionStatus+    Amazonka.Panorama.Types.PortType+    Amazonka.Panorama.Types.ReportedRuntimeContextState+    Amazonka.Panorama.Types.S3Location+    Amazonka.Panorama.Types.SortOrder+    Amazonka.Panorama.Types.StaticIpConnectionInfo+    Amazonka.Panorama.Types.StatusFilter+    Amazonka.Panorama.Types.StorageLocation+    Amazonka.Panorama.Types.TemplateType+    Amazonka.Panorama.Types.UpdateProgress+    Amazonka.Panorama.UntagResource+    Amazonka.Panorama.UpdateDeviceMetadata+    Amazonka.Panorama.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-panorama-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.Panorama+    Test.Amazonka.Panorama+    Test.Amazonka.Panorama.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-panorama+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateApplicationInstance.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/CreateApplicationInstanceResponse.proto view
+ fixture/CreateJobForDevices.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/CreateJobForDevicesResponse.proto view
+ fixture/CreateNodeFromTemplateJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/CreateNodeFromTemplateJobResponse.proto view
+ fixture/CreatePackage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/CreatePackageImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/CreatePackageImportJobResponse.proto view
+ fixture/CreatePackageResponse.proto view
+ fixture/DeleteDevice.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DeleteDeviceResponse.proto view
+ fixture/DeletePackage.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DeletePackageResponse.proto view
+ fixture/DeregisterPackageVersion.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DeregisterPackageVersionResponse.proto view
+ fixture/DescribeApplicationInstance.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeApplicationInstanceDetails.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeApplicationInstanceDetailsResponse.proto view
+ fixture/DescribeApplicationInstanceResponse.proto view
+ fixture/DescribeDevice.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeDeviceJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeDeviceJobResponse.proto view
+ fixture/DescribeDeviceResponse.proto view
+ fixture/DescribeNode.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeNodeFromTemplateJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribeNodeFromTemplateJobResponse.proto view
+ fixture/DescribeNodeResponse.proto view
+ fixture/DescribePackage.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribePackageImportJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribePackageImportJobResponse.proto view
+ fixture/DescribePackageResponse.proto view
+ fixture/DescribePackageVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/DescribePackageVersionResponse.proto view
+ fixture/ListApplicationInstanceDependencies.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListApplicationInstanceDependenciesResponse.proto view
+ fixture/ListApplicationInstanceNodeInstances.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListApplicationInstanceNodeInstancesResponse.proto view
+ fixture/ListApplicationInstances.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListApplicationInstancesResponse.proto view
+ fixture/ListDevices.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListDevicesJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListDevicesJobsResponse.proto view
+ fixture/ListDevicesResponse.proto view
+ fixture/ListNodeFromTemplateJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListNodeFromTemplateJobsResponse.proto view
+ fixture/ListNodes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListNodesResponse.proto view
+ fixture/ListPackageImportJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListPackageImportJobsResponse.proto view
+ fixture/ListPackages.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ListPackagesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ProvisionDevice.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/ProvisionDeviceResponse.proto view
+ fixture/RegisterPackageVersion.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/RegisterPackageVersionResponse.proto view
+ fixture/RemoveApplicationInstance.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/RemoveApplicationInstanceResponse.proto view
+ fixture/SignalApplicationInstanceNodeInstances.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/SignalApplicationInstanceNodeInstancesResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/UpdateDeviceMetadata.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/panorama/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  panorama.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/UpdateDeviceMetadataResponse.proto view
+ gen/Amazonka/Panorama.hs view
@@ -0,0 +1,550 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Panorama+-- 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 @2019-07-24@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- AWS Panorama+--+-- __Overview__+--+-- This is the /AWS Panorama API Reference/. For an introduction to the+-- service, see+-- <https://docs.aws.amazon.com/panorama/latest/dev/panorama-welcome.html What is AWS Panorama?>+-- in the /AWS Panorama Developer Guide/.+module Amazonka.Panorama+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateApplicationInstance+    CreateApplicationInstance (CreateApplicationInstance'),+    newCreateApplicationInstance,+    CreateApplicationInstanceResponse (CreateApplicationInstanceResponse'),+    newCreateApplicationInstanceResponse,++    -- ** CreateJobForDevices+    CreateJobForDevices (CreateJobForDevices'),+    newCreateJobForDevices,+    CreateJobForDevicesResponse (CreateJobForDevicesResponse'),+    newCreateJobForDevicesResponse,++    -- ** CreateNodeFromTemplateJob+    CreateNodeFromTemplateJob (CreateNodeFromTemplateJob'),+    newCreateNodeFromTemplateJob,+    CreateNodeFromTemplateJobResponse (CreateNodeFromTemplateJobResponse'),+    newCreateNodeFromTemplateJobResponse,++    -- ** CreatePackage+    CreatePackage (CreatePackage'),+    newCreatePackage,+    CreatePackageResponse (CreatePackageResponse'),+    newCreatePackageResponse,++    -- ** CreatePackageImportJob+    CreatePackageImportJob (CreatePackageImportJob'),+    newCreatePackageImportJob,+    CreatePackageImportJobResponse (CreatePackageImportJobResponse'),+    newCreatePackageImportJobResponse,++    -- ** DeleteDevice+    DeleteDevice (DeleteDevice'),+    newDeleteDevice,+    DeleteDeviceResponse (DeleteDeviceResponse'),+    newDeleteDeviceResponse,++    -- ** DeletePackage+    DeletePackage (DeletePackage'),+    newDeletePackage,+    DeletePackageResponse (DeletePackageResponse'),+    newDeletePackageResponse,++    -- ** DeregisterPackageVersion+    DeregisterPackageVersion (DeregisterPackageVersion'),+    newDeregisterPackageVersion,+    DeregisterPackageVersionResponse (DeregisterPackageVersionResponse'),+    newDeregisterPackageVersionResponse,++    -- ** DescribeApplicationInstance+    DescribeApplicationInstance (DescribeApplicationInstance'),+    newDescribeApplicationInstance,+    DescribeApplicationInstanceResponse (DescribeApplicationInstanceResponse'),+    newDescribeApplicationInstanceResponse,++    -- ** DescribeApplicationInstanceDetails+    DescribeApplicationInstanceDetails (DescribeApplicationInstanceDetails'),+    newDescribeApplicationInstanceDetails,+    DescribeApplicationInstanceDetailsResponse (DescribeApplicationInstanceDetailsResponse'),+    newDescribeApplicationInstanceDetailsResponse,++    -- ** DescribeDevice+    DescribeDevice (DescribeDevice'),+    newDescribeDevice,+    DescribeDeviceResponse (DescribeDeviceResponse'),+    newDescribeDeviceResponse,++    -- ** DescribeDeviceJob+    DescribeDeviceJob (DescribeDeviceJob'),+    newDescribeDeviceJob,+    DescribeDeviceJobResponse (DescribeDeviceJobResponse'),+    newDescribeDeviceJobResponse,++    -- ** DescribeNode+    DescribeNode (DescribeNode'),+    newDescribeNode,+    DescribeNodeResponse (DescribeNodeResponse'),+    newDescribeNodeResponse,++    -- ** DescribeNodeFromTemplateJob+    DescribeNodeFromTemplateJob (DescribeNodeFromTemplateJob'),+    newDescribeNodeFromTemplateJob,+    DescribeNodeFromTemplateJobResponse (DescribeNodeFromTemplateJobResponse'),+    newDescribeNodeFromTemplateJobResponse,++    -- ** DescribePackage+    DescribePackage (DescribePackage'),+    newDescribePackage,+    DescribePackageResponse (DescribePackageResponse'),+    newDescribePackageResponse,++    -- ** DescribePackageImportJob+    DescribePackageImportJob (DescribePackageImportJob'),+    newDescribePackageImportJob,+    DescribePackageImportJobResponse (DescribePackageImportJobResponse'),+    newDescribePackageImportJobResponse,++    -- ** DescribePackageVersion+    DescribePackageVersion (DescribePackageVersion'),+    newDescribePackageVersion,+    DescribePackageVersionResponse (DescribePackageVersionResponse'),+    newDescribePackageVersionResponse,++    -- ** ListApplicationInstanceDependencies+    ListApplicationInstanceDependencies (ListApplicationInstanceDependencies'),+    newListApplicationInstanceDependencies,+    ListApplicationInstanceDependenciesResponse (ListApplicationInstanceDependenciesResponse'),+    newListApplicationInstanceDependenciesResponse,++    -- ** ListApplicationInstanceNodeInstances+    ListApplicationInstanceNodeInstances (ListApplicationInstanceNodeInstances'),+    newListApplicationInstanceNodeInstances,+    ListApplicationInstanceNodeInstancesResponse (ListApplicationInstanceNodeInstancesResponse'),+    newListApplicationInstanceNodeInstancesResponse,++    -- ** ListApplicationInstances+    ListApplicationInstances (ListApplicationInstances'),+    newListApplicationInstances,+    ListApplicationInstancesResponse (ListApplicationInstancesResponse'),+    newListApplicationInstancesResponse,++    -- ** ListDevices+    ListDevices (ListDevices'),+    newListDevices,+    ListDevicesResponse (ListDevicesResponse'),+    newListDevicesResponse,++    -- ** ListDevicesJobs+    ListDevicesJobs (ListDevicesJobs'),+    newListDevicesJobs,+    ListDevicesJobsResponse (ListDevicesJobsResponse'),+    newListDevicesJobsResponse,++    -- ** ListNodeFromTemplateJobs+    ListNodeFromTemplateJobs (ListNodeFromTemplateJobs'),+    newListNodeFromTemplateJobs,+    ListNodeFromTemplateJobsResponse (ListNodeFromTemplateJobsResponse'),+    newListNodeFromTemplateJobsResponse,++    -- ** ListNodes+    ListNodes (ListNodes'),+    newListNodes,+    ListNodesResponse (ListNodesResponse'),+    newListNodesResponse,++    -- ** ListPackageImportJobs+    ListPackageImportJobs (ListPackageImportJobs'),+    newListPackageImportJobs,+    ListPackageImportJobsResponse (ListPackageImportJobsResponse'),+    newListPackageImportJobsResponse,++    -- ** ListPackages+    ListPackages (ListPackages'),+    newListPackages,+    ListPackagesResponse (ListPackagesResponse'),+    newListPackagesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ProvisionDevice+    ProvisionDevice (ProvisionDevice'),+    newProvisionDevice,+    ProvisionDeviceResponse (ProvisionDeviceResponse'),+    newProvisionDeviceResponse,++    -- ** RegisterPackageVersion+    RegisterPackageVersion (RegisterPackageVersion'),+    newRegisterPackageVersion,+    RegisterPackageVersionResponse (RegisterPackageVersionResponse'),+    newRegisterPackageVersionResponse,++    -- ** RemoveApplicationInstance+    RemoveApplicationInstance (RemoveApplicationInstance'),+    newRemoveApplicationInstance,+    RemoveApplicationInstanceResponse (RemoveApplicationInstanceResponse'),+    newRemoveApplicationInstanceResponse,++    -- ** SignalApplicationInstanceNodeInstances+    SignalApplicationInstanceNodeInstances (SignalApplicationInstanceNodeInstances'),+    newSignalApplicationInstanceNodeInstances,+    SignalApplicationInstanceNodeInstancesResponse (SignalApplicationInstanceNodeInstancesResponse'),+    newSignalApplicationInstanceNodeInstancesResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateDeviceMetadata+    UpdateDeviceMetadata (UpdateDeviceMetadata'),+    newUpdateDeviceMetadata,+    UpdateDeviceMetadataResponse (UpdateDeviceMetadataResponse'),+    newUpdateDeviceMetadataResponse,++    -- * Types++    -- ** ApplicationInstanceHealthStatus+    ApplicationInstanceHealthStatus (..),++    -- ** ApplicationInstanceStatus+    ApplicationInstanceStatus (..),++    -- ** ConnectionType+    ConnectionType (..),++    -- ** DesiredState+    DesiredState (..),++    -- ** DeviceAggregatedStatus+    DeviceAggregatedStatus (..),++    -- ** DeviceBrand+    DeviceBrand (..),++    -- ** DeviceConnectionStatus+    DeviceConnectionStatus (..),++    -- ** DeviceReportedStatus+    DeviceReportedStatus (..),++    -- ** DeviceStatus+    DeviceStatus (..),++    -- ** DeviceType+    DeviceType (..),++    -- ** JobResourceType+    JobResourceType (..),++    -- ** JobType+    JobType (..),++    -- ** ListDevicesSortBy+    ListDevicesSortBy (..),++    -- ** NetworkConnectionStatus+    NetworkConnectionStatus (..),++    -- ** NodeCategory+    NodeCategory (..),++    -- ** NodeFromTemplateJobStatus+    NodeFromTemplateJobStatus (..),++    -- ** NodeInstanceStatus+    NodeInstanceStatus (..),++    -- ** NodeSignalValue+    NodeSignalValue (..),++    -- ** PackageImportJobStatus+    PackageImportJobStatus (..),++    -- ** PackageImportJobType+    PackageImportJobType (..),++    -- ** PackageVersionStatus+    PackageVersionStatus (..),++    -- ** PortType+    PortType (..),++    -- ** SortOrder+    SortOrder (..),++    -- ** StatusFilter+    StatusFilter (..),++    -- ** TemplateType+    TemplateType (..),++    -- ** UpdateProgress+    UpdateProgress (..),++    -- ** AlternateSoftwareMetadata+    AlternateSoftwareMetadata (AlternateSoftwareMetadata'),+    newAlternateSoftwareMetadata,++    -- ** ApplicationInstance+    ApplicationInstance (ApplicationInstance'),+    newApplicationInstance,++    -- ** Device+    Device (Device'),+    newDevice,++    -- ** DeviceJob+    DeviceJob (DeviceJob'),+    newDeviceJob,++    -- ** DeviceJobConfig+    DeviceJobConfig (DeviceJobConfig'),+    newDeviceJobConfig,++    -- ** EthernetPayload+    EthernetPayload (EthernetPayload'),+    newEthernetPayload,++    -- ** EthernetStatus+    EthernetStatus (EthernetStatus'),+    newEthernetStatus,++    -- ** Job+    Job (Job'),+    newJob,++    -- ** JobResourceTags+    JobResourceTags (JobResourceTags'),+    newJobResourceTags,++    -- ** LatestDeviceJob+    LatestDeviceJob (LatestDeviceJob'),+    newLatestDeviceJob,++    -- ** ManifestOverridesPayload+    ManifestOverridesPayload (ManifestOverridesPayload'),+    newManifestOverridesPayload,++    -- ** ManifestPayload+    ManifestPayload (ManifestPayload'),+    newManifestPayload,++    -- ** NetworkPayload+    NetworkPayload (NetworkPayload'),+    newNetworkPayload,++    -- ** NetworkStatus+    NetworkStatus (NetworkStatus'),+    newNetworkStatus,++    -- ** Node+    Node (Node'),+    newNode,++    -- ** NodeFromTemplateJob+    NodeFromTemplateJob (NodeFromTemplateJob'),+    newNodeFromTemplateJob,++    -- ** NodeInputPort+    NodeInputPort (NodeInputPort'),+    newNodeInputPort,++    -- ** NodeInstance+    NodeInstance (NodeInstance'),+    newNodeInstance,++    -- ** NodeInterface+    NodeInterface (NodeInterface'),+    newNodeInterface,++    -- ** NodeOutputPort+    NodeOutputPort (NodeOutputPort'),+    newNodeOutputPort,++    -- ** NodeSignal+    NodeSignal (NodeSignal'),+    newNodeSignal,++    -- ** NtpPayload+    NtpPayload (NtpPayload'),+    newNtpPayload,++    -- ** NtpStatus+    NtpStatus (NtpStatus'),+    newNtpStatus,++    -- ** OTAJobConfig+    OTAJobConfig (OTAJobConfig'),+    newOTAJobConfig,++    -- ** OutPutS3Location+    OutPutS3Location (OutPutS3Location'),+    newOutPutS3Location,++    -- ** PackageImportJob+    PackageImportJob (PackageImportJob'),+    newPackageImportJob,++    -- ** PackageImportJobInputConfig+    PackageImportJobInputConfig (PackageImportJobInputConfig'),+    newPackageImportJobInputConfig,++    -- ** PackageImportJobOutput+    PackageImportJobOutput (PackageImportJobOutput'),+    newPackageImportJobOutput,++    -- ** PackageImportJobOutputConfig+    PackageImportJobOutputConfig (PackageImportJobOutputConfig'),+    newPackageImportJobOutputConfig,++    -- ** PackageListItem+    PackageListItem (PackageListItem'),+    newPackageListItem,++    -- ** PackageObject+    PackageObject (PackageObject'),+    newPackageObject,++    -- ** PackageVersionInputConfig+    PackageVersionInputConfig (PackageVersionInputConfig'),+    newPackageVersionInputConfig,++    -- ** PackageVersionOutputConfig+    PackageVersionOutputConfig (PackageVersionOutputConfig'),+    newPackageVersionOutputConfig,++    -- ** ReportedRuntimeContextState+    ReportedRuntimeContextState (ReportedRuntimeContextState'),+    newReportedRuntimeContextState,++    -- ** S3Location+    S3Location (S3Location'),+    newS3Location,++    -- ** StaticIpConnectionInfo+    StaticIpConnectionInfo (StaticIpConnectionInfo'),+    newStaticIpConnectionInfo,++    -- ** StorageLocation+    StorageLocation (StorageLocation'),+    newStorageLocation,+  )+where++import Amazonka.Panorama.CreateApplicationInstance+import Amazonka.Panorama.CreateJobForDevices+import Amazonka.Panorama.CreateNodeFromTemplateJob+import Amazonka.Panorama.CreatePackage+import Amazonka.Panorama.CreatePackageImportJob+import Amazonka.Panorama.DeleteDevice+import Amazonka.Panorama.DeletePackage+import Amazonka.Panorama.DeregisterPackageVersion+import Amazonka.Panorama.DescribeApplicationInstance+import Amazonka.Panorama.DescribeApplicationInstanceDetails+import Amazonka.Panorama.DescribeDevice+import Amazonka.Panorama.DescribeDeviceJob+import Amazonka.Panorama.DescribeNode+import Amazonka.Panorama.DescribeNodeFromTemplateJob+import Amazonka.Panorama.DescribePackage+import Amazonka.Panorama.DescribePackageImportJob+import Amazonka.Panorama.DescribePackageVersion+import Amazonka.Panorama.Lens+import Amazonka.Panorama.ListApplicationInstanceDependencies+import Amazonka.Panorama.ListApplicationInstanceNodeInstances+import Amazonka.Panorama.ListApplicationInstances+import Amazonka.Panorama.ListDevices+import Amazonka.Panorama.ListDevicesJobs+import Amazonka.Panorama.ListNodeFromTemplateJobs+import Amazonka.Panorama.ListNodes+import Amazonka.Panorama.ListPackageImportJobs+import Amazonka.Panorama.ListPackages+import Amazonka.Panorama.ListTagsForResource+import Amazonka.Panorama.ProvisionDevice+import Amazonka.Panorama.RegisterPackageVersion+import Amazonka.Panorama.RemoveApplicationInstance+import Amazonka.Panorama.SignalApplicationInstanceNodeInstances+import Amazonka.Panorama.TagResource+import Amazonka.Panorama.Types+import Amazonka.Panorama.UntagResource+import Amazonka.Panorama.UpdateDeviceMetadata+import Amazonka.Panorama.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 'Panorama'.++-- $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/Panorama/CreateApplicationInstance.hs view
@@ -0,0 +1,281 @@+{-# 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.Panorama.CreateApplicationInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an application instance and deploys it to a device.+module Amazonka.Panorama.CreateApplicationInstance+  ( -- * Creating a Request+    CreateApplicationInstance (..),+    newCreateApplicationInstance,++    -- * Request Lenses+    createApplicationInstance_applicationInstanceIdToReplace,+    createApplicationInstance_description,+    createApplicationInstance_manifestOverridesPayload,+    createApplicationInstance_name,+    createApplicationInstance_runtimeRoleArn,+    createApplicationInstance_tags,+    createApplicationInstance_defaultRuntimeContextDevice,+    createApplicationInstance_manifestPayload,++    -- * Destructuring the Response+    CreateApplicationInstanceResponse (..),+    newCreateApplicationInstanceResponse,++    -- * Response Lenses+    createApplicationInstanceResponse_httpStatus,+    createApplicationInstanceResponse_applicationInstanceId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateApplicationInstance' smart constructor.+data CreateApplicationInstance = CreateApplicationInstance'+  { -- | The ID of an application instance to replace with the new instance.+    applicationInstanceIdToReplace :: Prelude.Maybe Prelude.Text,+    -- | A description for the application instance.+    description :: Prelude.Maybe Prelude.Text,+    -- | Setting overrides for the application manifest.+    manifestOverridesPayload :: Prelude.Maybe ManifestOverridesPayload,+    -- | A name for the application instance.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ARN of a runtime role for the application instance.+    runtimeRoleArn :: Prelude.Maybe Prelude.Text,+    -- | Tags for the application instance.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | A device\'s ID.+    defaultRuntimeContextDevice :: Prelude.Text,+    -- | The application\'s manifest document.+    manifestPayload :: ManifestPayload+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceIdToReplace', 'createApplicationInstance_applicationInstanceIdToReplace' - The ID of an application instance to replace with the new instance.+--+-- 'description', 'createApplicationInstance_description' - A description for the application instance.+--+-- 'manifestOverridesPayload', 'createApplicationInstance_manifestOverridesPayload' - Setting overrides for the application manifest.+--+-- 'name', 'createApplicationInstance_name' - A name for the application instance.+--+-- 'runtimeRoleArn', 'createApplicationInstance_runtimeRoleArn' - The ARN of a runtime role for the application instance.+--+-- 'tags', 'createApplicationInstance_tags' - Tags for the application instance.+--+-- 'defaultRuntimeContextDevice', 'createApplicationInstance_defaultRuntimeContextDevice' - A device\'s ID.+--+-- 'manifestPayload', 'createApplicationInstance_manifestPayload' - The application\'s manifest document.+newCreateApplicationInstance ::+  -- | 'defaultRuntimeContextDevice'+  Prelude.Text ->+  -- | 'manifestPayload'+  ManifestPayload ->+  CreateApplicationInstance+newCreateApplicationInstance+  pDefaultRuntimeContextDevice_+  pManifestPayload_ =+    CreateApplicationInstance'+      { applicationInstanceIdToReplace =+          Prelude.Nothing,+        description = Prelude.Nothing,+        manifestOverridesPayload = Prelude.Nothing,+        name = Prelude.Nothing,+        runtimeRoleArn = Prelude.Nothing,+        tags = Prelude.Nothing,+        defaultRuntimeContextDevice =+          pDefaultRuntimeContextDevice_,+        manifestPayload = pManifestPayload_+      }++-- | The ID of an application instance to replace with the new instance.+createApplicationInstance_applicationInstanceIdToReplace :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe Prelude.Text)+createApplicationInstance_applicationInstanceIdToReplace = Lens.lens (\CreateApplicationInstance' {applicationInstanceIdToReplace} -> applicationInstanceIdToReplace) (\s@CreateApplicationInstance' {} a -> s {applicationInstanceIdToReplace = a} :: CreateApplicationInstance)++-- | A description for the application instance.+createApplicationInstance_description :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe Prelude.Text)+createApplicationInstance_description = Lens.lens (\CreateApplicationInstance' {description} -> description) (\s@CreateApplicationInstance' {} a -> s {description = a} :: CreateApplicationInstance)++-- | Setting overrides for the application manifest.+createApplicationInstance_manifestOverridesPayload :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe ManifestOverridesPayload)+createApplicationInstance_manifestOverridesPayload = Lens.lens (\CreateApplicationInstance' {manifestOverridesPayload} -> manifestOverridesPayload) (\s@CreateApplicationInstance' {} a -> s {manifestOverridesPayload = a} :: CreateApplicationInstance)++-- | A name for the application instance.+createApplicationInstance_name :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe Prelude.Text)+createApplicationInstance_name = Lens.lens (\CreateApplicationInstance' {name} -> name) (\s@CreateApplicationInstance' {} a -> s {name = a} :: CreateApplicationInstance)++-- | The ARN of a runtime role for the application instance.+createApplicationInstance_runtimeRoleArn :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe Prelude.Text)+createApplicationInstance_runtimeRoleArn = Lens.lens (\CreateApplicationInstance' {runtimeRoleArn} -> runtimeRoleArn) (\s@CreateApplicationInstance' {} a -> s {runtimeRoleArn = a} :: CreateApplicationInstance)++-- | Tags for the application instance.+createApplicationInstance_tags :: Lens.Lens' CreateApplicationInstance (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplicationInstance_tags = Lens.lens (\CreateApplicationInstance' {tags} -> tags) (\s@CreateApplicationInstance' {} a -> s {tags = a} :: CreateApplicationInstance) Prelude.. Lens.mapping Lens.coerced++-- | A device\'s ID.+createApplicationInstance_defaultRuntimeContextDevice :: Lens.Lens' CreateApplicationInstance Prelude.Text+createApplicationInstance_defaultRuntimeContextDevice = Lens.lens (\CreateApplicationInstance' {defaultRuntimeContextDevice} -> defaultRuntimeContextDevice) (\s@CreateApplicationInstance' {} a -> s {defaultRuntimeContextDevice = a} :: CreateApplicationInstance)++-- | The application\'s manifest document.+createApplicationInstance_manifestPayload :: Lens.Lens' CreateApplicationInstance ManifestPayload+createApplicationInstance_manifestPayload = Lens.lens (\CreateApplicationInstance' {manifestPayload} -> manifestPayload) (\s@CreateApplicationInstance' {} a -> s {manifestPayload = a} :: CreateApplicationInstance)++instance Core.AWSRequest CreateApplicationInstance where+  type+    AWSResponse CreateApplicationInstance =+      CreateApplicationInstanceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateApplicationInstanceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ApplicationInstanceId")+      )++instance Prelude.Hashable CreateApplicationInstance where+  hashWithSalt _salt CreateApplicationInstance' {..} =+    _salt+      `Prelude.hashWithSalt` applicationInstanceIdToReplace+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` manifestOverridesPayload+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` runtimeRoleArn+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` defaultRuntimeContextDevice+      `Prelude.hashWithSalt` manifestPayload++instance Prelude.NFData CreateApplicationInstance where+  rnf CreateApplicationInstance' {..} =+    Prelude.rnf applicationInstanceIdToReplace+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf manifestOverridesPayload+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf runtimeRoleArn+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDevice+      `Prelude.seq` Prelude.rnf manifestPayload++instance Data.ToHeaders CreateApplicationInstance where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateApplicationInstance where+  toJSON CreateApplicationInstance' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ApplicationInstanceIdToReplace" Data..=)+              Prelude.<$> applicationInstanceIdToReplace,+            ("Description" Data..=) Prelude.<$> description,+            ("ManifestOverridesPayload" Data..=)+              Prelude.<$> manifestOverridesPayload,+            ("Name" Data..=) Prelude.<$> name,+            ("RuntimeRoleArn" Data..=)+              Prelude.<$> runtimeRoleArn,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ( "DefaultRuntimeContextDevice"+                  Data..= defaultRuntimeContextDevice+              ),+            Prelude.Just+              ("ManifestPayload" Data..= manifestPayload)+          ]+      )++instance Data.ToPath CreateApplicationInstance where+  toPath = Prelude.const "/application-instances"++instance Data.ToQuery CreateApplicationInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateApplicationInstanceResponse' smart constructor.+data CreateApplicationInstanceResponse = CreateApplicationInstanceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createApplicationInstanceResponse_httpStatus' - The response's http status code.+--+-- 'applicationInstanceId', 'createApplicationInstanceResponse_applicationInstanceId' - The application instance\'s ID.+newCreateApplicationInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'applicationInstanceId'+  Prelude.Text ->+  CreateApplicationInstanceResponse+newCreateApplicationInstanceResponse+  pHttpStatus_+  pApplicationInstanceId_ =+    CreateApplicationInstanceResponse'+      { httpStatus =+          pHttpStatus_,+        applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The response's http status code.+createApplicationInstanceResponse_httpStatus :: Lens.Lens' CreateApplicationInstanceResponse Prelude.Int+createApplicationInstanceResponse_httpStatus = Lens.lens (\CreateApplicationInstanceResponse' {httpStatus} -> httpStatus) (\s@CreateApplicationInstanceResponse' {} a -> s {httpStatus = a} :: CreateApplicationInstanceResponse)++-- | The application instance\'s ID.+createApplicationInstanceResponse_applicationInstanceId :: Lens.Lens' CreateApplicationInstanceResponse Prelude.Text+createApplicationInstanceResponse_applicationInstanceId = Lens.lens (\CreateApplicationInstanceResponse' {applicationInstanceId} -> applicationInstanceId) (\s@CreateApplicationInstanceResponse' {} a -> s {applicationInstanceId = a} :: CreateApplicationInstanceResponse)++instance+  Prelude.NFData+    CreateApplicationInstanceResponse+  where+  rnf CreateApplicationInstanceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf applicationInstanceId
+ gen/Amazonka/Panorama/CreateJobForDevices.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.Panorama.CreateJobForDevices+-- 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 job to run on one or more devices. A job can update a+-- device\'s software or reboot it.+module Amazonka.Panorama.CreateJobForDevices+  ( -- * Creating a Request+    CreateJobForDevices (..),+    newCreateJobForDevices,++    -- * Request Lenses+    createJobForDevices_deviceJobConfig,+    createJobForDevices_deviceIds,+    createJobForDevices_jobType,++    -- * Destructuring the Response+    CreateJobForDevicesResponse (..),+    newCreateJobForDevicesResponse,++    -- * Response Lenses+    createJobForDevicesResponse_httpStatus,+    createJobForDevicesResponse_jobs,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateJobForDevices' smart constructor.+data CreateJobForDevices = CreateJobForDevices'+  { -- | Configuration settings for a software update job.+    deviceJobConfig :: Prelude.Maybe DeviceJobConfig,+    -- | IDs of target devices.+    deviceIds :: Prelude.NonEmpty Prelude.Text,+    -- | The type of job to run.+    jobType :: JobType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobForDevices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceJobConfig', 'createJobForDevices_deviceJobConfig' - Configuration settings for a software update job.+--+-- 'deviceIds', 'createJobForDevices_deviceIds' - IDs of target devices.+--+-- 'jobType', 'createJobForDevices_jobType' - The type of job to run.+newCreateJobForDevices ::+  -- | 'deviceIds'+  Prelude.NonEmpty Prelude.Text ->+  -- | 'jobType'+  JobType ->+  CreateJobForDevices+newCreateJobForDevices pDeviceIds_ pJobType_ =+  CreateJobForDevices'+    { deviceJobConfig =+        Prelude.Nothing,+      deviceIds = Lens.coerced Lens.# pDeviceIds_,+      jobType = pJobType_+    }++-- | Configuration settings for a software update job.+createJobForDevices_deviceJobConfig :: Lens.Lens' CreateJobForDevices (Prelude.Maybe DeviceJobConfig)+createJobForDevices_deviceJobConfig = Lens.lens (\CreateJobForDevices' {deviceJobConfig} -> deviceJobConfig) (\s@CreateJobForDevices' {} a -> s {deviceJobConfig = a} :: CreateJobForDevices)++-- | IDs of target devices.+createJobForDevices_deviceIds :: Lens.Lens' CreateJobForDevices (Prelude.NonEmpty Prelude.Text)+createJobForDevices_deviceIds = Lens.lens (\CreateJobForDevices' {deviceIds} -> deviceIds) (\s@CreateJobForDevices' {} a -> s {deviceIds = a} :: CreateJobForDevices) Prelude.. Lens.coerced++-- | The type of job to run.+createJobForDevices_jobType :: Lens.Lens' CreateJobForDevices JobType+createJobForDevices_jobType = Lens.lens (\CreateJobForDevices' {jobType} -> jobType) (\s@CreateJobForDevices' {} a -> s {jobType = a} :: CreateJobForDevices)++instance Core.AWSRequest CreateJobForDevices where+  type+    AWSResponse CreateJobForDevices =+      CreateJobForDevicesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateJobForDevicesResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Jobs" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable CreateJobForDevices where+  hashWithSalt _salt CreateJobForDevices' {..} =+    _salt+      `Prelude.hashWithSalt` deviceJobConfig+      `Prelude.hashWithSalt` deviceIds+      `Prelude.hashWithSalt` jobType++instance Prelude.NFData CreateJobForDevices where+  rnf CreateJobForDevices' {..} =+    Prelude.rnf deviceJobConfig+      `Prelude.seq` Prelude.rnf deviceIds+      `Prelude.seq` Prelude.rnf jobType++instance Data.ToHeaders CreateJobForDevices where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateJobForDevices where+  toJSON CreateJobForDevices' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DeviceJobConfig" Data..=)+              Prelude.<$> deviceJobConfig,+            Prelude.Just ("DeviceIds" Data..= deviceIds),+            Prelude.Just ("JobType" Data..= jobType)+          ]+      )++instance Data.ToPath CreateJobForDevices where+  toPath = Prelude.const "/jobs"++instance Data.ToQuery CreateJobForDevices where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateJobForDevicesResponse' smart constructor.+data CreateJobForDevicesResponse = CreateJobForDevicesResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of jobs.+    jobs :: [Job]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateJobForDevicesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createJobForDevicesResponse_httpStatus' - The response's http status code.+--+-- 'jobs', 'createJobForDevicesResponse_jobs' - A list of jobs.+newCreateJobForDevicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateJobForDevicesResponse+newCreateJobForDevicesResponse pHttpStatus_ =+  CreateJobForDevicesResponse'+    { httpStatus =+        pHttpStatus_,+      jobs = Prelude.mempty+    }++-- | The response's http status code.+createJobForDevicesResponse_httpStatus :: Lens.Lens' CreateJobForDevicesResponse Prelude.Int+createJobForDevicesResponse_httpStatus = Lens.lens (\CreateJobForDevicesResponse' {httpStatus} -> httpStatus) (\s@CreateJobForDevicesResponse' {} a -> s {httpStatus = a} :: CreateJobForDevicesResponse)++-- | A list of jobs.+createJobForDevicesResponse_jobs :: Lens.Lens' CreateJobForDevicesResponse [Job]+createJobForDevicesResponse_jobs = Lens.lens (\CreateJobForDevicesResponse' {jobs} -> jobs) (\s@CreateJobForDevicesResponse' {} a -> s {jobs = a} :: CreateJobForDevicesResponse) Prelude.. Lens.coerced++instance Prelude.NFData CreateJobForDevicesResponse where+  rnf CreateJobForDevicesResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf jobs
+ gen/Amazonka/Panorama/CreateNodeFromTemplateJob.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.CreateNodeFromTemplateJob+-- 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 camera stream node.+module Amazonka.Panorama.CreateNodeFromTemplateJob+  ( -- * Creating a Request+    CreateNodeFromTemplateJob (..),+    newCreateNodeFromTemplateJob,++    -- * Request Lenses+    createNodeFromTemplateJob_jobTags,+    createNodeFromTemplateJob_nodeDescription,+    createNodeFromTemplateJob_nodeName,+    createNodeFromTemplateJob_outputPackageName,+    createNodeFromTemplateJob_outputPackageVersion,+    createNodeFromTemplateJob_templateParameters,+    createNodeFromTemplateJob_templateType,++    -- * Destructuring the Response+    CreateNodeFromTemplateJobResponse (..),+    newCreateNodeFromTemplateJobResponse,++    -- * Response Lenses+    createNodeFromTemplateJobResponse_httpStatus,+    createNodeFromTemplateJobResponse_jobId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNodeFromTemplateJob' smart constructor.+data CreateNodeFromTemplateJob = CreateNodeFromTemplateJob'+  { -- | Tags for the job.+    jobTags :: Prelude.Maybe [JobResourceTags],+    -- | A description for the node.+    nodeDescription :: Prelude.Maybe Prelude.Text,+    -- | A name for the node.+    nodeName :: Prelude.Text,+    -- | An output package name for the node.+    outputPackageName :: Prelude.Text,+    -- | An output package version for the node.+    outputPackageVersion :: Prelude.Text,+    -- | Template parameters for the node.+    templateParameters :: Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text),+    -- | The type of node.+    templateType :: TemplateType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNodeFromTemplateJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTags', 'createNodeFromTemplateJob_jobTags' - Tags for the job.+--+-- 'nodeDescription', 'createNodeFromTemplateJob_nodeDescription' - A description for the node.+--+-- 'nodeName', 'createNodeFromTemplateJob_nodeName' - A name for the node.+--+-- 'outputPackageName', 'createNodeFromTemplateJob_outputPackageName' - An output package name for the node.+--+-- 'outputPackageVersion', 'createNodeFromTemplateJob_outputPackageVersion' - An output package version for the node.+--+-- 'templateParameters', 'createNodeFromTemplateJob_templateParameters' - Template parameters for the node.+--+-- 'templateType', 'createNodeFromTemplateJob_templateType' - The type of node.+newCreateNodeFromTemplateJob ::+  -- | 'nodeName'+  Prelude.Text ->+  -- | 'outputPackageName'+  Prelude.Text ->+  -- | 'outputPackageVersion'+  Prelude.Text ->+  -- | 'templateType'+  TemplateType ->+  CreateNodeFromTemplateJob+newCreateNodeFromTemplateJob+  pNodeName_+  pOutputPackageName_+  pOutputPackageVersion_+  pTemplateType_ =+    CreateNodeFromTemplateJob'+      { jobTags =+          Prelude.Nothing,+        nodeDescription = Prelude.Nothing,+        nodeName = pNodeName_,+        outputPackageName = pOutputPackageName_,+        outputPackageVersion = pOutputPackageVersion_,+        templateParameters = Prelude.mempty,+        templateType = pTemplateType_+      }++-- | Tags for the job.+createNodeFromTemplateJob_jobTags :: Lens.Lens' CreateNodeFromTemplateJob (Prelude.Maybe [JobResourceTags])+createNodeFromTemplateJob_jobTags = Lens.lens (\CreateNodeFromTemplateJob' {jobTags} -> jobTags) (\s@CreateNodeFromTemplateJob' {} a -> s {jobTags = a} :: CreateNodeFromTemplateJob) Prelude.. Lens.mapping Lens.coerced++-- | A description for the node.+createNodeFromTemplateJob_nodeDescription :: Lens.Lens' CreateNodeFromTemplateJob (Prelude.Maybe Prelude.Text)+createNodeFromTemplateJob_nodeDescription = Lens.lens (\CreateNodeFromTemplateJob' {nodeDescription} -> nodeDescription) (\s@CreateNodeFromTemplateJob' {} a -> s {nodeDescription = a} :: CreateNodeFromTemplateJob)++-- | A name for the node.+createNodeFromTemplateJob_nodeName :: Lens.Lens' CreateNodeFromTemplateJob Prelude.Text+createNodeFromTemplateJob_nodeName = Lens.lens (\CreateNodeFromTemplateJob' {nodeName} -> nodeName) (\s@CreateNodeFromTemplateJob' {} a -> s {nodeName = a} :: CreateNodeFromTemplateJob)++-- | An output package name for the node.+createNodeFromTemplateJob_outputPackageName :: Lens.Lens' CreateNodeFromTemplateJob Prelude.Text+createNodeFromTemplateJob_outputPackageName = Lens.lens (\CreateNodeFromTemplateJob' {outputPackageName} -> outputPackageName) (\s@CreateNodeFromTemplateJob' {} a -> s {outputPackageName = a} :: CreateNodeFromTemplateJob)++-- | An output package version for the node.+createNodeFromTemplateJob_outputPackageVersion :: Lens.Lens' CreateNodeFromTemplateJob Prelude.Text+createNodeFromTemplateJob_outputPackageVersion = Lens.lens (\CreateNodeFromTemplateJob' {outputPackageVersion} -> outputPackageVersion) (\s@CreateNodeFromTemplateJob' {} a -> s {outputPackageVersion = a} :: CreateNodeFromTemplateJob)++-- | Template parameters for the node.+createNodeFromTemplateJob_templateParameters :: Lens.Lens' CreateNodeFromTemplateJob (Prelude.HashMap Prelude.Text Prelude.Text)+createNodeFromTemplateJob_templateParameters = Lens.lens (\CreateNodeFromTemplateJob' {templateParameters} -> templateParameters) (\s@CreateNodeFromTemplateJob' {} a -> s {templateParameters = a} :: CreateNodeFromTemplateJob) Prelude.. Lens.coerced++-- | The type of node.+createNodeFromTemplateJob_templateType :: Lens.Lens' CreateNodeFromTemplateJob TemplateType+createNodeFromTemplateJob_templateType = Lens.lens (\CreateNodeFromTemplateJob' {templateType} -> templateType) (\s@CreateNodeFromTemplateJob' {} a -> s {templateType = a} :: CreateNodeFromTemplateJob)++instance Core.AWSRequest CreateNodeFromTemplateJob where+  type+    AWSResponse CreateNodeFromTemplateJob =+      CreateNodeFromTemplateJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateNodeFromTemplateJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "JobId")+      )++instance Prelude.Hashable CreateNodeFromTemplateJob where+  hashWithSalt _salt CreateNodeFromTemplateJob' {..} =+    _salt+      `Prelude.hashWithSalt` jobTags+      `Prelude.hashWithSalt` nodeDescription+      `Prelude.hashWithSalt` nodeName+      `Prelude.hashWithSalt` outputPackageName+      `Prelude.hashWithSalt` outputPackageVersion+      `Prelude.hashWithSalt` templateParameters+      `Prelude.hashWithSalt` templateType++instance Prelude.NFData CreateNodeFromTemplateJob where+  rnf CreateNodeFromTemplateJob' {..} =+    Prelude.rnf jobTags+      `Prelude.seq` Prelude.rnf nodeDescription+      `Prelude.seq` Prelude.rnf nodeName+      `Prelude.seq` Prelude.rnf outputPackageName+      `Prelude.seq` Prelude.rnf outputPackageVersion+      `Prelude.seq` Prelude.rnf templateParameters+      `Prelude.seq` Prelude.rnf templateType++instance Data.ToHeaders CreateNodeFromTemplateJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateNodeFromTemplateJob where+  toJSON CreateNodeFromTemplateJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("JobTags" Data..=) Prelude.<$> jobTags,+            ("NodeDescription" Data..=)+              Prelude.<$> nodeDescription,+            Prelude.Just ("NodeName" Data..= nodeName),+            Prelude.Just+              ("OutputPackageName" Data..= outputPackageName),+            Prelude.Just+              ( "OutputPackageVersion"+                  Data..= outputPackageVersion+              ),+            Prelude.Just+              ("TemplateParameters" Data..= templateParameters),+            Prelude.Just ("TemplateType" Data..= templateType)+          ]+      )++instance Data.ToPath CreateNodeFromTemplateJob where+  toPath = Prelude.const "/packages/template-job"++instance Data.ToQuery CreateNodeFromTemplateJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNodeFromTemplateJobResponse' smart constructor.+data CreateNodeFromTemplateJobResponse = CreateNodeFromTemplateJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The job\'s ID.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNodeFromTemplateJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNodeFromTemplateJobResponse_httpStatus' - The response's http status code.+--+-- 'jobId', 'createNodeFromTemplateJobResponse_jobId' - The job\'s ID.+newCreateNodeFromTemplateJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'jobId'+  Prelude.Text ->+  CreateNodeFromTemplateJobResponse+newCreateNodeFromTemplateJobResponse+  pHttpStatus_+  pJobId_ =+    CreateNodeFromTemplateJobResponse'+      { httpStatus =+          pHttpStatus_,+        jobId = pJobId_+      }++-- | The response's http status code.+createNodeFromTemplateJobResponse_httpStatus :: Lens.Lens' CreateNodeFromTemplateJobResponse Prelude.Int+createNodeFromTemplateJobResponse_httpStatus = Lens.lens (\CreateNodeFromTemplateJobResponse' {httpStatus} -> httpStatus) (\s@CreateNodeFromTemplateJobResponse' {} a -> s {httpStatus = a} :: CreateNodeFromTemplateJobResponse)++-- | The job\'s ID.+createNodeFromTemplateJobResponse_jobId :: Lens.Lens' CreateNodeFromTemplateJobResponse Prelude.Text+createNodeFromTemplateJobResponse_jobId = Lens.lens (\CreateNodeFromTemplateJobResponse' {jobId} -> jobId) (\s@CreateNodeFromTemplateJobResponse' {} a -> s {jobId = a} :: CreateNodeFromTemplateJobResponse)++instance+  Prelude.NFData+    CreateNodeFromTemplateJobResponse+  where+  rnf CreateNodeFromTemplateJobResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf jobId
+ gen/Amazonka/Panorama/CreatePackage.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.Panorama.CreatePackage+-- 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 package and storage location in an Amazon S3 access point.+module Amazonka.Panorama.CreatePackage+  ( -- * Creating a Request+    CreatePackage (..),+    newCreatePackage,++    -- * Request Lenses+    createPackage_tags,+    createPackage_packageName,++    -- * Destructuring the Response+    CreatePackageResponse (..),+    newCreatePackageResponse,++    -- * Response Lenses+    createPackageResponse_arn,+    createPackageResponse_packageId,+    createPackageResponse_httpStatus,+    createPackageResponse_storageLocation,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePackage' smart constructor.+data CreatePackage = CreatePackage'+  { -- | Tags for the package.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | A name for the package.+    packageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePackage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPackage_tags' - Tags for the package.+--+-- 'packageName', 'createPackage_packageName' - A name for the package.+newCreatePackage ::+  -- | 'packageName'+  Prelude.Text ->+  CreatePackage+newCreatePackage pPackageName_ =+  CreatePackage'+    { tags = Prelude.Nothing,+      packageName = pPackageName_+    }++-- | Tags for the package.+createPackage_tags :: Lens.Lens' CreatePackage (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createPackage_tags = Lens.lens (\CreatePackage' {tags} -> tags) (\s@CreatePackage' {} a -> s {tags = a} :: CreatePackage) Prelude.. Lens.mapping Lens.coerced++-- | A name for the package.+createPackage_packageName :: Lens.Lens' CreatePackage Prelude.Text+createPackage_packageName = Lens.lens (\CreatePackage' {packageName} -> packageName) (\s@CreatePackage' {} a -> s {packageName = a} :: CreatePackage)++instance Core.AWSRequest CreatePackage where+  type+    AWSResponse CreatePackage =+      CreatePackageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePackageResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "PackageId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "StorageLocation")+      )++instance Prelude.Hashable CreatePackage where+  hashWithSalt _salt CreatePackage' {..} =+    _salt+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` packageName++instance Prelude.NFData CreatePackage where+  rnf CreatePackage' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf packageName++instance Data.ToHeaders CreatePackage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreatePackage where+  toJSON CreatePackage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("PackageName" Data..= packageName)+          ]+      )++instance Data.ToPath CreatePackage where+  toPath = Prelude.const "/packages"++instance Data.ToQuery CreatePackage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePackageResponse' smart constructor.+data CreatePackageResponse = CreatePackageResponse'+  { -- | The package\'s ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The package\'s ID.+    packageId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The package\'s storage location.+    storageLocation :: StorageLocation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePackageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPackageResponse_arn' - The package\'s ARN.+--+-- 'packageId', 'createPackageResponse_packageId' - The package\'s ID.+--+-- 'httpStatus', 'createPackageResponse_httpStatus' - The response's http status code.+--+-- 'storageLocation', 'createPackageResponse_storageLocation' - The package\'s storage location.+newCreatePackageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'storageLocation'+  StorageLocation ->+  CreatePackageResponse+newCreatePackageResponse+  pHttpStatus_+  pStorageLocation_ =+    CreatePackageResponse'+      { arn = Prelude.Nothing,+        packageId = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        storageLocation = pStorageLocation_+      }++-- | The package\'s ARN.+createPackageResponse_arn :: Lens.Lens' CreatePackageResponse (Prelude.Maybe Prelude.Text)+createPackageResponse_arn = Lens.lens (\CreatePackageResponse' {arn} -> arn) (\s@CreatePackageResponse' {} a -> s {arn = a} :: CreatePackageResponse)++-- | The package\'s ID.+createPackageResponse_packageId :: Lens.Lens' CreatePackageResponse (Prelude.Maybe Prelude.Text)+createPackageResponse_packageId = Lens.lens (\CreatePackageResponse' {packageId} -> packageId) (\s@CreatePackageResponse' {} a -> s {packageId = a} :: CreatePackageResponse)++-- | The response's http status code.+createPackageResponse_httpStatus :: Lens.Lens' CreatePackageResponse Prelude.Int+createPackageResponse_httpStatus = Lens.lens (\CreatePackageResponse' {httpStatus} -> httpStatus) (\s@CreatePackageResponse' {} a -> s {httpStatus = a} :: CreatePackageResponse)++-- | The package\'s storage location.+createPackageResponse_storageLocation :: Lens.Lens' CreatePackageResponse StorageLocation+createPackageResponse_storageLocation = Lens.lens (\CreatePackageResponse' {storageLocation} -> storageLocation) (\s@CreatePackageResponse' {} a -> s {storageLocation = a} :: CreatePackageResponse)++instance Prelude.NFData CreatePackageResponse where+  rnf CreatePackageResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf storageLocation
+ gen/Amazonka/Panorama/CreatePackageImportJob.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.CreatePackageImportJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports a node package.+module Amazonka.Panorama.CreatePackageImportJob+  ( -- * Creating a Request+    CreatePackageImportJob (..),+    newCreatePackageImportJob,++    -- * Request Lenses+    createPackageImportJob_jobTags,+    createPackageImportJob_clientToken,+    createPackageImportJob_inputConfig,+    createPackageImportJob_jobType,+    createPackageImportJob_outputConfig,++    -- * Destructuring the Response+    CreatePackageImportJobResponse (..),+    newCreatePackageImportJobResponse,++    -- * Response Lenses+    createPackageImportJobResponse_httpStatus,+    createPackageImportJobResponse_jobId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePackageImportJob' smart constructor.+data CreatePackageImportJob = CreatePackageImportJob'+  { -- | Tags for the package import job.+    jobTags :: Prelude.Maybe [JobResourceTags],+    -- | A client token for the package import job.+    clientToken :: Prelude.Text,+    -- | An input config for the package import job.+    inputConfig :: PackageImportJobInputConfig,+    -- | A job type for the package import job.+    jobType :: PackageImportJobType,+    -- | An output config for the package import job.+    outputConfig :: PackageImportJobOutputConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePackageImportJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTags', 'createPackageImportJob_jobTags' - Tags for the package import job.+--+-- 'clientToken', 'createPackageImportJob_clientToken' - A client token for the package import job.+--+-- 'inputConfig', 'createPackageImportJob_inputConfig' - An input config for the package import job.+--+-- 'jobType', 'createPackageImportJob_jobType' - A job type for the package import job.+--+-- 'outputConfig', 'createPackageImportJob_outputConfig' - An output config for the package import job.+newCreatePackageImportJob ::+  -- | 'clientToken'+  Prelude.Text ->+  -- | 'inputConfig'+  PackageImportJobInputConfig ->+  -- | 'jobType'+  PackageImportJobType ->+  -- | 'outputConfig'+  PackageImportJobOutputConfig ->+  CreatePackageImportJob+newCreatePackageImportJob+  pClientToken_+  pInputConfig_+  pJobType_+  pOutputConfig_ =+    CreatePackageImportJob'+      { jobTags = Prelude.Nothing,+        clientToken = pClientToken_,+        inputConfig = pInputConfig_,+        jobType = pJobType_,+        outputConfig = pOutputConfig_+      }++-- | Tags for the package import job.+createPackageImportJob_jobTags :: Lens.Lens' CreatePackageImportJob (Prelude.Maybe [JobResourceTags])+createPackageImportJob_jobTags = Lens.lens (\CreatePackageImportJob' {jobTags} -> jobTags) (\s@CreatePackageImportJob' {} a -> s {jobTags = a} :: CreatePackageImportJob) Prelude.. Lens.mapping Lens.coerced++-- | A client token for the package import job.+createPackageImportJob_clientToken :: Lens.Lens' CreatePackageImportJob Prelude.Text+createPackageImportJob_clientToken = Lens.lens (\CreatePackageImportJob' {clientToken} -> clientToken) (\s@CreatePackageImportJob' {} a -> s {clientToken = a} :: CreatePackageImportJob)++-- | An input config for the package import job.+createPackageImportJob_inputConfig :: Lens.Lens' CreatePackageImportJob PackageImportJobInputConfig+createPackageImportJob_inputConfig = Lens.lens (\CreatePackageImportJob' {inputConfig} -> inputConfig) (\s@CreatePackageImportJob' {} a -> s {inputConfig = a} :: CreatePackageImportJob)++-- | A job type for the package import job.+createPackageImportJob_jobType :: Lens.Lens' CreatePackageImportJob PackageImportJobType+createPackageImportJob_jobType = Lens.lens (\CreatePackageImportJob' {jobType} -> jobType) (\s@CreatePackageImportJob' {} a -> s {jobType = a} :: CreatePackageImportJob)++-- | An output config for the package import job.+createPackageImportJob_outputConfig :: Lens.Lens' CreatePackageImportJob PackageImportJobOutputConfig+createPackageImportJob_outputConfig = Lens.lens (\CreatePackageImportJob' {outputConfig} -> outputConfig) (\s@CreatePackageImportJob' {} a -> s {outputConfig = a} :: CreatePackageImportJob)++instance Core.AWSRequest CreatePackageImportJob where+  type+    AWSResponse CreatePackageImportJob =+      CreatePackageImportJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreatePackageImportJobResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "JobId")+      )++instance Prelude.Hashable CreatePackageImportJob where+  hashWithSalt _salt CreatePackageImportJob' {..} =+    _salt+      `Prelude.hashWithSalt` jobTags+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` inputConfig+      `Prelude.hashWithSalt` jobType+      `Prelude.hashWithSalt` outputConfig++instance Prelude.NFData CreatePackageImportJob where+  rnf CreatePackageImportJob' {..} =+    Prelude.rnf jobTags+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobType+      `Prelude.seq` Prelude.rnf outputConfig++instance Data.ToHeaders CreatePackageImportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreatePackageImportJob where+  toJSON CreatePackageImportJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("JobTags" Data..=) Prelude.<$> jobTags,+            Prelude.Just ("ClientToken" Data..= clientToken),+            Prelude.Just ("InputConfig" Data..= inputConfig),+            Prelude.Just ("JobType" Data..= jobType),+            Prelude.Just ("OutputConfig" Data..= outputConfig)+          ]+      )++instance Data.ToPath CreatePackageImportJob where+  toPath = Prelude.const "/packages/import-jobs"++instance Data.ToQuery CreatePackageImportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePackageImportJobResponse' smart constructor.+data CreatePackageImportJobResponse = CreatePackageImportJobResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The job\'s ID.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePackageImportJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createPackageImportJobResponse_httpStatus' - The response's http status code.+--+-- 'jobId', 'createPackageImportJobResponse_jobId' - The job\'s ID.+newCreatePackageImportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'jobId'+  Prelude.Text ->+  CreatePackageImportJobResponse+newCreatePackageImportJobResponse+  pHttpStatus_+  pJobId_ =+    CreatePackageImportJobResponse'+      { httpStatus =+          pHttpStatus_,+        jobId = pJobId_+      }++-- | The response's http status code.+createPackageImportJobResponse_httpStatus :: Lens.Lens' CreatePackageImportJobResponse Prelude.Int+createPackageImportJobResponse_httpStatus = Lens.lens (\CreatePackageImportJobResponse' {httpStatus} -> httpStatus) (\s@CreatePackageImportJobResponse' {} a -> s {httpStatus = a} :: CreatePackageImportJobResponse)++-- | The job\'s ID.+createPackageImportJobResponse_jobId :: Lens.Lens' CreatePackageImportJobResponse Prelude.Text+createPackageImportJobResponse_jobId = Lens.lens (\CreatePackageImportJobResponse' {jobId} -> jobId) (\s@CreatePackageImportJobResponse' {} a -> s {jobId = a} :: CreatePackageImportJobResponse)++instance+  Prelude.NFData+    CreatePackageImportJobResponse+  where+  rnf CreatePackageImportJobResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf jobId
+ gen/Amazonka/Panorama/DeleteDevice.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.Panorama.DeleteDevice+-- 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.+module Amazonka.Panorama.DeleteDevice+  ( -- * Creating a Request+    DeleteDevice (..),+    newDeleteDevice,++    -- * Request Lenses+    deleteDevice_deviceId,++    -- * Destructuring the Response+    DeleteDeviceResponse (..),+    newDeleteDeviceResponse,++    -- * Response Lenses+    deleteDeviceResponse_deviceId,+    deleteDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDevice' smart constructor.+data DeleteDevice = DeleteDevice'+  { -- | The device\'s ID.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'deleteDevice_deviceId' - The device\'s ID.+newDeleteDevice ::+  -- | 'deviceId'+  Prelude.Text ->+  DeleteDevice+newDeleteDevice pDeviceId_ =+  DeleteDevice' {deviceId = pDeviceId_}++-- | The device\'s ID.+deleteDevice_deviceId :: Lens.Lens' DeleteDevice Prelude.Text+deleteDevice_deviceId = Lens.lens (\DeleteDevice' {deviceId} -> deviceId) (\s@DeleteDevice' {} a -> s {deviceId = a} :: DeleteDevice)++instance Core.AWSRequest DeleteDevice where+  type AWSResponse DeleteDevice = DeleteDeviceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDeviceResponse'+            Prelude.<$> (x Data..?> "DeviceId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDevice where+  hashWithSalt _salt DeleteDevice' {..} =+    _salt `Prelude.hashWithSalt` deviceId++instance Prelude.NFData DeleteDevice where+  rnf DeleteDevice' {..} = Prelude.rnf deviceId++instance Data.ToHeaders DeleteDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDevice where+  toPath DeleteDevice' {..} =+    Prelude.mconcat ["/devices/", Data.toBS deviceId]++instance Data.ToQuery DeleteDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDeviceResponse' smart constructor.+data DeleteDeviceResponse = DeleteDeviceResponse'+  { -- | The device\'s ID.+    deviceId :: 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 'DeleteDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'deleteDeviceResponse_deviceId' - The device\'s ID.+--+-- 'httpStatus', 'deleteDeviceResponse_httpStatus' - The response's http status code.+newDeleteDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDeviceResponse+newDeleteDeviceResponse pHttpStatus_ =+  DeleteDeviceResponse'+    { deviceId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The device\'s ID.+deleteDeviceResponse_deviceId :: Lens.Lens' DeleteDeviceResponse (Prelude.Maybe Prelude.Text)+deleteDeviceResponse_deviceId = Lens.lens (\DeleteDeviceResponse' {deviceId} -> deviceId) (\s@DeleteDeviceResponse' {} a -> s {deviceId = a} :: DeleteDeviceResponse)++-- | The response's http status code.+deleteDeviceResponse_httpStatus :: Lens.Lens' DeleteDeviceResponse Prelude.Int+deleteDeviceResponse_httpStatus = Lens.lens (\DeleteDeviceResponse' {httpStatus} -> httpStatus) (\s@DeleteDeviceResponse' {} a -> s {httpStatus = a} :: DeleteDeviceResponse)++instance Prelude.NFData DeleteDeviceResponse where+  rnf DeleteDeviceResponse' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DeletePackage.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.Panorama.DeletePackage+-- 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 package.+--+-- To delete a package, you need permission to call @s3:DeleteObject@ in+-- addition to permissions for the AWS Panorama API.+module Amazonka.Panorama.DeletePackage+  ( -- * Creating a Request+    DeletePackage (..),+    newDeletePackage,++    -- * Request Lenses+    deletePackage_forceDelete,+    deletePackage_packageId,++    -- * Destructuring the Response+    DeletePackageResponse (..),+    newDeletePackageResponse,++    -- * Response Lenses+    deletePackageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePackage' smart constructor.+data DeletePackage = DeletePackage'+  { -- | Delete the package even if it has artifacts stored in its access point.+    -- Deletes the package\'s artifacts from Amazon S3.+    forceDelete :: Prelude.Maybe Prelude.Bool,+    -- | The package\'s ID.+    packageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePackage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'forceDelete', 'deletePackage_forceDelete' - Delete the package even if it has artifacts stored in its access point.+-- Deletes the package\'s artifacts from Amazon S3.+--+-- 'packageId', 'deletePackage_packageId' - The package\'s ID.+newDeletePackage ::+  -- | 'packageId'+  Prelude.Text ->+  DeletePackage+newDeletePackage pPackageId_ =+  DeletePackage'+    { forceDelete = Prelude.Nothing,+      packageId = pPackageId_+    }++-- | Delete the package even if it has artifacts stored in its access point.+-- Deletes the package\'s artifacts from Amazon S3.+deletePackage_forceDelete :: Lens.Lens' DeletePackage (Prelude.Maybe Prelude.Bool)+deletePackage_forceDelete = Lens.lens (\DeletePackage' {forceDelete} -> forceDelete) (\s@DeletePackage' {} a -> s {forceDelete = a} :: DeletePackage)++-- | The package\'s ID.+deletePackage_packageId :: Lens.Lens' DeletePackage Prelude.Text+deletePackage_packageId = Lens.lens (\DeletePackage' {packageId} -> packageId) (\s@DeletePackage' {} a -> s {packageId = a} :: DeletePackage)++instance Core.AWSRequest DeletePackage where+  type+    AWSResponse DeletePackage =+      DeletePackageResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeletePackageResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeletePackage where+  hashWithSalt _salt DeletePackage' {..} =+    _salt+      `Prelude.hashWithSalt` forceDelete+      `Prelude.hashWithSalt` packageId++instance Prelude.NFData DeletePackage where+  rnf DeletePackage' {..} =+    Prelude.rnf forceDelete+      `Prelude.seq` Prelude.rnf packageId++instance Data.ToHeaders DeletePackage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeletePackage where+  toPath DeletePackage' {..} =+    Prelude.mconcat ["/packages/", Data.toBS packageId]++instance Data.ToQuery DeletePackage where+  toQuery DeletePackage' {..} =+    Prelude.mconcat ["ForceDelete" Data.=: forceDelete]++-- | /See:/ 'newDeletePackageResponse' smart constructor.+data DeletePackageResponse = DeletePackageResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePackageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePackageResponse_httpStatus' - The response's http status code.+newDeletePackageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeletePackageResponse+newDeletePackageResponse pHttpStatus_ =+  DeletePackageResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deletePackageResponse_httpStatus :: Lens.Lens' DeletePackageResponse Prelude.Int+deletePackageResponse_httpStatus = Lens.lens (\DeletePackageResponse' {httpStatus} -> httpStatus) (\s@DeletePackageResponse' {} a -> s {httpStatus = a} :: DeletePackageResponse)++instance Prelude.NFData DeletePackageResponse where+  rnf DeletePackageResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DeregisterPackageVersion.hs view
@@ -0,0 +1,221 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.DeregisterPackageVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deregisters a package version.+module Amazonka.Panorama.DeregisterPackageVersion+  ( -- * Creating a Request+    DeregisterPackageVersion (..),+    newDeregisterPackageVersion,++    -- * Request Lenses+    deregisterPackageVersion_ownerAccount,+    deregisterPackageVersion_updatedLatestPatchVersion,+    deregisterPackageVersion_packageId,+    deregisterPackageVersion_packageVersion,+    deregisterPackageVersion_patchVersion,++    -- * Destructuring the Response+    DeregisterPackageVersionResponse (..),+    newDeregisterPackageVersionResponse,++    -- * Response Lenses+    deregisterPackageVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeregisterPackageVersion' smart constructor.+data DeregisterPackageVersion = DeregisterPackageVersion'+  { -- | An owner account.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | If the version was marked latest, the new version to maker as latest.+    updatedLatestPatchVersion :: Prelude.Maybe Prelude.Text,+    -- | A package ID.+    packageId :: Prelude.Text,+    -- | A package version.+    packageVersion :: Prelude.Text,+    -- | A patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterPackageVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ownerAccount', 'deregisterPackageVersion_ownerAccount' - An owner account.+--+-- 'updatedLatestPatchVersion', 'deregisterPackageVersion_updatedLatestPatchVersion' - If the version was marked latest, the new version to maker as latest.+--+-- 'packageId', 'deregisterPackageVersion_packageId' - A package ID.+--+-- 'packageVersion', 'deregisterPackageVersion_packageVersion' - A package version.+--+-- 'patchVersion', 'deregisterPackageVersion_patchVersion' - A patch version.+newDeregisterPackageVersion ::+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  DeregisterPackageVersion+newDeregisterPackageVersion+  pPackageId_+  pPackageVersion_+  pPatchVersion_ =+    DeregisterPackageVersion'+      { ownerAccount =+          Prelude.Nothing,+        updatedLatestPatchVersion = Prelude.Nothing,+        packageId = pPackageId_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | An owner account.+deregisterPackageVersion_ownerAccount :: Lens.Lens' DeregisterPackageVersion (Prelude.Maybe Prelude.Text)+deregisterPackageVersion_ownerAccount = Lens.lens (\DeregisterPackageVersion' {ownerAccount} -> ownerAccount) (\s@DeregisterPackageVersion' {} a -> s {ownerAccount = a} :: DeregisterPackageVersion)++-- | If the version was marked latest, the new version to maker as latest.+deregisterPackageVersion_updatedLatestPatchVersion :: Lens.Lens' DeregisterPackageVersion (Prelude.Maybe Prelude.Text)+deregisterPackageVersion_updatedLatestPatchVersion = Lens.lens (\DeregisterPackageVersion' {updatedLatestPatchVersion} -> updatedLatestPatchVersion) (\s@DeregisterPackageVersion' {} a -> s {updatedLatestPatchVersion = a} :: DeregisterPackageVersion)++-- | A package ID.+deregisterPackageVersion_packageId :: Lens.Lens' DeregisterPackageVersion Prelude.Text+deregisterPackageVersion_packageId = Lens.lens (\DeregisterPackageVersion' {packageId} -> packageId) (\s@DeregisterPackageVersion' {} a -> s {packageId = a} :: DeregisterPackageVersion)++-- | A package version.+deregisterPackageVersion_packageVersion :: Lens.Lens' DeregisterPackageVersion Prelude.Text+deregisterPackageVersion_packageVersion = Lens.lens (\DeregisterPackageVersion' {packageVersion} -> packageVersion) (\s@DeregisterPackageVersion' {} a -> s {packageVersion = a} :: DeregisterPackageVersion)++-- | A patch version.+deregisterPackageVersion_patchVersion :: Lens.Lens' DeregisterPackageVersion Prelude.Text+deregisterPackageVersion_patchVersion = Lens.lens (\DeregisterPackageVersion' {patchVersion} -> patchVersion) (\s@DeregisterPackageVersion' {} a -> s {patchVersion = a} :: DeregisterPackageVersion)++instance Core.AWSRequest DeregisterPackageVersion where+  type+    AWSResponse DeregisterPackageVersion =+      DeregisterPackageVersionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeregisterPackageVersionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeregisterPackageVersion where+  hashWithSalt _salt DeregisterPackageVersion' {..} =+    _salt+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` updatedLatestPatchVersion+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData DeregisterPackageVersion where+  rnf DeregisterPackageVersion' {..} =+    Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf updatedLatestPatchVersion+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion++instance Data.ToHeaders DeregisterPackageVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeregisterPackageVersion where+  toPath DeregisterPackageVersion' {..} =+    Prelude.mconcat+      [ "/packages/",+        Data.toBS packageId,+        "/versions/",+        Data.toBS packageVersion,+        "/patch/",+        Data.toBS patchVersion+      ]++instance Data.ToQuery DeregisterPackageVersion where+  toQuery DeregisterPackageVersion' {..} =+    Prelude.mconcat+      [ "OwnerAccount" Data.=: ownerAccount,+        "UpdatedLatestPatchVersion"+          Data.=: updatedLatestPatchVersion+      ]++-- | /See:/ 'newDeregisterPackageVersionResponse' smart constructor.+data DeregisterPackageVersionResponse = DeregisterPackageVersionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterPackageVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deregisterPackageVersionResponse_httpStatus' - The response's http status code.+newDeregisterPackageVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeregisterPackageVersionResponse+newDeregisterPackageVersionResponse pHttpStatus_ =+  DeregisterPackageVersionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deregisterPackageVersionResponse_httpStatus :: Lens.Lens' DeregisterPackageVersionResponse Prelude.Int+deregisterPackageVersionResponse_httpStatus = Lens.lens (\DeregisterPackageVersionResponse' {httpStatus} -> httpStatus) (\s@DeregisterPackageVersionResponse' {} a -> s {httpStatus = a} :: DeregisterPackageVersionResponse)++instance+  Prelude.NFData+    DeregisterPackageVersionResponse+  where+  rnf DeregisterPackageVersionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DescribeApplicationInstance.hs view
@@ -0,0 +1,343 @@+{-# 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.Panorama.DescribeApplicationInstance+-- 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 information about an application instance on a device.+module Amazonka.Panorama.DescribeApplicationInstance+  ( -- * Creating a Request+    DescribeApplicationInstance (..),+    newDescribeApplicationInstance,++    -- * Request Lenses+    describeApplicationInstance_applicationInstanceId,++    -- * Destructuring the Response+    DescribeApplicationInstanceResponse (..),+    newDescribeApplicationInstanceResponse,++    -- * Response Lenses+    describeApplicationInstanceResponse_applicationInstanceId,+    describeApplicationInstanceResponse_applicationInstanceIdToReplace,+    describeApplicationInstanceResponse_arn,+    describeApplicationInstanceResponse_createdTime,+    describeApplicationInstanceResponse_defaultRuntimeContextDevice,+    describeApplicationInstanceResponse_defaultRuntimeContextDeviceName,+    describeApplicationInstanceResponse_description,+    describeApplicationInstanceResponse_healthStatus,+    describeApplicationInstanceResponse_lastUpdatedTime,+    describeApplicationInstanceResponse_name,+    describeApplicationInstanceResponse_runtimeContextStates,+    describeApplicationInstanceResponse_runtimeRoleArn,+    describeApplicationInstanceResponse_status,+    describeApplicationInstanceResponse_statusDescription,+    describeApplicationInstanceResponse_tags,+    describeApplicationInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeApplicationInstance' smart constructor.+data DescribeApplicationInstance = DescribeApplicationInstance'+  { -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApplicationInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'describeApplicationInstance_applicationInstanceId' - The application instance\'s ID.+newDescribeApplicationInstance ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  DescribeApplicationInstance+newDescribeApplicationInstance+  pApplicationInstanceId_ =+    DescribeApplicationInstance'+      { applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The application instance\'s ID.+describeApplicationInstance_applicationInstanceId :: Lens.Lens' DescribeApplicationInstance Prelude.Text+describeApplicationInstance_applicationInstanceId = Lens.lens (\DescribeApplicationInstance' {applicationInstanceId} -> applicationInstanceId) (\s@DescribeApplicationInstance' {} a -> s {applicationInstanceId = a} :: DescribeApplicationInstance)++instance Core.AWSRequest DescribeApplicationInstance where+  type+    AWSResponse DescribeApplicationInstance =+      DescribeApplicationInstanceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeApplicationInstanceResponse'+            Prelude.<$> (x Data..?> "ApplicationInstanceId")+            Prelude.<*> (x Data..?> "ApplicationInstanceIdToReplace")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "DefaultRuntimeContextDevice")+            Prelude.<*> (x Data..?> "DefaultRuntimeContextDeviceName")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "HealthStatus")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> ( x+                            Data..?> "RuntimeContextStates"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "RuntimeRoleArn")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "StatusDescription")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeApplicationInstance where+  hashWithSalt _salt DescribeApplicationInstance' {..} =+    _salt `Prelude.hashWithSalt` applicationInstanceId++instance Prelude.NFData DescribeApplicationInstance where+  rnf DescribeApplicationInstance' {..} =+    Prelude.rnf applicationInstanceId++instance Data.ToHeaders DescribeApplicationInstance where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeApplicationInstance where+  toPath DescribeApplicationInstance' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId+      ]++instance Data.ToQuery DescribeApplicationInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeApplicationInstanceResponse' smart constructor.+data DescribeApplicationInstanceResponse = DescribeApplicationInstanceResponse'+  { -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the application instance that this instance replaced.+    applicationInstanceIdToReplace :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | When the application instance was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s ID.+    defaultRuntimeContextDevice :: Prelude.Maybe Prelude.Text,+    -- | The device\'s bane.+    defaultRuntimeContextDeviceName :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s health status.+    healthStatus :: Prelude.Maybe ApplicationInstanceHealthStatus,+    -- | The application instance was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The application instance\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s state.+    runtimeContextStates :: Prelude.Maybe [ReportedRuntimeContextState],+    -- | The application instance\'s runtime role ARN.+    runtimeRoleArn :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s status.+    status :: Prelude.Maybe ApplicationInstanceStatus,+    -- | The application instance\'s status description.+    statusDescription :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApplicationInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'describeApplicationInstanceResponse_applicationInstanceId' - The application instance\'s ID.+--+-- 'applicationInstanceIdToReplace', 'describeApplicationInstanceResponse_applicationInstanceIdToReplace' - The ID of the application instance that this instance replaced.+--+-- 'arn', 'describeApplicationInstanceResponse_arn' - The application instance\'s ARN.+--+-- 'createdTime', 'describeApplicationInstanceResponse_createdTime' - When the application instance was created.+--+-- 'defaultRuntimeContextDevice', 'describeApplicationInstanceResponse_defaultRuntimeContextDevice' - The device\'s ID.+--+-- 'defaultRuntimeContextDeviceName', 'describeApplicationInstanceResponse_defaultRuntimeContextDeviceName' - The device\'s bane.+--+-- 'description', 'describeApplicationInstanceResponse_description' - The application instance\'s description.+--+-- 'healthStatus', 'describeApplicationInstanceResponse_healthStatus' - The application instance\'s health status.+--+-- 'lastUpdatedTime', 'describeApplicationInstanceResponse_lastUpdatedTime' - The application instance was updated.+--+-- 'name', 'describeApplicationInstanceResponse_name' - The application instance\'s name.+--+-- 'runtimeContextStates', 'describeApplicationInstanceResponse_runtimeContextStates' - The application instance\'s state.+--+-- 'runtimeRoleArn', 'describeApplicationInstanceResponse_runtimeRoleArn' - The application instance\'s runtime role ARN.+--+-- 'status', 'describeApplicationInstanceResponse_status' - The application instance\'s status.+--+-- 'statusDescription', 'describeApplicationInstanceResponse_statusDescription' - The application instance\'s status description.+--+-- 'tags', 'describeApplicationInstanceResponse_tags' - The application instance\'s tags.+--+-- 'httpStatus', 'describeApplicationInstanceResponse_httpStatus' - The response's http status code.+newDescribeApplicationInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeApplicationInstanceResponse+newDescribeApplicationInstanceResponse pHttpStatus_ =+  DescribeApplicationInstanceResponse'+    { applicationInstanceId =+        Prelude.Nothing,+      applicationInstanceIdToReplace =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      defaultRuntimeContextDevice =+        Prelude.Nothing,+      defaultRuntimeContextDeviceName =+        Prelude.Nothing,+      description = Prelude.Nothing,+      healthStatus = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      runtimeContextStates = Prelude.Nothing,+      runtimeRoleArn = Prelude.Nothing,+      status = Prelude.Nothing,+      statusDescription = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The application instance\'s ID.+describeApplicationInstanceResponse_applicationInstanceId :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_applicationInstanceId = Lens.lens (\DescribeApplicationInstanceResponse' {applicationInstanceId} -> applicationInstanceId) (\s@DescribeApplicationInstanceResponse' {} a -> s {applicationInstanceId = a} :: DescribeApplicationInstanceResponse)++-- | The ID of the application instance that this instance replaced.+describeApplicationInstanceResponse_applicationInstanceIdToReplace :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_applicationInstanceIdToReplace = Lens.lens (\DescribeApplicationInstanceResponse' {applicationInstanceIdToReplace} -> applicationInstanceIdToReplace) (\s@DescribeApplicationInstanceResponse' {} a -> s {applicationInstanceIdToReplace = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s ARN.+describeApplicationInstanceResponse_arn :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_arn = Lens.lens (\DescribeApplicationInstanceResponse' {arn} -> arn) (\s@DescribeApplicationInstanceResponse' {} a -> s {arn = a} :: DescribeApplicationInstanceResponse)++-- | When the application instance was created.+describeApplicationInstanceResponse_createdTime :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.UTCTime)+describeApplicationInstanceResponse_createdTime = Lens.lens (\DescribeApplicationInstanceResponse' {createdTime} -> createdTime) (\s@DescribeApplicationInstanceResponse' {} a -> s {createdTime = a} :: DescribeApplicationInstanceResponse) Prelude.. Lens.mapping Data._Time++-- | The device\'s ID.+describeApplicationInstanceResponse_defaultRuntimeContextDevice :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_defaultRuntimeContextDevice = Lens.lens (\DescribeApplicationInstanceResponse' {defaultRuntimeContextDevice} -> defaultRuntimeContextDevice) (\s@DescribeApplicationInstanceResponse' {} a -> s {defaultRuntimeContextDevice = a} :: DescribeApplicationInstanceResponse)++-- | The device\'s bane.+describeApplicationInstanceResponse_defaultRuntimeContextDeviceName :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_defaultRuntimeContextDeviceName = Lens.lens (\DescribeApplicationInstanceResponse' {defaultRuntimeContextDeviceName} -> defaultRuntimeContextDeviceName) (\s@DescribeApplicationInstanceResponse' {} a -> s {defaultRuntimeContextDeviceName = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s description.+describeApplicationInstanceResponse_description :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_description = Lens.lens (\DescribeApplicationInstanceResponse' {description} -> description) (\s@DescribeApplicationInstanceResponse' {} a -> s {description = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s health status.+describeApplicationInstanceResponse_healthStatus :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe ApplicationInstanceHealthStatus)+describeApplicationInstanceResponse_healthStatus = Lens.lens (\DescribeApplicationInstanceResponse' {healthStatus} -> healthStatus) (\s@DescribeApplicationInstanceResponse' {} a -> s {healthStatus = a} :: DescribeApplicationInstanceResponse)++-- | The application instance was updated.+describeApplicationInstanceResponse_lastUpdatedTime :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.UTCTime)+describeApplicationInstanceResponse_lastUpdatedTime = Lens.lens (\DescribeApplicationInstanceResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DescribeApplicationInstanceResponse' {} a -> s {lastUpdatedTime = a} :: DescribeApplicationInstanceResponse) Prelude.. Lens.mapping Data._Time++-- | The application instance\'s name.+describeApplicationInstanceResponse_name :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_name = Lens.lens (\DescribeApplicationInstanceResponse' {name} -> name) (\s@DescribeApplicationInstanceResponse' {} a -> s {name = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s state.+describeApplicationInstanceResponse_runtimeContextStates :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe [ReportedRuntimeContextState])+describeApplicationInstanceResponse_runtimeContextStates = Lens.lens (\DescribeApplicationInstanceResponse' {runtimeContextStates} -> runtimeContextStates) (\s@DescribeApplicationInstanceResponse' {} a -> s {runtimeContextStates = a} :: DescribeApplicationInstanceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The application instance\'s runtime role ARN.+describeApplicationInstanceResponse_runtimeRoleArn :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_runtimeRoleArn = Lens.lens (\DescribeApplicationInstanceResponse' {runtimeRoleArn} -> runtimeRoleArn) (\s@DescribeApplicationInstanceResponse' {} a -> s {runtimeRoleArn = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s status.+describeApplicationInstanceResponse_status :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe ApplicationInstanceStatus)+describeApplicationInstanceResponse_status = Lens.lens (\DescribeApplicationInstanceResponse' {status} -> status) (\s@DescribeApplicationInstanceResponse' {} a -> s {status = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s status description.+describeApplicationInstanceResponse_statusDescription :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceResponse_statusDescription = Lens.lens (\DescribeApplicationInstanceResponse' {statusDescription} -> statusDescription) (\s@DescribeApplicationInstanceResponse' {} a -> s {statusDescription = a} :: DescribeApplicationInstanceResponse)++-- | The application instance\'s tags.+describeApplicationInstanceResponse_tags :: Lens.Lens' DescribeApplicationInstanceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeApplicationInstanceResponse_tags = Lens.lens (\DescribeApplicationInstanceResponse' {tags} -> tags) (\s@DescribeApplicationInstanceResponse' {} a -> s {tags = a} :: DescribeApplicationInstanceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeApplicationInstanceResponse_httpStatus :: Lens.Lens' DescribeApplicationInstanceResponse Prelude.Int+describeApplicationInstanceResponse_httpStatus = Lens.lens (\DescribeApplicationInstanceResponse' {httpStatus} -> httpStatus) (\s@DescribeApplicationInstanceResponse' {} a -> s {httpStatus = a} :: DescribeApplicationInstanceResponse)++instance+  Prelude.NFData+    DescribeApplicationInstanceResponse+  where+  rnf DescribeApplicationInstanceResponse' {..} =+    Prelude.rnf applicationInstanceId+      `Prelude.seq` Prelude.rnf applicationInstanceIdToReplace+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDevice+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDeviceName+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf healthStatus+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf runtimeContextStates+      `Prelude.seq` Prelude.rnf runtimeRoleArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusDescription+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DescribeApplicationInstanceDetails.hs view
@@ -0,0 +1,280 @@+{-# 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.Panorama.DescribeApplicationInstanceDetails+-- 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 information about an application instance\'s configuration+-- manifest.+module Amazonka.Panorama.DescribeApplicationInstanceDetails+  ( -- * Creating a Request+    DescribeApplicationInstanceDetails (..),+    newDescribeApplicationInstanceDetails,++    -- * Request Lenses+    describeApplicationInstanceDetails_applicationInstanceId,++    -- * Destructuring the Response+    DescribeApplicationInstanceDetailsResponse (..),+    newDescribeApplicationInstanceDetailsResponse,++    -- * Response Lenses+    describeApplicationInstanceDetailsResponse_applicationInstanceId,+    describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace,+    describeApplicationInstanceDetailsResponse_createdTime,+    describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice,+    describeApplicationInstanceDetailsResponse_description,+    describeApplicationInstanceDetailsResponse_manifestOverridesPayload,+    describeApplicationInstanceDetailsResponse_manifestPayload,+    describeApplicationInstanceDetailsResponse_name,+    describeApplicationInstanceDetailsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeApplicationInstanceDetails' smart constructor.+data DescribeApplicationInstanceDetails = DescribeApplicationInstanceDetails'+  { -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApplicationInstanceDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'describeApplicationInstanceDetails_applicationInstanceId' - The application instance\'s ID.+newDescribeApplicationInstanceDetails ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  DescribeApplicationInstanceDetails+newDescribeApplicationInstanceDetails+  pApplicationInstanceId_ =+    DescribeApplicationInstanceDetails'+      { applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The application instance\'s ID.+describeApplicationInstanceDetails_applicationInstanceId :: Lens.Lens' DescribeApplicationInstanceDetails Prelude.Text+describeApplicationInstanceDetails_applicationInstanceId = Lens.lens (\DescribeApplicationInstanceDetails' {applicationInstanceId} -> applicationInstanceId) (\s@DescribeApplicationInstanceDetails' {} a -> s {applicationInstanceId = a} :: DescribeApplicationInstanceDetails)++instance+  Core.AWSRequest+    DescribeApplicationInstanceDetails+  where+  type+    AWSResponse DescribeApplicationInstanceDetails =+      DescribeApplicationInstanceDetailsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeApplicationInstanceDetailsResponse'+            Prelude.<$> (x Data..?> "ApplicationInstanceId")+            Prelude.<*> (x Data..?> "ApplicationInstanceIdToReplace")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "DefaultRuntimeContextDevice")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "ManifestOverridesPayload")+            Prelude.<*> (x Data..?> "ManifestPayload")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DescribeApplicationInstanceDetails+  where+  hashWithSalt+    _salt+    DescribeApplicationInstanceDetails' {..} =+      _salt `Prelude.hashWithSalt` applicationInstanceId++instance+  Prelude.NFData+    DescribeApplicationInstanceDetails+  where+  rnf DescribeApplicationInstanceDetails' {..} =+    Prelude.rnf applicationInstanceId++instance+  Data.ToHeaders+    DescribeApplicationInstanceDetails+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    DescribeApplicationInstanceDetails+  where+  toPath DescribeApplicationInstanceDetails' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId,+        "/details"+      ]++instance+  Data.ToQuery+    DescribeApplicationInstanceDetails+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeApplicationInstanceDetailsResponse' smart constructor.+data DescribeApplicationInstanceDetailsResponse = DescribeApplicationInstanceDetailsResponse'+  { -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the application instance that this instance replaced.+    applicationInstanceIdToReplace :: Prelude.Maybe Prelude.Text,+    -- | When the application instance was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The application instance\'s default runtime context device.+    defaultRuntimeContextDevice :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | Parameter overrides for the configuration manifest.+    manifestOverridesPayload :: Prelude.Maybe ManifestOverridesPayload,+    -- | The application instance\'s configuration manifest.+    manifestPayload :: Prelude.Maybe ManifestPayload,+    -- | The application instance\'s name.+    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 'DescribeApplicationInstanceDetailsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'describeApplicationInstanceDetailsResponse_applicationInstanceId' - The application instance\'s ID.+--+-- 'applicationInstanceIdToReplace', 'describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace' - The ID of the application instance that this instance replaced.+--+-- 'createdTime', 'describeApplicationInstanceDetailsResponse_createdTime' - When the application instance was created.+--+-- 'defaultRuntimeContextDevice', 'describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice' - The application instance\'s default runtime context device.+--+-- 'description', 'describeApplicationInstanceDetailsResponse_description' - The application instance\'s description.+--+-- 'manifestOverridesPayload', 'describeApplicationInstanceDetailsResponse_manifestOverridesPayload' - Parameter overrides for the configuration manifest.+--+-- 'manifestPayload', 'describeApplicationInstanceDetailsResponse_manifestPayload' - The application instance\'s configuration manifest.+--+-- 'name', 'describeApplicationInstanceDetailsResponse_name' - The application instance\'s name.+--+-- 'httpStatus', 'describeApplicationInstanceDetailsResponse_httpStatus' - The response's http status code.+newDescribeApplicationInstanceDetailsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeApplicationInstanceDetailsResponse+newDescribeApplicationInstanceDetailsResponse+  pHttpStatus_ =+    DescribeApplicationInstanceDetailsResponse'+      { applicationInstanceId =+          Prelude.Nothing,+        applicationInstanceIdToReplace =+          Prelude.Nothing,+        createdTime = Prelude.Nothing,+        defaultRuntimeContextDevice =+          Prelude.Nothing,+        description = Prelude.Nothing,+        manifestOverridesPayload =+          Prelude.Nothing,+        manifestPayload =+          Prelude.Nothing,+        name = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The application instance\'s ID.+describeApplicationInstanceDetailsResponse_applicationInstanceId :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceDetailsResponse_applicationInstanceId = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {applicationInstanceId} -> applicationInstanceId) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {applicationInstanceId = a} :: DescribeApplicationInstanceDetailsResponse)++-- | The ID of the application instance that this instance replaced.+describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {applicationInstanceIdToReplace} -> applicationInstanceIdToReplace) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {applicationInstanceIdToReplace = a} :: DescribeApplicationInstanceDetailsResponse)++-- | When the application instance was created.+describeApplicationInstanceDetailsResponse_createdTime :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.UTCTime)+describeApplicationInstanceDetailsResponse_createdTime = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {createdTime} -> createdTime) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {createdTime = a} :: DescribeApplicationInstanceDetailsResponse) Prelude.. Lens.mapping Data._Time++-- | The application instance\'s default runtime context device.+describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {defaultRuntimeContextDevice} -> defaultRuntimeContextDevice) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {defaultRuntimeContextDevice = a} :: DescribeApplicationInstanceDetailsResponse)++-- | The application instance\'s description.+describeApplicationInstanceDetailsResponse_description :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceDetailsResponse_description = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {description} -> description) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {description = a} :: DescribeApplicationInstanceDetailsResponse)++-- | Parameter overrides for the configuration manifest.+describeApplicationInstanceDetailsResponse_manifestOverridesPayload :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe ManifestOverridesPayload)+describeApplicationInstanceDetailsResponse_manifestOverridesPayload = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {manifestOverridesPayload} -> manifestOverridesPayload) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {manifestOverridesPayload = a} :: DescribeApplicationInstanceDetailsResponse)++-- | The application instance\'s configuration manifest.+describeApplicationInstanceDetailsResponse_manifestPayload :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe ManifestPayload)+describeApplicationInstanceDetailsResponse_manifestPayload = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {manifestPayload} -> manifestPayload) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {manifestPayload = a} :: DescribeApplicationInstanceDetailsResponse)++-- | The application instance\'s name.+describeApplicationInstanceDetailsResponse_name :: Lens.Lens' DescribeApplicationInstanceDetailsResponse (Prelude.Maybe Prelude.Text)+describeApplicationInstanceDetailsResponse_name = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {name} -> name) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {name = a} :: DescribeApplicationInstanceDetailsResponse)++-- | The response's http status code.+describeApplicationInstanceDetailsResponse_httpStatus :: Lens.Lens' DescribeApplicationInstanceDetailsResponse Prelude.Int+describeApplicationInstanceDetailsResponse_httpStatus = Lens.lens (\DescribeApplicationInstanceDetailsResponse' {httpStatus} -> httpStatus) (\s@DescribeApplicationInstanceDetailsResponse' {} a -> s {httpStatus = a} :: DescribeApplicationInstanceDetailsResponse)++instance+  Prelude.NFData+    DescribeApplicationInstanceDetailsResponse+  where+  rnf DescribeApplicationInstanceDetailsResponse' {..} =+    Prelude.rnf applicationInstanceId+      `Prelude.seq` Prelude.rnf applicationInstanceIdToReplace+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDevice+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf manifestOverridesPayload+      `Prelude.seq` Prelude.rnf manifestPayload+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DescribeDevice.hs view
@@ -0,0 +1,395 @@+{-# 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.Panorama.DescribeDevice+-- 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 information about a device.+module Amazonka.Panorama.DescribeDevice+  ( -- * Creating a Request+    DescribeDevice (..),+    newDescribeDevice,++    -- * Request Lenses+    describeDevice_deviceId,++    -- * Destructuring the Response+    DescribeDeviceResponse (..),+    newDescribeDeviceResponse,++    -- * Response Lenses+    describeDeviceResponse_alternateSoftwares,+    describeDeviceResponse_arn,+    describeDeviceResponse_brand,+    describeDeviceResponse_createdTime,+    describeDeviceResponse_currentNetworkingStatus,+    describeDeviceResponse_currentSoftware,+    describeDeviceResponse_description,+    describeDeviceResponse_deviceAggregatedStatus,+    describeDeviceResponse_deviceConnectionStatus,+    describeDeviceResponse_deviceId,+    describeDeviceResponse_latestAlternateSoftware,+    describeDeviceResponse_latestDeviceJob,+    describeDeviceResponse_latestSoftware,+    describeDeviceResponse_leaseExpirationTime,+    describeDeviceResponse_name,+    describeDeviceResponse_networkingConfiguration,+    describeDeviceResponse_provisioningStatus,+    describeDeviceResponse_serialNumber,+    describeDeviceResponse_tags,+    describeDeviceResponse_type,+    describeDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDevice' smart constructor.+data DescribeDevice = DescribeDevice'+  { -- | The device\'s ID.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'describeDevice_deviceId' - The device\'s ID.+newDescribeDevice ::+  -- | 'deviceId'+  Prelude.Text ->+  DescribeDevice+newDescribeDevice pDeviceId_ =+  DescribeDevice' {deviceId = pDeviceId_}++-- | The device\'s ID.+describeDevice_deviceId :: Lens.Lens' DescribeDevice Prelude.Text+describeDevice_deviceId = Lens.lens (\DescribeDevice' {deviceId} -> deviceId) (\s@DescribeDevice' {} a -> s {deviceId = a} :: DescribeDevice)++instance Core.AWSRequest DescribeDevice where+  type+    AWSResponse DescribeDevice =+      DescribeDeviceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDeviceResponse'+            Prelude.<$> ( x+                            Data..?> "AlternateSoftwares"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "Brand")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "CurrentNetworkingStatus")+            Prelude.<*> (x Data..?> "CurrentSoftware")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "DeviceAggregatedStatus")+            Prelude.<*> (x Data..?> "DeviceConnectionStatus")+            Prelude.<*> (x Data..?> "DeviceId")+            Prelude.<*> (x Data..?> "LatestAlternateSoftware")+            Prelude.<*> (x Data..?> "LatestDeviceJob")+            Prelude.<*> (x Data..?> "LatestSoftware")+            Prelude.<*> (x Data..?> "LeaseExpirationTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "NetworkingConfiguration")+            Prelude.<*> (x Data..?> "ProvisioningStatus")+            Prelude.<*> (x Data..?> "SerialNumber")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "Type")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDevice where+  hashWithSalt _salt DescribeDevice' {..} =+    _salt `Prelude.hashWithSalt` deviceId++instance Prelude.NFData DescribeDevice where+  rnf DescribeDevice' {..} = Prelude.rnf deviceId++instance Data.ToHeaders DescribeDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDevice where+  toPath DescribeDevice' {..} =+    Prelude.mconcat ["/devices/", Data.toBS deviceId]++instance Data.ToQuery DescribeDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDeviceResponse' smart constructor.+data DescribeDeviceResponse = DescribeDeviceResponse'+  { -- | Beta software releases available for the device.+    alternateSoftwares :: Prelude.Maybe [AlternateSoftwareMetadata],+    -- | The device\'s ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The device\'s maker.+    brand :: Prelude.Maybe DeviceBrand,+    -- | When the device was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s networking status.+    currentNetworkingStatus :: Prelude.Maybe NetworkStatus,+    -- | The device\'s current software version.+    currentSoftware :: Prelude.Maybe Prelude.Text,+    -- | The device\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | A device\'s aggregated status. Including the device\'s connection+    -- status, provisioning status, and lease status.+    deviceAggregatedStatus :: Prelude.Maybe DeviceAggregatedStatus,+    -- | The device\'s connection status.+    deviceConnectionStatus :: Prelude.Maybe DeviceConnectionStatus,+    -- | The device\'s ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The most recent beta software release.+    latestAlternateSoftware :: Prelude.Maybe Prelude.Text,+    -- | A device\'s latest job. Includes the target image version, and the job+    -- status.+    latestDeviceJob :: Prelude.Maybe LatestDeviceJob,+    -- | The latest software version available for the device.+    latestSoftware :: Prelude.Maybe Prelude.Text,+    -- | The device\'s lease expiration time.+    leaseExpirationTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The device\'s networking configuration.+    networkingConfiguration :: Prelude.Maybe NetworkPayload,+    -- | The device\'s provisioning status.+    provisioningStatus :: Prelude.Maybe DeviceStatus,+    -- | The device\'s serial number.+    serialNumber :: Prelude.Maybe Prelude.Text,+    -- | The device\'s tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The device\'s type.+    type' :: Prelude.Maybe DeviceType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alternateSoftwares', 'describeDeviceResponse_alternateSoftwares' - Beta software releases available for the device.+--+-- 'arn', 'describeDeviceResponse_arn' - The device\'s ARN.+--+-- 'brand', 'describeDeviceResponse_brand' - The device\'s maker.+--+-- 'createdTime', 'describeDeviceResponse_createdTime' - When the device was created.+--+-- 'currentNetworkingStatus', 'describeDeviceResponse_currentNetworkingStatus' - The device\'s networking status.+--+-- 'currentSoftware', 'describeDeviceResponse_currentSoftware' - The device\'s current software version.+--+-- 'description', 'describeDeviceResponse_description' - The device\'s description.+--+-- 'deviceAggregatedStatus', 'describeDeviceResponse_deviceAggregatedStatus' - A device\'s aggregated status. Including the device\'s connection+-- status, provisioning status, and lease status.+--+-- 'deviceConnectionStatus', 'describeDeviceResponse_deviceConnectionStatus' - The device\'s connection status.+--+-- 'deviceId', 'describeDeviceResponse_deviceId' - The device\'s ID.+--+-- 'latestAlternateSoftware', 'describeDeviceResponse_latestAlternateSoftware' - The most recent beta software release.+--+-- 'latestDeviceJob', 'describeDeviceResponse_latestDeviceJob' - A device\'s latest job. Includes the target image version, and the job+-- status.+--+-- 'latestSoftware', 'describeDeviceResponse_latestSoftware' - The latest software version available for the device.+--+-- 'leaseExpirationTime', 'describeDeviceResponse_leaseExpirationTime' - The device\'s lease expiration time.+--+-- 'name', 'describeDeviceResponse_name' - The device\'s name.+--+-- 'networkingConfiguration', 'describeDeviceResponse_networkingConfiguration' - The device\'s networking configuration.+--+-- 'provisioningStatus', 'describeDeviceResponse_provisioningStatus' - The device\'s provisioning status.+--+-- 'serialNumber', 'describeDeviceResponse_serialNumber' - The device\'s serial number.+--+-- 'tags', 'describeDeviceResponse_tags' - The device\'s tags.+--+-- 'type'', 'describeDeviceResponse_type' - The device\'s type.+--+-- 'httpStatus', 'describeDeviceResponse_httpStatus' - The response's http status code.+newDescribeDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDeviceResponse+newDescribeDeviceResponse pHttpStatus_ =+  DescribeDeviceResponse'+    { alternateSoftwares =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      brand = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      currentNetworkingStatus = Prelude.Nothing,+      currentSoftware = Prelude.Nothing,+      description = Prelude.Nothing,+      deviceAggregatedStatus = Prelude.Nothing,+      deviceConnectionStatus = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      latestAlternateSoftware = Prelude.Nothing,+      latestDeviceJob = Prelude.Nothing,+      latestSoftware = Prelude.Nothing,+      leaseExpirationTime = Prelude.Nothing,+      name = Prelude.Nothing,+      networkingConfiguration = Prelude.Nothing,+      provisioningStatus = Prelude.Nothing,+      serialNumber = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Beta software releases available for the device.+describeDeviceResponse_alternateSoftwares :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe [AlternateSoftwareMetadata])+describeDeviceResponse_alternateSoftwares = Lens.lens (\DescribeDeviceResponse' {alternateSoftwares} -> alternateSoftwares) (\s@DescribeDeviceResponse' {} a -> s {alternateSoftwares = a} :: DescribeDeviceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The device\'s ARN.+describeDeviceResponse_arn :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_arn = Lens.lens (\DescribeDeviceResponse' {arn} -> arn) (\s@DescribeDeviceResponse' {} a -> s {arn = a} :: DescribeDeviceResponse)++-- | The device\'s maker.+describeDeviceResponse_brand :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe DeviceBrand)+describeDeviceResponse_brand = Lens.lens (\DescribeDeviceResponse' {brand} -> brand) (\s@DescribeDeviceResponse' {} a -> s {brand = a} :: DescribeDeviceResponse)++-- | When the device was created.+describeDeviceResponse_createdTime :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.UTCTime)+describeDeviceResponse_createdTime = Lens.lens (\DescribeDeviceResponse' {createdTime} -> createdTime) (\s@DescribeDeviceResponse' {} a -> s {createdTime = a} :: DescribeDeviceResponse) Prelude.. Lens.mapping Data._Time++-- | The device\'s networking status.+describeDeviceResponse_currentNetworkingStatus :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe NetworkStatus)+describeDeviceResponse_currentNetworkingStatus = Lens.lens (\DescribeDeviceResponse' {currentNetworkingStatus} -> currentNetworkingStatus) (\s@DescribeDeviceResponse' {} a -> s {currentNetworkingStatus = a} :: DescribeDeviceResponse)++-- | The device\'s current software version.+describeDeviceResponse_currentSoftware :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_currentSoftware = Lens.lens (\DescribeDeviceResponse' {currentSoftware} -> currentSoftware) (\s@DescribeDeviceResponse' {} a -> s {currentSoftware = a} :: DescribeDeviceResponse)++-- | The device\'s description.+describeDeviceResponse_description :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_description = Lens.lens (\DescribeDeviceResponse' {description} -> description) (\s@DescribeDeviceResponse' {} a -> s {description = a} :: DescribeDeviceResponse)++-- | A device\'s aggregated status. Including the device\'s connection+-- status, provisioning status, and lease status.+describeDeviceResponse_deviceAggregatedStatus :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe DeviceAggregatedStatus)+describeDeviceResponse_deviceAggregatedStatus = Lens.lens (\DescribeDeviceResponse' {deviceAggregatedStatus} -> deviceAggregatedStatus) (\s@DescribeDeviceResponse' {} a -> s {deviceAggregatedStatus = a} :: DescribeDeviceResponse)++-- | The device\'s connection status.+describeDeviceResponse_deviceConnectionStatus :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe DeviceConnectionStatus)+describeDeviceResponse_deviceConnectionStatus = Lens.lens (\DescribeDeviceResponse' {deviceConnectionStatus} -> deviceConnectionStatus) (\s@DescribeDeviceResponse' {} a -> s {deviceConnectionStatus = a} :: DescribeDeviceResponse)++-- | The device\'s ID.+describeDeviceResponse_deviceId :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_deviceId = Lens.lens (\DescribeDeviceResponse' {deviceId} -> deviceId) (\s@DescribeDeviceResponse' {} a -> s {deviceId = a} :: DescribeDeviceResponse)++-- | The most recent beta software release.+describeDeviceResponse_latestAlternateSoftware :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_latestAlternateSoftware = Lens.lens (\DescribeDeviceResponse' {latestAlternateSoftware} -> latestAlternateSoftware) (\s@DescribeDeviceResponse' {} a -> s {latestAlternateSoftware = a} :: DescribeDeviceResponse)++-- | A device\'s latest job. Includes the target image version, and the job+-- status.+describeDeviceResponse_latestDeviceJob :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe LatestDeviceJob)+describeDeviceResponse_latestDeviceJob = Lens.lens (\DescribeDeviceResponse' {latestDeviceJob} -> latestDeviceJob) (\s@DescribeDeviceResponse' {} a -> s {latestDeviceJob = a} :: DescribeDeviceResponse)++-- | The latest software version available for the device.+describeDeviceResponse_latestSoftware :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_latestSoftware = Lens.lens (\DescribeDeviceResponse' {latestSoftware} -> latestSoftware) (\s@DescribeDeviceResponse' {} a -> s {latestSoftware = a} :: DescribeDeviceResponse)++-- | The device\'s lease expiration time.+describeDeviceResponse_leaseExpirationTime :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.UTCTime)+describeDeviceResponse_leaseExpirationTime = Lens.lens (\DescribeDeviceResponse' {leaseExpirationTime} -> leaseExpirationTime) (\s@DescribeDeviceResponse' {} a -> s {leaseExpirationTime = a} :: DescribeDeviceResponse) Prelude.. Lens.mapping Data._Time++-- | The device\'s name.+describeDeviceResponse_name :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_name = Lens.lens (\DescribeDeviceResponse' {name} -> name) (\s@DescribeDeviceResponse' {} a -> s {name = a} :: DescribeDeviceResponse)++-- | The device\'s networking configuration.+describeDeviceResponse_networkingConfiguration :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe NetworkPayload)+describeDeviceResponse_networkingConfiguration = Lens.lens (\DescribeDeviceResponse' {networkingConfiguration} -> networkingConfiguration) (\s@DescribeDeviceResponse' {} a -> s {networkingConfiguration = a} :: DescribeDeviceResponse)++-- | The device\'s provisioning status.+describeDeviceResponse_provisioningStatus :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe DeviceStatus)+describeDeviceResponse_provisioningStatus = Lens.lens (\DescribeDeviceResponse' {provisioningStatus} -> provisioningStatus) (\s@DescribeDeviceResponse' {} a -> s {provisioningStatus = a} :: DescribeDeviceResponse)++-- | The device\'s serial number.+describeDeviceResponse_serialNumber :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe Prelude.Text)+describeDeviceResponse_serialNumber = Lens.lens (\DescribeDeviceResponse' {serialNumber} -> serialNumber) (\s@DescribeDeviceResponse' {} a -> s {serialNumber = a} :: DescribeDeviceResponse)++-- | The device\'s tags.+describeDeviceResponse_tags :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeDeviceResponse_tags = Lens.lens (\DescribeDeviceResponse' {tags} -> tags) (\s@DescribeDeviceResponse' {} a -> s {tags = a} :: DescribeDeviceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The device\'s type.+describeDeviceResponse_type :: Lens.Lens' DescribeDeviceResponse (Prelude.Maybe DeviceType)+describeDeviceResponse_type = Lens.lens (\DescribeDeviceResponse' {type'} -> type') (\s@DescribeDeviceResponse' {} a -> s {type' = a} :: DescribeDeviceResponse)++-- | The response's http status code.+describeDeviceResponse_httpStatus :: Lens.Lens' DescribeDeviceResponse Prelude.Int+describeDeviceResponse_httpStatus = Lens.lens (\DescribeDeviceResponse' {httpStatus} -> httpStatus) (\s@DescribeDeviceResponse' {} a -> s {httpStatus = a} :: DescribeDeviceResponse)++instance Prelude.NFData DescribeDeviceResponse where+  rnf DescribeDeviceResponse' {..} =+    Prelude.rnf alternateSoftwares+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf brand+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf currentNetworkingStatus+      `Prelude.seq` Prelude.rnf currentSoftware+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf deviceAggregatedStatus+      `Prelude.seq` Prelude.rnf deviceConnectionStatus+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf latestAlternateSoftware+      `Prelude.seq` Prelude.rnf latestDeviceJob+      `Prelude.seq` Prelude.rnf latestSoftware+      `Prelude.seq` Prelude.rnf leaseExpirationTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkingConfiguration+      `Prelude.seq` Prelude.rnf provisioningStatus+      `Prelude.seq` Prelude.rnf serialNumber+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DescribeDeviceJob.hs view
@@ -0,0 +1,254 @@+{-# 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.Panorama.DescribeDeviceJob+-- 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 information about a device job.+module Amazonka.Panorama.DescribeDeviceJob+  ( -- * Creating a Request+    DescribeDeviceJob (..),+    newDescribeDeviceJob,++    -- * Request Lenses+    describeDeviceJob_jobId,++    -- * Destructuring the Response+    DescribeDeviceJobResponse (..),+    newDescribeDeviceJobResponse,++    -- * Response Lenses+    describeDeviceJobResponse_createdTime,+    describeDeviceJobResponse_deviceArn,+    describeDeviceJobResponse_deviceId,+    describeDeviceJobResponse_deviceName,+    describeDeviceJobResponse_deviceType,+    describeDeviceJobResponse_imageVersion,+    describeDeviceJobResponse_jobId,+    describeDeviceJobResponse_jobType,+    describeDeviceJobResponse_status,+    describeDeviceJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeDeviceJob' smart constructor.+data DescribeDeviceJob = DescribeDeviceJob'+  { -- | The job\'s ID.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDeviceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeDeviceJob_jobId' - The job\'s ID.+newDescribeDeviceJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeDeviceJob+newDescribeDeviceJob pJobId_ =+  DescribeDeviceJob' {jobId = pJobId_}++-- | The job\'s ID.+describeDeviceJob_jobId :: Lens.Lens' DescribeDeviceJob Prelude.Text+describeDeviceJob_jobId = Lens.lens (\DescribeDeviceJob' {jobId} -> jobId) (\s@DescribeDeviceJob' {} a -> s {jobId = a} :: DescribeDeviceJob)++instance Core.AWSRequest DescribeDeviceJob where+  type+    AWSResponse DescribeDeviceJob =+      DescribeDeviceJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeDeviceJobResponse'+            Prelude.<$> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "DeviceArn")+            Prelude.<*> (x Data..?> "DeviceId")+            Prelude.<*> (x Data..?> "DeviceName")+            Prelude.<*> (x Data..?> "DeviceType")+            Prelude.<*> (x Data..?> "ImageVersion")+            Prelude.<*> (x Data..?> "JobId")+            Prelude.<*> (x Data..?> "JobType")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeDeviceJob where+  hashWithSalt _salt DescribeDeviceJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeDeviceJob where+  rnf DescribeDeviceJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders DescribeDeviceJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeDeviceJob where+  toPath DescribeDeviceJob' {..} =+    Prelude.mconcat ["/jobs/", Data.toBS jobId]++instance Data.ToQuery DescribeDeviceJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeDeviceJobResponse' smart constructor.+data DescribeDeviceJobResponse = DescribeDeviceJobResponse'+  { -- | When the job was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s ARN.+    deviceArn :: Prelude.Maybe Prelude.Text,+    -- | The device\'s ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The device\'s name.+    deviceName :: Prelude.Maybe Prelude.Text,+    -- | The device\'s type.+    deviceType :: Prelude.Maybe DeviceType,+    -- | For an OTA job, the target version of the device software.+    imageVersion :: Prelude.Maybe Prelude.Text,+    -- | The job\'s ID.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The job\'s type.+    jobType :: Prelude.Maybe JobType,+    -- | The job\'s status.+    status :: Prelude.Maybe UpdateProgress,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeDeviceJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTime', 'describeDeviceJobResponse_createdTime' - When the job was created.+--+-- 'deviceArn', 'describeDeviceJobResponse_deviceArn' - The device\'s ARN.+--+-- 'deviceId', 'describeDeviceJobResponse_deviceId' - The device\'s ID.+--+-- 'deviceName', 'describeDeviceJobResponse_deviceName' - The device\'s name.+--+-- 'deviceType', 'describeDeviceJobResponse_deviceType' - The device\'s type.+--+-- 'imageVersion', 'describeDeviceJobResponse_imageVersion' - For an OTA job, the target version of the device software.+--+-- 'jobId', 'describeDeviceJobResponse_jobId' - The job\'s ID.+--+-- 'jobType', 'describeDeviceJobResponse_jobType' - The job\'s type.+--+-- 'status', 'describeDeviceJobResponse_status' - The job\'s status.+--+-- 'httpStatus', 'describeDeviceJobResponse_httpStatus' - The response's http status code.+newDescribeDeviceJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeDeviceJobResponse+newDescribeDeviceJobResponse pHttpStatus_ =+  DescribeDeviceJobResponse'+    { createdTime =+        Prelude.Nothing,+      deviceArn = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      deviceName = Prelude.Nothing,+      deviceType = Prelude.Nothing,+      imageVersion = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobType = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | When the job was created.+describeDeviceJobResponse_createdTime :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.UTCTime)+describeDeviceJobResponse_createdTime = Lens.lens (\DescribeDeviceJobResponse' {createdTime} -> createdTime) (\s@DescribeDeviceJobResponse' {} a -> s {createdTime = a} :: DescribeDeviceJobResponse) Prelude.. Lens.mapping Data._Time++-- | The device\'s ARN.+describeDeviceJobResponse_deviceArn :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.Text)+describeDeviceJobResponse_deviceArn = Lens.lens (\DescribeDeviceJobResponse' {deviceArn} -> deviceArn) (\s@DescribeDeviceJobResponse' {} a -> s {deviceArn = a} :: DescribeDeviceJobResponse)++-- | The device\'s ID.+describeDeviceJobResponse_deviceId :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.Text)+describeDeviceJobResponse_deviceId = Lens.lens (\DescribeDeviceJobResponse' {deviceId} -> deviceId) (\s@DescribeDeviceJobResponse' {} a -> s {deviceId = a} :: DescribeDeviceJobResponse)++-- | The device\'s name.+describeDeviceJobResponse_deviceName :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.Text)+describeDeviceJobResponse_deviceName = Lens.lens (\DescribeDeviceJobResponse' {deviceName} -> deviceName) (\s@DescribeDeviceJobResponse' {} a -> s {deviceName = a} :: DescribeDeviceJobResponse)++-- | The device\'s type.+describeDeviceJobResponse_deviceType :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe DeviceType)+describeDeviceJobResponse_deviceType = Lens.lens (\DescribeDeviceJobResponse' {deviceType} -> deviceType) (\s@DescribeDeviceJobResponse' {} a -> s {deviceType = a} :: DescribeDeviceJobResponse)++-- | For an OTA job, the target version of the device software.+describeDeviceJobResponse_imageVersion :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.Text)+describeDeviceJobResponse_imageVersion = Lens.lens (\DescribeDeviceJobResponse' {imageVersion} -> imageVersion) (\s@DescribeDeviceJobResponse' {} a -> s {imageVersion = a} :: DescribeDeviceJobResponse)++-- | The job\'s ID.+describeDeviceJobResponse_jobId :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe Prelude.Text)+describeDeviceJobResponse_jobId = Lens.lens (\DescribeDeviceJobResponse' {jobId} -> jobId) (\s@DescribeDeviceJobResponse' {} a -> s {jobId = a} :: DescribeDeviceJobResponse)++-- | The job\'s type.+describeDeviceJobResponse_jobType :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe JobType)+describeDeviceJobResponse_jobType = Lens.lens (\DescribeDeviceJobResponse' {jobType} -> jobType) (\s@DescribeDeviceJobResponse' {} a -> s {jobType = a} :: DescribeDeviceJobResponse)++-- | The job\'s status.+describeDeviceJobResponse_status :: Lens.Lens' DescribeDeviceJobResponse (Prelude.Maybe UpdateProgress)+describeDeviceJobResponse_status = Lens.lens (\DescribeDeviceJobResponse' {status} -> status) (\s@DescribeDeviceJobResponse' {} a -> s {status = a} :: DescribeDeviceJobResponse)++-- | The response's http status code.+describeDeviceJobResponse_httpStatus :: Lens.Lens' DescribeDeviceJobResponse Prelude.Int+describeDeviceJobResponse_httpStatus = Lens.lens (\DescribeDeviceJobResponse' {httpStatus} -> httpStatus) (\s@DescribeDeviceJobResponse' {} a -> s {httpStatus = a} :: DescribeDeviceJobResponse)++instance Prelude.NFData DescribeDeviceJobResponse where+  rnf DescribeDeviceJobResponse' {..} =+    Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf deviceArn+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf deviceName+      `Prelude.seq` Prelude.rnf deviceType+      `Prelude.seq` Prelude.rnf imageVersion+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/DescribeNode.hs view
@@ -0,0 +1,367 @@+{-# 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.Panorama.DescribeNode+-- 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 information about a node.+module Amazonka.Panorama.DescribeNode+  ( -- * Creating a Request+    DescribeNode (..),+    newDescribeNode,++    -- * Request Lenses+    describeNode_ownerAccount,+    describeNode_nodeId,++    -- * Destructuring the Response+    DescribeNodeResponse (..),+    newDescribeNodeResponse,++    -- * Response Lenses+    describeNodeResponse_assetName,+    describeNodeResponse_packageArn,+    describeNodeResponse_httpStatus,+    describeNodeResponse_category,+    describeNodeResponse_createdTime,+    describeNodeResponse_description,+    describeNodeResponse_lastUpdatedTime,+    describeNodeResponse_name,+    describeNodeResponse_nodeId,+    describeNodeResponse_nodeInterface,+    describeNodeResponse_ownerAccount,+    describeNodeResponse_packageId,+    describeNodeResponse_packageName,+    describeNodeResponse_packageVersion,+    describeNodeResponse_patchVersion,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeNode' smart constructor.+data DescribeNode = DescribeNode'+  { -- | The account ID of the node\'s owner.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | The node\'s ID.+    nodeId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNode' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ownerAccount', 'describeNode_ownerAccount' - The account ID of the node\'s owner.+--+-- 'nodeId', 'describeNode_nodeId' - The node\'s ID.+newDescribeNode ::+  -- | 'nodeId'+  Prelude.Text ->+  DescribeNode+newDescribeNode pNodeId_ =+  DescribeNode'+    { ownerAccount = Prelude.Nothing,+      nodeId = pNodeId_+    }++-- | The account ID of the node\'s owner.+describeNode_ownerAccount :: Lens.Lens' DescribeNode (Prelude.Maybe Prelude.Text)+describeNode_ownerAccount = Lens.lens (\DescribeNode' {ownerAccount} -> ownerAccount) (\s@DescribeNode' {} a -> s {ownerAccount = a} :: DescribeNode)++-- | The node\'s ID.+describeNode_nodeId :: Lens.Lens' DescribeNode Prelude.Text+describeNode_nodeId = Lens.lens (\DescribeNode' {nodeId} -> nodeId) (\s@DescribeNode' {} a -> s {nodeId = a} :: DescribeNode)++instance Core.AWSRequest DescribeNode where+  type AWSResponse DescribeNode = DescribeNodeResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeNodeResponse'+            Prelude.<$> (x Data..?> "AssetName")+            Prelude.<*> (x Data..?> "PackageArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Category")+            Prelude.<*> (x Data..:> "CreatedTime")+            Prelude.<*> (x Data..:> "Description")+            Prelude.<*> (x Data..:> "LastUpdatedTime")+            Prelude.<*> (x Data..:> "Name")+            Prelude.<*> (x Data..:> "NodeId")+            Prelude.<*> (x Data..:> "NodeInterface")+            Prelude.<*> (x Data..:> "OwnerAccount")+            Prelude.<*> (x Data..:> "PackageId")+            Prelude.<*> (x Data..:> "PackageName")+            Prelude.<*> (x Data..:> "PackageVersion")+            Prelude.<*> (x Data..:> "PatchVersion")+      )++instance Prelude.Hashable DescribeNode where+  hashWithSalt _salt DescribeNode' {..} =+    _salt+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` nodeId++instance Prelude.NFData DescribeNode where+  rnf DescribeNode' {..} =+    Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf nodeId++instance Data.ToHeaders DescribeNode where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeNode where+  toPath DescribeNode' {..} =+    Prelude.mconcat ["/nodes/", Data.toBS nodeId]++instance Data.ToQuery DescribeNode where+  toQuery DescribeNode' {..} =+    Prelude.mconcat+      ["OwnerAccount" Data.=: ownerAccount]++-- | /See:/ 'newDescribeNodeResponse' smart constructor.+data DescribeNodeResponse = DescribeNodeResponse'+  { -- | The node\'s asset name.+    assetName :: Prelude.Maybe Prelude.Text,+    -- | The node\'s ARN.+    packageArn :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The node\'s category.+    category :: NodeCategory,+    -- | When the node was created.+    createdTime :: Data.POSIX,+    -- | The node\'s description.+    description :: Prelude.Text,+    -- | When the node was updated.+    lastUpdatedTime :: Data.POSIX,+    -- | The node\'s name.+    name :: Prelude.Text,+    -- | The node\'s ID.+    nodeId :: Prelude.Text,+    -- | The node\'s interface.+    nodeInterface :: NodeInterface,+    -- | The account ID of the node\'s owner.+    ownerAccount :: Prelude.Text,+    -- | The node\'s package ID.+    packageId :: Prelude.Text,+    -- | The node\'s package name.+    packageName :: Prelude.Text,+    -- | The node\'s package version.+    packageVersion :: Prelude.Text,+    -- | The node\'s patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNodeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetName', 'describeNodeResponse_assetName' - The node\'s asset name.+--+-- 'packageArn', 'describeNodeResponse_packageArn' - The node\'s ARN.+--+-- 'httpStatus', 'describeNodeResponse_httpStatus' - The response's http status code.+--+-- 'category', 'describeNodeResponse_category' - The node\'s category.+--+-- 'createdTime', 'describeNodeResponse_createdTime' - When the node was created.+--+-- 'description', 'describeNodeResponse_description' - The node\'s description.+--+-- 'lastUpdatedTime', 'describeNodeResponse_lastUpdatedTime' - When the node was updated.+--+-- 'name', 'describeNodeResponse_name' - The node\'s name.+--+-- 'nodeId', 'describeNodeResponse_nodeId' - The node\'s ID.+--+-- 'nodeInterface', 'describeNodeResponse_nodeInterface' - The node\'s interface.+--+-- 'ownerAccount', 'describeNodeResponse_ownerAccount' - The account ID of the node\'s owner.+--+-- 'packageId', 'describeNodeResponse_packageId' - The node\'s package ID.+--+-- 'packageName', 'describeNodeResponse_packageName' - The node\'s package name.+--+-- 'packageVersion', 'describeNodeResponse_packageVersion' - The node\'s package version.+--+-- 'patchVersion', 'describeNodeResponse_patchVersion' - The node\'s patch version.+newDescribeNodeResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'category'+  NodeCategory ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'description'+  Prelude.Text ->+  -- | 'lastUpdatedTime'+  Prelude.UTCTime ->+  -- | 'name'+  Prelude.Text ->+  -- | 'nodeId'+  Prelude.Text ->+  -- | 'nodeInterface'+  NodeInterface ->+  -- | 'ownerAccount'+  Prelude.Text ->+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageName'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  DescribeNodeResponse+newDescribeNodeResponse+  pHttpStatus_+  pCategory_+  pCreatedTime_+  pDescription_+  pLastUpdatedTime_+  pName_+  pNodeId_+  pNodeInterface_+  pOwnerAccount_+  pPackageId_+  pPackageName_+  pPackageVersion_+  pPatchVersion_ =+    DescribeNodeResponse'+      { assetName = Prelude.Nothing,+        packageArn = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        category = pCategory_,+        createdTime = Data._Time Lens.# pCreatedTime_,+        description = pDescription_,+        lastUpdatedTime =+          Data._Time Lens.# pLastUpdatedTime_,+        name = pName_,+        nodeId = pNodeId_,+        nodeInterface = pNodeInterface_,+        ownerAccount = pOwnerAccount_,+        packageId = pPackageId_,+        packageName = pPackageName_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | The node\'s asset name.+describeNodeResponse_assetName :: Lens.Lens' DescribeNodeResponse (Prelude.Maybe Prelude.Text)+describeNodeResponse_assetName = Lens.lens (\DescribeNodeResponse' {assetName} -> assetName) (\s@DescribeNodeResponse' {} a -> s {assetName = a} :: DescribeNodeResponse)++-- | The node\'s ARN.+describeNodeResponse_packageArn :: Lens.Lens' DescribeNodeResponse (Prelude.Maybe Prelude.Text)+describeNodeResponse_packageArn = Lens.lens (\DescribeNodeResponse' {packageArn} -> packageArn) (\s@DescribeNodeResponse' {} a -> s {packageArn = a} :: DescribeNodeResponse)++-- | The response's http status code.+describeNodeResponse_httpStatus :: Lens.Lens' DescribeNodeResponse Prelude.Int+describeNodeResponse_httpStatus = Lens.lens (\DescribeNodeResponse' {httpStatus} -> httpStatus) (\s@DescribeNodeResponse' {} a -> s {httpStatus = a} :: DescribeNodeResponse)++-- | The node\'s category.+describeNodeResponse_category :: Lens.Lens' DescribeNodeResponse NodeCategory+describeNodeResponse_category = Lens.lens (\DescribeNodeResponse' {category} -> category) (\s@DescribeNodeResponse' {} a -> s {category = a} :: DescribeNodeResponse)++-- | When the node was created.+describeNodeResponse_createdTime :: Lens.Lens' DescribeNodeResponse Prelude.UTCTime+describeNodeResponse_createdTime = Lens.lens (\DescribeNodeResponse' {createdTime} -> createdTime) (\s@DescribeNodeResponse' {} a -> s {createdTime = a} :: DescribeNodeResponse) Prelude.. Data._Time++-- | The node\'s description.+describeNodeResponse_description :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_description = Lens.lens (\DescribeNodeResponse' {description} -> description) (\s@DescribeNodeResponse' {} a -> s {description = a} :: DescribeNodeResponse)++-- | When the node was updated.+describeNodeResponse_lastUpdatedTime :: Lens.Lens' DescribeNodeResponse Prelude.UTCTime+describeNodeResponse_lastUpdatedTime = Lens.lens (\DescribeNodeResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DescribeNodeResponse' {} a -> s {lastUpdatedTime = a} :: DescribeNodeResponse) Prelude.. Data._Time++-- | The node\'s name.+describeNodeResponse_name :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_name = Lens.lens (\DescribeNodeResponse' {name} -> name) (\s@DescribeNodeResponse' {} a -> s {name = a} :: DescribeNodeResponse)++-- | The node\'s ID.+describeNodeResponse_nodeId :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_nodeId = Lens.lens (\DescribeNodeResponse' {nodeId} -> nodeId) (\s@DescribeNodeResponse' {} a -> s {nodeId = a} :: DescribeNodeResponse)++-- | The node\'s interface.+describeNodeResponse_nodeInterface :: Lens.Lens' DescribeNodeResponse NodeInterface+describeNodeResponse_nodeInterface = Lens.lens (\DescribeNodeResponse' {nodeInterface} -> nodeInterface) (\s@DescribeNodeResponse' {} a -> s {nodeInterface = a} :: DescribeNodeResponse)++-- | The account ID of the node\'s owner.+describeNodeResponse_ownerAccount :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_ownerAccount = Lens.lens (\DescribeNodeResponse' {ownerAccount} -> ownerAccount) (\s@DescribeNodeResponse' {} a -> s {ownerAccount = a} :: DescribeNodeResponse)++-- | The node\'s package ID.+describeNodeResponse_packageId :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_packageId = Lens.lens (\DescribeNodeResponse' {packageId} -> packageId) (\s@DescribeNodeResponse' {} a -> s {packageId = a} :: DescribeNodeResponse)++-- | The node\'s package name.+describeNodeResponse_packageName :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_packageName = Lens.lens (\DescribeNodeResponse' {packageName} -> packageName) (\s@DescribeNodeResponse' {} a -> s {packageName = a} :: DescribeNodeResponse)++-- | The node\'s package version.+describeNodeResponse_packageVersion :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_packageVersion = Lens.lens (\DescribeNodeResponse' {packageVersion} -> packageVersion) (\s@DescribeNodeResponse' {} a -> s {packageVersion = a} :: DescribeNodeResponse)++-- | The node\'s patch version.+describeNodeResponse_patchVersion :: Lens.Lens' DescribeNodeResponse Prelude.Text+describeNodeResponse_patchVersion = Lens.lens (\DescribeNodeResponse' {patchVersion} -> patchVersion) (\s@DescribeNodeResponse' {} a -> s {patchVersion = a} :: DescribeNodeResponse)++instance Prelude.NFData DescribeNodeResponse where+  rnf DescribeNodeResponse' {..} =+    Prelude.rnf assetName+      `Prelude.seq` Prelude.rnf packageArn+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf nodeInterface+      `Prelude.seq` Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion
+ gen/Amazonka/Panorama/DescribeNodeFromTemplateJob.hs view
@@ -0,0 +1,330 @@+{-# 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.Panorama.DescribeNodeFromTemplateJob+-- 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 information about a job to create a camera stream node.+module Amazonka.Panorama.DescribeNodeFromTemplateJob+  ( -- * Creating a Request+    DescribeNodeFromTemplateJob (..),+    newDescribeNodeFromTemplateJob,++    -- * Request Lenses+    describeNodeFromTemplateJob_jobId,++    -- * Destructuring the Response+    DescribeNodeFromTemplateJobResponse (..),+    newDescribeNodeFromTemplateJobResponse,++    -- * Response Lenses+    describeNodeFromTemplateJobResponse_jobTags,+    describeNodeFromTemplateJobResponse_nodeDescription,+    describeNodeFromTemplateJobResponse_httpStatus,+    describeNodeFromTemplateJobResponse_createdTime,+    describeNodeFromTemplateJobResponse_jobId,+    describeNodeFromTemplateJobResponse_lastUpdatedTime,+    describeNodeFromTemplateJobResponse_nodeName,+    describeNodeFromTemplateJobResponse_outputPackageName,+    describeNodeFromTemplateJobResponse_outputPackageVersion,+    describeNodeFromTemplateJobResponse_status,+    describeNodeFromTemplateJobResponse_statusMessage,+    describeNodeFromTemplateJobResponse_templateParameters,+    describeNodeFromTemplateJobResponse_templateType,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeNodeFromTemplateJob' smart constructor.+data DescribeNodeFromTemplateJob = DescribeNodeFromTemplateJob'+  { -- | The job\'s ID.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNodeFromTemplateJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describeNodeFromTemplateJob_jobId' - The job\'s ID.+newDescribeNodeFromTemplateJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribeNodeFromTemplateJob+newDescribeNodeFromTemplateJob pJobId_ =+  DescribeNodeFromTemplateJob' {jobId = pJobId_}++-- | The job\'s ID.+describeNodeFromTemplateJob_jobId :: Lens.Lens' DescribeNodeFromTemplateJob Prelude.Text+describeNodeFromTemplateJob_jobId = Lens.lens (\DescribeNodeFromTemplateJob' {jobId} -> jobId) (\s@DescribeNodeFromTemplateJob' {} a -> s {jobId = a} :: DescribeNodeFromTemplateJob)++instance Core.AWSRequest DescribeNodeFromTemplateJob where+  type+    AWSResponse DescribeNodeFromTemplateJob =+      DescribeNodeFromTemplateJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeNodeFromTemplateJobResponse'+            Prelude.<$> (x Data..?> "JobTags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NodeDescription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "CreatedTime")+            Prelude.<*> (x Data..:> "JobId")+            Prelude.<*> (x Data..:> "LastUpdatedTime")+            Prelude.<*> (x Data..:> "NodeName")+            Prelude.<*> (x Data..:> "OutputPackageName")+            Prelude.<*> (x Data..:> "OutputPackageVersion")+            Prelude.<*> (x Data..:> "Status")+            Prelude.<*> (x Data..:> "StatusMessage")+            Prelude.<*> ( x+                            Data..?> "TemplateParameters"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..:> "TemplateType")+      )++instance Prelude.Hashable DescribeNodeFromTemplateJob where+  hashWithSalt _salt DescribeNodeFromTemplateJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeNodeFromTemplateJob where+  rnf DescribeNodeFromTemplateJob' {..} =+    Prelude.rnf jobId++instance Data.ToHeaders DescribeNodeFromTemplateJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeNodeFromTemplateJob where+  toPath DescribeNodeFromTemplateJob' {..} =+    Prelude.mconcat+      ["/packages/template-job/", Data.toBS jobId]++instance Data.ToQuery DescribeNodeFromTemplateJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeNodeFromTemplateJobResponse' smart constructor.+data DescribeNodeFromTemplateJobResponse = DescribeNodeFromTemplateJobResponse'+  { -- | The job\'s tags.+    jobTags :: Prelude.Maybe [JobResourceTags],+    -- | The node\'s description.+    nodeDescription :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | When the job was created.+    createdTime :: Data.POSIX,+    -- | The job\'s ID.+    jobId :: Prelude.Text,+    -- | When the job was updated.+    lastUpdatedTime :: Data.POSIX,+    -- | The node\'s name.+    nodeName :: Prelude.Text,+    -- | The job\'s output package name.+    outputPackageName :: Prelude.Text,+    -- | The job\'s output package version.+    outputPackageVersion :: Prelude.Text,+    -- | The job\'s status.+    status :: NodeFromTemplateJobStatus,+    -- | The job\'s status message.+    statusMessage :: Prelude.Text,+    -- | The job\'s template parameters.+    templateParameters :: Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text),+    -- | The job\'s template type.+    templateType :: TemplateType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeNodeFromTemplateJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobTags', 'describeNodeFromTemplateJobResponse_jobTags' - The job\'s tags.+--+-- 'nodeDescription', 'describeNodeFromTemplateJobResponse_nodeDescription' - The node\'s description.+--+-- 'httpStatus', 'describeNodeFromTemplateJobResponse_httpStatus' - The response's http status code.+--+-- 'createdTime', 'describeNodeFromTemplateJobResponse_createdTime' - When the job was created.+--+-- 'jobId', 'describeNodeFromTemplateJobResponse_jobId' - The job\'s ID.+--+-- 'lastUpdatedTime', 'describeNodeFromTemplateJobResponse_lastUpdatedTime' - When the job was updated.+--+-- 'nodeName', 'describeNodeFromTemplateJobResponse_nodeName' - The node\'s name.+--+-- 'outputPackageName', 'describeNodeFromTemplateJobResponse_outputPackageName' - The job\'s output package name.+--+-- 'outputPackageVersion', 'describeNodeFromTemplateJobResponse_outputPackageVersion' - The job\'s output package version.+--+-- 'status', 'describeNodeFromTemplateJobResponse_status' - The job\'s status.+--+-- 'statusMessage', 'describeNodeFromTemplateJobResponse_statusMessage' - The job\'s status message.+--+-- 'templateParameters', 'describeNodeFromTemplateJobResponse_templateParameters' - The job\'s template parameters.+--+-- 'templateType', 'describeNodeFromTemplateJobResponse_templateType' - The job\'s template type.+newDescribeNodeFromTemplateJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'jobId'+  Prelude.Text ->+  -- | 'lastUpdatedTime'+  Prelude.UTCTime ->+  -- | 'nodeName'+  Prelude.Text ->+  -- | 'outputPackageName'+  Prelude.Text ->+  -- | 'outputPackageVersion'+  Prelude.Text ->+  -- | 'status'+  NodeFromTemplateJobStatus ->+  -- | 'statusMessage'+  Prelude.Text ->+  -- | 'templateType'+  TemplateType ->+  DescribeNodeFromTemplateJobResponse+newDescribeNodeFromTemplateJobResponse+  pHttpStatus_+  pCreatedTime_+  pJobId_+  pLastUpdatedTime_+  pNodeName_+  pOutputPackageName_+  pOutputPackageVersion_+  pStatus_+  pStatusMessage_+  pTemplateType_ =+    DescribeNodeFromTemplateJobResponse'+      { jobTags =+          Prelude.Nothing,+        nodeDescription = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        createdTime =+          Data._Time Lens.# pCreatedTime_,+        jobId = pJobId_,+        lastUpdatedTime =+          Data._Time Lens.# pLastUpdatedTime_,+        nodeName = pNodeName_,+        outputPackageName =+          pOutputPackageName_,+        outputPackageVersion =+          pOutputPackageVersion_,+        status = pStatus_,+        statusMessage = pStatusMessage_,+        templateParameters = Prelude.mempty,+        templateType = pTemplateType_+      }++-- | The job\'s tags.+describeNodeFromTemplateJobResponse_jobTags :: Lens.Lens' DescribeNodeFromTemplateJobResponse (Prelude.Maybe [JobResourceTags])+describeNodeFromTemplateJobResponse_jobTags = Lens.lens (\DescribeNodeFromTemplateJobResponse' {jobTags} -> jobTags) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {jobTags = a} :: DescribeNodeFromTemplateJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The node\'s description.+describeNodeFromTemplateJobResponse_nodeDescription :: Lens.Lens' DescribeNodeFromTemplateJobResponse (Prelude.Maybe Prelude.Text)+describeNodeFromTemplateJobResponse_nodeDescription = Lens.lens (\DescribeNodeFromTemplateJobResponse' {nodeDescription} -> nodeDescription) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {nodeDescription = a} :: DescribeNodeFromTemplateJobResponse)++-- | The response's http status code.+describeNodeFromTemplateJobResponse_httpStatus :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Int+describeNodeFromTemplateJobResponse_httpStatus = Lens.lens (\DescribeNodeFromTemplateJobResponse' {httpStatus} -> httpStatus) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {httpStatus = a} :: DescribeNodeFromTemplateJobResponse)++-- | When the job was created.+describeNodeFromTemplateJobResponse_createdTime :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.UTCTime+describeNodeFromTemplateJobResponse_createdTime = Lens.lens (\DescribeNodeFromTemplateJobResponse' {createdTime} -> createdTime) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {createdTime = a} :: DescribeNodeFromTemplateJobResponse) Prelude.. Data._Time++-- | The job\'s ID.+describeNodeFromTemplateJobResponse_jobId :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Text+describeNodeFromTemplateJobResponse_jobId = Lens.lens (\DescribeNodeFromTemplateJobResponse' {jobId} -> jobId) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {jobId = a} :: DescribeNodeFromTemplateJobResponse)++-- | When the job was updated.+describeNodeFromTemplateJobResponse_lastUpdatedTime :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.UTCTime+describeNodeFromTemplateJobResponse_lastUpdatedTime = Lens.lens (\DescribeNodeFromTemplateJobResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {lastUpdatedTime = a} :: DescribeNodeFromTemplateJobResponse) Prelude.. Data._Time++-- | The node\'s name.+describeNodeFromTemplateJobResponse_nodeName :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Text+describeNodeFromTemplateJobResponse_nodeName = Lens.lens (\DescribeNodeFromTemplateJobResponse' {nodeName} -> nodeName) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {nodeName = a} :: DescribeNodeFromTemplateJobResponse)++-- | The job\'s output package name.+describeNodeFromTemplateJobResponse_outputPackageName :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Text+describeNodeFromTemplateJobResponse_outputPackageName = Lens.lens (\DescribeNodeFromTemplateJobResponse' {outputPackageName} -> outputPackageName) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {outputPackageName = a} :: DescribeNodeFromTemplateJobResponse)++-- | The job\'s output package version.+describeNodeFromTemplateJobResponse_outputPackageVersion :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Text+describeNodeFromTemplateJobResponse_outputPackageVersion = Lens.lens (\DescribeNodeFromTemplateJobResponse' {outputPackageVersion} -> outputPackageVersion) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {outputPackageVersion = a} :: DescribeNodeFromTemplateJobResponse)++-- | The job\'s status.+describeNodeFromTemplateJobResponse_status :: Lens.Lens' DescribeNodeFromTemplateJobResponse NodeFromTemplateJobStatus+describeNodeFromTemplateJobResponse_status = Lens.lens (\DescribeNodeFromTemplateJobResponse' {status} -> status) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {status = a} :: DescribeNodeFromTemplateJobResponse)++-- | The job\'s status message.+describeNodeFromTemplateJobResponse_statusMessage :: Lens.Lens' DescribeNodeFromTemplateJobResponse Prelude.Text+describeNodeFromTemplateJobResponse_statusMessage = Lens.lens (\DescribeNodeFromTemplateJobResponse' {statusMessage} -> statusMessage) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {statusMessage = a} :: DescribeNodeFromTemplateJobResponse)++-- | The job\'s template parameters.+describeNodeFromTemplateJobResponse_templateParameters :: Lens.Lens' DescribeNodeFromTemplateJobResponse (Prelude.HashMap Prelude.Text Prelude.Text)+describeNodeFromTemplateJobResponse_templateParameters = Lens.lens (\DescribeNodeFromTemplateJobResponse' {templateParameters} -> templateParameters) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {templateParameters = a} :: DescribeNodeFromTemplateJobResponse) Prelude.. Lens.coerced++-- | The job\'s template type.+describeNodeFromTemplateJobResponse_templateType :: Lens.Lens' DescribeNodeFromTemplateJobResponse TemplateType+describeNodeFromTemplateJobResponse_templateType = Lens.lens (\DescribeNodeFromTemplateJobResponse' {templateType} -> templateType) (\s@DescribeNodeFromTemplateJobResponse' {} a -> s {templateType = a} :: DescribeNodeFromTemplateJobResponse)++instance+  Prelude.NFData+    DescribeNodeFromTemplateJobResponse+  where+  rnf DescribeNodeFromTemplateJobResponse' {..} =+    Prelude.rnf jobTags+      `Prelude.seq` Prelude.rnf nodeDescription+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf nodeName+      `Prelude.seq` Prelude.rnf outputPackageName+      `Prelude.seq` Prelude.rnf outputPackageVersion+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf templateParameters+      `Prelude.seq` Prelude.rnf templateType
+ gen/Amazonka/Panorama/DescribePackage.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.DescribePackage+-- 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 information about a package.+module Amazonka.Panorama.DescribePackage+  ( -- * Creating a Request+    DescribePackage (..),+    newDescribePackage,++    -- * Request Lenses+    describePackage_packageId,++    -- * Destructuring the Response+    DescribePackageResponse (..),+    newDescribePackageResponse,++    -- * Response Lenses+    describePackageResponse_readAccessPrincipalArns,+    describePackageResponse_writeAccessPrincipalArns,+    describePackageResponse_httpStatus,+    describePackageResponse_arn,+    describePackageResponse_createdTime,+    describePackageResponse_packageId,+    describePackageResponse_packageName,+    describePackageResponse_storageLocation,+    describePackageResponse_tags,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePackage' smart constructor.+data DescribePackage = DescribePackage'+  { -- | The package\'s ID.+    packageId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'packageId', 'describePackage_packageId' - The package\'s ID.+newDescribePackage ::+  -- | 'packageId'+  Prelude.Text ->+  DescribePackage+newDescribePackage pPackageId_ =+  DescribePackage' {packageId = pPackageId_}++-- | The package\'s ID.+describePackage_packageId :: Lens.Lens' DescribePackage Prelude.Text+describePackage_packageId = Lens.lens (\DescribePackage' {packageId} -> packageId) (\s@DescribePackage' {} a -> s {packageId = a} :: DescribePackage)++instance Core.AWSRequest DescribePackage where+  type+    AWSResponse DescribePackage =+      DescribePackageResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePackageResponse'+            Prelude.<$> ( x+                            Data..?> "ReadAccessPrincipalArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "WriteAccessPrincipalArns"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "CreatedTime")+            Prelude.<*> (x Data..:> "PackageId")+            Prelude.<*> (x Data..:> "PackageName")+            Prelude.<*> (x Data..:> "StorageLocation")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable DescribePackage where+  hashWithSalt _salt DescribePackage' {..} =+    _salt `Prelude.hashWithSalt` packageId++instance Prelude.NFData DescribePackage where+  rnf DescribePackage' {..} = Prelude.rnf packageId++instance Data.ToHeaders DescribePackage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePackage where+  toPath DescribePackage' {..} =+    Prelude.mconcat+      ["/packages/metadata/", Data.toBS packageId]++instance Data.ToQuery DescribePackage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePackageResponse' smart constructor.+data DescribePackageResponse = DescribePackageResponse'+  { -- | ARNs of accounts that have read access to the package.+    readAccessPrincipalArns :: Prelude.Maybe [Prelude.Text],+    -- | ARNs of accounts that have write access to the package.+    writeAccessPrincipalArns :: Prelude.Maybe [Prelude.Text],+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The package\'s ARN.+    arn :: Prelude.Text,+    -- | When the package was created.+    createdTime :: Data.POSIX,+    -- | The package\'s ID.+    packageId :: Prelude.Text,+    -- | The package\'s name.+    packageName :: Prelude.Text,+    -- | The package\'s storage location.+    storageLocation :: StorageLocation,+    -- | The package\'s tags.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'readAccessPrincipalArns', 'describePackageResponse_readAccessPrincipalArns' - ARNs of accounts that have read access to the package.+--+-- 'writeAccessPrincipalArns', 'describePackageResponse_writeAccessPrincipalArns' - ARNs of accounts that have write access to the package.+--+-- 'httpStatus', 'describePackageResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'describePackageResponse_arn' - The package\'s ARN.+--+-- 'createdTime', 'describePackageResponse_createdTime' - When the package was created.+--+-- 'packageId', 'describePackageResponse_packageId' - The package\'s ID.+--+-- 'packageName', 'describePackageResponse_packageName' - The package\'s name.+--+-- 'storageLocation', 'describePackageResponse_storageLocation' - The package\'s storage location.+--+-- 'tags', 'describePackageResponse_tags' - The package\'s tags.+newDescribePackageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageName'+  Prelude.Text ->+  -- | 'storageLocation'+  StorageLocation ->+  DescribePackageResponse+newDescribePackageResponse+  pHttpStatus_+  pArn_+  pCreatedTime_+  pPackageId_+  pPackageName_+  pStorageLocation_ =+    DescribePackageResponse'+      { readAccessPrincipalArns =+          Prelude.Nothing,+        writeAccessPrincipalArns = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        createdTime = Data._Time Lens.# pCreatedTime_,+        packageId = pPackageId_,+        packageName = pPackageName_,+        storageLocation = pStorageLocation_,+        tags = Prelude.mempty+      }++-- | ARNs of accounts that have read access to the package.+describePackageResponse_readAccessPrincipalArns :: Lens.Lens' DescribePackageResponse (Prelude.Maybe [Prelude.Text])+describePackageResponse_readAccessPrincipalArns = Lens.lens (\DescribePackageResponse' {readAccessPrincipalArns} -> readAccessPrincipalArns) (\s@DescribePackageResponse' {} a -> s {readAccessPrincipalArns = a} :: DescribePackageResponse) Prelude.. Lens.mapping Lens.coerced++-- | ARNs of accounts that have write access to the package.+describePackageResponse_writeAccessPrincipalArns :: Lens.Lens' DescribePackageResponse (Prelude.Maybe [Prelude.Text])+describePackageResponse_writeAccessPrincipalArns = Lens.lens (\DescribePackageResponse' {writeAccessPrincipalArns} -> writeAccessPrincipalArns) (\s@DescribePackageResponse' {} a -> s {writeAccessPrincipalArns = a} :: DescribePackageResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describePackageResponse_httpStatus :: Lens.Lens' DescribePackageResponse Prelude.Int+describePackageResponse_httpStatus = Lens.lens (\DescribePackageResponse' {httpStatus} -> httpStatus) (\s@DescribePackageResponse' {} a -> s {httpStatus = a} :: DescribePackageResponse)++-- | The package\'s ARN.+describePackageResponse_arn :: Lens.Lens' DescribePackageResponse Prelude.Text+describePackageResponse_arn = Lens.lens (\DescribePackageResponse' {arn} -> arn) (\s@DescribePackageResponse' {} a -> s {arn = a} :: DescribePackageResponse)++-- | When the package was created.+describePackageResponse_createdTime :: Lens.Lens' DescribePackageResponse Prelude.UTCTime+describePackageResponse_createdTime = Lens.lens (\DescribePackageResponse' {createdTime} -> createdTime) (\s@DescribePackageResponse' {} a -> s {createdTime = a} :: DescribePackageResponse) Prelude.. Data._Time++-- | The package\'s ID.+describePackageResponse_packageId :: Lens.Lens' DescribePackageResponse Prelude.Text+describePackageResponse_packageId = Lens.lens (\DescribePackageResponse' {packageId} -> packageId) (\s@DescribePackageResponse' {} a -> s {packageId = a} :: DescribePackageResponse)++-- | The package\'s name.+describePackageResponse_packageName :: Lens.Lens' DescribePackageResponse Prelude.Text+describePackageResponse_packageName = Lens.lens (\DescribePackageResponse' {packageName} -> packageName) (\s@DescribePackageResponse' {} a -> s {packageName = a} :: DescribePackageResponse)++-- | The package\'s storage location.+describePackageResponse_storageLocation :: Lens.Lens' DescribePackageResponse StorageLocation+describePackageResponse_storageLocation = Lens.lens (\DescribePackageResponse' {storageLocation} -> storageLocation) (\s@DescribePackageResponse' {} a -> s {storageLocation = a} :: DescribePackageResponse)++-- | The package\'s tags.+describePackageResponse_tags :: Lens.Lens' DescribePackageResponse (Prelude.HashMap Prelude.Text Prelude.Text)+describePackageResponse_tags = Lens.lens (\DescribePackageResponse' {tags} -> tags) (\s@DescribePackageResponse' {} a -> s {tags = a} :: DescribePackageResponse) Prelude.. Lens.coerced++instance Prelude.NFData DescribePackageResponse where+  rnf DescribePackageResponse' {..} =+    Prelude.rnf readAccessPrincipalArns+      `Prelude.seq` Prelude.rnf writeAccessPrincipalArns+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf storageLocation+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Panorama/DescribePackageImportJob.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.DescribePackageImportJob+-- 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 information about a package import job.+module Amazonka.Panorama.DescribePackageImportJob+  ( -- * Creating a Request+    DescribePackageImportJob (..),+    newDescribePackageImportJob,++    -- * Request Lenses+    describePackageImportJob_jobId,++    -- * Destructuring the Response+    DescribePackageImportJobResponse (..),+    newDescribePackageImportJobResponse,++    -- * Response Lenses+    describePackageImportJobResponse_clientToken,+    describePackageImportJobResponse_jobTags,+    describePackageImportJobResponse_httpStatus,+    describePackageImportJobResponse_createdTime,+    describePackageImportJobResponse_inputConfig,+    describePackageImportJobResponse_jobId,+    describePackageImportJobResponse_jobType,+    describePackageImportJobResponse_lastUpdatedTime,+    describePackageImportJobResponse_output,+    describePackageImportJobResponse_outputConfig,+    describePackageImportJobResponse_status,+    describePackageImportJobResponse_statusMessage,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePackageImportJob' smart constructor.+data DescribePackageImportJob = DescribePackageImportJob'+  { -- | The job\'s ID.+    jobId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageImportJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'jobId', 'describePackageImportJob_jobId' - The job\'s ID.+newDescribePackageImportJob ::+  -- | 'jobId'+  Prelude.Text ->+  DescribePackageImportJob+newDescribePackageImportJob pJobId_ =+  DescribePackageImportJob' {jobId = pJobId_}++-- | The job\'s ID.+describePackageImportJob_jobId :: Lens.Lens' DescribePackageImportJob Prelude.Text+describePackageImportJob_jobId = Lens.lens (\DescribePackageImportJob' {jobId} -> jobId) (\s@DescribePackageImportJob' {} a -> s {jobId = a} :: DescribePackageImportJob)++instance Core.AWSRequest DescribePackageImportJob where+  type+    AWSResponse DescribePackageImportJob =+      DescribePackageImportJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePackageImportJobResponse'+            Prelude.<$> (x Data..?> "ClientToken")+            Prelude.<*> (x Data..?> "JobTags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "CreatedTime")+            Prelude.<*> (x Data..:> "InputConfig")+            Prelude.<*> (x Data..:> "JobId")+            Prelude.<*> (x Data..:> "JobType")+            Prelude.<*> (x Data..:> "LastUpdatedTime")+            Prelude.<*> (x Data..:> "Output")+            Prelude.<*> (x Data..:> "OutputConfig")+            Prelude.<*> (x Data..:> "Status")+            Prelude.<*> (x Data..:> "StatusMessage")+      )++instance Prelude.Hashable DescribePackageImportJob where+  hashWithSalt _salt DescribePackageImportJob' {..} =+    _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribePackageImportJob where+  rnf DescribePackageImportJob' {..} = Prelude.rnf jobId++instance Data.ToHeaders DescribePackageImportJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePackageImportJob where+  toPath DescribePackageImportJob' {..} =+    Prelude.mconcat+      ["/packages/import-jobs/", Data.toBS jobId]++instance Data.ToQuery DescribePackageImportJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribePackageImportJobResponse' smart constructor.+data DescribePackageImportJobResponse = DescribePackageImportJobResponse'+  { -- | The job\'s client token.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The job\'s tags.+    jobTags :: Prelude.Maybe [JobResourceTags],+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | When the job was created.+    createdTime :: Data.POSIX,+    -- | The job\'s input config.+    inputConfig :: PackageImportJobInputConfig,+    -- | The job\'s ID.+    jobId :: Prelude.Text,+    -- | The job\'s type.+    jobType :: PackageImportJobType,+    -- | When the job was updated.+    lastUpdatedTime :: Data.POSIX,+    -- | The job\'s output.+    output :: PackageImportJobOutput,+    -- | The job\'s output config.+    outputConfig :: PackageImportJobOutputConfig,+    -- | The job\'s status.+    status :: PackageImportJobStatus,+    -- | The job\'s status message.+    statusMessage :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageImportJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'describePackageImportJobResponse_clientToken' - The job\'s client token.+--+-- 'jobTags', 'describePackageImportJobResponse_jobTags' - The job\'s tags.+--+-- 'httpStatus', 'describePackageImportJobResponse_httpStatus' - The response's http status code.+--+-- 'createdTime', 'describePackageImportJobResponse_createdTime' - When the job was created.+--+-- 'inputConfig', 'describePackageImportJobResponse_inputConfig' - The job\'s input config.+--+-- 'jobId', 'describePackageImportJobResponse_jobId' - The job\'s ID.+--+-- 'jobType', 'describePackageImportJobResponse_jobType' - The job\'s type.+--+-- 'lastUpdatedTime', 'describePackageImportJobResponse_lastUpdatedTime' - When the job was updated.+--+-- 'output', 'describePackageImportJobResponse_output' - The job\'s output.+--+-- 'outputConfig', 'describePackageImportJobResponse_outputConfig' - The job\'s output config.+--+-- 'status', 'describePackageImportJobResponse_status' - The job\'s status.+--+-- 'statusMessage', 'describePackageImportJobResponse_statusMessage' - The job\'s status message.+newDescribePackageImportJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'inputConfig'+  PackageImportJobInputConfig ->+  -- | 'jobId'+  Prelude.Text ->+  -- | 'jobType'+  PackageImportJobType ->+  -- | 'lastUpdatedTime'+  Prelude.UTCTime ->+  -- | 'output'+  PackageImportJobOutput ->+  -- | 'outputConfig'+  PackageImportJobOutputConfig ->+  -- | 'status'+  PackageImportJobStatus ->+  -- | 'statusMessage'+  Prelude.Text ->+  DescribePackageImportJobResponse+newDescribePackageImportJobResponse+  pHttpStatus_+  pCreatedTime_+  pInputConfig_+  pJobId_+  pJobType_+  pLastUpdatedTime_+  pOutput_+  pOutputConfig_+  pStatus_+  pStatusMessage_ =+    DescribePackageImportJobResponse'+      { clientToken =+          Prelude.Nothing,+        jobTags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        createdTime =+          Data._Time Lens.# pCreatedTime_,+        inputConfig = pInputConfig_,+        jobId = pJobId_,+        jobType = pJobType_,+        lastUpdatedTime =+          Data._Time Lens.# pLastUpdatedTime_,+        output = pOutput_,+        outputConfig = pOutputConfig_,+        status = pStatus_,+        statusMessage = pStatusMessage_+      }++-- | The job\'s client token.+describePackageImportJobResponse_clientToken :: Lens.Lens' DescribePackageImportJobResponse (Prelude.Maybe Prelude.Text)+describePackageImportJobResponse_clientToken = Lens.lens (\DescribePackageImportJobResponse' {clientToken} -> clientToken) (\s@DescribePackageImportJobResponse' {} a -> s {clientToken = a} :: DescribePackageImportJobResponse)++-- | The job\'s tags.+describePackageImportJobResponse_jobTags :: Lens.Lens' DescribePackageImportJobResponse (Prelude.Maybe [JobResourceTags])+describePackageImportJobResponse_jobTags = Lens.lens (\DescribePackageImportJobResponse' {jobTags} -> jobTags) (\s@DescribePackageImportJobResponse' {} a -> s {jobTags = a} :: DescribePackageImportJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describePackageImportJobResponse_httpStatus :: Lens.Lens' DescribePackageImportJobResponse Prelude.Int+describePackageImportJobResponse_httpStatus = Lens.lens (\DescribePackageImportJobResponse' {httpStatus} -> httpStatus) (\s@DescribePackageImportJobResponse' {} a -> s {httpStatus = a} :: DescribePackageImportJobResponse)++-- | When the job was created.+describePackageImportJobResponse_createdTime :: Lens.Lens' DescribePackageImportJobResponse Prelude.UTCTime+describePackageImportJobResponse_createdTime = Lens.lens (\DescribePackageImportJobResponse' {createdTime} -> createdTime) (\s@DescribePackageImportJobResponse' {} a -> s {createdTime = a} :: DescribePackageImportJobResponse) Prelude.. Data._Time++-- | The job\'s input config.+describePackageImportJobResponse_inputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobInputConfig+describePackageImportJobResponse_inputConfig = Lens.lens (\DescribePackageImportJobResponse' {inputConfig} -> inputConfig) (\s@DescribePackageImportJobResponse' {} a -> s {inputConfig = a} :: DescribePackageImportJobResponse)++-- | The job\'s ID.+describePackageImportJobResponse_jobId :: Lens.Lens' DescribePackageImportJobResponse Prelude.Text+describePackageImportJobResponse_jobId = Lens.lens (\DescribePackageImportJobResponse' {jobId} -> jobId) (\s@DescribePackageImportJobResponse' {} a -> s {jobId = a} :: DescribePackageImportJobResponse)++-- | The job\'s type.+describePackageImportJobResponse_jobType :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobType+describePackageImportJobResponse_jobType = Lens.lens (\DescribePackageImportJobResponse' {jobType} -> jobType) (\s@DescribePackageImportJobResponse' {} a -> s {jobType = a} :: DescribePackageImportJobResponse)++-- | When the job was updated.+describePackageImportJobResponse_lastUpdatedTime :: Lens.Lens' DescribePackageImportJobResponse Prelude.UTCTime+describePackageImportJobResponse_lastUpdatedTime = Lens.lens (\DescribePackageImportJobResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DescribePackageImportJobResponse' {} a -> s {lastUpdatedTime = a} :: DescribePackageImportJobResponse) Prelude.. Data._Time++-- | The job\'s output.+describePackageImportJobResponse_output :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutput+describePackageImportJobResponse_output = Lens.lens (\DescribePackageImportJobResponse' {output} -> output) (\s@DescribePackageImportJobResponse' {} a -> s {output = a} :: DescribePackageImportJobResponse)++-- | The job\'s output config.+describePackageImportJobResponse_outputConfig :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobOutputConfig+describePackageImportJobResponse_outputConfig = Lens.lens (\DescribePackageImportJobResponse' {outputConfig} -> outputConfig) (\s@DescribePackageImportJobResponse' {} a -> s {outputConfig = a} :: DescribePackageImportJobResponse)++-- | The job\'s status.+describePackageImportJobResponse_status :: Lens.Lens' DescribePackageImportJobResponse PackageImportJobStatus+describePackageImportJobResponse_status = Lens.lens (\DescribePackageImportJobResponse' {status} -> status) (\s@DescribePackageImportJobResponse' {} a -> s {status = a} :: DescribePackageImportJobResponse)++-- | The job\'s status message.+describePackageImportJobResponse_statusMessage :: Lens.Lens' DescribePackageImportJobResponse Prelude.Text+describePackageImportJobResponse_statusMessage = Lens.lens (\DescribePackageImportJobResponse' {statusMessage} -> statusMessage) (\s@DescribePackageImportJobResponse' {} a -> s {statusMessage = a} :: DescribePackageImportJobResponse)++instance+  Prelude.NFData+    DescribePackageImportJobResponse+  where+  rnf DescribePackageImportJobResponse' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf jobTags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf inputConfig+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobType+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf output+      `Prelude.seq` Prelude.rnf outputConfig+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/Panorama/DescribePackageVersion.hs view
@@ -0,0 +1,342 @@+{-# 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.Panorama.DescribePackageVersion+-- 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 information about a package version.+module Amazonka.Panorama.DescribePackageVersion+  ( -- * Creating a Request+    DescribePackageVersion (..),+    newDescribePackageVersion,++    -- * Request Lenses+    describePackageVersion_ownerAccount,+    describePackageVersion_patchVersion,+    describePackageVersion_packageId,+    describePackageVersion_packageVersion,++    -- * Destructuring the Response+    DescribePackageVersionResponse (..),+    newDescribePackageVersionResponse,++    -- * Response Lenses+    describePackageVersionResponse_ownerAccount,+    describePackageVersionResponse_packageArn,+    describePackageVersionResponse_registeredTime,+    describePackageVersionResponse_statusDescription,+    describePackageVersionResponse_httpStatus,+    describePackageVersionResponse_isLatestPatch,+    describePackageVersionResponse_packageId,+    describePackageVersionResponse_packageName,+    describePackageVersionResponse_packageVersion,+    describePackageVersionResponse_patchVersion,+    describePackageVersionResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribePackageVersion' smart constructor.+data DescribePackageVersion = DescribePackageVersion'+  { -- | The version\'s owner account.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | The version\'s patch version.+    patchVersion :: Prelude.Maybe Prelude.Text,+    -- | The version\'s ID.+    packageId :: Prelude.Text,+    -- | The version\'s version.+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ownerAccount', 'describePackageVersion_ownerAccount' - The version\'s owner account.+--+-- 'patchVersion', 'describePackageVersion_patchVersion' - The version\'s patch version.+--+-- 'packageId', 'describePackageVersion_packageId' - The version\'s ID.+--+-- 'packageVersion', 'describePackageVersion_packageVersion' - The version\'s version.+newDescribePackageVersion ::+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  DescribePackageVersion+newDescribePackageVersion+  pPackageId_+  pPackageVersion_ =+    DescribePackageVersion'+      { ownerAccount =+          Prelude.Nothing,+        patchVersion = Prelude.Nothing,+        packageId = pPackageId_,+        packageVersion = pPackageVersion_+      }++-- | The version\'s owner account.+describePackageVersion_ownerAccount :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)+describePackageVersion_ownerAccount = Lens.lens (\DescribePackageVersion' {ownerAccount} -> ownerAccount) (\s@DescribePackageVersion' {} a -> s {ownerAccount = a} :: DescribePackageVersion)++-- | The version\'s patch version.+describePackageVersion_patchVersion :: Lens.Lens' DescribePackageVersion (Prelude.Maybe Prelude.Text)+describePackageVersion_patchVersion = Lens.lens (\DescribePackageVersion' {patchVersion} -> patchVersion) (\s@DescribePackageVersion' {} a -> s {patchVersion = a} :: DescribePackageVersion)++-- | The version\'s ID.+describePackageVersion_packageId :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_packageId = Lens.lens (\DescribePackageVersion' {packageId} -> packageId) (\s@DescribePackageVersion' {} a -> s {packageId = a} :: DescribePackageVersion)++-- | The version\'s version.+describePackageVersion_packageVersion :: Lens.Lens' DescribePackageVersion Prelude.Text+describePackageVersion_packageVersion = Lens.lens (\DescribePackageVersion' {packageVersion} -> packageVersion) (\s@DescribePackageVersion' {} a -> s {packageVersion = a} :: DescribePackageVersion)++instance Core.AWSRequest DescribePackageVersion where+  type+    AWSResponse DescribePackageVersion =+      DescribePackageVersionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribePackageVersionResponse'+            Prelude.<$> (x Data..?> "OwnerAccount")+            Prelude.<*> (x Data..?> "PackageArn")+            Prelude.<*> (x Data..?> "RegisteredTime")+            Prelude.<*> (x Data..?> "StatusDescription")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "IsLatestPatch")+            Prelude.<*> (x Data..:> "PackageId")+            Prelude.<*> (x Data..:> "PackageName")+            Prelude.<*> (x Data..:> "PackageVersion")+            Prelude.<*> (x Data..:> "PatchVersion")+            Prelude.<*> (x Data..:> "Status")+      )++instance Prelude.Hashable DescribePackageVersion where+  hashWithSalt _salt DescribePackageVersion' {..} =+    _salt+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` patchVersion+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageVersion++instance Prelude.NFData DescribePackageVersion where+  rnf DescribePackageVersion' {..} =+    Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf patchVersion+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageVersion++instance Data.ToHeaders DescribePackageVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribePackageVersion where+  toPath DescribePackageVersion' {..} =+    Prelude.mconcat+      [ "/packages/metadata/",+        Data.toBS packageId,+        "/versions/",+        Data.toBS packageVersion+      ]++instance Data.ToQuery DescribePackageVersion where+  toQuery DescribePackageVersion' {..} =+    Prelude.mconcat+      [ "OwnerAccount" Data.=: ownerAccount,+        "PatchVersion" Data.=: patchVersion+      ]++-- | /See:/ 'newDescribePackageVersionResponse' smart constructor.+data DescribePackageVersionResponse = DescribePackageVersionResponse'+  { -- | The account ID of the version\'s owner.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the package.+    packageArn :: Prelude.Maybe Prelude.Text,+    -- | The version\'s registered time.+    registeredTime :: Prelude.Maybe Data.POSIX,+    -- | The version\'s status description.+    statusDescription :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Whether the version is the latest available.+    isLatestPatch :: Prelude.Bool,+    -- | The version\'s ID.+    packageId :: Prelude.Text,+    -- | The version\'s name.+    packageName :: Prelude.Text,+    -- | The version\'s version.+    packageVersion :: Prelude.Text,+    -- | The version\'s patch version.+    patchVersion :: Prelude.Text,+    -- | The version\'s status.+    status :: PackageVersionStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribePackageVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ownerAccount', 'describePackageVersionResponse_ownerAccount' - The account ID of the version\'s owner.+--+-- 'packageArn', 'describePackageVersionResponse_packageArn' - The ARN of the package.+--+-- 'registeredTime', 'describePackageVersionResponse_registeredTime' - The version\'s registered time.+--+-- 'statusDescription', 'describePackageVersionResponse_statusDescription' - The version\'s status description.+--+-- 'httpStatus', 'describePackageVersionResponse_httpStatus' - The response's http status code.+--+-- 'isLatestPatch', 'describePackageVersionResponse_isLatestPatch' - Whether the version is the latest available.+--+-- 'packageId', 'describePackageVersionResponse_packageId' - The version\'s ID.+--+-- 'packageName', 'describePackageVersionResponse_packageName' - The version\'s name.+--+-- 'packageVersion', 'describePackageVersionResponse_packageVersion' - The version\'s version.+--+-- 'patchVersion', 'describePackageVersionResponse_patchVersion' - The version\'s patch version.+--+-- 'status', 'describePackageVersionResponse_status' - The version\'s status.+newDescribePackageVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'isLatestPatch'+  Prelude.Bool ->+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageName'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  -- | 'status'+  PackageVersionStatus ->+  DescribePackageVersionResponse+newDescribePackageVersionResponse+  pHttpStatus_+  pIsLatestPatch_+  pPackageId_+  pPackageName_+  pPackageVersion_+  pPatchVersion_+  pStatus_ =+    DescribePackageVersionResponse'+      { ownerAccount =+          Prelude.Nothing,+        packageArn = Prelude.Nothing,+        registeredTime = Prelude.Nothing,+        statusDescription = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        isLatestPatch = pIsLatestPatch_,+        packageId = pPackageId_,+        packageName = pPackageName_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_,+        status = pStatus_+      }++-- | The account ID of the version\'s owner.+describePackageVersionResponse_ownerAccount :: Lens.Lens' DescribePackageVersionResponse (Prelude.Maybe Prelude.Text)+describePackageVersionResponse_ownerAccount = Lens.lens (\DescribePackageVersionResponse' {ownerAccount} -> ownerAccount) (\s@DescribePackageVersionResponse' {} a -> s {ownerAccount = a} :: DescribePackageVersionResponse)++-- | The ARN of the package.+describePackageVersionResponse_packageArn :: Lens.Lens' DescribePackageVersionResponse (Prelude.Maybe Prelude.Text)+describePackageVersionResponse_packageArn = Lens.lens (\DescribePackageVersionResponse' {packageArn} -> packageArn) (\s@DescribePackageVersionResponse' {} a -> s {packageArn = a} :: DescribePackageVersionResponse)++-- | The version\'s registered time.+describePackageVersionResponse_registeredTime :: Lens.Lens' DescribePackageVersionResponse (Prelude.Maybe Prelude.UTCTime)+describePackageVersionResponse_registeredTime = Lens.lens (\DescribePackageVersionResponse' {registeredTime} -> registeredTime) (\s@DescribePackageVersionResponse' {} a -> s {registeredTime = a} :: DescribePackageVersionResponse) Prelude.. Lens.mapping Data._Time++-- | The version\'s status description.+describePackageVersionResponse_statusDescription :: Lens.Lens' DescribePackageVersionResponse (Prelude.Maybe Prelude.Text)+describePackageVersionResponse_statusDescription = Lens.lens (\DescribePackageVersionResponse' {statusDescription} -> statusDescription) (\s@DescribePackageVersionResponse' {} a -> s {statusDescription = a} :: DescribePackageVersionResponse)++-- | The response's http status code.+describePackageVersionResponse_httpStatus :: Lens.Lens' DescribePackageVersionResponse Prelude.Int+describePackageVersionResponse_httpStatus = Lens.lens (\DescribePackageVersionResponse' {httpStatus} -> httpStatus) (\s@DescribePackageVersionResponse' {} a -> s {httpStatus = a} :: DescribePackageVersionResponse)++-- | Whether the version is the latest available.+describePackageVersionResponse_isLatestPatch :: Lens.Lens' DescribePackageVersionResponse Prelude.Bool+describePackageVersionResponse_isLatestPatch = Lens.lens (\DescribePackageVersionResponse' {isLatestPatch} -> isLatestPatch) (\s@DescribePackageVersionResponse' {} a -> s {isLatestPatch = a} :: DescribePackageVersionResponse)++-- | The version\'s ID.+describePackageVersionResponse_packageId :: Lens.Lens' DescribePackageVersionResponse Prelude.Text+describePackageVersionResponse_packageId = Lens.lens (\DescribePackageVersionResponse' {packageId} -> packageId) (\s@DescribePackageVersionResponse' {} a -> s {packageId = a} :: DescribePackageVersionResponse)++-- | The version\'s name.+describePackageVersionResponse_packageName :: Lens.Lens' DescribePackageVersionResponse Prelude.Text+describePackageVersionResponse_packageName = Lens.lens (\DescribePackageVersionResponse' {packageName} -> packageName) (\s@DescribePackageVersionResponse' {} a -> s {packageName = a} :: DescribePackageVersionResponse)++-- | The version\'s version.+describePackageVersionResponse_packageVersion :: Lens.Lens' DescribePackageVersionResponse Prelude.Text+describePackageVersionResponse_packageVersion = Lens.lens (\DescribePackageVersionResponse' {packageVersion} -> packageVersion) (\s@DescribePackageVersionResponse' {} a -> s {packageVersion = a} :: DescribePackageVersionResponse)++-- | The version\'s patch version.+describePackageVersionResponse_patchVersion :: Lens.Lens' DescribePackageVersionResponse Prelude.Text+describePackageVersionResponse_patchVersion = Lens.lens (\DescribePackageVersionResponse' {patchVersion} -> patchVersion) (\s@DescribePackageVersionResponse' {} a -> s {patchVersion = a} :: DescribePackageVersionResponse)++-- | The version\'s status.+describePackageVersionResponse_status :: Lens.Lens' DescribePackageVersionResponse PackageVersionStatus+describePackageVersionResponse_status = Lens.lens (\DescribePackageVersionResponse' {status} -> status) (\s@DescribePackageVersionResponse' {} a -> s {status = a} :: DescribePackageVersionResponse)++instance+  Prelude.NFData+    DescribePackageVersionResponse+  where+  rnf DescribePackageVersionResponse' {..} =+    Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf packageArn+      `Prelude.seq` Prelude.rnf registeredTime+      `Prelude.seq` Prelude.rnf statusDescription+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf isLatestPatch+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Panorama/Lens.hs view
@@ -0,0 +1,641 @@+{-# 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.Panorama.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.Panorama.Lens+  ( -- * Operations++    -- ** CreateApplicationInstance+    createApplicationInstance_applicationInstanceIdToReplace,+    createApplicationInstance_description,+    createApplicationInstance_manifestOverridesPayload,+    createApplicationInstance_name,+    createApplicationInstance_runtimeRoleArn,+    createApplicationInstance_tags,+    createApplicationInstance_defaultRuntimeContextDevice,+    createApplicationInstance_manifestPayload,+    createApplicationInstanceResponse_httpStatus,+    createApplicationInstanceResponse_applicationInstanceId,++    -- ** CreateJobForDevices+    createJobForDevices_deviceJobConfig,+    createJobForDevices_deviceIds,+    createJobForDevices_jobType,+    createJobForDevicesResponse_httpStatus,+    createJobForDevicesResponse_jobs,++    -- ** CreateNodeFromTemplateJob+    createNodeFromTemplateJob_jobTags,+    createNodeFromTemplateJob_nodeDescription,+    createNodeFromTemplateJob_nodeName,+    createNodeFromTemplateJob_outputPackageName,+    createNodeFromTemplateJob_outputPackageVersion,+    createNodeFromTemplateJob_templateParameters,+    createNodeFromTemplateJob_templateType,+    createNodeFromTemplateJobResponse_httpStatus,+    createNodeFromTemplateJobResponse_jobId,++    -- ** CreatePackage+    createPackage_tags,+    createPackage_packageName,+    createPackageResponse_arn,+    createPackageResponse_packageId,+    createPackageResponse_httpStatus,+    createPackageResponse_storageLocation,++    -- ** CreatePackageImportJob+    createPackageImportJob_jobTags,+    createPackageImportJob_clientToken,+    createPackageImportJob_inputConfig,+    createPackageImportJob_jobType,+    createPackageImportJob_outputConfig,+    createPackageImportJobResponse_httpStatus,+    createPackageImportJobResponse_jobId,++    -- ** DeleteDevice+    deleteDevice_deviceId,+    deleteDeviceResponse_deviceId,+    deleteDeviceResponse_httpStatus,++    -- ** DeletePackage+    deletePackage_forceDelete,+    deletePackage_packageId,+    deletePackageResponse_httpStatus,++    -- ** DeregisterPackageVersion+    deregisterPackageVersion_ownerAccount,+    deregisterPackageVersion_updatedLatestPatchVersion,+    deregisterPackageVersion_packageId,+    deregisterPackageVersion_packageVersion,+    deregisterPackageVersion_patchVersion,+    deregisterPackageVersionResponse_httpStatus,++    -- ** DescribeApplicationInstance+    describeApplicationInstance_applicationInstanceId,+    describeApplicationInstanceResponse_applicationInstanceId,+    describeApplicationInstanceResponse_applicationInstanceIdToReplace,+    describeApplicationInstanceResponse_arn,+    describeApplicationInstanceResponse_createdTime,+    describeApplicationInstanceResponse_defaultRuntimeContextDevice,+    describeApplicationInstanceResponse_defaultRuntimeContextDeviceName,+    describeApplicationInstanceResponse_description,+    describeApplicationInstanceResponse_healthStatus,+    describeApplicationInstanceResponse_lastUpdatedTime,+    describeApplicationInstanceResponse_name,+    describeApplicationInstanceResponse_runtimeContextStates,+    describeApplicationInstanceResponse_runtimeRoleArn,+    describeApplicationInstanceResponse_status,+    describeApplicationInstanceResponse_statusDescription,+    describeApplicationInstanceResponse_tags,+    describeApplicationInstanceResponse_httpStatus,++    -- ** DescribeApplicationInstanceDetails+    describeApplicationInstanceDetails_applicationInstanceId,+    describeApplicationInstanceDetailsResponse_applicationInstanceId,+    describeApplicationInstanceDetailsResponse_applicationInstanceIdToReplace,+    describeApplicationInstanceDetailsResponse_createdTime,+    describeApplicationInstanceDetailsResponse_defaultRuntimeContextDevice,+    describeApplicationInstanceDetailsResponse_description,+    describeApplicationInstanceDetailsResponse_manifestOverridesPayload,+    describeApplicationInstanceDetailsResponse_manifestPayload,+    describeApplicationInstanceDetailsResponse_name,+    describeApplicationInstanceDetailsResponse_httpStatus,++    -- ** DescribeDevice+    describeDevice_deviceId,+    describeDeviceResponse_alternateSoftwares,+    describeDeviceResponse_arn,+    describeDeviceResponse_brand,+    describeDeviceResponse_createdTime,+    describeDeviceResponse_currentNetworkingStatus,+    describeDeviceResponse_currentSoftware,+    describeDeviceResponse_description,+    describeDeviceResponse_deviceAggregatedStatus,+    describeDeviceResponse_deviceConnectionStatus,+    describeDeviceResponse_deviceId,+    describeDeviceResponse_latestAlternateSoftware,+    describeDeviceResponse_latestDeviceJob,+    describeDeviceResponse_latestSoftware,+    describeDeviceResponse_leaseExpirationTime,+    describeDeviceResponse_name,+    describeDeviceResponse_networkingConfiguration,+    describeDeviceResponse_provisioningStatus,+    describeDeviceResponse_serialNumber,+    describeDeviceResponse_tags,+    describeDeviceResponse_type,+    describeDeviceResponse_httpStatus,++    -- ** DescribeDeviceJob+    describeDeviceJob_jobId,+    describeDeviceJobResponse_createdTime,+    describeDeviceJobResponse_deviceArn,+    describeDeviceJobResponse_deviceId,+    describeDeviceJobResponse_deviceName,+    describeDeviceJobResponse_deviceType,+    describeDeviceJobResponse_imageVersion,+    describeDeviceJobResponse_jobId,+    describeDeviceJobResponse_jobType,+    describeDeviceJobResponse_status,+    describeDeviceJobResponse_httpStatus,++    -- ** DescribeNode+    describeNode_ownerAccount,+    describeNode_nodeId,+    describeNodeResponse_assetName,+    describeNodeResponse_packageArn,+    describeNodeResponse_httpStatus,+    describeNodeResponse_category,+    describeNodeResponse_createdTime,+    describeNodeResponse_description,+    describeNodeResponse_lastUpdatedTime,+    describeNodeResponse_name,+    describeNodeResponse_nodeId,+    describeNodeResponse_nodeInterface,+    describeNodeResponse_ownerAccount,+    describeNodeResponse_packageId,+    describeNodeResponse_packageName,+    describeNodeResponse_packageVersion,+    describeNodeResponse_patchVersion,++    -- ** DescribeNodeFromTemplateJob+    describeNodeFromTemplateJob_jobId,+    describeNodeFromTemplateJobResponse_jobTags,+    describeNodeFromTemplateJobResponse_nodeDescription,+    describeNodeFromTemplateJobResponse_httpStatus,+    describeNodeFromTemplateJobResponse_createdTime,+    describeNodeFromTemplateJobResponse_jobId,+    describeNodeFromTemplateJobResponse_lastUpdatedTime,+    describeNodeFromTemplateJobResponse_nodeName,+    describeNodeFromTemplateJobResponse_outputPackageName,+    describeNodeFromTemplateJobResponse_outputPackageVersion,+    describeNodeFromTemplateJobResponse_status,+    describeNodeFromTemplateJobResponse_statusMessage,+    describeNodeFromTemplateJobResponse_templateParameters,+    describeNodeFromTemplateJobResponse_templateType,++    -- ** DescribePackage+    describePackage_packageId,+    describePackageResponse_readAccessPrincipalArns,+    describePackageResponse_writeAccessPrincipalArns,+    describePackageResponse_httpStatus,+    describePackageResponse_arn,+    describePackageResponse_createdTime,+    describePackageResponse_packageId,+    describePackageResponse_packageName,+    describePackageResponse_storageLocation,+    describePackageResponse_tags,++    -- ** DescribePackageImportJob+    describePackageImportJob_jobId,+    describePackageImportJobResponse_clientToken,+    describePackageImportJobResponse_jobTags,+    describePackageImportJobResponse_httpStatus,+    describePackageImportJobResponse_createdTime,+    describePackageImportJobResponse_inputConfig,+    describePackageImportJobResponse_jobId,+    describePackageImportJobResponse_jobType,+    describePackageImportJobResponse_lastUpdatedTime,+    describePackageImportJobResponse_output,+    describePackageImportJobResponse_outputConfig,+    describePackageImportJobResponse_status,+    describePackageImportJobResponse_statusMessage,++    -- ** DescribePackageVersion+    describePackageVersion_ownerAccount,+    describePackageVersion_patchVersion,+    describePackageVersion_packageId,+    describePackageVersion_packageVersion,+    describePackageVersionResponse_ownerAccount,+    describePackageVersionResponse_packageArn,+    describePackageVersionResponse_registeredTime,+    describePackageVersionResponse_statusDescription,+    describePackageVersionResponse_httpStatus,+    describePackageVersionResponse_isLatestPatch,+    describePackageVersionResponse_packageId,+    describePackageVersionResponse_packageName,+    describePackageVersionResponse_packageVersion,+    describePackageVersionResponse_patchVersion,+    describePackageVersionResponse_status,++    -- ** ListApplicationInstanceDependencies+    listApplicationInstanceDependencies_maxResults,+    listApplicationInstanceDependencies_nextToken,+    listApplicationInstanceDependencies_applicationInstanceId,+    listApplicationInstanceDependenciesResponse_nextToken,+    listApplicationInstanceDependenciesResponse_packageObjects,+    listApplicationInstanceDependenciesResponse_httpStatus,++    -- ** ListApplicationInstanceNodeInstances+    listApplicationInstanceNodeInstances_maxResults,+    listApplicationInstanceNodeInstances_nextToken,+    listApplicationInstanceNodeInstances_applicationInstanceId,+    listApplicationInstanceNodeInstancesResponse_nextToken,+    listApplicationInstanceNodeInstancesResponse_nodeInstances,+    listApplicationInstanceNodeInstancesResponse_httpStatus,++    -- ** ListApplicationInstances+    listApplicationInstances_deviceId,+    listApplicationInstances_maxResults,+    listApplicationInstances_nextToken,+    listApplicationInstances_statusFilter,+    listApplicationInstancesResponse_applicationInstances,+    listApplicationInstancesResponse_nextToken,+    listApplicationInstancesResponse_httpStatus,++    -- ** ListDevices+    listDevices_deviceAggregatedStatusFilter,+    listDevices_maxResults,+    listDevices_nameFilter,+    listDevices_nextToken,+    listDevices_sortBy,+    listDevices_sortOrder,+    listDevicesResponse_nextToken,+    listDevicesResponse_httpStatus,+    listDevicesResponse_devices,++    -- ** ListDevicesJobs+    listDevicesJobs_deviceId,+    listDevicesJobs_maxResults,+    listDevicesJobs_nextToken,+    listDevicesJobsResponse_deviceJobs,+    listDevicesJobsResponse_nextToken,+    listDevicesJobsResponse_httpStatus,++    -- ** ListNodeFromTemplateJobs+    listNodeFromTemplateJobs_maxResults,+    listNodeFromTemplateJobs_nextToken,+    listNodeFromTemplateJobsResponse_nextToken,+    listNodeFromTemplateJobsResponse_httpStatus,+    listNodeFromTemplateJobsResponse_nodeFromTemplateJobs,++    -- ** ListNodes+    listNodes_category,+    listNodes_maxResults,+    listNodes_nextToken,+    listNodes_ownerAccount,+    listNodes_packageName,+    listNodes_packageVersion,+    listNodes_patchVersion,+    listNodesResponse_nextToken,+    listNodesResponse_nodes,+    listNodesResponse_httpStatus,++    -- ** ListPackageImportJobs+    listPackageImportJobs_maxResults,+    listPackageImportJobs_nextToken,+    listPackageImportJobsResponse_nextToken,+    listPackageImportJobsResponse_httpStatus,+    listPackageImportJobsResponse_packageImportJobs,++    -- ** ListPackages+    listPackages_maxResults,+    listPackages_nextToken,+    listPackagesResponse_nextToken,+    listPackagesResponse_packages,+    listPackagesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ProvisionDevice+    provisionDevice_description,+    provisionDevice_networkingConfiguration,+    provisionDevice_tags,+    provisionDevice_name,+    provisionDeviceResponse_certificates,+    provisionDeviceResponse_deviceId,+    provisionDeviceResponse_iotThingName,+    provisionDeviceResponse_httpStatus,+    provisionDeviceResponse_arn,+    provisionDeviceResponse_status,++    -- ** RegisterPackageVersion+    registerPackageVersion_markLatest,+    registerPackageVersion_ownerAccount,+    registerPackageVersion_packageId,+    registerPackageVersion_packageVersion,+    registerPackageVersion_patchVersion,+    registerPackageVersionResponse_httpStatus,++    -- ** RemoveApplicationInstance+    removeApplicationInstance_applicationInstanceId,+    removeApplicationInstanceResponse_httpStatus,++    -- ** SignalApplicationInstanceNodeInstances+    signalApplicationInstanceNodeInstances_applicationInstanceId,+    signalApplicationInstanceNodeInstances_nodeSignals,+    signalApplicationInstanceNodeInstancesResponse_httpStatus,+    signalApplicationInstanceNodeInstancesResponse_applicationInstanceId,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateDeviceMetadata+    updateDeviceMetadata_description,+    updateDeviceMetadata_deviceId,+    updateDeviceMetadataResponse_deviceId,+    updateDeviceMetadataResponse_httpStatus,++    -- * Types++    -- ** AlternateSoftwareMetadata+    alternateSoftwareMetadata_version,++    -- ** ApplicationInstance+    applicationInstance_applicationInstanceId,+    applicationInstance_arn,+    applicationInstance_createdTime,+    applicationInstance_defaultRuntimeContextDevice,+    applicationInstance_defaultRuntimeContextDeviceName,+    applicationInstance_description,+    applicationInstance_healthStatus,+    applicationInstance_name,+    applicationInstance_runtimeContextStates,+    applicationInstance_status,+    applicationInstance_statusDescription,+    applicationInstance_tags,++    -- ** Device+    device_brand,+    device_createdTime,+    device_currentSoftware,+    device_description,+    device_deviceAggregatedStatus,+    device_deviceId,+    device_lastUpdatedTime,+    device_latestDeviceJob,+    device_leaseExpirationTime,+    device_name,+    device_provisioningStatus,+    device_tags,+    device_type,++    -- ** DeviceJob+    deviceJob_createdTime,+    deviceJob_deviceId,+    deviceJob_deviceName,+    deviceJob_jobId,+    deviceJob_jobType,++    -- ** DeviceJobConfig+    deviceJobConfig_oTAJobConfig,++    -- ** EthernetPayload+    ethernetPayload_staticIpConnectionInfo,+    ethernetPayload_connectionType,++    -- ** EthernetStatus+    ethernetStatus_connectionStatus,+    ethernetStatus_hwAddress,+    ethernetStatus_ipAddress,++    -- ** Job+    job_deviceId,+    job_jobId,++    -- ** JobResourceTags+    jobResourceTags_resourceType,+    jobResourceTags_tags,++    -- ** LatestDeviceJob+    latestDeviceJob_imageVersion,+    latestDeviceJob_jobType,+    latestDeviceJob_status,++    -- ** ManifestOverridesPayload+    manifestOverridesPayload_payloadData,++    -- ** ManifestPayload+    manifestPayload_payloadData,++    -- ** NetworkPayload+    networkPayload_ethernet0,+    networkPayload_ethernet1,+    networkPayload_ntp,++    -- ** NetworkStatus+    networkStatus_ethernet0Status,+    networkStatus_ethernet1Status,+    networkStatus_lastUpdatedTime,+    networkStatus_ntpStatus,++    -- ** Node+    node_description,+    node_ownerAccount,+    node_packageArn,+    node_category,+    node_createdTime,+    node_name,+    node_nodeId,+    node_packageId,+    node_packageName,+    node_packageVersion,+    node_patchVersion,++    -- ** NodeFromTemplateJob+    nodeFromTemplateJob_createdTime,+    nodeFromTemplateJob_jobId,+    nodeFromTemplateJob_nodeName,+    nodeFromTemplateJob_status,+    nodeFromTemplateJob_statusMessage,+    nodeFromTemplateJob_templateType,++    -- ** NodeInputPort+    nodeInputPort_defaultValue,+    nodeInputPort_description,+    nodeInputPort_maxConnections,+    nodeInputPort_name,+    nodeInputPort_type,++    -- ** NodeInstance+    nodeInstance_nodeId,+    nodeInstance_nodeName,+    nodeInstance_packageName,+    nodeInstance_packagePatchVersion,+    nodeInstance_packageVersion,+    nodeInstance_currentStatus,+    nodeInstance_nodeInstanceId,++    -- ** NodeInterface+    nodeInterface_inputs,+    nodeInterface_outputs,++    -- ** NodeOutputPort+    nodeOutputPort_description,+    nodeOutputPort_name,+    nodeOutputPort_type,++    -- ** NodeSignal+    nodeSignal_nodeInstanceId,+    nodeSignal_signal,++    -- ** NtpPayload+    ntpPayload_ntpServers,++    -- ** NtpStatus+    ntpStatus_connectionStatus,+    ntpStatus_ipAddress,+    ntpStatus_ntpServerName,++    -- ** OTAJobConfig+    oTAJobConfig_imageVersion,++    -- ** OutPutS3Location+    outPutS3Location_bucketName,+    outPutS3Location_objectKey,++    -- ** PackageImportJob+    packageImportJob_createdTime,+    packageImportJob_jobId,+    packageImportJob_jobType,+    packageImportJob_lastUpdatedTime,+    packageImportJob_status,+    packageImportJob_statusMessage,++    -- ** PackageImportJobInputConfig+    packageImportJobInputConfig_packageVersionInputConfig,++    -- ** PackageImportJobOutput+    packageImportJobOutput_outputS3Location,+    packageImportJobOutput_packageId,+    packageImportJobOutput_packageVersion,+    packageImportJobOutput_patchVersion,++    -- ** PackageImportJobOutputConfig+    packageImportJobOutputConfig_packageVersionOutputConfig,++    -- ** PackageListItem+    packageListItem_arn,+    packageListItem_createdTime,+    packageListItem_packageId,+    packageListItem_packageName,+    packageListItem_tags,++    -- ** PackageObject+    packageObject_name,+    packageObject_packageVersion,+    packageObject_patchVersion,++    -- ** PackageVersionInputConfig+    packageVersionInputConfig_s3Location,++    -- ** PackageVersionOutputConfig+    packageVersionOutputConfig_markLatest,+    packageVersionOutputConfig_packageName,+    packageVersionOutputConfig_packageVersion,++    -- ** ReportedRuntimeContextState+    reportedRuntimeContextState_desiredState,+    reportedRuntimeContextState_deviceReportedStatus,+    reportedRuntimeContextState_deviceReportedTime,+    reportedRuntimeContextState_runtimeContextName,++    -- ** S3Location+    s3Location_region,+    s3Location_bucketName,+    s3Location_objectKey,++    -- ** StaticIpConnectionInfo+    staticIpConnectionInfo_defaultGateway,+    staticIpConnectionInfo_dns,+    staticIpConnectionInfo_ipAddress,+    staticIpConnectionInfo_mask,++    -- ** StorageLocation+    storageLocation_binaryPrefixLocation,+    storageLocation_bucket,+    storageLocation_generatedPrefixLocation,+    storageLocation_manifestPrefixLocation,+    storageLocation_repoPrefixLocation,+  )+where++import Amazonka.Panorama.CreateApplicationInstance+import Amazonka.Panorama.CreateJobForDevices+import Amazonka.Panorama.CreateNodeFromTemplateJob+import Amazonka.Panorama.CreatePackage+import Amazonka.Panorama.CreatePackageImportJob+import Amazonka.Panorama.DeleteDevice+import Amazonka.Panorama.DeletePackage+import Amazonka.Panorama.DeregisterPackageVersion+import Amazonka.Panorama.DescribeApplicationInstance+import Amazonka.Panorama.DescribeApplicationInstanceDetails+import Amazonka.Panorama.DescribeDevice+import Amazonka.Panorama.DescribeDeviceJob+import Amazonka.Panorama.DescribeNode+import Amazonka.Panorama.DescribeNodeFromTemplateJob+import Amazonka.Panorama.DescribePackage+import Amazonka.Panorama.DescribePackageImportJob+import Amazonka.Panorama.DescribePackageVersion+import Amazonka.Panorama.ListApplicationInstanceDependencies+import Amazonka.Panorama.ListApplicationInstanceNodeInstances+import Amazonka.Panorama.ListApplicationInstances+import Amazonka.Panorama.ListDevices+import Amazonka.Panorama.ListDevicesJobs+import Amazonka.Panorama.ListNodeFromTemplateJobs+import Amazonka.Panorama.ListNodes+import Amazonka.Panorama.ListPackageImportJobs+import Amazonka.Panorama.ListPackages+import Amazonka.Panorama.ListTagsForResource+import Amazonka.Panorama.ProvisionDevice+import Amazonka.Panorama.RegisterPackageVersion+import Amazonka.Panorama.RemoveApplicationInstance+import Amazonka.Panorama.SignalApplicationInstanceNodeInstances+import Amazonka.Panorama.TagResource+import Amazonka.Panorama.Types.AlternateSoftwareMetadata+import Amazonka.Panorama.Types.ApplicationInstance+import Amazonka.Panorama.Types.Device+import Amazonka.Panorama.Types.DeviceJob+import Amazonka.Panorama.Types.DeviceJobConfig+import Amazonka.Panorama.Types.EthernetPayload+import Amazonka.Panorama.Types.EthernetStatus+import Amazonka.Panorama.Types.Job+import Amazonka.Panorama.Types.JobResourceTags+import Amazonka.Panorama.Types.LatestDeviceJob+import Amazonka.Panorama.Types.ManifestOverridesPayload+import Amazonka.Panorama.Types.ManifestPayload+import Amazonka.Panorama.Types.NetworkPayload+import Amazonka.Panorama.Types.NetworkStatus+import Amazonka.Panorama.Types.Node+import Amazonka.Panorama.Types.NodeFromTemplateJob+import Amazonka.Panorama.Types.NodeInputPort+import Amazonka.Panorama.Types.NodeInstance+import Amazonka.Panorama.Types.NodeInterface+import Amazonka.Panorama.Types.NodeOutputPort+import Amazonka.Panorama.Types.NodeSignal+import Amazonka.Panorama.Types.NtpPayload+import Amazonka.Panorama.Types.NtpStatus+import Amazonka.Panorama.Types.OTAJobConfig+import Amazonka.Panorama.Types.OutPutS3Location+import Amazonka.Panorama.Types.PackageImportJob+import Amazonka.Panorama.Types.PackageImportJobInputConfig+import Amazonka.Panorama.Types.PackageImportJobOutput+import Amazonka.Panorama.Types.PackageImportJobOutputConfig+import Amazonka.Panorama.Types.PackageListItem+import Amazonka.Panorama.Types.PackageObject+import Amazonka.Panorama.Types.PackageVersionInputConfig+import Amazonka.Panorama.Types.PackageVersionOutputConfig+import Amazonka.Panorama.Types.ReportedRuntimeContextState+import Amazonka.Panorama.Types.S3Location+import Amazonka.Panorama.Types.StaticIpConnectionInfo+import Amazonka.Panorama.Types.StorageLocation+import Amazonka.Panorama.UntagResource+import Amazonka.Panorama.UpdateDeviceMetadata
+ gen/Amazonka/Panorama/ListApplicationInstanceDependencies.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.ListApplicationInstanceDependencies+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of application instance dependencies.+module Amazonka.Panorama.ListApplicationInstanceDependencies+  ( -- * Creating a Request+    ListApplicationInstanceDependencies (..),+    newListApplicationInstanceDependencies,++    -- * Request Lenses+    listApplicationInstanceDependencies_maxResults,+    listApplicationInstanceDependencies_nextToken,+    listApplicationInstanceDependencies_applicationInstanceId,++    -- * Destructuring the Response+    ListApplicationInstanceDependenciesResponse (..),+    newListApplicationInstanceDependenciesResponse,++    -- * Response Lenses+    listApplicationInstanceDependenciesResponse_nextToken,+    listApplicationInstanceDependenciesResponse_packageObjects,+    listApplicationInstanceDependenciesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplicationInstanceDependencies' smart constructor.+data ListApplicationInstanceDependencies = ListApplicationInstanceDependencies'+  { -- | The maximum number of application instance dependencies to return in one+    -- page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationInstanceDependencies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplicationInstanceDependencies_maxResults' - The maximum number of application instance dependencies to return in one+-- page of results.+--+-- 'nextToken', 'listApplicationInstanceDependencies_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+--+-- 'applicationInstanceId', 'listApplicationInstanceDependencies_applicationInstanceId' - The application instance\'s ID.+newListApplicationInstanceDependencies ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  ListApplicationInstanceDependencies+newListApplicationInstanceDependencies+  pApplicationInstanceId_ =+    ListApplicationInstanceDependencies'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The maximum number of application instance dependencies to return in one+-- page of results.+listApplicationInstanceDependencies_maxResults :: Lens.Lens' ListApplicationInstanceDependencies (Prelude.Maybe Prelude.Natural)+listApplicationInstanceDependencies_maxResults = Lens.lens (\ListApplicationInstanceDependencies' {maxResults} -> maxResults) (\s@ListApplicationInstanceDependencies' {} a -> s {maxResults = a} :: ListApplicationInstanceDependencies)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listApplicationInstanceDependencies_nextToken :: Lens.Lens' ListApplicationInstanceDependencies (Prelude.Maybe Prelude.Text)+listApplicationInstanceDependencies_nextToken = Lens.lens (\ListApplicationInstanceDependencies' {nextToken} -> nextToken) (\s@ListApplicationInstanceDependencies' {} a -> s {nextToken = a} :: ListApplicationInstanceDependencies)++-- | The application instance\'s ID.+listApplicationInstanceDependencies_applicationInstanceId :: Lens.Lens' ListApplicationInstanceDependencies Prelude.Text+listApplicationInstanceDependencies_applicationInstanceId = Lens.lens (\ListApplicationInstanceDependencies' {applicationInstanceId} -> applicationInstanceId) (\s@ListApplicationInstanceDependencies' {} a -> s {applicationInstanceId = a} :: ListApplicationInstanceDependencies)++instance+  Core.AWSRequest+    ListApplicationInstanceDependencies+  where+  type+    AWSResponse ListApplicationInstanceDependencies =+      ListApplicationInstanceDependenciesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationInstanceDependenciesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "PackageObjects" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListApplicationInstanceDependencies+  where+  hashWithSalt+    _salt+    ListApplicationInstanceDependencies' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` applicationInstanceId++instance+  Prelude.NFData+    ListApplicationInstanceDependencies+  where+  rnf ListApplicationInstanceDependencies' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf applicationInstanceId++instance+  Data.ToHeaders+    ListApplicationInstanceDependencies+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    ListApplicationInstanceDependencies+  where+  toPath ListApplicationInstanceDependencies' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId,+        "/package-dependencies"+      ]++instance+  Data.ToQuery+    ListApplicationInstanceDependencies+  where+  toQuery ListApplicationInstanceDependencies' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListApplicationInstanceDependenciesResponse' smart constructor.+data ListApplicationInstanceDependenciesResponse = ListApplicationInstanceDependenciesResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of package objects.+    packageObjects :: Prelude.Maybe [PackageObject],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationInstanceDependenciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplicationInstanceDependenciesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'packageObjects', 'listApplicationInstanceDependenciesResponse_packageObjects' - A list of package objects.+--+-- 'httpStatus', 'listApplicationInstanceDependenciesResponse_httpStatus' - The response's http status code.+newListApplicationInstanceDependenciesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationInstanceDependenciesResponse+newListApplicationInstanceDependenciesResponse+  pHttpStatus_ =+    ListApplicationInstanceDependenciesResponse'+      { nextToken =+          Prelude.Nothing,+        packageObjects =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A pagination token that\'s included if more results are available.+listApplicationInstanceDependenciesResponse_nextToken :: Lens.Lens' ListApplicationInstanceDependenciesResponse (Prelude.Maybe Prelude.Text)+listApplicationInstanceDependenciesResponse_nextToken = Lens.lens (\ListApplicationInstanceDependenciesResponse' {nextToken} -> nextToken) (\s@ListApplicationInstanceDependenciesResponse' {} a -> s {nextToken = a} :: ListApplicationInstanceDependenciesResponse)++-- | A list of package objects.+listApplicationInstanceDependenciesResponse_packageObjects :: Lens.Lens' ListApplicationInstanceDependenciesResponse (Prelude.Maybe [PackageObject])+listApplicationInstanceDependenciesResponse_packageObjects = Lens.lens (\ListApplicationInstanceDependenciesResponse' {packageObjects} -> packageObjects) (\s@ListApplicationInstanceDependenciesResponse' {} a -> s {packageObjects = a} :: ListApplicationInstanceDependenciesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listApplicationInstanceDependenciesResponse_httpStatus :: Lens.Lens' ListApplicationInstanceDependenciesResponse Prelude.Int+listApplicationInstanceDependenciesResponse_httpStatus = Lens.lens (\ListApplicationInstanceDependenciesResponse' {httpStatus} -> httpStatus) (\s@ListApplicationInstanceDependenciesResponse' {} a -> s {httpStatus = a} :: ListApplicationInstanceDependenciesResponse)++instance+  Prelude.NFData+    ListApplicationInstanceDependenciesResponse+  where+  rnf ListApplicationInstanceDependenciesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf packageObjects+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListApplicationInstanceNodeInstances.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.ListApplicationInstanceNodeInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of application node instances.+module Amazonka.Panorama.ListApplicationInstanceNodeInstances+  ( -- * Creating a Request+    ListApplicationInstanceNodeInstances (..),+    newListApplicationInstanceNodeInstances,++    -- * Request Lenses+    listApplicationInstanceNodeInstances_maxResults,+    listApplicationInstanceNodeInstances_nextToken,+    listApplicationInstanceNodeInstances_applicationInstanceId,++    -- * Destructuring the Response+    ListApplicationInstanceNodeInstancesResponse (..),+    newListApplicationInstanceNodeInstancesResponse,++    -- * Response Lenses+    listApplicationInstanceNodeInstancesResponse_nextToken,+    listApplicationInstanceNodeInstancesResponse_nodeInstances,+    listApplicationInstanceNodeInstancesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplicationInstanceNodeInstances' smart constructor.+data ListApplicationInstanceNodeInstances = ListApplicationInstanceNodeInstances'+  { -- | The maximum number of node instances to return in one page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The node instances\' application instance ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationInstanceNodeInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplicationInstanceNodeInstances_maxResults' - The maximum number of node instances to return in one page of results.+--+-- 'nextToken', 'listApplicationInstanceNodeInstances_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+--+-- 'applicationInstanceId', 'listApplicationInstanceNodeInstances_applicationInstanceId' - The node instances\' application instance ID.+newListApplicationInstanceNodeInstances ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  ListApplicationInstanceNodeInstances+newListApplicationInstanceNodeInstances+  pApplicationInstanceId_ =+    ListApplicationInstanceNodeInstances'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The maximum number of node instances to return in one page of results.+listApplicationInstanceNodeInstances_maxResults :: Lens.Lens' ListApplicationInstanceNodeInstances (Prelude.Maybe Prelude.Natural)+listApplicationInstanceNodeInstances_maxResults = Lens.lens (\ListApplicationInstanceNodeInstances' {maxResults} -> maxResults) (\s@ListApplicationInstanceNodeInstances' {} a -> s {maxResults = a} :: ListApplicationInstanceNodeInstances)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listApplicationInstanceNodeInstances_nextToken :: Lens.Lens' ListApplicationInstanceNodeInstances (Prelude.Maybe Prelude.Text)+listApplicationInstanceNodeInstances_nextToken = Lens.lens (\ListApplicationInstanceNodeInstances' {nextToken} -> nextToken) (\s@ListApplicationInstanceNodeInstances' {} a -> s {nextToken = a} :: ListApplicationInstanceNodeInstances)++-- | The node instances\' application instance ID.+listApplicationInstanceNodeInstances_applicationInstanceId :: Lens.Lens' ListApplicationInstanceNodeInstances Prelude.Text+listApplicationInstanceNodeInstances_applicationInstanceId = Lens.lens (\ListApplicationInstanceNodeInstances' {applicationInstanceId} -> applicationInstanceId) (\s@ListApplicationInstanceNodeInstances' {} a -> s {applicationInstanceId = a} :: ListApplicationInstanceNodeInstances)++instance+  Core.AWSRequest+    ListApplicationInstanceNodeInstances+  where+  type+    AWSResponse ListApplicationInstanceNodeInstances =+      ListApplicationInstanceNodeInstancesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationInstanceNodeInstancesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "NodeInstances" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListApplicationInstanceNodeInstances+  where+  hashWithSalt+    _salt+    ListApplicationInstanceNodeInstances' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` applicationInstanceId++instance+  Prelude.NFData+    ListApplicationInstanceNodeInstances+  where+  rnf ListApplicationInstanceNodeInstances' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf applicationInstanceId++instance+  Data.ToHeaders+    ListApplicationInstanceNodeInstances+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    ListApplicationInstanceNodeInstances+  where+  toPath ListApplicationInstanceNodeInstances' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId,+        "/node-instances"+      ]++instance+  Data.ToQuery+    ListApplicationInstanceNodeInstances+  where+  toQuery ListApplicationInstanceNodeInstances' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListApplicationInstanceNodeInstancesResponse' smart constructor.+data ListApplicationInstanceNodeInstancesResponse = ListApplicationInstanceNodeInstancesResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of node instances.+    nodeInstances :: Prelude.Maybe [NodeInstance],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationInstanceNodeInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listApplicationInstanceNodeInstancesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'nodeInstances', 'listApplicationInstanceNodeInstancesResponse_nodeInstances' - A list of node instances.+--+-- 'httpStatus', 'listApplicationInstanceNodeInstancesResponse_httpStatus' - The response's http status code.+newListApplicationInstanceNodeInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationInstanceNodeInstancesResponse+newListApplicationInstanceNodeInstancesResponse+  pHttpStatus_ =+    ListApplicationInstanceNodeInstancesResponse'+      { nextToken =+          Prelude.Nothing,+        nodeInstances =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A pagination token that\'s included if more results are available.+listApplicationInstanceNodeInstancesResponse_nextToken :: Lens.Lens' ListApplicationInstanceNodeInstancesResponse (Prelude.Maybe Prelude.Text)+listApplicationInstanceNodeInstancesResponse_nextToken = Lens.lens (\ListApplicationInstanceNodeInstancesResponse' {nextToken} -> nextToken) (\s@ListApplicationInstanceNodeInstancesResponse' {} a -> s {nextToken = a} :: ListApplicationInstanceNodeInstancesResponse)++-- | A list of node instances.+listApplicationInstanceNodeInstancesResponse_nodeInstances :: Lens.Lens' ListApplicationInstanceNodeInstancesResponse (Prelude.Maybe [NodeInstance])+listApplicationInstanceNodeInstancesResponse_nodeInstances = Lens.lens (\ListApplicationInstanceNodeInstancesResponse' {nodeInstances} -> nodeInstances) (\s@ListApplicationInstanceNodeInstancesResponse' {} a -> s {nodeInstances = a} :: ListApplicationInstanceNodeInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listApplicationInstanceNodeInstancesResponse_httpStatus :: Lens.Lens' ListApplicationInstanceNodeInstancesResponse Prelude.Int+listApplicationInstanceNodeInstancesResponse_httpStatus = Lens.lens (\ListApplicationInstanceNodeInstancesResponse' {httpStatus} -> httpStatus) (\s@ListApplicationInstanceNodeInstancesResponse' {} a -> s {httpStatus = a} :: ListApplicationInstanceNodeInstancesResponse)++instance+  Prelude.NFData+    ListApplicationInstanceNodeInstancesResponse+  where+  rnf ListApplicationInstanceNodeInstancesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf nodeInstances+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListApplicationInstances.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.Panorama.ListApplicationInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of application instances.+module Amazonka.Panorama.ListApplicationInstances+  ( -- * Creating a Request+    ListApplicationInstances (..),+    newListApplicationInstances,++    -- * Request Lenses+    listApplicationInstances_deviceId,+    listApplicationInstances_maxResults,+    listApplicationInstances_nextToken,+    listApplicationInstances_statusFilter,++    -- * Destructuring the Response+    ListApplicationInstancesResponse (..),+    newListApplicationInstancesResponse,++    -- * Response Lenses+    listApplicationInstancesResponse_applicationInstances,+    listApplicationInstancesResponse_nextToken,+    listApplicationInstancesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplicationInstances' smart constructor.+data ListApplicationInstances = ListApplicationInstances'+  { -- | The application instances\' device ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of application instances to return in one page of+    -- results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Only include instances with a specific status.+    statusFilter :: Prelude.Maybe StatusFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'listApplicationInstances_deviceId' - The application instances\' device ID.+--+-- 'maxResults', 'listApplicationInstances_maxResults' - The maximum number of application instances to return in one page of+-- results.+--+-- 'nextToken', 'listApplicationInstances_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+--+-- 'statusFilter', 'listApplicationInstances_statusFilter' - Only include instances with a specific status.+newListApplicationInstances ::+  ListApplicationInstances+newListApplicationInstances =+  ListApplicationInstances'+    { deviceId =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      statusFilter = Prelude.Nothing+    }++-- | The application instances\' device ID.+listApplicationInstances_deviceId :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Text)+listApplicationInstances_deviceId = Lens.lens (\ListApplicationInstances' {deviceId} -> deviceId) (\s@ListApplicationInstances' {} a -> s {deviceId = a} :: ListApplicationInstances)++-- | The maximum number of application instances to return in one page of+-- results.+listApplicationInstances_maxResults :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Natural)+listApplicationInstances_maxResults = Lens.lens (\ListApplicationInstances' {maxResults} -> maxResults) (\s@ListApplicationInstances' {} a -> s {maxResults = a} :: ListApplicationInstances)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listApplicationInstances_nextToken :: Lens.Lens' ListApplicationInstances (Prelude.Maybe Prelude.Text)+listApplicationInstances_nextToken = Lens.lens (\ListApplicationInstances' {nextToken} -> nextToken) (\s@ListApplicationInstances' {} a -> s {nextToken = a} :: ListApplicationInstances)++-- | Only include instances with a specific status.+listApplicationInstances_statusFilter :: Lens.Lens' ListApplicationInstances (Prelude.Maybe StatusFilter)+listApplicationInstances_statusFilter = Lens.lens (\ListApplicationInstances' {statusFilter} -> statusFilter) (\s@ListApplicationInstances' {} a -> s {statusFilter = a} :: ListApplicationInstances)++instance Core.AWSRequest ListApplicationInstances where+  type+    AWSResponse ListApplicationInstances =+      ListApplicationInstancesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationInstancesResponse'+            Prelude.<$> ( x+                            Data..?> "ApplicationInstances"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListApplicationInstances where+  hashWithSalt _salt ListApplicationInstances' {..} =+    _salt+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` statusFilter++instance Prelude.NFData ListApplicationInstances where+  rnf ListApplicationInstances' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf statusFilter++instance Data.ToHeaders ListApplicationInstances where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListApplicationInstances where+  toPath = Prelude.const "/application-instances"++instance Data.ToQuery ListApplicationInstances where+  toQuery ListApplicationInstances' {..} =+    Prelude.mconcat+      [ "deviceId" Data.=: deviceId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "statusFilter" Data.=: statusFilter+      ]++-- | /See:/ 'newListApplicationInstancesResponse' smart constructor.+data ListApplicationInstancesResponse = ListApplicationInstancesResponse'+  { -- | A list of application instances.+    applicationInstances :: Prelude.Maybe [ApplicationInstance],+    -- | A pagination token that\'s included if more results are available.+    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 'ListApplicationInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstances', 'listApplicationInstancesResponse_applicationInstances' - A list of application instances.+--+-- 'nextToken', 'listApplicationInstancesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listApplicationInstancesResponse_httpStatus' - The response's http status code.+newListApplicationInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationInstancesResponse+newListApplicationInstancesResponse pHttpStatus_ =+  ListApplicationInstancesResponse'+    { applicationInstances =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of application instances.+listApplicationInstancesResponse_applicationInstances :: Lens.Lens' ListApplicationInstancesResponse (Prelude.Maybe [ApplicationInstance])+listApplicationInstancesResponse_applicationInstances = Lens.lens (\ListApplicationInstancesResponse' {applicationInstances} -> applicationInstances) (\s@ListApplicationInstancesResponse' {} a -> s {applicationInstances = a} :: ListApplicationInstancesResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that\'s included if more results are available.+listApplicationInstancesResponse_nextToken :: Lens.Lens' ListApplicationInstancesResponse (Prelude.Maybe Prelude.Text)+listApplicationInstancesResponse_nextToken = Lens.lens (\ListApplicationInstancesResponse' {nextToken} -> nextToken) (\s@ListApplicationInstancesResponse' {} a -> s {nextToken = a} :: ListApplicationInstancesResponse)++-- | The response's http status code.+listApplicationInstancesResponse_httpStatus :: Lens.Lens' ListApplicationInstancesResponse Prelude.Int+listApplicationInstancesResponse_httpStatus = Lens.lens (\ListApplicationInstancesResponse' {httpStatus} -> httpStatus) (\s@ListApplicationInstancesResponse' {} a -> s {httpStatus = a} :: ListApplicationInstancesResponse)++instance+  Prelude.NFData+    ListApplicationInstancesResponse+  where+  rnf ListApplicationInstancesResponse' {..} =+    Prelude.rnf applicationInstances+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListDevices.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.Panorama.ListDevices+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of devices.+module Amazonka.Panorama.ListDevices+  ( -- * Creating a Request+    ListDevices (..),+    newListDevices,++    -- * Request Lenses+    listDevices_deviceAggregatedStatusFilter,+    listDevices_maxResults,+    listDevices_nameFilter,+    listDevices_nextToken,+    listDevices_sortBy,+    listDevices_sortOrder,++    -- * Destructuring the Response+    ListDevicesResponse (..),+    newListDevicesResponse,++    -- * Response Lenses+    listDevicesResponse_nextToken,+    listDevicesResponse_httpStatus,+    listDevicesResponse_devices,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDevices' smart constructor.+data ListDevices = ListDevices'+  { -- | Filter based on a device\'s status.+    deviceAggregatedStatusFilter :: Prelude.Maybe DeviceAggregatedStatus,+    -- | The maximum number of devices to return in one page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Filter based on device\'s name. Prefixes supported.+    nameFilter :: Prelude.Maybe Prelude.Text,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The target column to be sorted on. Default column sort is CREATED_TIME.+    sortBy :: Prelude.Maybe ListDevicesSortBy,+    -- | The sorting order for the returned list. SortOrder is DESCENDING by+    -- default based on CREATED_TIME. Otherwise, SortOrder is ASCENDING.+    sortOrder :: Prelude.Maybe SortOrder+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceAggregatedStatusFilter', 'listDevices_deviceAggregatedStatusFilter' - Filter based on a device\'s status.+--+-- 'maxResults', 'listDevices_maxResults' - The maximum number of devices to return in one page of results.+--+-- 'nameFilter', 'listDevices_nameFilter' - Filter based on device\'s name. Prefixes supported.+--+-- 'nextToken', 'listDevices_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+--+-- 'sortBy', 'listDevices_sortBy' - The target column to be sorted on. Default column sort is CREATED_TIME.+--+-- 'sortOrder', 'listDevices_sortOrder' - The sorting order for the returned list. SortOrder is DESCENDING by+-- default based on CREATED_TIME. Otherwise, SortOrder is ASCENDING.+newListDevices ::+  ListDevices+newListDevices =+  ListDevices'+    { deviceAggregatedStatusFilter =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nameFilter = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sortBy = Prelude.Nothing,+      sortOrder = Prelude.Nothing+    }++-- | Filter based on a device\'s status.+listDevices_deviceAggregatedStatusFilter :: Lens.Lens' ListDevices (Prelude.Maybe DeviceAggregatedStatus)+listDevices_deviceAggregatedStatusFilter = Lens.lens (\ListDevices' {deviceAggregatedStatusFilter} -> deviceAggregatedStatusFilter) (\s@ListDevices' {} a -> s {deviceAggregatedStatusFilter = a} :: ListDevices)++-- | The maximum number of devices to return in one page of results.+listDevices_maxResults :: Lens.Lens' ListDevices (Prelude.Maybe Prelude.Natural)+listDevices_maxResults = Lens.lens (\ListDevices' {maxResults} -> maxResults) (\s@ListDevices' {} a -> s {maxResults = a} :: ListDevices)++-- | Filter based on device\'s name. Prefixes supported.+listDevices_nameFilter :: Lens.Lens' ListDevices (Prelude.Maybe Prelude.Text)+listDevices_nameFilter = Lens.lens (\ListDevices' {nameFilter} -> nameFilter) (\s@ListDevices' {} a -> s {nameFilter = a} :: ListDevices)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listDevices_nextToken :: Lens.Lens' ListDevices (Prelude.Maybe Prelude.Text)+listDevices_nextToken = Lens.lens (\ListDevices' {nextToken} -> nextToken) (\s@ListDevices' {} a -> s {nextToken = a} :: ListDevices)++-- | The target column to be sorted on. Default column sort is CREATED_TIME.+listDevices_sortBy :: Lens.Lens' ListDevices (Prelude.Maybe ListDevicesSortBy)+listDevices_sortBy = Lens.lens (\ListDevices' {sortBy} -> sortBy) (\s@ListDevices' {} a -> s {sortBy = a} :: ListDevices)++-- | The sorting order for the returned list. SortOrder is DESCENDING by+-- default based on CREATED_TIME. Otherwise, SortOrder is ASCENDING.+listDevices_sortOrder :: Lens.Lens' ListDevices (Prelude.Maybe SortOrder)+listDevices_sortOrder = Lens.lens (\ListDevices' {sortOrder} -> sortOrder) (\s@ListDevices' {} a -> s {sortOrder = a} :: ListDevices)++instance Core.AWSRequest ListDevices where+  type AWSResponse ListDevices = ListDevicesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDevicesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "Devices" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListDevices where+  hashWithSalt _salt ListDevices' {..} =+    _salt+      `Prelude.hashWithSalt` deviceAggregatedStatusFilter+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nameFilter+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` sortOrder++instance Prelude.NFData ListDevices where+  rnf ListDevices' {..} =+    Prelude.rnf deviceAggregatedStatusFilter+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nameFilter+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf sortOrder++instance Data.ToHeaders ListDevices where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDevices where+  toPath = Prelude.const "/devices"++instance Data.ToQuery ListDevices where+  toQuery ListDevices' {..} =+    Prelude.mconcat+      [ "DeviceAggregatedStatusFilter"+          Data.=: deviceAggregatedStatusFilter,+        "MaxResults" Data.=: maxResults,+        "NameFilter" Data.=: nameFilter,+        "NextToken" Data.=: nextToken,+        "SortBy" Data.=: sortBy,+        "SortOrder" Data.=: sortOrder+      ]++-- | /See:/ 'newListDevicesResponse' smart constructor.+data ListDevicesResponse = ListDevicesResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of devices.+    devices :: [Device]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevicesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listDevicesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listDevicesResponse_httpStatus' - The response's http status code.+--+-- 'devices', 'listDevicesResponse_devices' - A list of devices.+newListDevicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDevicesResponse+newListDevicesResponse pHttpStatus_ =+  ListDevicesResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      devices = Prelude.mempty+    }++-- | A pagination token that\'s included if more results are available.+listDevicesResponse_nextToken :: Lens.Lens' ListDevicesResponse (Prelude.Maybe Prelude.Text)+listDevicesResponse_nextToken = Lens.lens (\ListDevicesResponse' {nextToken} -> nextToken) (\s@ListDevicesResponse' {} a -> s {nextToken = a} :: ListDevicesResponse)++-- | The response's http status code.+listDevicesResponse_httpStatus :: Lens.Lens' ListDevicesResponse Prelude.Int+listDevicesResponse_httpStatus = Lens.lens (\ListDevicesResponse' {httpStatus} -> httpStatus) (\s@ListDevicesResponse' {} a -> s {httpStatus = a} :: ListDevicesResponse)++-- | A list of devices.+listDevicesResponse_devices :: Lens.Lens' ListDevicesResponse [Device]+listDevicesResponse_devices = Lens.lens (\ListDevicesResponse' {devices} -> devices) (\s@ListDevicesResponse' {} a -> s {devices = a} :: ListDevicesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListDevicesResponse where+  rnf ListDevicesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf devices
+ gen/Amazonka/Panorama/ListDevicesJobs.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.Panorama.ListDevicesJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of jobs.+module Amazonka.Panorama.ListDevicesJobs+  ( -- * Creating a Request+    ListDevicesJobs (..),+    newListDevicesJobs,++    -- * Request Lenses+    listDevicesJobs_deviceId,+    listDevicesJobs_maxResults,+    listDevicesJobs_nextToken,++    -- * Destructuring the Response+    ListDevicesJobsResponse (..),+    newListDevicesJobsResponse,++    -- * Response Lenses+    listDevicesJobsResponse_deviceJobs,+    listDevicesJobsResponse_nextToken,+    listDevicesJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDevicesJobs' smart constructor.+data ListDevicesJobs = ListDevicesJobs'+  { -- | Filter results by the job\'s target device ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of device jobs to return in one page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDevicesJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'listDevicesJobs_deviceId' - Filter results by the job\'s target device ID.+--+-- 'maxResults', 'listDevicesJobs_maxResults' - The maximum number of device jobs to return in one page of results.+--+-- 'nextToken', 'listDevicesJobs_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+newListDevicesJobs ::+  ListDevicesJobs+newListDevicesJobs =+  ListDevicesJobs'+    { deviceId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filter results by the job\'s target device ID.+listDevicesJobs_deviceId :: Lens.Lens' ListDevicesJobs (Prelude.Maybe Prelude.Text)+listDevicesJobs_deviceId = Lens.lens (\ListDevicesJobs' {deviceId} -> deviceId) (\s@ListDevicesJobs' {} a -> s {deviceId = a} :: ListDevicesJobs)++-- | The maximum number of device jobs to return in one page of results.+listDevicesJobs_maxResults :: Lens.Lens' ListDevicesJobs (Prelude.Maybe Prelude.Natural)+listDevicesJobs_maxResults = Lens.lens (\ListDevicesJobs' {maxResults} -> maxResults) (\s@ListDevicesJobs' {} a -> s {maxResults = a} :: ListDevicesJobs)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listDevicesJobs_nextToken :: Lens.Lens' ListDevicesJobs (Prelude.Maybe Prelude.Text)+listDevicesJobs_nextToken = Lens.lens (\ListDevicesJobs' {nextToken} -> nextToken) (\s@ListDevicesJobs' {} a -> s {nextToken = a} :: ListDevicesJobs)++instance Core.AWSRequest ListDevicesJobs where+  type+    AWSResponse ListDevicesJobs =+      ListDevicesJobsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDevicesJobsResponse'+            Prelude.<$> (x Data..?> "DeviceJobs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDevicesJobs where+  hashWithSalt _salt ListDevicesJobs' {..} =+    _salt+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListDevicesJobs where+  rnf ListDevicesJobs' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListDevicesJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListDevicesJobs where+  toPath = Prelude.const "/jobs"++instance Data.ToQuery ListDevicesJobs where+  toQuery ListDevicesJobs' {..} =+    Prelude.mconcat+      [ "DeviceId" Data.=: deviceId,+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListDevicesJobsResponse' smart constructor.+data ListDevicesJobsResponse = ListDevicesJobsResponse'+  { -- | A list of jobs.+    deviceJobs :: Prelude.Maybe [DeviceJob],+    -- | A pagination token that\'s included if more results are available.+    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 'ListDevicesJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceJobs', 'listDevicesJobsResponse_deviceJobs' - A list of jobs.+--+-- 'nextToken', 'listDevicesJobsResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listDevicesJobsResponse_httpStatus' - The response's http status code.+newListDevicesJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDevicesJobsResponse+newListDevicesJobsResponse pHttpStatus_ =+  ListDevicesJobsResponse'+    { deviceJobs =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of jobs.+listDevicesJobsResponse_deviceJobs :: Lens.Lens' ListDevicesJobsResponse (Prelude.Maybe [DeviceJob])+listDevicesJobsResponse_deviceJobs = Lens.lens (\ListDevicesJobsResponse' {deviceJobs} -> deviceJobs) (\s@ListDevicesJobsResponse' {} a -> s {deviceJobs = a} :: ListDevicesJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | A pagination token that\'s included if more results are available.+listDevicesJobsResponse_nextToken :: Lens.Lens' ListDevicesJobsResponse (Prelude.Maybe Prelude.Text)+listDevicesJobsResponse_nextToken = Lens.lens (\ListDevicesJobsResponse' {nextToken} -> nextToken) (\s@ListDevicesJobsResponse' {} a -> s {nextToken = a} :: ListDevicesJobsResponse)++-- | The response's http status code.+listDevicesJobsResponse_httpStatus :: Lens.Lens' ListDevicesJobsResponse Prelude.Int+listDevicesJobsResponse_httpStatus = Lens.lens (\ListDevicesJobsResponse' {httpStatus} -> httpStatus) (\s@ListDevicesJobsResponse' {} a -> s {httpStatus = a} :: ListDevicesJobsResponse)++instance Prelude.NFData ListDevicesJobsResponse where+  rnf ListDevicesJobsResponse' {..} =+    Prelude.rnf deviceJobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListNodeFromTemplateJobs.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.Panorama.ListNodeFromTemplateJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of camera stream node jobs.+module Amazonka.Panorama.ListNodeFromTemplateJobs+  ( -- * Creating a Request+    ListNodeFromTemplateJobs (..),+    newListNodeFromTemplateJobs,++    -- * Request Lenses+    listNodeFromTemplateJobs_maxResults,+    listNodeFromTemplateJobs_nextToken,++    -- * Destructuring the Response+    ListNodeFromTemplateJobsResponse (..),+    newListNodeFromTemplateJobsResponse,++    -- * Response Lenses+    listNodeFromTemplateJobsResponse_nextToken,+    listNodeFromTemplateJobsResponse_httpStatus,+    listNodeFromTemplateJobsResponse_nodeFromTemplateJobs,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNodeFromTemplateJobs' smart constructor.+data ListNodeFromTemplateJobs = ListNodeFromTemplateJobs'+  { -- | The maximum number of node from template jobs to return in one page of+    -- results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodeFromTemplateJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listNodeFromTemplateJobs_maxResults' - The maximum number of node from template jobs to return in one page of+-- results.+--+-- 'nextToken', 'listNodeFromTemplateJobs_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+newListNodeFromTemplateJobs ::+  ListNodeFromTemplateJobs+newListNodeFromTemplateJobs =+  ListNodeFromTemplateJobs'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of node from template jobs to return in one page of+-- results.+listNodeFromTemplateJobs_maxResults :: Lens.Lens' ListNodeFromTemplateJobs (Prelude.Maybe Prelude.Natural)+listNodeFromTemplateJobs_maxResults = Lens.lens (\ListNodeFromTemplateJobs' {maxResults} -> maxResults) (\s@ListNodeFromTemplateJobs' {} a -> s {maxResults = a} :: ListNodeFromTemplateJobs)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listNodeFromTemplateJobs_nextToken :: Lens.Lens' ListNodeFromTemplateJobs (Prelude.Maybe Prelude.Text)+listNodeFromTemplateJobs_nextToken = Lens.lens (\ListNodeFromTemplateJobs' {nextToken} -> nextToken) (\s@ListNodeFromTemplateJobs' {} a -> s {nextToken = a} :: ListNodeFromTemplateJobs)++instance Core.AWSRequest ListNodeFromTemplateJobs where+  type+    AWSResponse ListNodeFromTemplateJobs =+      ListNodeFromTemplateJobsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNodeFromTemplateJobsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "NodeFromTemplateJobs"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListNodeFromTemplateJobs where+  hashWithSalt _salt ListNodeFromTemplateJobs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListNodeFromTemplateJobs where+  rnf ListNodeFromTemplateJobs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListNodeFromTemplateJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListNodeFromTemplateJobs where+  toPath = Prelude.const "/packages/template-job"++instance Data.ToQuery ListNodeFromTemplateJobs where+  toQuery ListNodeFromTemplateJobs' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListNodeFromTemplateJobsResponse' smart constructor.+data ListNodeFromTemplateJobsResponse = ListNodeFromTemplateJobsResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of jobs.+    nodeFromTemplateJobs :: [NodeFromTemplateJob]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodeFromTemplateJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listNodeFromTemplateJobsResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listNodeFromTemplateJobsResponse_httpStatus' - The response's http status code.+--+-- 'nodeFromTemplateJobs', 'listNodeFromTemplateJobsResponse_nodeFromTemplateJobs' - A list of jobs.+newListNodeFromTemplateJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNodeFromTemplateJobsResponse+newListNodeFromTemplateJobsResponse pHttpStatus_ =+  ListNodeFromTemplateJobsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      nodeFromTemplateJobs = Prelude.mempty+    }++-- | A pagination token that\'s included if more results are available.+listNodeFromTemplateJobsResponse_nextToken :: Lens.Lens' ListNodeFromTemplateJobsResponse (Prelude.Maybe Prelude.Text)+listNodeFromTemplateJobsResponse_nextToken = Lens.lens (\ListNodeFromTemplateJobsResponse' {nextToken} -> nextToken) (\s@ListNodeFromTemplateJobsResponse' {} a -> s {nextToken = a} :: ListNodeFromTemplateJobsResponse)++-- | The response's http status code.+listNodeFromTemplateJobsResponse_httpStatus :: Lens.Lens' ListNodeFromTemplateJobsResponse Prelude.Int+listNodeFromTemplateJobsResponse_httpStatus = Lens.lens (\ListNodeFromTemplateJobsResponse' {httpStatus} -> httpStatus) (\s@ListNodeFromTemplateJobsResponse' {} a -> s {httpStatus = a} :: ListNodeFromTemplateJobsResponse)++-- | A list of jobs.+listNodeFromTemplateJobsResponse_nodeFromTemplateJobs :: Lens.Lens' ListNodeFromTemplateJobsResponse [NodeFromTemplateJob]+listNodeFromTemplateJobsResponse_nodeFromTemplateJobs = Lens.lens (\ListNodeFromTemplateJobsResponse' {nodeFromTemplateJobs} -> nodeFromTemplateJobs) (\s@ListNodeFromTemplateJobsResponse' {} a -> s {nodeFromTemplateJobs = a} :: ListNodeFromTemplateJobsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListNodeFromTemplateJobsResponse+  where+  rnf ListNodeFromTemplateJobsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf nodeFromTemplateJobs
+ gen/Amazonka/Panorama/ListNodes.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.ListNodes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of nodes.+module Amazonka.Panorama.ListNodes+  ( -- * Creating a Request+    ListNodes (..),+    newListNodes,++    -- * Request Lenses+    listNodes_category,+    listNodes_maxResults,+    listNodes_nextToken,+    listNodes_ownerAccount,+    listNodes_packageName,+    listNodes_packageVersion,+    listNodes_patchVersion,++    -- * Destructuring the Response+    ListNodesResponse (..),+    newListNodesResponse,++    -- * Response Lenses+    listNodesResponse_nextToken,+    listNodesResponse_nodes,+    listNodesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNodes' smart constructor.+data ListNodes = ListNodes'+  { -- | Search for nodes by category.+    category :: Prelude.Maybe NodeCategory,+    -- | The maximum number of nodes to return in one page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Search for nodes by the account ID of the nodes\' owner.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | Search for nodes by name.+    packageName :: Prelude.Maybe Prelude.Text,+    -- | Search for nodes by version.+    packageVersion :: Prelude.Maybe Prelude.Text,+    -- | Search for nodes by patch version.+    patchVersion :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'category', 'listNodes_category' - Search for nodes by category.+--+-- 'maxResults', 'listNodes_maxResults' - The maximum number of nodes to return in one page of results.+--+-- 'nextToken', 'listNodes_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+--+-- 'ownerAccount', 'listNodes_ownerAccount' - Search for nodes by the account ID of the nodes\' owner.+--+-- 'packageName', 'listNodes_packageName' - Search for nodes by name.+--+-- 'packageVersion', 'listNodes_packageVersion' - Search for nodes by version.+--+-- 'patchVersion', 'listNodes_patchVersion' - Search for nodes by patch version.+newListNodes ::+  ListNodes+newListNodes =+  ListNodes'+    { category = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      ownerAccount = Prelude.Nothing,+      packageName = Prelude.Nothing,+      packageVersion = Prelude.Nothing,+      patchVersion = Prelude.Nothing+    }++-- | Search for nodes by category.+listNodes_category :: Lens.Lens' ListNodes (Prelude.Maybe NodeCategory)+listNodes_category = Lens.lens (\ListNodes' {category} -> category) (\s@ListNodes' {} a -> s {category = a} :: ListNodes)++-- | The maximum number of nodes to return in one page of results.+listNodes_maxResults :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Natural)+listNodes_maxResults = Lens.lens (\ListNodes' {maxResults} -> maxResults) (\s@ListNodes' {} a -> s {maxResults = a} :: ListNodes)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listNodes_nextToken :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_nextToken = Lens.lens (\ListNodes' {nextToken} -> nextToken) (\s@ListNodes' {} a -> s {nextToken = a} :: ListNodes)++-- | Search for nodes by the account ID of the nodes\' owner.+listNodes_ownerAccount :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_ownerAccount = Lens.lens (\ListNodes' {ownerAccount} -> ownerAccount) (\s@ListNodes' {} a -> s {ownerAccount = a} :: ListNodes)++-- | Search for nodes by name.+listNodes_packageName :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_packageName = Lens.lens (\ListNodes' {packageName} -> packageName) (\s@ListNodes' {} a -> s {packageName = a} :: ListNodes)++-- | Search for nodes by version.+listNodes_packageVersion :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_packageVersion = Lens.lens (\ListNodes' {packageVersion} -> packageVersion) (\s@ListNodes' {} a -> s {packageVersion = a} :: ListNodes)++-- | Search for nodes by patch version.+listNodes_patchVersion :: Lens.Lens' ListNodes (Prelude.Maybe Prelude.Text)+listNodes_patchVersion = Lens.lens (\ListNodes' {patchVersion} -> patchVersion) (\s@ListNodes' {} a -> s {patchVersion = a} :: ListNodes)++instance Core.AWSRequest ListNodes where+  type AWSResponse ListNodes = ListNodesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNodesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Nodes" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNodes where+  hashWithSalt _salt ListNodes' {..} =+    _salt+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData ListNodes where+  rnf ListNodes' {..} =+    Prelude.rnf category+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion++instance Data.ToHeaders ListNodes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListNodes where+  toPath = Prelude.const "/nodes"++instance Data.ToQuery ListNodes where+  toQuery ListNodes' {..} =+    Prelude.mconcat+      [ "category" Data.=: category,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "ownerAccount" Data.=: ownerAccount,+        "packageName" Data.=: packageName,+        "packageVersion" Data.=: packageVersion,+        "patchVersion" Data.=: patchVersion+      ]++-- | /See:/ 'newListNodesResponse' smart constructor.+data ListNodesResponse = ListNodesResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of nodes.+    nodes :: Prelude.Maybe [Node],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNodesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listNodesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'nodes', 'listNodesResponse_nodes' - A list of nodes.+--+-- 'httpStatus', 'listNodesResponse_httpStatus' - The response's http status code.+newListNodesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNodesResponse+newListNodesResponse pHttpStatus_ =+  ListNodesResponse'+    { nextToken = Prelude.Nothing,+      nodes = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A pagination token that\'s included if more results are available.+listNodesResponse_nextToken :: Lens.Lens' ListNodesResponse (Prelude.Maybe Prelude.Text)+listNodesResponse_nextToken = Lens.lens (\ListNodesResponse' {nextToken} -> nextToken) (\s@ListNodesResponse' {} a -> s {nextToken = a} :: ListNodesResponse)++-- | A list of nodes.+listNodesResponse_nodes :: Lens.Lens' ListNodesResponse (Prelude.Maybe [Node])+listNodesResponse_nodes = Lens.lens (\ListNodesResponse' {nodes} -> nodes) (\s@ListNodesResponse' {} a -> s {nodes = a} :: ListNodesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listNodesResponse_httpStatus :: Lens.Lens' ListNodesResponse Prelude.Int+listNodesResponse_httpStatus = Lens.lens (\ListNodesResponse' {httpStatus} -> httpStatus) (\s@ListNodesResponse' {} a -> s {httpStatus = a} :: ListNodesResponse)++instance Prelude.NFData ListNodesResponse where+  rnf ListNodesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf nodes+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListPackageImportJobs.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.Panorama.ListPackageImportJobs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of package import jobs.+module Amazonka.Panorama.ListPackageImportJobs+  ( -- * Creating a Request+    ListPackageImportJobs (..),+    newListPackageImportJobs,++    -- * Request Lenses+    listPackageImportJobs_maxResults,+    listPackageImportJobs_nextToken,++    -- * Destructuring the Response+    ListPackageImportJobsResponse (..),+    newListPackageImportJobsResponse,++    -- * Response Lenses+    listPackageImportJobsResponse_nextToken,+    listPackageImportJobsResponse_httpStatus,+    listPackageImportJobsResponse_packageImportJobs,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackageImportJobs' smart constructor.+data ListPackageImportJobs = ListPackageImportJobs'+  { -- | The maximum number of package import jobs to return in one page of+    -- results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageImportJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPackageImportJobs_maxResults' - The maximum number of package import jobs to return in one page of+-- results.+--+-- 'nextToken', 'listPackageImportJobs_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+newListPackageImportJobs ::+  ListPackageImportJobs+newListPackageImportJobs =+  ListPackageImportJobs'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of package import jobs to return in one page of+-- results.+listPackageImportJobs_maxResults :: Lens.Lens' ListPackageImportJobs (Prelude.Maybe Prelude.Natural)+listPackageImportJobs_maxResults = Lens.lens (\ListPackageImportJobs' {maxResults} -> maxResults) (\s@ListPackageImportJobs' {} a -> s {maxResults = a} :: ListPackageImportJobs)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listPackageImportJobs_nextToken :: Lens.Lens' ListPackageImportJobs (Prelude.Maybe Prelude.Text)+listPackageImportJobs_nextToken = Lens.lens (\ListPackageImportJobs' {nextToken} -> nextToken) (\s@ListPackageImportJobs' {} a -> s {nextToken = a} :: ListPackageImportJobs)++instance Core.AWSRequest ListPackageImportJobs where+  type+    AWSResponse ListPackageImportJobs =+      ListPackageImportJobsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackageImportJobsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "PackageImportJobs"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListPackageImportJobs where+  hashWithSalt _salt ListPackageImportJobs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPackageImportJobs where+  rnf ListPackageImportJobs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPackageImportJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListPackageImportJobs where+  toPath = Prelude.const "/packages/import-jobs"++instance Data.ToQuery ListPackageImportJobs where+  toQuery ListPackageImportJobs' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListPackageImportJobsResponse' smart constructor.+data ListPackageImportJobsResponse = ListPackageImportJobsResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of package import jobs.+    packageImportJobs :: [PackageImportJob]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackageImportJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPackageImportJobsResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'httpStatus', 'listPackageImportJobsResponse_httpStatus' - The response's http status code.+--+-- 'packageImportJobs', 'listPackageImportJobsResponse_packageImportJobs' - A list of package import jobs.+newListPackageImportJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackageImportJobsResponse+newListPackageImportJobsResponse pHttpStatus_ =+  ListPackageImportJobsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      packageImportJobs = Prelude.mempty+    }++-- | A pagination token that\'s included if more results are available.+listPackageImportJobsResponse_nextToken :: Lens.Lens' ListPackageImportJobsResponse (Prelude.Maybe Prelude.Text)+listPackageImportJobsResponse_nextToken = Lens.lens (\ListPackageImportJobsResponse' {nextToken} -> nextToken) (\s@ListPackageImportJobsResponse' {} a -> s {nextToken = a} :: ListPackageImportJobsResponse)++-- | The response's http status code.+listPackageImportJobsResponse_httpStatus :: Lens.Lens' ListPackageImportJobsResponse Prelude.Int+listPackageImportJobsResponse_httpStatus = Lens.lens (\ListPackageImportJobsResponse' {httpStatus} -> httpStatus) (\s@ListPackageImportJobsResponse' {} a -> s {httpStatus = a} :: ListPackageImportJobsResponse)++-- | A list of package import jobs.+listPackageImportJobsResponse_packageImportJobs :: Lens.Lens' ListPackageImportJobsResponse [PackageImportJob]+listPackageImportJobsResponse_packageImportJobs = Lens.lens (\ListPackageImportJobsResponse' {packageImportJobs} -> packageImportJobs) (\s@ListPackageImportJobsResponse' {} a -> s {packageImportJobs = a} :: ListPackageImportJobsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListPackageImportJobsResponse where+  rnf ListPackageImportJobsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf packageImportJobs
+ gen/Amazonka/Panorama/ListPackages.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.Panorama.ListPackages+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of packages.+module Amazonka.Panorama.ListPackages+  ( -- * Creating a Request+    ListPackages (..),+    newListPackages,++    -- * Request Lenses+    listPackages_maxResults,+    listPackages_nextToken,++    -- * Destructuring the Response+    ListPackagesResponse (..),+    newListPackagesResponse,++    -- * Response Lenses+    listPackagesResponse_nextToken,+    listPackagesResponse_packages,+    listPackagesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPackages' smart constructor.+data ListPackages = ListPackages'+  { -- | The maximum number of packages to return in one page of results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | Specify the pagination token from a previous request to retrieve the+    -- next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPackages_maxResults' - The maximum number of packages to return in one page of results.+--+-- 'nextToken', 'listPackages_nextToken' - Specify the pagination token from a previous request to retrieve the+-- next page of results.+newListPackages ::+  ListPackages+newListPackages =+  ListPackages'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of packages to return in one page of results.+listPackages_maxResults :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Natural)+listPackages_maxResults = Lens.lens (\ListPackages' {maxResults} -> maxResults) (\s@ListPackages' {} a -> s {maxResults = a} :: ListPackages)++-- | Specify the pagination token from a previous request to retrieve the+-- next page of results.+listPackages_nextToken :: Lens.Lens' ListPackages (Prelude.Maybe Prelude.Text)+listPackages_nextToken = Lens.lens (\ListPackages' {nextToken} -> nextToken) (\s@ListPackages' {} a -> s {nextToken = a} :: ListPackages)++instance Core.AWSRequest ListPackages where+  type AWSResponse ListPackages = ListPackagesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPackagesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Packages" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPackages where+  hashWithSalt _salt ListPackages' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPackages where+  rnf ListPackages' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPackages where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListPackages where+  toPath = Prelude.const "/packages"++instance Data.ToQuery ListPackages where+  toQuery ListPackages' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListPackagesResponse' smart constructor.+data ListPackagesResponse = ListPackagesResponse'+  { -- | A pagination token that\'s included if more results are available.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of packages.+    packages :: Prelude.Maybe [PackageListItem],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPackagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPackagesResponse_nextToken' - A pagination token that\'s included if more results are available.+--+-- 'packages', 'listPackagesResponse_packages' - A list of packages.+--+-- 'httpStatus', 'listPackagesResponse_httpStatus' - The response's http status code.+newListPackagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPackagesResponse+newListPackagesResponse pHttpStatus_ =+  ListPackagesResponse'+    { nextToken = Prelude.Nothing,+      packages = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A pagination token that\'s included if more results are available.+listPackagesResponse_nextToken :: Lens.Lens' ListPackagesResponse (Prelude.Maybe Prelude.Text)+listPackagesResponse_nextToken = Lens.lens (\ListPackagesResponse' {nextToken} -> nextToken) (\s@ListPackagesResponse' {} a -> s {nextToken = a} :: ListPackagesResponse)++-- | A list of packages.+listPackagesResponse_packages :: Lens.Lens' ListPackagesResponse (Prelude.Maybe [PackageListItem])+listPackagesResponse_packages = Lens.lens (\ListPackagesResponse' {packages} -> packages) (\s@ListPackagesResponse' {} a -> s {packages = a} :: ListPackagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPackagesResponse_httpStatus :: Lens.Lens' ListPackagesResponse Prelude.Int+listPackagesResponse_httpStatus = Lens.lens (\ListPackagesResponse' {httpStatus} -> httpStatus) (\s@ListPackagesResponse' {} a -> s {httpStatus = a} :: ListPackagesResponse)++instance Prelude.NFData ListPackagesResponse where+  rnf ListPackagesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf packages+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of tags for a resource.+module Amazonka.Panorama.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.Panorama.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 resource\'s ARN.+    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 resource\'s ARN.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The resource\'s ARN.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | A list of tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of tags.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/ProvisionDevice.hs view
@@ -0,0 +1,277 @@+{-# 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.Panorama.ProvisionDevice+-- 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 device and returns a configuration archive. The configuration+-- archive is a ZIP file that contains a provisioning certificate that is+-- valid for 5 minutes. Name the configuration archive+-- @certificates-omni_@/@device-name@/@.zip@ and transfer it to the device+-- within 5 minutes. Use the included USB storage device and connect it to+-- the USB 3.0 port next to the HDMI output.+module Amazonka.Panorama.ProvisionDevice+  ( -- * Creating a Request+    ProvisionDevice (..),+    newProvisionDevice,++    -- * Request Lenses+    provisionDevice_description,+    provisionDevice_networkingConfiguration,+    provisionDevice_tags,+    provisionDevice_name,++    -- * Destructuring the Response+    ProvisionDeviceResponse (..),+    newProvisionDeviceResponse,++    -- * Response Lenses+    provisionDeviceResponse_certificates,+    provisionDeviceResponse_deviceId,+    provisionDeviceResponse_iotThingName,+    provisionDeviceResponse_httpStatus,+    provisionDeviceResponse_arn,+    provisionDeviceResponse_status,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newProvisionDevice' smart constructor.+data ProvisionDevice = ProvisionDevice'+  { -- | A description for the device.+    description :: Prelude.Maybe Prelude.Text,+    -- | A networking configuration for the device.+    networkingConfiguration :: Prelude.Maybe NetworkPayload,+    -- | Tags for the device.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | A name for the device.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'provisionDevice_description' - A description for the device.+--+-- 'networkingConfiguration', 'provisionDevice_networkingConfiguration' - A networking configuration for the device.+--+-- 'tags', 'provisionDevice_tags' - Tags for the device.+--+-- 'name', 'provisionDevice_name' - A name for the device.+newProvisionDevice ::+  -- | 'name'+  Prelude.Text ->+  ProvisionDevice+newProvisionDevice pName_ =+  ProvisionDevice'+    { description = Prelude.Nothing,+      networkingConfiguration = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_+    }++-- | A description for the device.+provisionDevice_description :: Lens.Lens' ProvisionDevice (Prelude.Maybe Prelude.Text)+provisionDevice_description = Lens.lens (\ProvisionDevice' {description} -> description) (\s@ProvisionDevice' {} a -> s {description = a} :: ProvisionDevice)++-- | A networking configuration for the device.+provisionDevice_networkingConfiguration :: Lens.Lens' ProvisionDevice (Prelude.Maybe NetworkPayload)+provisionDevice_networkingConfiguration = Lens.lens (\ProvisionDevice' {networkingConfiguration} -> networkingConfiguration) (\s@ProvisionDevice' {} a -> s {networkingConfiguration = a} :: ProvisionDevice)++-- | Tags for the device.+provisionDevice_tags :: Lens.Lens' ProvisionDevice (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+provisionDevice_tags = Lens.lens (\ProvisionDevice' {tags} -> tags) (\s@ProvisionDevice' {} a -> s {tags = a} :: ProvisionDevice) Prelude.. Lens.mapping Lens.coerced++-- | A name for the device.+provisionDevice_name :: Lens.Lens' ProvisionDevice Prelude.Text+provisionDevice_name = Lens.lens (\ProvisionDevice' {name} -> name) (\s@ProvisionDevice' {} a -> s {name = a} :: ProvisionDevice)++instance Core.AWSRequest ProvisionDevice where+  type+    AWSResponse ProvisionDevice =+      ProvisionDeviceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ProvisionDeviceResponse'+            Prelude.<$> (x Data..?> "Certificates")+            Prelude.<*> (x Data..?> "DeviceId")+            Prelude.<*> (x Data..?> "IotThingName")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "Arn")+            Prelude.<*> (x Data..:> "Status")+      )++instance Prelude.Hashable ProvisionDevice where+  hashWithSalt _salt ProvisionDevice' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` networkingConfiguration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name++instance Prelude.NFData ProvisionDevice where+  rnf ProvisionDevice' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf networkingConfiguration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders ProvisionDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ProvisionDevice where+  toJSON ProvisionDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("NetworkingConfiguration" Data..=)+              Prelude.<$> networkingConfiguration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath ProvisionDevice where+  toPath = Prelude.const "/devices"++instance Data.ToQuery ProvisionDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newProvisionDeviceResponse' smart constructor.+data ProvisionDeviceResponse = ProvisionDeviceResponse'+  { -- | The device\'s configuration bundle.+    certificates :: Prelude.Maybe Data.Base64,+    -- | The device\'s ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The device\'s IoT thing name.+    iotThingName :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The device\'s ARN.+    arn :: Prelude.Text,+    -- | The device\'s status.+    status :: DeviceStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProvisionDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'certificates', 'provisionDeviceResponse_certificates' - The device\'s configuration bundle.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+--+-- 'deviceId', 'provisionDeviceResponse_deviceId' - The device\'s ID.+--+-- 'iotThingName', 'provisionDeviceResponse_iotThingName' - The device\'s IoT thing name.+--+-- 'httpStatus', 'provisionDeviceResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'provisionDeviceResponse_arn' - The device\'s ARN.+--+-- 'status', 'provisionDeviceResponse_status' - The device\'s status.+newProvisionDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'status'+  DeviceStatus ->+  ProvisionDeviceResponse+newProvisionDeviceResponse+  pHttpStatus_+  pArn_+  pStatus_ =+    ProvisionDeviceResponse'+      { certificates =+          Prelude.Nothing,+        deviceId = Prelude.Nothing,+        iotThingName = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        status = pStatus_+      }++-- | The device\'s configuration bundle.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+provisionDeviceResponse_certificates :: Lens.Lens' ProvisionDeviceResponse (Prelude.Maybe Prelude.ByteString)+provisionDeviceResponse_certificates = Lens.lens (\ProvisionDeviceResponse' {certificates} -> certificates) (\s@ProvisionDeviceResponse' {} a -> s {certificates = a} :: ProvisionDeviceResponse) Prelude.. Lens.mapping Data._Base64++-- | The device\'s ID.+provisionDeviceResponse_deviceId :: Lens.Lens' ProvisionDeviceResponse (Prelude.Maybe Prelude.Text)+provisionDeviceResponse_deviceId = Lens.lens (\ProvisionDeviceResponse' {deviceId} -> deviceId) (\s@ProvisionDeviceResponse' {} a -> s {deviceId = a} :: ProvisionDeviceResponse)++-- | The device\'s IoT thing name.+provisionDeviceResponse_iotThingName :: Lens.Lens' ProvisionDeviceResponse (Prelude.Maybe Prelude.Text)+provisionDeviceResponse_iotThingName = Lens.lens (\ProvisionDeviceResponse' {iotThingName} -> iotThingName) (\s@ProvisionDeviceResponse' {} a -> s {iotThingName = a} :: ProvisionDeviceResponse)++-- | The response's http status code.+provisionDeviceResponse_httpStatus :: Lens.Lens' ProvisionDeviceResponse Prelude.Int+provisionDeviceResponse_httpStatus = Lens.lens (\ProvisionDeviceResponse' {httpStatus} -> httpStatus) (\s@ProvisionDeviceResponse' {} a -> s {httpStatus = a} :: ProvisionDeviceResponse)++-- | The device\'s ARN.+provisionDeviceResponse_arn :: Lens.Lens' ProvisionDeviceResponse Prelude.Text+provisionDeviceResponse_arn = Lens.lens (\ProvisionDeviceResponse' {arn} -> arn) (\s@ProvisionDeviceResponse' {} a -> s {arn = a} :: ProvisionDeviceResponse)++-- | The device\'s status.+provisionDeviceResponse_status :: Lens.Lens' ProvisionDeviceResponse DeviceStatus+provisionDeviceResponse_status = Lens.lens (\ProvisionDeviceResponse' {status} -> status) (\s@ProvisionDeviceResponse' {} a -> s {status = a} :: ProvisionDeviceResponse)++instance Prelude.NFData ProvisionDeviceResponse where+  rnf ProvisionDeviceResponse' {..} =+    Prelude.rnf certificates+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf iotThingName+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Panorama/RegisterPackageVersion.hs view
@@ -0,0 +1,225 @@+{-# 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.Panorama.RegisterPackageVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Registers a package version.+module Amazonka.Panorama.RegisterPackageVersion+  ( -- * Creating a Request+    RegisterPackageVersion (..),+    newRegisterPackageVersion,++    -- * Request Lenses+    registerPackageVersion_markLatest,+    registerPackageVersion_ownerAccount,+    registerPackageVersion_packageId,+    registerPackageVersion_packageVersion,+    registerPackageVersion_patchVersion,++    -- * Destructuring the Response+    RegisterPackageVersionResponse (..),+    newRegisterPackageVersionResponse,++    -- * Response Lenses+    registerPackageVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRegisterPackageVersion' smart constructor.+data RegisterPackageVersion = RegisterPackageVersion'+  { -- | Whether to mark the new version as the latest version.+    markLatest :: Prelude.Maybe Prelude.Bool,+    -- | An owner account.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | A package ID.+    packageId :: Prelude.Text,+    -- | A package version.+    packageVersion :: Prelude.Text,+    -- | A patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterPackageVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'markLatest', 'registerPackageVersion_markLatest' - Whether to mark the new version as the latest version.+--+-- 'ownerAccount', 'registerPackageVersion_ownerAccount' - An owner account.+--+-- 'packageId', 'registerPackageVersion_packageId' - A package ID.+--+-- 'packageVersion', 'registerPackageVersion_packageVersion' - A package version.+--+-- 'patchVersion', 'registerPackageVersion_patchVersion' - A patch version.+newRegisterPackageVersion ::+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  RegisterPackageVersion+newRegisterPackageVersion+  pPackageId_+  pPackageVersion_+  pPatchVersion_ =+    RegisterPackageVersion'+      { markLatest =+          Prelude.Nothing,+        ownerAccount = Prelude.Nothing,+        packageId = pPackageId_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | Whether to mark the new version as the latest version.+registerPackageVersion_markLatest :: Lens.Lens' RegisterPackageVersion (Prelude.Maybe Prelude.Bool)+registerPackageVersion_markLatest = Lens.lens (\RegisterPackageVersion' {markLatest} -> markLatest) (\s@RegisterPackageVersion' {} a -> s {markLatest = a} :: RegisterPackageVersion)++-- | An owner account.+registerPackageVersion_ownerAccount :: Lens.Lens' RegisterPackageVersion (Prelude.Maybe Prelude.Text)+registerPackageVersion_ownerAccount = Lens.lens (\RegisterPackageVersion' {ownerAccount} -> ownerAccount) (\s@RegisterPackageVersion' {} a -> s {ownerAccount = a} :: RegisterPackageVersion)++-- | A package ID.+registerPackageVersion_packageId :: Lens.Lens' RegisterPackageVersion Prelude.Text+registerPackageVersion_packageId = Lens.lens (\RegisterPackageVersion' {packageId} -> packageId) (\s@RegisterPackageVersion' {} a -> s {packageId = a} :: RegisterPackageVersion)++-- | A package version.+registerPackageVersion_packageVersion :: Lens.Lens' RegisterPackageVersion Prelude.Text+registerPackageVersion_packageVersion = Lens.lens (\RegisterPackageVersion' {packageVersion} -> packageVersion) (\s@RegisterPackageVersion' {} a -> s {packageVersion = a} :: RegisterPackageVersion)++-- | A patch version.+registerPackageVersion_patchVersion :: Lens.Lens' RegisterPackageVersion Prelude.Text+registerPackageVersion_patchVersion = Lens.lens (\RegisterPackageVersion' {patchVersion} -> patchVersion) (\s@RegisterPackageVersion' {} a -> s {patchVersion = a} :: RegisterPackageVersion)++instance Core.AWSRequest RegisterPackageVersion where+  type+    AWSResponse RegisterPackageVersion =+      RegisterPackageVersionResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RegisterPackageVersionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RegisterPackageVersion where+  hashWithSalt _salt RegisterPackageVersion' {..} =+    _salt+      `Prelude.hashWithSalt` markLatest+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData RegisterPackageVersion where+  rnf RegisterPackageVersion' {..} =+    Prelude.rnf markLatest+      `Prelude.seq` Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion++instance Data.ToHeaders RegisterPackageVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RegisterPackageVersion where+  toJSON RegisterPackageVersion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MarkLatest" Data..=) Prelude.<$> markLatest,+            ("OwnerAccount" Data..=) Prelude.<$> ownerAccount+          ]+      )++instance Data.ToPath RegisterPackageVersion where+  toPath RegisterPackageVersion' {..} =+    Prelude.mconcat+      [ "/packages/",+        Data.toBS packageId,+        "/versions/",+        Data.toBS packageVersion,+        "/patch/",+        Data.toBS patchVersion+      ]++instance Data.ToQuery RegisterPackageVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterPackageVersionResponse' smart constructor.+data RegisterPackageVersionResponse = RegisterPackageVersionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterPackageVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'registerPackageVersionResponse_httpStatus' - The response's http status code.+newRegisterPackageVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RegisterPackageVersionResponse+newRegisterPackageVersionResponse pHttpStatus_ =+  RegisterPackageVersionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+registerPackageVersionResponse_httpStatus :: Lens.Lens' RegisterPackageVersionResponse Prelude.Int+registerPackageVersionResponse_httpStatus = Lens.lens (\RegisterPackageVersionResponse' {httpStatus} -> httpStatus) (\s@RegisterPackageVersionResponse' {} a -> s {httpStatus = a} :: RegisterPackageVersionResponse)++instance+  Prelude.NFData+    RegisterPackageVersionResponse+  where+  rnf RegisterPackageVersionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/RemoveApplicationInstance.hs view
@@ -0,0 +1,156 @@+{-# 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.Panorama.RemoveApplicationInstance+-- 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 an application instance.+module Amazonka.Panorama.RemoveApplicationInstance+  ( -- * Creating a Request+    RemoveApplicationInstance (..),+    newRemoveApplicationInstance,++    -- * Request Lenses+    removeApplicationInstance_applicationInstanceId,++    -- * Destructuring the Response+    RemoveApplicationInstanceResponse (..),+    newRemoveApplicationInstanceResponse,++    -- * Response Lenses+    removeApplicationInstanceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveApplicationInstance' smart constructor.+data RemoveApplicationInstance = RemoveApplicationInstance'+  { -- | An application instance ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveApplicationInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'removeApplicationInstance_applicationInstanceId' - An application instance ID.+newRemoveApplicationInstance ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  RemoveApplicationInstance+newRemoveApplicationInstance pApplicationInstanceId_ =+  RemoveApplicationInstance'+    { applicationInstanceId =+        pApplicationInstanceId_+    }++-- | An application instance ID.+removeApplicationInstance_applicationInstanceId :: Lens.Lens' RemoveApplicationInstance Prelude.Text+removeApplicationInstance_applicationInstanceId = Lens.lens (\RemoveApplicationInstance' {applicationInstanceId} -> applicationInstanceId) (\s@RemoveApplicationInstance' {} a -> s {applicationInstanceId = a} :: RemoveApplicationInstance)++instance Core.AWSRequest RemoveApplicationInstance where+  type+    AWSResponse RemoveApplicationInstance =+      RemoveApplicationInstanceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RemoveApplicationInstanceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RemoveApplicationInstance where+  hashWithSalt _salt RemoveApplicationInstance' {..} =+    _salt `Prelude.hashWithSalt` applicationInstanceId++instance Prelude.NFData RemoveApplicationInstance where+  rnf RemoveApplicationInstance' {..} =+    Prelude.rnf applicationInstanceId++instance Data.ToHeaders RemoveApplicationInstance where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath RemoveApplicationInstance where+  toPath RemoveApplicationInstance' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId+      ]++instance Data.ToQuery RemoveApplicationInstance where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveApplicationInstanceResponse' smart constructor.+data RemoveApplicationInstanceResponse = RemoveApplicationInstanceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveApplicationInstanceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'removeApplicationInstanceResponse_httpStatus' - The response's http status code.+newRemoveApplicationInstanceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RemoveApplicationInstanceResponse+newRemoveApplicationInstanceResponse pHttpStatus_ =+  RemoveApplicationInstanceResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+removeApplicationInstanceResponse_httpStatus :: Lens.Lens' RemoveApplicationInstanceResponse Prelude.Int+removeApplicationInstanceResponse_httpStatus = Lens.lens (\RemoveApplicationInstanceResponse' {httpStatus} -> httpStatus) (\s@RemoveApplicationInstanceResponse' {} a -> s {httpStatus = a} :: RemoveApplicationInstanceResponse)++instance+  Prelude.NFData+    RemoveApplicationInstanceResponse+  where+  rnf RemoveApplicationInstanceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/SignalApplicationInstanceNodeInstances.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.Panorama.SignalApplicationInstanceNodeInstances+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Signal camera nodes to stop or resume.+module Amazonka.Panorama.SignalApplicationInstanceNodeInstances+  ( -- * Creating a Request+    SignalApplicationInstanceNodeInstances (..),+    newSignalApplicationInstanceNodeInstances,++    -- * Request Lenses+    signalApplicationInstanceNodeInstances_applicationInstanceId,+    signalApplicationInstanceNodeInstances_nodeSignals,++    -- * Destructuring the Response+    SignalApplicationInstanceNodeInstancesResponse (..),+    newSignalApplicationInstanceNodeInstancesResponse,++    -- * Response Lenses+    signalApplicationInstanceNodeInstancesResponse_httpStatus,+    signalApplicationInstanceNodeInstancesResponse_applicationInstanceId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSignalApplicationInstanceNodeInstances' smart constructor.+data SignalApplicationInstanceNodeInstances = SignalApplicationInstanceNodeInstances'+  { -- | An application instance ID.+    applicationInstanceId :: Prelude.Text,+    -- | A list of signals.+    nodeSignals :: Prelude.NonEmpty NodeSignal+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignalApplicationInstanceNodeInstances' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'signalApplicationInstanceNodeInstances_applicationInstanceId' - An application instance ID.+--+-- 'nodeSignals', 'signalApplicationInstanceNodeInstances_nodeSignals' - A list of signals.+newSignalApplicationInstanceNodeInstances ::+  -- | 'applicationInstanceId'+  Prelude.Text ->+  -- | 'nodeSignals'+  Prelude.NonEmpty NodeSignal ->+  SignalApplicationInstanceNodeInstances+newSignalApplicationInstanceNodeInstances+  pApplicationInstanceId_+  pNodeSignals_ =+    SignalApplicationInstanceNodeInstances'+      { applicationInstanceId =+          pApplicationInstanceId_,+        nodeSignals =+          Lens.coerced Lens.# pNodeSignals_+      }++-- | An application instance ID.+signalApplicationInstanceNodeInstances_applicationInstanceId :: Lens.Lens' SignalApplicationInstanceNodeInstances Prelude.Text+signalApplicationInstanceNodeInstances_applicationInstanceId = Lens.lens (\SignalApplicationInstanceNodeInstances' {applicationInstanceId} -> applicationInstanceId) (\s@SignalApplicationInstanceNodeInstances' {} a -> s {applicationInstanceId = a} :: SignalApplicationInstanceNodeInstances)++-- | A list of signals.+signalApplicationInstanceNodeInstances_nodeSignals :: Lens.Lens' SignalApplicationInstanceNodeInstances (Prelude.NonEmpty NodeSignal)+signalApplicationInstanceNodeInstances_nodeSignals = Lens.lens (\SignalApplicationInstanceNodeInstances' {nodeSignals} -> nodeSignals) (\s@SignalApplicationInstanceNodeInstances' {} a -> s {nodeSignals = a} :: SignalApplicationInstanceNodeInstances) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    SignalApplicationInstanceNodeInstances+  where+  type+    AWSResponse+      SignalApplicationInstanceNodeInstances =+      SignalApplicationInstanceNodeInstancesResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          SignalApplicationInstanceNodeInstancesResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "ApplicationInstanceId")+      )++instance+  Prelude.Hashable+    SignalApplicationInstanceNodeInstances+  where+  hashWithSalt+    _salt+    SignalApplicationInstanceNodeInstances' {..} =+      _salt+        `Prelude.hashWithSalt` applicationInstanceId+        `Prelude.hashWithSalt` nodeSignals++instance+  Prelude.NFData+    SignalApplicationInstanceNodeInstances+  where+  rnf SignalApplicationInstanceNodeInstances' {..} =+    Prelude.rnf applicationInstanceId+      `Prelude.seq` Prelude.rnf nodeSignals++instance+  Data.ToHeaders+    SignalApplicationInstanceNodeInstances+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    SignalApplicationInstanceNodeInstances+  where+  toJSON SignalApplicationInstanceNodeInstances' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("NodeSignals" Data..= nodeSignals)]+      )++instance+  Data.ToPath+    SignalApplicationInstanceNodeInstances+  where+  toPath SignalApplicationInstanceNodeInstances' {..} =+    Prelude.mconcat+      [ "/application-instances/",+        Data.toBS applicationInstanceId,+        "/node-signals"+      ]++instance+  Data.ToQuery+    SignalApplicationInstanceNodeInstances+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSignalApplicationInstanceNodeInstancesResponse' smart constructor.+data SignalApplicationInstanceNodeInstancesResponse = SignalApplicationInstanceNodeInstancesResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | An application instance ID.+    applicationInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SignalApplicationInstanceNodeInstancesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'signalApplicationInstanceNodeInstancesResponse_httpStatus' - The response's http status code.+--+-- 'applicationInstanceId', 'signalApplicationInstanceNodeInstancesResponse_applicationInstanceId' - An application instance ID.+newSignalApplicationInstanceNodeInstancesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'applicationInstanceId'+  Prelude.Text ->+  SignalApplicationInstanceNodeInstancesResponse+newSignalApplicationInstanceNodeInstancesResponse+  pHttpStatus_+  pApplicationInstanceId_ =+    SignalApplicationInstanceNodeInstancesResponse'+      { httpStatus =+          pHttpStatus_,+        applicationInstanceId =+          pApplicationInstanceId_+      }++-- | The response's http status code.+signalApplicationInstanceNodeInstancesResponse_httpStatus :: Lens.Lens' SignalApplicationInstanceNodeInstancesResponse Prelude.Int+signalApplicationInstanceNodeInstancesResponse_httpStatus = Lens.lens (\SignalApplicationInstanceNodeInstancesResponse' {httpStatus} -> httpStatus) (\s@SignalApplicationInstanceNodeInstancesResponse' {} a -> s {httpStatus = a} :: SignalApplicationInstanceNodeInstancesResponse)++-- | An application instance ID.+signalApplicationInstanceNodeInstancesResponse_applicationInstanceId :: Lens.Lens' SignalApplicationInstanceNodeInstancesResponse Prelude.Text+signalApplicationInstanceNodeInstancesResponse_applicationInstanceId = Lens.lens (\SignalApplicationInstanceNodeInstancesResponse' {applicationInstanceId} -> applicationInstanceId) (\s@SignalApplicationInstanceNodeInstancesResponse' {} a -> s {applicationInstanceId = a} :: SignalApplicationInstanceNodeInstancesResponse)++instance+  Prelude.NFData+    SignalApplicationInstanceNodeInstancesResponse+  where+  rnf+    SignalApplicationInstanceNodeInstancesResponse' {..} =+      Prelude.rnf httpStatus+        `Prelude.seq` Prelude.rnf applicationInstanceId
+ gen/Amazonka/Panorama/TagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.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)+--+-- Tags a resource.+module Amazonka.Panorama.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.Panorama.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 resource\'s ARN.+    resourceArn :: Prelude.Text,+    -- | Tags for the resource.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The resource\'s ARN.+--+-- 'tags', 'tagResource_tags' - Tags for the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The resource\'s ARN.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | Tags for the resource.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/Types.hs view
@@ -0,0 +1,577 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.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.Panorama.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ValidationException,++    -- * ApplicationInstanceHealthStatus+    ApplicationInstanceHealthStatus (..),++    -- * ApplicationInstanceStatus+    ApplicationInstanceStatus (..),++    -- * ConnectionType+    ConnectionType (..),++    -- * DesiredState+    DesiredState (..),++    -- * DeviceAggregatedStatus+    DeviceAggregatedStatus (..),++    -- * DeviceBrand+    DeviceBrand (..),++    -- * DeviceConnectionStatus+    DeviceConnectionStatus (..),++    -- * DeviceReportedStatus+    DeviceReportedStatus (..),++    -- * DeviceStatus+    DeviceStatus (..),++    -- * DeviceType+    DeviceType (..),++    -- * JobResourceType+    JobResourceType (..),++    -- * JobType+    JobType (..),++    -- * ListDevicesSortBy+    ListDevicesSortBy (..),++    -- * NetworkConnectionStatus+    NetworkConnectionStatus (..),++    -- * NodeCategory+    NodeCategory (..),++    -- * NodeFromTemplateJobStatus+    NodeFromTemplateJobStatus (..),++    -- * NodeInstanceStatus+    NodeInstanceStatus (..),++    -- * NodeSignalValue+    NodeSignalValue (..),++    -- * PackageImportJobStatus+    PackageImportJobStatus (..),++    -- * PackageImportJobType+    PackageImportJobType (..),++    -- * PackageVersionStatus+    PackageVersionStatus (..),++    -- * PortType+    PortType (..),++    -- * SortOrder+    SortOrder (..),++    -- * StatusFilter+    StatusFilter (..),++    -- * TemplateType+    TemplateType (..),++    -- * UpdateProgress+    UpdateProgress (..),++    -- * AlternateSoftwareMetadata+    AlternateSoftwareMetadata (..),+    newAlternateSoftwareMetadata,+    alternateSoftwareMetadata_version,++    -- * ApplicationInstance+    ApplicationInstance (..),+    newApplicationInstance,+    applicationInstance_applicationInstanceId,+    applicationInstance_arn,+    applicationInstance_createdTime,+    applicationInstance_defaultRuntimeContextDevice,+    applicationInstance_defaultRuntimeContextDeviceName,+    applicationInstance_description,+    applicationInstance_healthStatus,+    applicationInstance_name,+    applicationInstance_runtimeContextStates,+    applicationInstance_status,+    applicationInstance_statusDescription,+    applicationInstance_tags,++    -- * Device+    Device (..),+    newDevice,+    device_brand,+    device_createdTime,+    device_currentSoftware,+    device_description,+    device_deviceAggregatedStatus,+    device_deviceId,+    device_lastUpdatedTime,+    device_latestDeviceJob,+    device_leaseExpirationTime,+    device_name,+    device_provisioningStatus,+    device_tags,+    device_type,++    -- * DeviceJob+    DeviceJob (..),+    newDeviceJob,+    deviceJob_createdTime,+    deviceJob_deviceId,+    deviceJob_deviceName,+    deviceJob_jobId,+    deviceJob_jobType,++    -- * DeviceJobConfig+    DeviceJobConfig (..),+    newDeviceJobConfig,+    deviceJobConfig_oTAJobConfig,++    -- * EthernetPayload+    EthernetPayload (..),+    newEthernetPayload,+    ethernetPayload_staticIpConnectionInfo,+    ethernetPayload_connectionType,++    -- * EthernetStatus+    EthernetStatus (..),+    newEthernetStatus,+    ethernetStatus_connectionStatus,+    ethernetStatus_hwAddress,+    ethernetStatus_ipAddress,++    -- * Job+    Job (..),+    newJob,+    job_deviceId,+    job_jobId,++    -- * JobResourceTags+    JobResourceTags (..),+    newJobResourceTags,+    jobResourceTags_resourceType,+    jobResourceTags_tags,++    -- * LatestDeviceJob+    LatestDeviceJob (..),+    newLatestDeviceJob,+    latestDeviceJob_imageVersion,+    latestDeviceJob_jobType,+    latestDeviceJob_status,++    -- * ManifestOverridesPayload+    ManifestOverridesPayload (..),+    newManifestOverridesPayload,+    manifestOverridesPayload_payloadData,++    -- * ManifestPayload+    ManifestPayload (..),+    newManifestPayload,+    manifestPayload_payloadData,++    -- * NetworkPayload+    NetworkPayload (..),+    newNetworkPayload,+    networkPayload_ethernet0,+    networkPayload_ethernet1,+    networkPayload_ntp,++    -- * NetworkStatus+    NetworkStatus (..),+    newNetworkStatus,+    networkStatus_ethernet0Status,+    networkStatus_ethernet1Status,+    networkStatus_lastUpdatedTime,+    networkStatus_ntpStatus,++    -- * Node+    Node (..),+    newNode,+    node_description,+    node_ownerAccount,+    node_packageArn,+    node_category,+    node_createdTime,+    node_name,+    node_nodeId,+    node_packageId,+    node_packageName,+    node_packageVersion,+    node_patchVersion,++    -- * NodeFromTemplateJob+    NodeFromTemplateJob (..),+    newNodeFromTemplateJob,+    nodeFromTemplateJob_createdTime,+    nodeFromTemplateJob_jobId,+    nodeFromTemplateJob_nodeName,+    nodeFromTemplateJob_status,+    nodeFromTemplateJob_statusMessage,+    nodeFromTemplateJob_templateType,++    -- * NodeInputPort+    NodeInputPort (..),+    newNodeInputPort,+    nodeInputPort_defaultValue,+    nodeInputPort_description,+    nodeInputPort_maxConnections,+    nodeInputPort_name,+    nodeInputPort_type,++    -- * NodeInstance+    NodeInstance (..),+    newNodeInstance,+    nodeInstance_nodeId,+    nodeInstance_nodeName,+    nodeInstance_packageName,+    nodeInstance_packagePatchVersion,+    nodeInstance_packageVersion,+    nodeInstance_currentStatus,+    nodeInstance_nodeInstanceId,++    -- * NodeInterface+    NodeInterface (..),+    newNodeInterface,+    nodeInterface_inputs,+    nodeInterface_outputs,++    -- * NodeOutputPort+    NodeOutputPort (..),+    newNodeOutputPort,+    nodeOutputPort_description,+    nodeOutputPort_name,+    nodeOutputPort_type,++    -- * NodeSignal+    NodeSignal (..),+    newNodeSignal,+    nodeSignal_nodeInstanceId,+    nodeSignal_signal,++    -- * NtpPayload+    NtpPayload (..),+    newNtpPayload,+    ntpPayload_ntpServers,++    -- * NtpStatus+    NtpStatus (..),+    newNtpStatus,+    ntpStatus_connectionStatus,+    ntpStatus_ipAddress,+    ntpStatus_ntpServerName,++    -- * OTAJobConfig+    OTAJobConfig (..),+    newOTAJobConfig,+    oTAJobConfig_imageVersion,++    -- * OutPutS3Location+    OutPutS3Location (..),+    newOutPutS3Location,+    outPutS3Location_bucketName,+    outPutS3Location_objectKey,++    -- * PackageImportJob+    PackageImportJob (..),+    newPackageImportJob,+    packageImportJob_createdTime,+    packageImportJob_jobId,+    packageImportJob_jobType,+    packageImportJob_lastUpdatedTime,+    packageImportJob_status,+    packageImportJob_statusMessage,++    -- * PackageImportJobInputConfig+    PackageImportJobInputConfig (..),+    newPackageImportJobInputConfig,+    packageImportJobInputConfig_packageVersionInputConfig,++    -- * PackageImportJobOutput+    PackageImportJobOutput (..),+    newPackageImportJobOutput,+    packageImportJobOutput_outputS3Location,+    packageImportJobOutput_packageId,+    packageImportJobOutput_packageVersion,+    packageImportJobOutput_patchVersion,++    -- * PackageImportJobOutputConfig+    PackageImportJobOutputConfig (..),+    newPackageImportJobOutputConfig,+    packageImportJobOutputConfig_packageVersionOutputConfig,++    -- * PackageListItem+    PackageListItem (..),+    newPackageListItem,+    packageListItem_arn,+    packageListItem_createdTime,+    packageListItem_packageId,+    packageListItem_packageName,+    packageListItem_tags,++    -- * PackageObject+    PackageObject (..),+    newPackageObject,+    packageObject_name,+    packageObject_packageVersion,+    packageObject_patchVersion,++    -- * PackageVersionInputConfig+    PackageVersionInputConfig (..),+    newPackageVersionInputConfig,+    packageVersionInputConfig_s3Location,++    -- * PackageVersionOutputConfig+    PackageVersionOutputConfig (..),+    newPackageVersionOutputConfig,+    packageVersionOutputConfig_markLatest,+    packageVersionOutputConfig_packageName,+    packageVersionOutputConfig_packageVersion,++    -- * ReportedRuntimeContextState+    ReportedRuntimeContextState (..),+    newReportedRuntimeContextState,+    reportedRuntimeContextState_desiredState,+    reportedRuntimeContextState_deviceReportedStatus,+    reportedRuntimeContextState_deviceReportedTime,+    reportedRuntimeContextState_runtimeContextName,++    -- * S3Location+    S3Location (..),+    newS3Location,+    s3Location_region,+    s3Location_bucketName,+    s3Location_objectKey,++    -- * StaticIpConnectionInfo+    StaticIpConnectionInfo (..),+    newStaticIpConnectionInfo,+    staticIpConnectionInfo_defaultGateway,+    staticIpConnectionInfo_dns,+    staticIpConnectionInfo_ipAddress,+    staticIpConnectionInfo_mask,++    -- * StorageLocation+    StorageLocation (..),+    newStorageLocation,+    storageLocation_binaryPrefixLocation,+    storageLocation_bucket,+    storageLocation_generatedPrefixLocation,+    storageLocation_manifestPrefixLocation,+    storageLocation_repoPrefixLocation,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Panorama.Types.AlternateSoftwareMetadata+import Amazonka.Panorama.Types.ApplicationInstance+import Amazonka.Panorama.Types.ApplicationInstanceHealthStatus+import Amazonka.Panorama.Types.ApplicationInstanceStatus+import Amazonka.Panorama.Types.ConnectionType+import Amazonka.Panorama.Types.DesiredState+import Amazonka.Panorama.Types.Device+import Amazonka.Panorama.Types.DeviceAggregatedStatus+import Amazonka.Panorama.Types.DeviceBrand+import Amazonka.Panorama.Types.DeviceConnectionStatus+import Amazonka.Panorama.Types.DeviceJob+import Amazonka.Panorama.Types.DeviceJobConfig+import Amazonka.Panorama.Types.DeviceReportedStatus+import Amazonka.Panorama.Types.DeviceStatus+import Amazonka.Panorama.Types.DeviceType+import Amazonka.Panorama.Types.EthernetPayload+import Amazonka.Panorama.Types.EthernetStatus+import Amazonka.Panorama.Types.Job+import Amazonka.Panorama.Types.JobResourceTags+import Amazonka.Panorama.Types.JobResourceType+import Amazonka.Panorama.Types.JobType+import Amazonka.Panorama.Types.LatestDeviceJob+import Amazonka.Panorama.Types.ListDevicesSortBy+import Amazonka.Panorama.Types.ManifestOverridesPayload+import Amazonka.Panorama.Types.ManifestPayload+import Amazonka.Panorama.Types.NetworkConnectionStatus+import Amazonka.Panorama.Types.NetworkPayload+import Amazonka.Panorama.Types.NetworkStatus+import Amazonka.Panorama.Types.Node+import Amazonka.Panorama.Types.NodeCategory+import Amazonka.Panorama.Types.NodeFromTemplateJob+import Amazonka.Panorama.Types.NodeFromTemplateJobStatus+import Amazonka.Panorama.Types.NodeInputPort+import Amazonka.Panorama.Types.NodeInstance+import Amazonka.Panorama.Types.NodeInstanceStatus+import Amazonka.Panorama.Types.NodeInterface+import Amazonka.Panorama.Types.NodeOutputPort+import Amazonka.Panorama.Types.NodeSignal+import Amazonka.Panorama.Types.NodeSignalValue+import Amazonka.Panorama.Types.NtpPayload+import Amazonka.Panorama.Types.NtpStatus+import Amazonka.Panorama.Types.OTAJobConfig+import Amazonka.Panorama.Types.OutPutS3Location+import Amazonka.Panorama.Types.PackageImportJob+import Amazonka.Panorama.Types.PackageImportJobInputConfig+import Amazonka.Panorama.Types.PackageImportJobOutput+import Amazonka.Panorama.Types.PackageImportJobOutputConfig+import Amazonka.Panorama.Types.PackageImportJobStatus+import Amazonka.Panorama.Types.PackageImportJobType+import Amazonka.Panorama.Types.PackageListItem+import Amazonka.Panorama.Types.PackageObject+import Amazonka.Panorama.Types.PackageVersionInputConfig+import Amazonka.Panorama.Types.PackageVersionOutputConfig+import Amazonka.Panorama.Types.PackageVersionStatus+import Amazonka.Panorama.Types.PortType+import Amazonka.Panorama.Types.ReportedRuntimeContextState+import Amazonka.Panorama.Types.S3Location+import Amazonka.Panorama.Types.SortOrder+import Amazonka.Panorama.Types.StaticIpConnectionInfo+import Amazonka.Panorama.Types.StatusFilter+import Amazonka.Panorama.Types.StorageLocation+import Amazonka.Panorama.Types.TemplateType+import Amazonka.Panorama.Types.UpdateProgress+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-07-24@ of the Amazon Panorama SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Panorama",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "panorama",+      Core.signingName = "panorama",+      Core.version = "2019-07-24",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Panorama",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | The requestor does not have permission to access the target action or+-- resource.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | The target resource is in use.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An internal error occurred.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The target resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request would cause a limit to be exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request contains an invalid parameter value.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Panorama/Types/AlternateSoftwareMetadata.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.Panorama.Types.AlternateSoftwareMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.AlternateSoftwareMetadata 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++-- | Details about a beta appliance software update.+--+-- /See:/ 'newAlternateSoftwareMetadata' smart constructor.+data AlternateSoftwareMetadata = AlternateSoftwareMetadata'+  { -- | The appliance software version.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AlternateSoftwareMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'version', 'alternateSoftwareMetadata_version' - The appliance software version.+newAlternateSoftwareMetadata ::+  AlternateSoftwareMetadata+newAlternateSoftwareMetadata =+  AlternateSoftwareMetadata'+    { version =+        Prelude.Nothing+    }++-- | The appliance software version.+alternateSoftwareMetadata_version :: Lens.Lens' AlternateSoftwareMetadata (Prelude.Maybe Prelude.Text)+alternateSoftwareMetadata_version = Lens.lens (\AlternateSoftwareMetadata' {version} -> version) (\s@AlternateSoftwareMetadata' {} a -> s {version = a} :: AlternateSoftwareMetadata)++instance Data.FromJSON AlternateSoftwareMetadata where+  parseJSON =+    Data.withObject+      "AlternateSoftwareMetadata"+      ( \x ->+          AlternateSoftwareMetadata'+            Prelude.<$> (x Data..:? "Version")+      )++instance Prelude.Hashable AlternateSoftwareMetadata where+  hashWithSalt _salt AlternateSoftwareMetadata' {..} =+    _salt `Prelude.hashWithSalt` version++instance Prelude.NFData AlternateSoftwareMetadata where+  rnf AlternateSoftwareMetadata' {..} =+    Prelude.rnf version
+ gen/Amazonka/Panorama/Types/ApplicationInstance.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.ApplicationInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ApplicationInstance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.ApplicationInstanceHealthStatus+import Amazonka.Panorama.Types.ApplicationInstanceStatus+import Amazonka.Panorama.Types.ReportedRuntimeContextState+import qualified Amazonka.Prelude as Prelude++-- | An application instance on a device.+--+-- /See:/ 'newApplicationInstance' smart constructor.+data ApplicationInstance = ApplicationInstance'+  { -- | The application instance\'s ID.+    applicationInstanceId :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | When the application instance was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s ID.+    defaultRuntimeContextDevice :: Prelude.Maybe Prelude.Text,+    -- | The device\'s name.+    defaultRuntimeContextDeviceName :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s health status.+    healthStatus :: Prelude.Maybe ApplicationInstanceHealthStatus,+    -- | The application instance\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The application\'s state.+    runtimeContextStates :: Prelude.Maybe [ReportedRuntimeContextState],+    -- | The application instance\'s status.+    status :: Prelude.Maybe ApplicationInstanceStatus,+    -- | The application instance\'s status description.+    statusDescription :: Prelude.Maybe Prelude.Text,+    -- | The application instance\'s tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applicationInstanceId', 'applicationInstance_applicationInstanceId' - The application instance\'s ID.+--+-- 'arn', 'applicationInstance_arn' - The application instance\'s ARN.+--+-- 'createdTime', 'applicationInstance_createdTime' - When the application instance was created.+--+-- 'defaultRuntimeContextDevice', 'applicationInstance_defaultRuntimeContextDevice' - The device\'s ID.+--+-- 'defaultRuntimeContextDeviceName', 'applicationInstance_defaultRuntimeContextDeviceName' - The device\'s name.+--+-- 'description', 'applicationInstance_description' - The application instance\'s description.+--+-- 'healthStatus', 'applicationInstance_healthStatus' - The application instance\'s health status.+--+-- 'name', 'applicationInstance_name' - The application instance\'s name.+--+-- 'runtimeContextStates', 'applicationInstance_runtimeContextStates' - The application\'s state.+--+-- 'status', 'applicationInstance_status' - The application instance\'s status.+--+-- 'statusDescription', 'applicationInstance_statusDescription' - The application instance\'s status description.+--+-- 'tags', 'applicationInstance_tags' - The application instance\'s tags.+newApplicationInstance ::+  ApplicationInstance+newApplicationInstance =+  ApplicationInstance'+    { applicationInstanceId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      defaultRuntimeContextDevice = Prelude.Nothing,+      defaultRuntimeContextDeviceName = Prelude.Nothing,+      description = Prelude.Nothing,+      healthStatus = Prelude.Nothing,+      name = Prelude.Nothing,+      runtimeContextStates = Prelude.Nothing,+      status = Prelude.Nothing,+      statusDescription = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The application instance\'s ID.+applicationInstance_applicationInstanceId :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_applicationInstanceId = Lens.lens (\ApplicationInstance' {applicationInstanceId} -> applicationInstanceId) (\s@ApplicationInstance' {} a -> s {applicationInstanceId = a} :: ApplicationInstance)++-- | The application instance\'s ARN.+applicationInstance_arn :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_arn = Lens.lens (\ApplicationInstance' {arn} -> arn) (\s@ApplicationInstance' {} a -> s {arn = a} :: ApplicationInstance)++-- | When the application instance was created.+applicationInstance_createdTime :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.UTCTime)+applicationInstance_createdTime = Lens.lens (\ApplicationInstance' {createdTime} -> createdTime) (\s@ApplicationInstance' {} a -> s {createdTime = a} :: ApplicationInstance) Prelude.. Lens.mapping Data._Time++-- | The device\'s ID.+applicationInstance_defaultRuntimeContextDevice :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_defaultRuntimeContextDevice = Lens.lens (\ApplicationInstance' {defaultRuntimeContextDevice} -> defaultRuntimeContextDevice) (\s@ApplicationInstance' {} a -> s {defaultRuntimeContextDevice = a} :: ApplicationInstance)++-- | The device\'s name.+applicationInstance_defaultRuntimeContextDeviceName :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_defaultRuntimeContextDeviceName = Lens.lens (\ApplicationInstance' {defaultRuntimeContextDeviceName} -> defaultRuntimeContextDeviceName) (\s@ApplicationInstance' {} a -> s {defaultRuntimeContextDeviceName = a} :: ApplicationInstance)++-- | The application instance\'s description.+applicationInstance_description :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_description = Lens.lens (\ApplicationInstance' {description} -> description) (\s@ApplicationInstance' {} a -> s {description = a} :: ApplicationInstance)++-- | The application instance\'s health status.+applicationInstance_healthStatus :: Lens.Lens' ApplicationInstance (Prelude.Maybe ApplicationInstanceHealthStatus)+applicationInstance_healthStatus = Lens.lens (\ApplicationInstance' {healthStatus} -> healthStatus) (\s@ApplicationInstance' {} a -> s {healthStatus = a} :: ApplicationInstance)++-- | The application instance\'s name.+applicationInstance_name :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_name = Lens.lens (\ApplicationInstance' {name} -> name) (\s@ApplicationInstance' {} a -> s {name = a} :: ApplicationInstance)++-- | The application\'s state.+applicationInstance_runtimeContextStates :: Lens.Lens' ApplicationInstance (Prelude.Maybe [ReportedRuntimeContextState])+applicationInstance_runtimeContextStates = Lens.lens (\ApplicationInstance' {runtimeContextStates} -> runtimeContextStates) (\s@ApplicationInstance' {} a -> s {runtimeContextStates = a} :: ApplicationInstance) Prelude.. Lens.mapping Lens.coerced++-- | The application instance\'s status.+applicationInstance_status :: Lens.Lens' ApplicationInstance (Prelude.Maybe ApplicationInstanceStatus)+applicationInstance_status = Lens.lens (\ApplicationInstance' {status} -> status) (\s@ApplicationInstance' {} a -> s {status = a} :: ApplicationInstance)++-- | The application instance\'s status description.+applicationInstance_statusDescription :: Lens.Lens' ApplicationInstance (Prelude.Maybe Prelude.Text)+applicationInstance_statusDescription = Lens.lens (\ApplicationInstance' {statusDescription} -> statusDescription) (\s@ApplicationInstance' {} a -> s {statusDescription = a} :: ApplicationInstance)++-- | The application instance\'s tags.+applicationInstance_tags :: Lens.Lens' ApplicationInstance (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+applicationInstance_tags = Lens.lens (\ApplicationInstance' {tags} -> tags) (\s@ApplicationInstance' {} a -> s {tags = a} :: ApplicationInstance) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ApplicationInstance where+  parseJSON =+    Data.withObject+      "ApplicationInstance"+      ( \x ->+          ApplicationInstance'+            Prelude.<$> (x Data..:? "ApplicationInstanceId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DefaultRuntimeContextDevice")+            Prelude.<*> (x Data..:? "DefaultRuntimeContextDeviceName")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "HealthStatus")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> ( x+                            Data..:? "RuntimeContextStates"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusDescription")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ApplicationInstance where+  hashWithSalt _salt ApplicationInstance' {..} =+    _salt+      `Prelude.hashWithSalt` applicationInstanceId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` defaultRuntimeContextDevice+      `Prelude.hashWithSalt` defaultRuntimeContextDeviceName+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` healthStatus+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` runtimeContextStates+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusDescription+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ApplicationInstance where+  rnf ApplicationInstance' {..} =+    Prelude.rnf applicationInstanceId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDevice+      `Prelude.seq` Prelude.rnf defaultRuntimeContextDeviceName+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf healthStatus+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf runtimeContextStates+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusDescription+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Panorama/Types/ApplicationInstanceHealthStatus.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.Panorama.Types.ApplicationInstanceHealthStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ApplicationInstanceHealthStatus+  ( ApplicationInstanceHealthStatus+      ( ..,+        ApplicationInstanceHealthStatus_ERROR,+        ApplicationInstanceHealthStatus_NOT_AVAILABLE,+        ApplicationInstanceHealthStatus_RUNNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationInstanceHealthStatus = ApplicationInstanceHealthStatus'+  { fromApplicationInstanceHealthStatus ::+      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 ApplicationInstanceHealthStatus_ERROR :: ApplicationInstanceHealthStatus+pattern ApplicationInstanceHealthStatus_ERROR = ApplicationInstanceHealthStatus' "ERROR"++pattern ApplicationInstanceHealthStatus_NOT_AVAILABLE :: ApplicationInstanceHealthStatus+pattern ApplicationInstanceHealthStatus_NOT_AVAILABLE = ApplicationInstanceHealthStatus' "NOT_AVAILABLE"++pattern ApplicationInstanceHealthStatus_RUNNING :: ApplicationInstanceHealthStatus+pattern ApplicationInstanceHealthStatus_RUNNING = ApplicationInstanceHealthStatus' "RUNNING"++{-# COMPLETE+  ApplicationInstanceHealthStatus_ERROR,+  ApplicationInstanceHealthStatus_NOT_AVAILABLE,+  ApplicationInstanceHealthStatus_RUNNING,+  ApplicationInstanceHealthStatus'+  #-}
+ gen/Amazonka/Panorama/Types/ApplicationInstanceStatus.hs view
@@ -0,0 +1,116 @@+{-# 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.Panorama.Types.ApplicationInstanceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ApplicationInstanceStatus+  ( ApplicationInstanceStatus+      ( ..,+        ApplicationInstanceStatus_DEPLOYMENT_ERROR,+        ApplicationInstanceStatus_DEPLOYMENT_FAILED,+        ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS,+        ApplicationInstanceStatus_DEPLOYMENT_PENDING,+        ApplicationInstanceStatus_DEPLOYMENT_REQUESTED,+        ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED,+        ApplicationInstanceStatus_REMOVAL_FAILED,+        ApplicationInstanceStatus_REMOVAL_IN_PROGRESS,+        ApplicationInstanceStatus_REMOVAL_PENDING,+        ApplicationInstanceStatus_REMOVAL_REQUESTED,+        ApplicationInstanceStatus_REMOVAL_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationInstanceStatus = ApplicationInstanceStatus'+  { fromApplicationInstanceStatus ::+      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 ApplicationInstanceStatus_DEPLOYMENT_ERROR :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_ERROR = ApplicationInstanceStatus' "DEPLOYMENT_ERROR"++pattern ApplicationInstanceStatus_DEPLOYMENT_FAILED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_FAILED = ApplicationInstanceStatus' "DEPLOYMENT_FAILED"++pattern ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS = ApplicationInstanceStatus' "DEPLOYMENT_IN_PROGRESS"++pattern ApplicationInstanceStatus_DEPLOYMENT_PENDING :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_PENDING = ApplicationInstanceStatus' "DEPLOYMENT_PENDING"++pattern ApplicationInstanceStatus_DEPLOYMENT_REQUESTED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_REQUESTED = ApplicationInstanceStatus' "DEPLOYMENT_REQUESTED"++pattern ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED = ApplicationInstanceStatus' "DEPLOYMENT_SUCCEEDED"++pattern ApplicationInstanceStatus_REMOVAL_FAILED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_REMOVAL_FAILED = ApplicationInstanceStatus' "REMOVAL_FAILED"++pattern ApplicationInstanceStatus_REMOVAL_IN_PROGRESS :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_REMOVAL_IN_PROGRESS = ApplicationInstanceStatus' "REMOVAL_IN_PROGRESS"++pattern ApplicationInstanceStatus_REMOVAL_PENDING :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_REMOVAL_PENDING = ApplicationInstanceStatus' "REMOVAL_PENDING"++pattern ApplicationInstanceStatus_REMOVAL_REQUESTED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_REMOVAL_REQUESTED = ApplicationInstanceStatus' "REMOVAL_REQUESTED"++pattern ApplicationInstanceStatus_REMOVAL_SUCCEEDED :: ApplicationInstanceStatus+pattern ApplicationInstanceStatus_REMOVAL_SUCCEEDED = ApplicationInstanceStatus' "REMOVAL_SUCCEEDED"++{-# COMPLETE+  ApplicationInstanceStatus_DEPLOYMENT_ERROR,+  ApplicationInstanceStatus_DEPLOYMENT_FAILED,+  ApplicationInstanceStatus_DEPLOYMENT_IN_PROGRESS,+  ApplicationInstanceStatus_DEPLOYMENT_PENDING,+  ApplicationInstanceStatus_DEPLOYMENT_REQUESTED,+  ApplicationInstanceStatus_DEPLOYMENT_SUCCEEDED,+  ApplicationInstanceStatus_REMOVAL_FAILED,+  ApplicationInstanceStatus_REMOVAL_IN_PROGRESS,+  ApplicationInstanceStatus_REMOVAL_PENDING,+  ApplicationInstanceStatus_REMOVAL_REQUESTED,+  ApplicationInstanceStatus_REMOVAL_SUCCEEDED,+  ApplicationInstanceStatus'+  #-}
+ gen/Amazonka/Panorama/Types/ConnectionType.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.Panorama.Types.ConnectionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ConnectionType+  ( ConnectionType+      ( ..,+        ConnectionType_DHCP,+        ConnectionType_STATIC_IP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionType = ConnectionType'+  { fromConnectionType ::+      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 ConnectionType_DHCP :: ConnectionType+pattern ConnectionType_DHCP = ConnectionType' "DHCP"++pattern ConnectionType_STATIC_IP :: ConnectionType+pattern ConnectionType_STATIC_IP = ConnectionType' "STATIC_IP"++{-# COMPLETE+  ConnectionType_DHCP,+  ConnectionType_STATIC_IP,+  ConnectionType'+  #-}
+ gen/Amazonka/Panorama/Types/DesiredState.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.Panorama.Types.DesiredState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DesiredState+  ( DesiredState+      ( ..,+        DesiredState_REMOVED,+        DesiredState_RUNNING,+        DesiredState_STOPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DesiredState = DesiredState'+  { fromDesiredState ::+      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 DesiredState_REMOVED :: DesiredState+pattern DesiredState_REMOVED = DesiredState' "REMOVED"++pattern DesiredState_RUNNING :: DesiredState+pattern DesiredState_RUNNING = DesiredState' "RUNNING"++pattern DesiredState_STOPPED :: DesiredState+pattern DesiredState_STOPPED = DesiredState' "STOPPED"++{-# COMPLETE+  DesiredState_REMOVED,+  DesiredState_RUNNING,+  DesiredState_STOPPED,+  DesiredState'+  #-}
+ gen/Amazonka/Panorama/Types/Device.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.Device+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.Device where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.DeviceAggregatedStatus+import Amazonka.Panorama.Types.DeviceBrand+import Amazonka.Panorama.Types.DeviceStatus+import Amazonka.Panorama.Types.DeviceType+import Amazonka.Panorama.Types.LatestDeviceJob+import qualified Amazonka.Prelude as Prelude++-- | A device.+--+-- /See:/ 'newDevice' smart constructor.+data Device = Device'+  { -- | The device\'s maker.+    brand :: Prelude.Maybe DeviceBrand,+    -- | When the device was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | A device\'s current software.+    currentSoftware :: Prelude.Maybe Prelude.Text,+    -- | A description for the device.+    description :: Prelude.Maybe Prelude.Text,+    -- | A device\'s aggregated status. Including the device\'s connection+    -- status, provisioning status, and lease status.+    deviceAggregatedStatus :: Prelude.Maybe DeviceAggregatedStatus,+    -- | The device\'s ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | When the device was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A device\'s latest job. Includes the target image version, and the+    -- update job status.+    latestDeviceJob :: Prelude.Maybe LatestDeviceJob,+    -- | The device\'s lease expiration time.+    leaseExpirationTime :: Prelude.Maybe Data.POSIX,+    -- | The device\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The device\'s provisioning status.+    provisioningStatus :: Prelude.Maybe DeviceStatus,+    -- | The device\'s tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The device\'s type.+    type' :: Prelude.Maybe DeviceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Device' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'brand', 'device_brand' - The device\'s maker.+--+-- 'createdTime', 'device_createdTime' - When the device was created.+--+-- 'currentSoftware', 'device_currentSoftware' - A device\'s current software.+--+-- 'description', 'device_description' - A description for the device.+--+-- 'deviceAggregatedStatus', 'device_deviceAggregatedStatus' - A device\'s aggregated status. Including the device\'s connection+-- status, provisioning status, and lease status.+--+-- 'deviceId', 'device_deviceId' - The device\'s ID.+--+-- 'lastUpdatedTime', 'device_lastUpdatedTime' - When the device was updated.+--+-- 'latestDeviceJob', 'device_latestDeviceJob' - A device\'s latest job. Includes the target image version, and the+-- update job status.+--+-- 'leaseExpirationTime', 'device_leaseExpirationTime' - The device\'s lease expiration time.+--+-- 'name', 'device_name' - The device\'s name.+--+-- 'provisioningStatus', 'device_provisioningStatus' - The device\'s provisioning status.+--+-- 'tags', 'device_tags' - The device\'s tags.+--+-- 'type'', 'device_type' - The device\'s type.+newDevice ::+  Device+newDevice =+  Device'+    { brand = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      currentSoftware = Prelude.Nothing,+      description = Prelude.Nothing,+      deviceAggregatedStatus = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      latestDeviceJob = Prelude.Nothing,+      leaseExpirationTime = Prelude.Nothing,+      name = Prelude.Nothing,+      provisioningStatus = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The device\'s maker.+device_brand :: Lens.Lens' Device (Prelude.Maybe DeviceBrand)+device_brand = Lens.lens (\Device' {brand} -> brand) (\s@Device' {} a -> s {brand = a} :: Device)++-- | When the device was created.+device_createdTime :: Lens.Lens' Device (Prelude.Maybe Prelude.UTCTime)+device_createdTime = Lens.lens (\Device' {createdTime} -> createdTime) (\s@Device' {} a -> s {createdTime = a} :: Device) Prelude.. Lens.mapping Data._Time++-- | A device\'s current software.+device_currentSoftware :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_currentSoftware = Lens.lens (\Device' {currentSoftware} -> currentSoftware) (\s@Device' {} a -> s {currentSoftware = a} :: Device)++-- | A description for the device.+device_description :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_description = Lens.lens (\Device' {description} -> description) (\s@Device' {} a -> s {description = a} :: Device)++-- | A device\'s aggregated status. Including the device\'s connection+-- status, provisioning status, and lease status.+device_deviceAggregatedStatus :: Lens.Lens' Device (Prelude.Maybe DeviceAggregatedStatus)+device_deviceAggregatedStatus = Lens.lens (\Device' {deviceAggregatedStatus} -> deviceAggregatedStatus) (\s@Device' {} a -> s {deviceAggregatedStatus = a} :: Device)++-- | The device\'s ID.+device_deviceId :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_deviceId = Lens.lens (\Device' {deviceId} -> deviceId) (\s@Device' {} a -> s {deviceId = a} :: Device)++-- | When the device was updated.+device_lastUpdatedTime :: Lens.Lens' Device (Prelude.Maybe Prelude.UTCTime)+device_lastUpdatedTime = Lens.lens (\Device' {lastUpdatedTime} -> lastUpdatedTime) (\s@Device' {} a -> s {lastUpdatedTime = a} :: Device) Prelude.. Lens.mapping Data._Time++-- | A device\'s latest job. Includes the target image version, and the+-- update job status.+device_latestDeviceJob :: Lens.Lens' Device (Prelude.Maybe LatestDeviceJob)+device_latestDeviceJob = Lens.lens (\Device' {latestDeviceJob} -> latestDeviceJob) (\s@Device' {} a -> s {latestDeviceJob = a} :: Device)++-- | The device\'s lease expiration time.+device_leaseExpirationTime :: Lens.Lens' Device (Prelude.Maybe Prelude.UTCTime)+device_leaseExpirationTime = Lens.lens (\Device' {leaseExpirationTime} -> leaseExpirationTime) (\s@Device' {} a -> s {leaseExpirationTime = a} :: Device) Prelude.. Lens.mapping Data._Time++-- | The device\'s name.+device_name :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_name = Lens.lens (\Device' {name} -> name) (\s@Device' {} a -> s {name = a} :: Device)++-- | The device\'s provisioning status.+device_provisioningStatus :: Lens.Lens' Device (Prelude.Maybe DeviceStatus)+device_provisioningStatus = Lens.lens (\Device' {provisioningStatus} -> provisioningStatus) (\s@Device' {} a -> s {provisioningStatus = a} :: Device)++-- | The device\'s tags.+device_tags :: Lens.Lens' Device (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+device_tags = Lens.lens (\Device' {tags} -> tags) (\s@Device' {} a -> s {tags = a} :: Device) Prelude.. Lens.mapping Lens.coerced++-- | The device\'s type.+device_type :: Lens.Lens' Device (Prelude.Maybe DeviceType)+device_type = Lens.lens (\Device' {type'} -> type') (\s@Device' {} a -> s {type' = a} :: Device)++instance Data.FromJSON Device where+  parseJSON =+    Data.withObject+      "Device"+      ( \x ->+          Device'+            Prelude.<$> (x Data..:? "Brand")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "CurrentSoftware")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DeviceAggregatedStatus")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "LatestDeviceJob")+            Prelude.<*> (x Data..:? "LeaseExpirationTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "ProvisioningStatus")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable Device where+  hashWithSalt _salt Device' {..} =+    _salt+      `Prelude.hashWithSalt` brand+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` currentSoftware+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` deviceAggregatedStatus+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` latestDeviceJob+      `Prelude.hashWithSalt` leaseExpirationTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` provisioningStatus+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Device where+  rnf Device' {..} =+    Prelude.rnf brand+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf currentSoftware+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf deviceAggregatedStatus+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf latestDeviceJob+      `Prelude.seq` Prelude.rnf leaseExpirationTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf provisioningStatus+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Panorama/Types/DeviceAggregatedStatus.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.DeviceAggregatedStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceAggregatedStatus+  ( DeviceAggregatedStatus+      ( ..,+        DeviceAggregatedStatus_AWAITING_PROVISIONING,+        DeviceAggregatedStatus_DELETING,+        DeviceAggregatedStatus_ERROR,+        DeviceAggregatedStatus_FAILED,+        DeviceAggregatedStatus_LEASE_EXPIRED,+        DeviceAggregatedStatus_OFFLINE,+        DeviceAggregatedStatus_ONLINE,+        DeviceAggregatedStatus_PENDING,+        DeviceAggregatedStatus_REBOOTING,+        DeviceAggregatedStatus_UPDATE_NEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceAggregatedStatus = DeviceAggregatedStatus'+  { fromDeviceAggregatedStatus ::+      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 DeviceAggregatedStatus_AWAITING_PROVISIONING :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_AWAITING_PROVISIONING = DeviceAggregatedStatus' "AWAITING_PROVISIONING"++pattern DeviceAggregatedStatus_DELETING :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_DELETING = DeviceAggregatedStatus' "DELETING"++pattern DeviceAggregatedStatus_ERROR :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_ERROR = DeviceAggregatedStatus' "ERROR"++pattern DeviceAggregatedStatus_FAILED :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_FAILED = DeviceAggregatedStatus' "FAILED"++pattern DeviceAggregatedStatus_LEASE_EXPIRED :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_LEASE_EXPIRED = DeviceAggregatedStatus' "LEASE_EXPIRED"++pattern DeviceAggregatedStatus_OFFLINE :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_OFFLINE = DeviceAggregatedStatus' "OFFLINE"++pattern DeviceAggregatedStatus_ONLINE :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_ONLINE = DeviceAggregatedStatus' "ONLINE"++pattern DeviceAggregatedStatus_PENDING :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_PENDING = DeviceAggregatedStatus' "PENDING"++pattern DeviceAggregatedStatus_REBOOTING :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_REBOOTING = DeviceAggregatedStatus' "REBOOTING"++pattern DeviceAggregatedStatus_UPDATE_NEEDED :: DeviceAggregatedStatus+pattern DeviceAggregatedStatus_UPDATE_NEEDED = DeviceAggregatedStatus' "UPDATE_NEEDED"++{-# COMPLETE+  DeviceAggregatedStatus_AWAITING_PROVISIONING,+  DeviceAggregatedStatus_DELETING,+  DeviceAggregatedStatus_ERROR,+  DeviceAggregatedStatus_FAILED,+  DeviceAggregatedStatus_LEASE_EXPIRED,+  DeviceAggregatedStatus_OFFLINE,+  DeviceAggregatedStatus_ONLINE,+  DeviceAggregatedStatus_PENDING,+  DeviceAggregatedStatus_REBOOTING,+  DeviceAggregatedStatus_UPDATE_NEEDED,+  DeviceAggregatedStatus'+  #-}
+ gen/Amazonka/Panorama/Types/DeviceBrand.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.Panorama.Types.DeviceBrand+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceBrand+  ( DeviceBrand+      ( ..,+        DeviceBrand_AWS_PANORAMA,+        DeviceBrand_LENOVO+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceBrand = DeviceBrand'+  { fromDeviceBrand ::+      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 DeviceBrand_AWS_PANORAMA :: DeviceBrand+pattern DeviceBrand_AWS_PANORAMA = DeviceBrand' "AWS_PANORAMA"++pattern DeviceBrand_LENOVO :: DeviceBrand+pattern DeviceBrand_LENOVO = DeviceBrand' "LENOVO"++{-# COMPLETE+  DeviceBrand_AWS_PANORAMA,+  DeviceBrand_LENOVO,+  DeviceBrand'+  #-}
+ gen/Amazonka/Panorama/Types/DeviceConnectionStatus.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.Panorama.Types.DeviceConnectionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceConnectionStatus+  ( DeviceConnectionStatus+      ( ..,+        DeviceConnectionStatus_AWAITING_CREDENTIALS,+        DeviceConnectionStatus_ERROR,+        DeviceConnectionStatus_NOT_AVAILABLE,+        DeviceConnectionStatus_OFFLINE,+        DeviceConnectionStatus_ONLINE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceConnectionStatus = DeviceConnectionStatus'+  { fromDeviceConnectionStatus ::+      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 DeviceConnectionStatus_AWAITING_CREDENTIALS :: DeviceConnectionStatus+pattern DeviceConnectionStatus_AWAITING_CREDENTIALS = DeviceConnectionStatus' "AWAITING_CREDENTIALS"++pattern DeviceConnectionStatus_ERROR :: DeviceConnectionStatus+pattern DeviceConnectionStatus_ERROR = DeviceConnectionStatus' "ERROR"++pattern DeviceConnectionStatus_NOT_AVAILABLE :: DeviceConnectionStatus+pattern DeviceConnectionStatus_NOT_AVAILABLE = DeviceConnectionStatus' "NOT_AVAILABLE"++pattern DeviceConnectionStatus_OFFLINE :: DeviceConnectionStatus+pattern DeviceConnectionStatus_OFFLINE = DeviceConnectionStatus' "OFFLINE"++pattern DeviceConnectionStatus_ONLINE :: DeviceConnectionStatus+pattern DeviceConnectionStatus_ONLINE = DeviceConnectionStatus' "ONLINE"++{-# COMPLETE+  DeviceConnectionStatus_AWAITING_CREDENTIALS,+  DeviceConnectionStatus_ERROR,+  DeviceConnectionStatus_NOT_AVAILABLE,+  DeviceConnectionStatus_OFFLINE,+  DeviceConnectionStatus_ONLINE,+  DeviceConnectionStatus'+  #-}
+ gen/Amazonka/Panorama/Types/DeviceJob.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.Panorama.Types.DeviceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.JobType+import qualified Amazonka.Prelude as Prelude++-- | A job that runs on a device.+--+-- /See:/ 'newDeviceJob' smart constructor.+data DeviceJob = DeviceJob'+  { -- | When the job was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the target device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The name of the target device+    deviceName :: Prelude.Maybe Prelude.Text,+    -- | The job\'s ID.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The job\'s type.+    jobType :: Prelude.Maybe JobType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTime', 'deviceJob_createdTime' - When the job was created.+--+-- 'deviceId', 'deviceJob_deviceId' - The ID of the target device.+--+-- 'deviceName', 'deviceJob_deviceName' - The name of the target device+--+-- 'jobId', 'deviceJob_jobId' - The job\'s ID.+--+-- 'jobType', 'deviceJob_jobType' - The job\'s type.+newDeviceJob ::+  DeviceJob+newDeviceJob =+  DeviceJob'+    { createdTime = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      deviceName = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobType = Prelude.Nothing+    }++-- | When the job was created.+deviceJob_createdTime :: Lens.Lens' DeviceJob (Prelude.Maybe Prelude.UTCTime)+deviceJob_createdTime = Lens.lens (\DeviceJob' {createdTime} -> createdTime) (\s@DeviceJob' {} a -> s {createdTime = a} :: DeviceJob) Prelude.. Lens.mapping Data._Time++-- | The ID of the target device.+deviceJob_deviceId :: Lens.Lens' DeviceJob (Prelude.Maybe Prelude.Text)+deviceJob_deviceId = Lens.lens (\DeviceJob' {deviceId} -> deviceId) (\s@DeviceJob' {} a -> s {deviceId = a} :: DeviceJob)++-- | The name of the target device+deviceJob_deviceName :: Lens.Lens' DeviceJob (Prelude.Maybe Prelude.Text)+deviceJob_deviceName = Lens.lens (\DeviceJob' {deviceName} -> deviceName) (\s@DeviceJob' {} a -> s {deviceName = a} :: DeviceJob)++-- | The job\'s ID.+deviceJob_jobId :: Lens.Lens' DeviceJob (Prelude.Maybe Prelude.Text)+deviceJob_jobId = Lens.lens (\DeviceJob' {jobId} -> jobId) (\s@DeviceJob' {} a -> s {jobId = a} :: DeviceJob)++-- | The job\'s type.+deviceJob_jobType :: Lens.Lens' DeviceJob (Prelude.Maybe JobType)+deviceJob_jobType = Lens.lens (\DeviceJob' {jobType} -> jobType) (\s@DeviceJob' {} a -> s {jobType = a} :: DeviceJob)++instance Data.FromJSON DeviceJob where+  parseJSON =+    Data.withObject+      "DeviceJob"+      ( \x ->+          DeviceJob'+            Prelude.<$> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "DeviceName")+            Prelude.<*> (x Data..:? "JobId")+            Prelude.<*> (x Data..:? "JobType")+      )++instance Prelude.Hashable DeviceJob where+  hashWithSalt _salt DeviceJob' {..} =+    _salt+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` deviceName+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` jobType++instance Prelude.NFData DeviceJob where+  rnf DeviceJob' {..} =+    Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf deviceName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobType
+ gen/Amazonka/Panorama/Types/DeviceJobConfig.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.Panorama.Types.DeviceJobConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceJobConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.OTAJobConfig+import qualified Amazonka.Prelude as Prelude++-- | A job\'s configuration.+--+-- /See:/ 'newDeviceJobConfig' smart constructor.+data DeviceJobConfig = DeviceJobConfig'+  { -- | A configuration for an over-the-air (OTA) upgrade. Required for OTA+    -- jobs.+    oTAJobConfig :: Prelude.Maybe OTAJobConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceJobConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'oTAJobConfig', 'deviceJobConfig_oTAJobConfig' - A configuration for an over-the-air (OTA) upgrade. Required for OTA+-- jobs.+newDeviceJobConfig ::+  DeviceJobConfig+newDeviceJobConfig =+  DeviceJobConfig' {oTAJobConfig = Prelude.Nothing}++-- | A configuration for an over-the-air (OTA) upgrade. Required for OTA+-- jobs.+deviceJobConfig_oTAJobConfig :: Lens.Lens' DeviceJobConfig (Prelude.Maybe OTAJobConfig)+deviceJobConfig_oTAJobConfig = Lens.lens (\DeviceJobConfig' {oTAJobConfig} -> oTAJobConfig) (\s@DeviceJobConfig' {} a -> s {oTAJobConfig = a} :: DeviceJobConfig)++instance Prelude.Hashable DeviceJobConfig where+  hashWithSalt _salt DeviceJobConfig' {..} =+    _salt `Prelude.hashWithSalt` oTAJobConfig++instance Prelude.NFData DeviceJobConfig where+  rnf DeviceJobConfig' {..} = Prelude.rnf oTAJobConfig++instance Data.ToJSON DeviceJobConfig where+  toJSON DeviceJobConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [("OTAJobConfig" Data..=) Prelude.<$> oTAJobConfig]+      )
+ gen/Amazonka/Panorama/Types/DeviceReportedStatus.hs view
@@ -0,0 +1,116 @@+{-# 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.Panorama.Types.DeviceReportedStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceReportedStatus+  ( DeviceReportedStatus+      ( ..,+        DeviceReportedStatus_INSTALL_ERROR,+        DeviceReportedStatus_INSTALL_IN_PROGRESS,+        DeviceReportedStatus_LAUNCHED,+        DeviceReportedStatus_LAUNCH_ERROR,+        DeviceReportedStatus_REMOVAL_FAILED,+        DeviceReportedStatus_REMOVAL_IN_PROGRESS,+        DeviceReportedStatus_RUNNING,+        DeviceReportedStatus_STARTING,+        DeviceReportedStatus_STOPPED,+        DeviceReportedStatus_STOPPING,+        DeviceReportedStatus_STOP_ERROR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceReportedStatus = DeviceReportedStatus'+  { fromDeviceReportedStatus ::+      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 DeviceReportedStatus_INSTALL_ERROR :: DeviceReportedStatus+pattern DeviceReportedStatus_INSTALL_ERROR = DeviceReportedStatus' "INSTALL_ERROR"++pattern DeviceReportedStatus_INSTALL_IN_PROGRESS :: DeviceReportedStatus+pattern DeviceReportedStatus_INSTALL_IN_PROGRESS = DeviceReportedStatus' "INSTALL_IN_PROGRESS"++pattern DeviceReportedStatus_LAUNCHED :: DeviceReportedStatus+pattern DeviceReportedStatus_LAUNCHED = DeviceReportedStatus' "LAUNCHED"++pattern DeviceReportedStatus_LAUNCH_ERROR :: DeviceReportedStatus+pattern DeviceReportedStatus_LAUNCH_ERROR = DeviceReportedStatus' "LAUNCH_ERROR"++pattern DeviceReportedStatus_REMOVAL_FAILED :: DeviceReportedStatus+pattern DeviceReportedStatus_REMOVAL_FAILED = DeviceReportedStatus' "REMOVAL_FAILED"++pattern DeviceReportedStatus_REMOVAL_IN_PROGRESS :: DeviceReportedStatus+pattern DeviceReportedStatus_REMOVAL_IN_PROGRESS = DeviceReportedStatus' "REMOVAL_IN_PROGRESS"++pattern DeviceReportedStatus_RUNNING :: DeviceReportedStatus+pattern DeviceReportedStatus_RUNNING = DeviceReportedStatus' "RUNNING"++pattern DeviceReportedStatus_STARTING :: DeviceReportedStatus+pattern DeviceReportedStatus_STARTING = DeviceReportedStatus' "STARTING"++pattern DeviceReportedStatus_STOPPED :: DeviceReportedStatus+pattern DeviceReportedStatus_STOPPED = DeviceReportedStatus' "STOPPED"++pattern DeviceReportedStatus_STOPPING :: DeviceReportedStatus+pattern DeviceReportedStatus_STOPPING = DeviceReportedStatus' "STOPPING"++pattern DeviceReportedStatus_STOP_ERROR :: DeviceReportedStatus+pattern DeviceReportedStatus_STOP_ERROR = DeviceReportedStatus' "STOP_ERROR"++{-# COMPLETE+  DeviceReportedStatus_INSTALL_ERROR,+  DeviceReportedStatus_INSTALL_IN_PROGRESS,+  DeviceReportedStatus_LAUNCHED,+  DeviceReportedStatus_LAUNCH_ERROR,+  DeviceReportedStatus_REMOVAL_FAILED,+  DeviceReportedStatus_REMOVAL_IN_PROGRESS,+  DeviceReportedStatus_RUNNING,+  DeviceReportedStatus_STARTING,+  DeviceReportedStatus_STOPPED,+  DeviceReportedStatus_STOPPING,+  DeviceReportedStatus_STOP_ERROR,+  DeviceReportedStatus'+  #-}
+ gen/Amazonka/Panorama/Types/DeviceStatus.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.Panorama.Types.DeviceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceStatus+  ( DeviceStatus+      ( ..,+        DeviceStatus_AWAITING_PROVISIONING,+        DeviceStatus_DELETING,+        DeviceStatus_ERROR,+        DeviceStatus_FAILED,+        DeviceStatus_PENDING,+        DeviceStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceStatus = DeviceStatus'+  { fromDeviceStatus ::+      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 DeviceStatus_AWAITING_PROVISIONING :: DeviceStatus+pattern DeviceStatus_AWAITING_PROVISIONING = DeviceStatus' "AWAITING_PROVISIONING"++pattern DeviceStatus_DELETING :: DeviceStatus+pattern DeviceStatus_DELETING = DeviceStatus' "DELETING"++pattern DeviceStatus_ERROR :: DeviceStatus+pattern DeviceStatus_ERROR = DeviceStatus' "ERROR"++pattern DeviceStatus_FAILED :: DeviceStatus+pattern DeviceStatus_FAILED = DeviceStatus' "FAILED"++pattern DeviceStatus_PENDING :: DeviceStatus+pattern DeviceStatus_PENDING = DeviceStatus' "PENDING"++pattern DeviceStatus_SUCCEEDED :: DeviceStatus+pattern DeviceStatus_SUCCEEDED = DeviceStatus' "SUCCEEDED"++{-# COMPLETE+  DeviceStatus_AWAITING_PROVISIONING,+  DeviceStatus_DELETING,+  DeviceStatus_ERROR,+  DeviceStatus_FAILED,+  DeviceStatus_PENDING,+  DeviceStatus_SUCCEEDED,+  DeviceStatus'+  #-}
+ gen/Amazonka/Panorama/Types/DeviceType.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.Panorama.Types.DeviceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.DeviceType+  ( DeviceType+      ( ..,+        DeviceType_PANORAMA_APPLIANCE,+        DeviceType_PANORAMA_APPLIANCE_DEVELOPER_KIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceType = DeviceType'+  { fromDeviceType ::+      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 DeviceType_PANORAMA_APPLIANCE :: DeviceType+pattern DeviceType_PANORAMA_APPLIANCE = DeviceType' "PANORAMA_APPLIANCE"++pattern DeviceType_PANORAMA_APPLIANCE_DEVELOPER_KIT :: DeviceType+pattern DeviceType_PANORAMA_APPLIANCE_DEVELOPER_KIT = DeviceType' "PANORAMA_APPLIANCE_DEVELOPER_KIT"++{-# COMPLETE+  DeviceType_PANORAMA_APPLIANCE,+  DeviceType_PANORAMA_APPLIANCE_DEVELOPER_KIT,+  DeviceType'+  #-}
+ gen/Amazonka/Panorama/Types/EthernetPayload.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.Panorama.Types.EthernetPayload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.EthernetPayload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.ConnectionType+import Amazonka.Panorama.Types.StaticIpConnectionInfo+import qualified Amazonka.Prelude as Prelude++-- | A device\'s network configuration.+--+-- /See:/ 'newEthernetPayload' smart constructor.+data EthernetPayload = EthernetPayload'+  { -- | Network configuration for a static IP connection.+    staticIpConnectionInfo :: Prelude.Maybe StaticIpConnectionInfo,+    -- | How the device gets an IP address.+    connectionType :: ConnectionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EthernetPayload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'staticIpConnectionInfo', 'ethernetPayload_staticIpConnectionInfo' - Network configuration for a static IP connection.+--+-- 'connectionType', 'ethernetPayload_connectionType' - How the device gets an IP address.+newEthernetPayload ::+  -- | 'connectionType'+  ConnectionType ->+  EthernetPayload+newEthernetPayload pConnectionType_ =+  EthernetPayload'+    { staticIpConnectionInfo =+        Prelude.Nothing,+      connectionType = pConnectionType_+    }++-- | Network configuration for a static IP connection.+ethernetPayload_staticIpConnectionInfo :: Lens.Lens' EthernetPayload (Prelude.Maybe StaticIpConnectionInfo)+ethernetPayload_staticIpConnectionInfo = Lens.lens (\EthernetPayload' {staticIpConnectionInfo} -> staticIpConnectionInfo) (\s@EthernetPayload' {} a -> s {staticIpConnectionInfo = a} :: EthernetPayload)++-- | How the device gets an IP address.+ethernetPayload_connectionType :: Lens.Lens' EthernetPayload ConnectionType+ethernetPayload_connectionType = Lens.lens (\EthernetPayload' {connectionType} -> connectionType) (\s@EthernetPayload' {} a -> s {connectionType = a} :: EthernetPayload)++instance Data.FromJSON EthernetPayload where+  parseJSON =+    Data.withObject+      "EthernetPayload"+      ( \x ->+          EthernetPayload'+            Prelude.<$> (x Data..:? "StaticIpConnectionInfo")+            Prelude.<*> (x Data..: "ConnectionType")+      )++instance Prelude.Hashable EthernetPayload where+  hashWithSalt _salt EthernetPayload' {..} =+    _salt+      `Prelude.hashWithSalt` staticIpConnectionInfo+      `Prelude.hashWithSalt` connectionType++instance Prelude.NFData EthernetPayload where+  rnf EthernetPayload' {..} =+    Prelude.rnf staticIpConnectionInfo+      `Prelude.seq` Prelude.rnf connectionType++instance Data.ToJSON EthernetPayload where+  toJSON EthernetPayload' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("StaticIpConnectionInfo" Data..=)+              Prelude.<$> staticIpConnectionInfo,+            Prelude.Just+              ("ConnectionType" Data..= connectionType)+          ]+      )
+ gen/Amazonka/Panorama/Types/EthernetStatus.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.Panorama.Types.EthernetStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.EthernetStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NetworkConnectionStatus+import qualified Amazonka.Prelude as Prelude++-- | A device\'s Ethernet status.+--+-- /See:/ 'newEthernetStatus' smart constructor.+data EthernetStatus = EthernetStatus'+  { -- | The device\'s connection status.+    connectionStatus :: Prelude.Maybe NetworkConnectionStatus,+    -- | The device\'s physical address.+    hwAddress :: Prelude.Maybe Prelude.Text,+    -- | The device\'s IP address.+    ipAddress :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EthernetStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'ethernetStatus_connectionStatus' - The device\'s connection status.+--+-- 'hwAddress', 'ethernetStatus_hwAddress' - The device\'s physical address.+--+-- 'ipAddress', 'ethernetStatus_ipAddress' - The device\'s IP address.+newEthernetStatus ::+  EthernetStatus+newEthernetStatus =+  EthernetStatus'+    { connectionStatus = Prelude.Nothing,+      hwAddress = Prelude.Nothing,+      ipAddress = Prelude.Nothing+    }++-- | The device\'s connection status.+ethernetStatus_connectionStatus :: Lens.Lens' EthernetStatus (Prelude.Maybe NetworkConnectionStatus)+ethernetStatus_connectionStatus = Lens.lens (\EthernetStatus' {connectionStatus} -> connectionStatus) (\s@EthernetStatus' {} a -> s {connectionStatus = a} :: EthernetStatus)++-- | The device\'s physical address.+ethernetStatus_hwAddress :: Lens.Lens' EthernetStatus (Prelude.Maybe Prelude.Text)+ethernetStatus_hwAddress = Lens.lens (\EthernetStatus' {hwAddress} -> hwAddress) (\s@EthernetStatus' {} a -> s {hwAddress = a} :: EthernetStatus)++-- | The device\'s IP address.+ethernetStatus_ipAddress :: Lens.Lens' EthernetStatus (Prelude.Maybe Prelude.Text)+ethernetStatus_ipAddress = Lens.lens (\EthernetStatus' {ipAddress} -> ipAddress) (\s@EthernetStatus' {} a -> s {ipAddress = a} :: EthernetStatus)++instance Data.FromJSON EthernetStatus where+  parseJSON =+    Data.withObject+      "EthernetStatus"+      ( \x ->+          EthernetStatus'+            Prelude.<$> (x Data..:? "ConnectionStatus")+            Prelude.<*> (x Data..:? "HwAddress")+            Prelude.<*> (x Data..:? "IpAddress")+      )++instance Prelude.Hashable EthernetStatus where+  hashWithSalt _salt EthernetStatus' {..} =+    _salt+      `Prelude.hashWithSalt` connectionStatus+      `Prelude.hashWithSalt` hwAddress+      `Prelude.hashWithSalt` ipAddress++instance Prelude.NFData EthernetStatus where+  rnf EthernetStatus' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf hwAddress+      `Prelude.seq` Prelude.rnf ipAddress
+ gen/Amazonka/Panorama/Types/Job.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.Panorama.Types.Job+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.Job 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 job for a device.+--+-- /See:/ 'newJob' smart constructor.+data Job = Job'+  { -- | The target device\'s ID.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The job\'s ID.+    jobId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Job' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'job_deviceId' - The target device\'s ID.+--+-- 'jobId', 'job_jobId' - The job\'s ID.+newJob ::+  Job+newJob =+  Job'+    { deviceId = Prelude.Nothing,+      jobId = Prelude.Nothing+    }++-- | The target device\'s ID.+job_deviceId :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_deviceId = Lens.lens (\Job' {deviceId} -> deviceId) (\s@Job' {} a -> s {deviceId = a} :: Job)++-- | The job\'s ID.+job_jobId :: Lens.Lens' Job (Prelude.Maybe Prelude.Text)+job_jobId = Lens.lens (\Job' {jobId} -> jobId) (\s@Job' {} a -> s {jobId = a} :: Job)++instance Data.FromJSON Job where+  parseJSON =+    Data.withObject+      "Job"+      ( \x ->+          Job'+            Prelude.<$> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "JobId")+      )++instance Prelude.Hashable Job where+  hashWithSalt _salt Job' {..} =+    _salt+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` jobId++instance Prelude.NFData Job where+  rnf Job' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf jobId
+ gen/Amazonka/Panorama/Types/JobResourceTags.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.Panorama.Types.JobResourceTags+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.JobResourceTags where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.JobResourceType+import qualified Amazonka.Prelude as Prelude++-- | Tags for a job.+--+-- /See:/ 'newJobResourceTags' smart constructor.+data JobResourceTags = JobResourceTags'+  { -- | The job\'s type.+    resourceType :: JobResourceType,+    -- | The job\'s tags.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobResourceTags' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceType', 'jobResourceTags_resourceType' - The job\'s type.+--+-- 'tags', 'jobResourceTags_tags' - The job\'s tags.+newJobResourceTags ::+  -- | 'resourceType'+  JobResourceType ->+  JobResourceTags+newJobResourceTags pResourceType_ =+  JobResourceTags'+    { resourceType = pResourceType_,+      tags = Prelude.mempty+    }++-- | The job\'s type.+jobResourceTags_resourceType :: Lens.Lens' JobResourceTags JobResourceType+jobResourceTags_resourceType = Lens.lens (\JobResourceTags' {resourceType} -> resourceType) (\s@JobResourceTags' {} a -> s {resourceType = a} :: JobResourceTags)++-- | The job\'s tags.+jobResourceTags_tags :: Lens.Lens' JobResourceTags (Prelude.HashMap Prelude.Text Prelude.Text)+jobResourceTags_tags = Lens.lens (\JobResourceTags' {tags} -> tags) (\s@JobResourceTags' {} a -> s {tags = a} :: JobResourceTags) Prelude.. Lens.coerced++instance Data.FromJSON JobResourceTags where+  parseJSON =+    Data.withObject+      "JobResourceTags"+      ( \x ->+          JobResourceTags'+            Prelude.<$> (x Data..: "ResourceType")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable JobResourceTags where+  hashWithSalt _salt JobResourceTags' {..} =+    _salt+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` tags++instance Prelude.NFData JobResourceTags where+  rnf JobResourceTags' {..} =+    Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf tags++instance Data.ToJSON JobResourceTags where+  toJSON JobResourceTags' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceType" Data..= resourceType),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )
+ gen/Amazonka/Panorama/Types/JobResourceType.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.Panorama.Types.JobResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.JobResourceType+  ( JobResourceType+      ( ..,+        JobResourceType_PACKAGE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobResourceType = JobResourceType'+  { fromJobResourceType ::+      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 JobResourceType_PACKAGE :: JobResourceType+pattern JobResourceType_PACKAGE = JobResourceType' "PACKAGE"++{-# COMPLETE+  JobResourceType_PACKAGE,+  JobResourceType'+  #-}
+ gen/Amazonka/Panorama/Types/JobType.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.JobType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.JobType+  ( JobType+      ( ..,+        JobType_OTA,+        JobType_REBOOT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype JobType = JobType' {fromJobType :: 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 JobType_OTA :: JobType+pattern JobType_OTA = JobType' "OTA"++pattern JobType_REBOOT :: JobType+pattern JobType_REBOOT = JobType' "REBOOT"++{-# COMPLETE+  JobType_OTA,+  JobType_REBOOT,+  JobType'+  #-}
+ gen/Amazonka/Panorama/Types/LatestDeviceJob.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.Panorama.Types.LatestDeviceJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.LatestDeviceJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.JobType+import Amazonka.Panorama.Types.UpdateProgress+import qualified Amazonka.Prelude as Prelude++-- | Returns information about the latest device job.+--+-- /See:/ 'newLatestDeviceJob' smart constructor.+data LatestDeviceJob = LatestDeviceJob'+  { -- | The target version of the device software.+    imageVersion :: Prelude.Maybe Prelude.Text,+    -- | The job\'s type.+    jobType :: Prelude.Maybe JobType,+    -- | Status of the latest device job.+    status :: Prelude.Maybe UpdateProgress+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LatestDeviceJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageVersion', 'latestDeviceJob_imageVersion' - The target version of the device software.+--+-- 'jobType', 'latestDeviceJob_jobType' - The job\'s type.+--+-- 'status', 'latestDeviceJob_status' - Status of the latest device job.+newLatestDeviceJob ::+  LatestDeviceJob+newLatestDeviceJob =+  LatestDeviceJob'+    { imageVersion = Prelude.Nothing,+      jobType = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The target version of the device software.+latestDeviceJob_imageVersion :: Lens.Lens' LatestDeviceJob (Prelude.Maybe Prelude.Text)+latestDeviceJob_imageVersion = Lens.lens (\LatestDeviceJob' {imageVersion} -> imageVersion) (\s@LatestDeviceJob' {} a -> s {imageVersion = a} :: LatestDeviceJob)++-- | The job\'s type.+latestDeviceJob_jobType :: Lens.Lens' LatestDeviceJob (Prelude.Maybe JobType)+latestDeviceJob_jobType = Lens.lens (\LatestDeviceJob' {jobType} -> jobType) (\s@LatestDeviceJob' {} a -> s {jobType = a} :: LatestDeviceJob)++-- | Status of the latest device job.+latestDeviceJob_status :: Lens.Lens' LatestDeviceJob (Prelude.Maybe UpdateProgress)+latestDeviceJob_status = Lens.lens (\LatestDeviceJob' {status} -> status) (\s@LatestDeviceJob' {} a -> s {status = a} :: LatestDeviceJob)++instance Data.FromJSON LatestDeviceJob where+  parseJSON =+    Data.withObject+      "LatestDeviceJob"+      ( \x ->+          LatestDeviceJob'+            Prelude.<$> (x Data..:? "ImageVersion")+            Prelude.<*> (x Data..:? "JobType")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable LatestDeviceJob where+  hashWithSalt _salt LatestDeviceJob' {..} =+    _salt+      `Prelude.hashWithSalt` imageVersion+      `Prelude.hashWithSalt` jobType+      `Prelude.hashWithSalt` status++instance Prelude.NFData LatestDeviceJob where+  rnf LatestDeviceJob' {..} =+    Prelude.rnf imageVersion+      `Prelude.seq` Prelude.rnf jobType+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Panorama/Types/ListDevicesSortBy.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.Panorama.Types.ListDevicesSortBy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ListDevicesSortBy+  ( ListDevicesSortBy+      ( ..,+        ListDevicesSortBy_CREATED_TIME,+        ListDevicesSortBy_DEVICE_AGGREGATED_STATUS,+        ListDevicesSortBy_DEVICE_ID,+        ListDevicesSortBy_NAME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ListDevicesSortBy = ListDevicesSortBy'+  { fromListDevicesSortBy ::+      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 ListDevicesSortBy_CREATED_TIME :: ListDevicesSortBy+pattern ListDevicesSortBy_CREATED_TIME = ListDevicesSortBy' "CREATED_TIME"++pattern ListDevicesSortBy_DEVICE_AGGREGATED_STATUS :: ListDevicesSortBy+pattern ListDevicesSortBy_DEVICE_AGGREGATED_STATUS = ListDevicesSortBy' "DEVICE_AGGREGATED_STATUS"++pattern ListDevicesSortBy_DEVICE_ID :: ListDevicesSortBy+pattern ListDevicesSortBy_DEVICE_ID = ListDevicesSortBy' "DEVICE_ID"++pattern ListDevicesSortBy_NAME :: ListDevicesSortBy+pattern ListDevicesSortBy_NAME = ListDevicesSortBy' "NAME"++{-# COMPLETE+  ListDevicesSortBy_CREATED_TIME,+  ListDevicesSortBy_DEVICE_AGGREGATED_STATUS,+  ListDevicesSortBy_DEVICE_ID,+  ListDevicesSortBy_NAME,+  ListDevicesSortBy'+  #-}
+ gen/Amazonka/Panorama/Types/ManifestOverridesPayload.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.ManifestOverridesPayload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ManifestOverridesPayload 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++-- | Parameter overrides for an application instance. This is a JSON document+-- that has a single key (@PayloadData@) where the value is an escaped+-- string representation of the overrides document.+--+-- /See:/ 'newManifestOverridesPayload' smart constructor.+data ManifestOverridesPayload = ManifestOverridesPayload'+  { -- | The overrides document.+    payloadData :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManifestOverridesPayload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payloadData', 'manifestOverridesPayload_payloadData' - The overrides document.+newManifestOverridesPayload ::+  ManifestOverridesPayload+newManifestOverridesPayload =+  ManifestOverridesPayload'+    { payloadData =+        Prelude.Nothing+    }++-- | The overrides document.+manifestOverridesPayload_payloadData :: Lens.Lens' ManifestOverridesPayload (Prelude.Maybe Prelude.Text)+manifestOverridesPayload_payloadData = Lens.lens (\ManifestOverridesPayload' {payloadData} -> payloadData) (\s@ManifestOverridesPayload' {} a -> s {payloadData = a} :: ManifestOverridesPayload)++instance Data.FromJSON ManifestOverridesPayload where+  parseJSON =+    Data.withObject+      "ManifestOverridesPayload"+      ( \x ->+          ManifestOverridesPayload'+            Prelude.<$> (x Data..:? "PayloadData")+      )++instance Prelude.Hashable ManifestOverridesPayload where+  hashWithSalt _salt ManifestOverridesPayload' {..} =+    _salt `Prelude.hashWithSalt` payloadData++instance Prelude.NFData ManifestOverridesPayload where+  rnf ManifestOverridesPayload' {..} =+    Prelude.rnf payloadData++instance Data.ToJSON ManifestOverridesPayload where+  toJSON ManifestOverridesPayload' {..} =+    Data.object+      ( Prelude.catMaybes+          [("PayloadData" Data..=) Prelude.<$> payloadData]+      )
+ gen/Amazonka/Panorama/Types/ManifestPayload.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.ManifestPayload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ManifestPayload 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 application verion\'s manifest file. This is a JSON document that has+-- a single key (@PayloadData@) where the value is an escaped string+-- representation of the application manifest (@graph.json@). This file is+-- located in the @graphs@ folder in your application source.+--+-- /See:/ 'newManifestPayload' smart constructor.+data ManifestPayload = ManifestPayload'+  { -- | The application manifest.+    payloadData :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManifestPayload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payloadData', 'manifestPayload_payloadData' - The application manifest.+newManifestPayload ::+  ManifestPayload+newManifestPayload =+  ManifestPayload' {payloadData = Prelude.Nothing}++-- | The application manifest.+manifestPayload_payloadData :: Lens.Lens' ManifestPayload (Prelude.Maybe Prelude.Text)+manifestPayload_payloadData = Lens.lens (\ManifestPayload' {payloadData} -> payloadData) (\s@ManifestPayload' {} a -> s {payloadData = a} :: ManifestPayload)++instance Data.FromJSON ManifestPayload where+  parseJSON =+    Data.withObject+      "ManifestPayload"+      ( \x ->+          ManifestPayload'+            Prelude.<$> (x Data..:? "PayloadData")+      )++instance Prelude.Hashable ManifestPayload where+  hashWithSalt _salt ManifestPayload' {..} =+    _salt `Prelude.hashWithSalt` payloadData++instance Prelude.NFData ManifestPayload where+  rnf ManifestPayload' {..} = Prelude.rnf payloadData++instance Data.ToJSON ManifestPayload where+  toJSON ManifestPayload' {..} =+    Data.object+      ( Prelude.catMaybes+          [("PayloadData" Data..=) Prelude.<$> payloadData]+      )
+ gen/Amazonka/Panorama/Types/NetworkConnectionStatus.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.Panorama.Types.NetworkConnectionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NetworkConnectionStatus+  ( NetworkConnectionStatus+      ( ..,+        NetworkConnectionStatus_CONNECTED,+        NetworkConnectionStatus_CONNECTING,+        NetworkConnectionStatus_NOT_CONNECTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkConnectionStatus = NetworkConnectionStatus'+  { fromNetworkConnectionStatus ::+      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 NetworkConnectionStatus_CONNECTED :: NetworkConnectionStatus+pattern NetworkConnectionStatus_CONNECTED = NetworkConnectionStatus' "CONNECTED"++pattern NetworkConnectionStatus_CONNECTING :: NetworkConnectionStatus+pattern NetworkConnectionStatus_CONNECTING = NetworkConnectionStatus' "CONNECTING"++pattern NetworkConnectionStatus_NOT_CONNECTED :: NetworkConnectionStatus+pattern NetworkConnectionStatus_NOT_CONNECTED = NetworkConnectionStatus' "NOT_CONNECTED"++{-# COMPLETE+  NetworkConnectionStatus_CONNECTED,+  NetworkConnectionStatus_CONNECTING,+  NetworkConnectionStatus_NOT_CONNECTED,+  NetworkConnectionStatus'+  #-}
+ gen/Amazonka/Panorama/Types/NetworkPayload.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.Panorama.Types.NetworkPayload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NetworkPayload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.EthernetPayload+import Amazonka.Panorama.Types.NtpPayload+import qualified Amazonka.Prelude as Prelude++-- | The network configuration for a device.+--+-- /See:/ 'newNetworkPayload' smart constructor.+data NetworkPayload = NetworkPayload'+  { -- | Settings for Ethernet port 0.+    ethernet0 :: Prelude.Maybe EthernetPayload,+    -- | Settings for Ethernet port 1.+    ethernet1 :: Prelude.Maybe EthernetPayload,+    -- | Network time protocol (NTP) server settings.+    ntp :: Prelude.Maybe NtpPayload+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkPayload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ethernet0', 'networkPayload_ethernet0' - Settings for Ethernet port 0.+--+-- 'ethernet1', 'networkPayload_ethernet1' - Settings for Ethernet port 1.+--+-- 'ntp', 'networkPayload_ntp' - Network time protocol (NTP) server settings.+newNetworkPayload ::+  NetworkPayload+newNetworkPayload =+  NetworkPayload'+    { ethernet0 = Prelude.Nothing,+      ethernet1 = Prelude.Nothing,+      ntp = Prelude.Nothing+    }++-- | Settings for Ethernet port 0.+networkPayload_ethernet0 :: Lens.Lens' NetworkPayload (Prelude.Maybe EthernetPayload)+networkPayload_ethernet0 = Lens.lens (\NetworkPayload' {ethernet0} -> ethernet0) (\s@NetworkPayload' {} a -> s {ethernet0 = a} :: NetworkPayload)++-- | Settings for Ethernet port 1.+networkPayload_ethernet1 :: Lens.Lens' NetworkPayload (Prelude.Maybe EthernetPayload)+networkPayload_ethernet1 = Lens.lens (\NetworkPayload' {ethernet1} -> ethernet1) (\s@NetworkPayload' {} a -> s {ethernet1 = a} :: NetworkPayload)++-- | Network time protocol (NTP) server settings.+networkPayload_ntp :: Lens.Lens' NetworkPayload (Prelude.Maybe NtpPayload)+networkPayload_ntp = Lens.lens (\NetworkPayload' {ntp} -> ntp) (\s@NetworkPayload' {} a -> s {ntp = a} :: NetworkPayload)++instance Data.FromJSON NetworkPayload where+  parseJSON =+    Data.withObject+      "NetworkPayload"+      ( \x ->+          NetworkPayload'+            Prelude.<$> (x Data..:? "Ethernet0")+            Prelude.<*> (x Data..:? "Ethernet1")+            Prelude.<*> (x Data..:? "Ntp")+      )++instance Prelude.Hashable NetworkPayload where+  hashWithSalt _salt NetworkPayload' {..} =+    _salt+      `Prelude.hashWithSalt` ethernet0+      `Prelude.hashWithSalt` ethernet1+      `Prelude.hashWithSalt` ntp++instance Prelude.NFData NetworkPayload where+  rnf NetworkPayload' {..} =+    Prelude.rnf ethernet0+      `Prelude.seq` Prelude.rnf ethernet1+      `Prelude.seq` Prelude.rnf ntp++instance Data.ToJSON NetworkPayload where+  toJSON NetworkPayload' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Ethernet0" Data..=) Prelude.<$> ethernet0,+            ("Ethernet1" Data..=) Prelude.<$> ethernet1,+            ("Ntp" Data..=) Prelude.<$> ntp+          ]+      )
+ gen/Amazonka/Panorama/Types/NetworkStatus.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.NetworkStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NetworkStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.EthernetStatus+import Amazonka.Panorama.Types.NtpStatus+import qualified Amazonka.Prelude as Prelude++-- | The network status of a device.+--+-- /See:/ 'newNetworkStatus' smart constructor.+data NetworkStatus = NetworkStatus'+  { -- | The status of Ethernet port 0.+    ethernet0Status :: Prelude.Maybe EthernetStatus,+    -- | The status of Ethernet port 1.+    ethernet1Status :: Prelude.Maybe EthernetStatus,+    -- | When the network status changed.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | Details about a network time protocol (NTP) server connection.+    ntpStatus :: Prelude.Maybe NtpStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ethernet0Status', 'networkStatus_ethernet0Status' - The status of Ethernet port 0.+--+-- 'ethernet1Status', 'networkStatus_ethernet1Status' - The status of Ethernet port 1.+--+-- 'lastUpdatedTime', 'networkStatus_lastUpdatedTime' - When the network status changed.+--+-- 'ntpStatus', 'networkStatus_ntpStatus' - Details about a network time protocol (NTP) server connection.+newNetworkStatus ::+  NetworkStatus+newNetworkStatus =+  NetworkStatus'+    { ethernet0Status = Prelude.Nothing,+      ethernet1Status = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      ntpStatus = Prelude.Nothing+    }++-- | The status of Ethernet port 0.+networkStatus_ethernet0Status :: Lens.Lens' NetworkStatus (Prelude.Maybe EthernetStatus)+networkStatus_ethernet0Status = Lens.lens (\NetworkStatus' {ethernet0Status} -> ethernet0Status) (\s@NetworkStatus' {} a -> s {ethernet0Status = a} :: NetworkStatus)++-- | The status of Ethernet port 1.+networkStatus_ethernet1Status :: Lens.Lens' NetworkStatus (Prelude.Maybe EthernetStatus)+networkStatus_ethernet1Status = Lens.lens (\NetworkStatus' {ethernet1Status} -> ethernet1Status) (\s@NetworkStatus' {} a -> s {ethernet1Status = a} :: NetworkStatus)++-- | When the network status changed.+networkStatus_lastUpdatedTime :: Lens.Lens' NetworkStatus (Prelude.Maybe Prelude.UTCTime)+networkStatus_lastUpdatedTime = Lens.lens (\NetworkStatus' {lastUpdatedTime} -> lastUpdatedTime) (\s@NetworkStatus' {} a -> s {lastUpdatedTime = a} :: NetworkStatus) Prelude.. Lens.mapping Data._Time++-- | Details about a network time protocol (NTP) server connection.+networkStatus_ntpStatus :: Lens.Lens' NetworkStatus (Prelude.Maybe NtpStatus)+networkStatus_ntpStatus = Lens.lens (\NetworkStatus' {ntpStatus} -> ntpStatus) (\s@NetworkStatus' {} a -> s {ntpStatus = a} :: NetworkStatus)++instance Data.FromJSON NetworkStatus where+  parseJSON =+    Data.withObject+      "NetworkStatus"+      ( \x ->+          NetworkStatus'+            Prelude.<$> (x Data..:? "Ethernet0Status")+            Prelude.<*> (x Data..:? "Ethernet1Status")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "NtpStatus")+      )++instance Prelude.Hashable NetworkStatus where+  hashWithSalt _salt NetworkStatus' {..} =+    _salt+      `Prelude.hashWithSalt` ethernet0Status+      `Prelude.hashWithSalt` ethernet1Status+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` ntpStatus++instance Prelude.NFData NetworkStatus where+  rnf NetworkStatus' {..} =+    Prelude.rnf ethernet0Status+      `Prelude.seq` Prelude.rnf ethernet1Status+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf ntpStatus
+ gen/Amazonka/Panorama/Types/Node.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.Node+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.Node where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NodeCategory+import qualified Amazonka.Prelude as Prelude++-- | An application node that represents a camera stream, a model, code, or+-- output.+--+-- /See:/ 'newNode' smart constructor.+data Node = Node'+  { -- | The node\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the node\'s owner.+    ownerAccount :: Prelude.Maybe Prelude.Text,+    -- | The node\'s ARN.+    packageArn :: Prelude.Maybe Prelude.Text,+    -- | The node\'s category.+    category :: NodeCategory,+    -- | When the node was created.+    createdTime :: Data.POSIX,+    -- | The node\'s name.+    name :: Prelude.Text,+    -- | The node\'s ID.+    nodeId :: Prelude.Text,+    -- | The node\'s package ID.+    packageId :: Prelude.Text,+    -- | The node\'s package name.+    packageName :: Prelude.Text,+    -- | The node\'s package version.+    packageVersion :: Prelude.Text,+    -- | The node\'s patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Node' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'node_description' - The node\'s description.+--+-- 'ownerAccount', 'node_ownerAccount' - The account ID of the node\'s owner.+--+-- 'packageArn', 'node_packageArn' - The node\'s ARN.+--+-- 'category', 'node_category' - The node\'s category.+--+-- 'createdTime', 'node_createdTime' - When the node was created.+--+-- 'name', 'node_name' - The node\'s name.+--+-- 'nodeId', 'node_nodeId' - The node\'s ID.+--+-- 'packageId', 'node_packageId' - The node\'s package ID.+--+-- 'packageName', 'node_packageName' - The node\'s package name.+--+-- 'packageVersion', 'node_packageVersion' - The node\'s package version.+--+-- 'patchVersion', 'node_patchVersion' - The node\'s patch version.+newNode ::+  -- | 'category'+  NodeCategory ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'name'+  Prelude.Text ->+  -- | 'nodeId'+  Prelude.Text ->+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageName'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  Node+newNode+  pCategory_+  pCreatedTime_+  pName_+  pNodeId_+  pPackageId_+  pPackageName_+  pPackageVersion_+  pPatchVersion_ =+    Node'+      { description = Prelude.Nothing,+        ownerAccount = Prelude.Nothing,+        packageArn = Prelude.Nothing,+        category = pCategory_,+        createdTime = Data._Time Lens.# pCreatedTime_,+        name = pName_,+        nodeId = pNodeId_,+        packageId = pPackageId_,+        packageName = pPackageName_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | The node\'s description.+node_description :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_description = Lens.lens (\Node' {description} -> description) (\s@Node' {} a -> s {description = a} :: Node)++-- | The account ID of the node\'s owner.+node_ownerAccount :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_ownerAccount = Lens.lens (\Node' {ownerAccount} -> ownerAccount) (\s@Node' {} a -> s {ownerAccount = a} :: Node)++-- | The node\'s ARN.+node_packageArn :: Lens.Lens' Node (Prelude.Maybe Prelude.Text)+node_packageArn = Lens.lens (\Node' {packageArn} -> packageArn) (\s@Node' {} a -> s {packageArn = a} :: Node)++-- | The node\'s category.+node_category :: Lens.Lens' Node NodeCategory+node_category = Lens.lens (\Node' {category} -> category) (\s@Node' {} a -> s {category = a} :: Node)++-- | When the node was created.+node_createdTime :: Lens.Lens' Node Prelude.UTCTime+node_createdTime = Lens.lens (\Node' {createdTime} -> createdTime) (\s@Node' {} a -> s {createdTime = a} :: Node) Prelude.. Data._Time++-- | The node\'s name.+node_name :: Lens.Lens' Node Prelude.Text+node_name = Lens.lens (\Node' {name} -> name) (\s@Node' {} a -> s {name = a} :: Node)++-- | The node\'s ID.+node_nodeId :: Lens.Lens' Node Prelude.Text+node_nodeId = Lens.lens (\Node' {nodeId} -> nodeId) (\s@Node' {} a -> s {nodeId = a} :: Node)++-- | The node\'s package ID.+node_packageId :: Lens.Lens' Node Prelude.Text+node_packageId = Lens.lens (\Node' {packageId} -> packageId) (\s@Node' {} a -> s {packageId = a} :: Node)++-- | The node\'s package name.+node_packageName :: Lens.Lens' Node Prelude.Text+node_packageName = Lens.lens (\Node' {packageName} -> packageName) (\s@Node' {} a -> s {packageName = a} :: Node)++-- | The node\'s package version.+node_packageVersion :: Lens.Lens' Node Prelude.Text+node_packageVersion = Lens.lens (\Node' {packageVersion} -> packageVersion) (\s@Node' {} a -> s {packageVersion = a} :: Node)++-- | The node\'s patch version.+node_patchVersion :: Lens.Lens' Node Prelude.Text+node_patchVersion = Lens.lens (\Node' {patchVersion} -> patchVersion) (\s@Node' {} a -> s {patchVersion = a} :: Node)++instance Data.FromJSON Node where+  parseJSON =+    Data.withObject+      "Node"+      ( \x ->+          Node'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "OwnerAccount")+            Prelude.<*> (x Data..:? "PackageArn")+            Prelude.<*> (x Data..: "Category")+            Prelude.<*> (x Data..: "CreatedTime")+            Prelude.<*> (x Data..: "Name")+            Prelude.<*> (x Data..: "NodeId")+            Prelude.<*> (x Data..: "PackageId")+            Prelude.<*> (x Data..: "PackageName")+            Prelude.<*> (x Data..: "PackageVersion")+            Prelude.<*> (x Data..: "PatchVersion")+      )++instance Prelude.Hashable Node where+  hashWithSalt _salt Node' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` ownerAccount+      `Prelude.hashWithSalt` packageArn+      `Prelude.hashWithSalt` category+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` nodeId+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData Node where+  rnf Node' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf ownerAccount+      `Prelude.seq` Prelude.rnf packageArn+      `Prelude.seq` Prelude.rnf category+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion
+ gen/Amazonka/Panorama/Types/NodeCategory.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.Panorama.Types.NodeCategory+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeCategory+  ( NodeCategory+      ( ..,+        NodeCategory_BUSINESS_LOGIC,+        NodeCategory_MEDIA_SINK,+        NodeCategory_MEDIA_SOURCE,+        NodeCategory_ML_MODEL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeCategory = NodeCategory'+  { fromNodeCategory ::+      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 NodeCategory_BUSINESS_LOGIC :: NodeCategory+pattern NodeCategory_BUSINESS_LOGIC = NodeCategory' "BUSINESS_LOGIC"++pattern NodeCategory_MEDIA_SINK :: NodeCategory+pattern NodeCategory_MEDIA_SINK = NodeCategory' "MEDIA_SINK"++pattern NodeCategory_MEDIA_SOURCE :: NodeCategory+pattern NodeCategory_MEDIA_SOURCE = NodeCategory' "MEDIA_SOURCE"++pattern NodeCategory_ML_MODEL :: NodeCategory+pattern NodeCategory_ML_MODEL = NodeCategory' "ML_MODEL"++{-# COMPLETE+  NodeCategory_BUSINESS_LOGIC,+  NodeCategory_MEDIA_SINK,+  NodeCategory_MEDIA_SOURCE,+  NodeCategory_ML_MODEL,+  NodeCategory'+  #-}
+ gen/Amazonka/Panorama/Types/NodeFromTemplateJob.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.NodeFromTemplateJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeFromTemplateJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NodeFromTemplateJobStatus+import Amazonka.Panorama.Types.TemplateType+import qualified Amazonka.Prelude as Prelude++-- | A job to create a camera stream node.+--+-- /See:/ 'newNodeFromTemplateJob' smart constructor.+data NodeFromTemplateJob = NodeFromTemplateJob'+  { -- | When the job was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The job\'s ID.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The node\'s name.+    nodeName :: Prelude.Maybe Prelude.Text,+    -- | The job\'s status.+    status :: Prelude.Maybe NodeFromTemplateJobStatus,+    -- | The job\'s status message.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The job\'s template type.+    templateType :: Prelude.Maybe TemplateType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeFromTemplateJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTime', 'nodeFromTemplateJob_createdTime' - When the job was created.+--+-- 'jobId', 'nodeFromTemplateJob_jobId' - The job\'s ID.+--+-- 'nodeName', 'nodeFromTemplateJob_nodeName' - The node\'s name.+--+-- 'status', 'nodeFromTemplateJob_status' - The job\'s status.+--+-- 'statusMessage', 'nodeFromTemplateJob_statusMessage' - The job\'s status message.+--+-- 'templateType', 'nodeFromTemplateJob_templateType' - The job\'s template type.+newNodeFromTemplateJob ::+  NodeFromTemplateJob+newNodeFromTemplateJob =+  NodeFromTemplateJob'+    { createdTime = Prelude.Nothing,+      jobId = Prelude.Nothing,+      nodeName = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      templateType = Prelude.Nothing+    }++-- | When the job was created.+nodeFromTemplateJob_createdTime :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe Prelude.UTCTime)+nodeFromTemplateJob_createdTime = Lens.lens (\NodeFromTemplateJob' {createdTime} -> createdTime) (\s@NodeFromTemplateJob' {} a -> s {createdTime = a} :: NodeFromTemplateJob) Prelude.. Lens.mapping Data._Time++-- | The job\'s ID.+nodeFromTemplateJob_jobId :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe Prelude.Text)+nodeFromTemplateJob_jobId = Lens.lens (\NodeFromTemplateJob' {jobId} -> jobId) (\s@NodeFromTemplateJob' {} a -> s {jobId = a} :: NodeFromTemplateJob)++-- | The node\'s name.+nodeFromTemplateJob_nodeName :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe Prelude.Text)+nodeFromTemplateJob_nodeName = Lens.lens (\NodeFromTemplateJob' {nodeName} -> nodeName) (\s@NodeFromTemplateJob' {} a -> s {nodeName = a} :: NodeFromTemplateJob)++-- | The job\'s status.+nodeFromTemplateJob_status :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe NodeFromTemplateJobStatus)+nodeFromTemplateJob_status = Lens.lens (\NodeFromTemplateJob' {status} -> status) (\s@NodeFromTemplateJob' {} a -> s {status = a} :: NodeFromTemplateJob)++-- | The job\'s status message.+nodeFromTemplateJob_statusMessage :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe Prelude.Text)+nodeFromTemplateJob_statusMessage = Lens.lens (\NodeFromTemplateJob' {statusMessage} -> statusMessage) (\s@NodeFromTemplateJob' {} a -> s {statusMessage = a} :: NodeFromTemplateJob)++-- | The job\'s template type.+nodeFromTemplateJob_templateType :: Lens.Lens' NodeFromTemplateJob (Prelude.Maybe TemplateType)+nodeFromTemplateJob_templateType = Lens.lens (\NodeFromTemplateJob' {templateType} -> templateType) (\s@NodeFromTemplateJob' {} a -> s {templateType = a} :: NodeFromTemplateJob)++instance Data.FromJSON NodeFromTemplateJob where+  parseJSON =+    Data.withObject+      "NodeFromTemplateJob"+      ( \x ->+          NodeFromTemplateJob'+            Prelude.<$> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "JobId")+            Prelude.<*> (x Data..:? "NodeName")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusMessage")+            Prelude.<*> (x Data..:? "TemplateType")+      )++instance Prelude.Hashable NodeFromTemplateJob where+  hashWithSalt _salt NodeFromTemplateJob' {..} =+    _salt+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` nodeName+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage+      `Prelude.hashWithSalt` templateType++instance Prelude.NFData NodeFromTemplateJob where+  rnf NodeFromTemplateJob' {..} =+    Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf nodeName+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf templateType
+ gen/Amazonka/Panorama/Types/NodeFromTemplateJobStatus.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.Panorama.Types.NodeFromTemplateJobStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeFromTemplateJobStatus+  ( NodeFromTemplateJobStatus+      ( ..,+        NodeFromTemplateJobStatus_FAILED,+        NodeFromTemplateJobStatus_PENDING,+        NodeFromTemplateJobStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeFromTemplateJobStatus = NodeFromTemplateJobStatus'+  { fromNodeFromTemplateJobStatus ::+      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 NodeFromTemplateJobStatus_FAILED :: NodeFromTemplateJobStatus+pattern NodeFromTemplateJobStatus_FAILED = NodeFromTemplateJobStatus' "FAILED"++pattern NodeFromTemplateJobStatus_PENDING :: NodeFromTemplateJobStatus+pattern NodeFromTemplateJobStatus_PENDING = NodeFromTemplateJobStatus' "PENDING"++pattern NodeFromTemplateJobStatus_SUCCEEDED :: NodeFromTemplateJobStatus+pattern NodeFromTemplateJobStatus_SUCCEEDED = NodeFromTemplateJobStatus' "SUCCEEDED"++{-# COMPLETE+  NodeFromTemplateJobStatus_FAILED,+  NodeFromTemplateJobStatus_PENDING,+  NodeFromTemplateJobStatus_SUCCEEDED,+  NodeFromTemplateJobStatus'+  #-}
+ gen/Amazonka/Panorama/Types/NodeInputPort.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.Panorama.Types.NodeInputPort+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeInputPort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.PortType+import qualified Amazonka.Prelude as Prelude++-- | A node input port.+--+-- /See:/ 'newNodeInputPort' smart constructor.+data NodeInputPort = NodeInputPort'+  { -- | The input port\'s default value.+    defaultValue :: Prelude.Maybe Prelude.Text,+    -- | The input port\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The input port\'s max connections.+    maxConnections :: Prelude.Maybe Prelude.Int,+    -- | The input port\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The input port\'s type.+    type' :: Prelude.Maybe PortType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeInputPort' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultValue', 'nodeInputPort_defaultValue' - The input port\'s default value.+--+-- 'description', 'nodeInputPort_description' - The input port\'s description.+--+-- 'maxConnections', 'nodeInputPort_maxConnections' - The input port\'s max connections.+--+-- 'name', 'nodeInputPort_name' - The input port\'s name.+--+-- 'type'', 'nodeInputPort_type' - The input port\'s type.+newNodeInputPort ::+  NodeInputPort+newNodeInputPort =+  NodeInputPort'+    { defaultValue = Prelude.Nothing,+      description = Prelude.Nothing,+      maxConnections = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The input port\'s default value.+nodeInputPort_defaultValue :: Lens.Lens' NodeInputPort (Prelude.Maybe Prelude.Text)+nodeInputPort_defaultValue = Lens.lens (\NodeInputPort' {defaultValue} -> defaultValue) (\s@NodeInputPort' {} a -> s {defaultValue = a} :: NodeInputPort)++-- | The input port\'s description.+nodeInputPort_description :: Lens.Lens' NodeInputPort (Prelude.Maybe Prelude.Text)+nodeInputPort_description = Lens.lens (\NodeInputPort' {description} -> description) (\s@NodeInputPort' {} a -> s {description = a} :: NodeInputPort)++-- | The input port\'s max connections.+nodeInputPort_maxConnections :: Lens.Lens' NodeInputPort (Prelude.Maybe Prelude.Int)+nodeInputPort_maxConnections = Lens.lens (\NodeInputPort' {maxConnections} -> maxConnections) (\s@NodeInputPort' {} a -> s {maxConnections = a} :: NodeInputPort)++-- | The input port\'s name.+nodeInputPort_name :: Lens.Lens' NodeInputPort (Prelude.Maybe Prelude.Text)+nodeInputPort_name = Lens.lens (\NodeInputPort' {name} -> name) (\s@NodeInputPort' {} a -> s {name = a} :: NodeInputPort)++-- | The input port\'s type.+nodeInputPort_type :: Lens.Lens' NodeInputPort (Prelude.Maybe PortType)+nodeInputPort_type = Lens.lens (\NodeInputPort' {type'} -> type') (\s@NodeInputPort' {} a -> s {type' = a} :: NodeInputPort)++instance Data.FromJSON NodeInputPort where+  parseJSON =+    Data.withObject+      "NodeInputPort"+      ( \x ->+          NodeInputPort'+            Prelude.<$> (x Data..:? "DefaultValue")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "MaxConnections")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable NodeInputPort where+  hashWithSalt _salt NodeInputPort' {..} =+    _salt+      `Prelude.hashWithSalt` defaultValue+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` maxConnections+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NodeInputPort where+  rnf NodeInputPort' {..} =+    Prelude.rnf defaultValue+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf maxConnections+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Panorama/Types/NodeInstance.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.NodeInstance+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeInstance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NodeInstanceStatus+import qualified Amazonka.Prelude as Prelude++-- | A node instance.+--+-- /See:/ 'newNodeInstance' smart constructor.+data NodeInstance = NodeInstance'+  { -- | The node\'s ID.+    nodeId :: Prelude.Maybe Prelude.Text,+    -- | The instance\'s name.+    nodeName :: Prelude.Maybe Prelude.Text,+    -- | The instance\'s package name.+    packageName :: Prelude.Maybe Prelude.Text,+    -- | The instance\'s package patch version.+    packagePatchVersion :: Prelude.Maybe Prelude.Text,+    -- | The instance\'s package version.+    packageVersion :: Prelude.Maybe Prelude.Text,+    -- | The instance\'s current status.+    currentStatus :: NodeInstanceStatus,+    -- | The instance\'s ID.+    nodeInstanceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeInstance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nodeId', 'nodeInstance_nodeId' - The node\'s ID.+--+-- 'nodeName', 'nodeInstance_nodeName' - The instance\'s name.+--+-- 'packageName', 'nodeInstance_packageName' - The instance\'s package name.+--+-- 'packagePatchVersion', 'nodeInstance_packagePatchVersion' - The instance\'s package patch version.+--+-- 'packageVersion', 'nodeInstance_packageVersion' - The instance\'s package version.+--+-- 'currentStatus', 'nodeInstance_currentStatus' - The instance\'s current status.+--+-- 'nodeInstanceId', 'nodeInstance_nodeInstanceId' - The instance\'s ID.+newNodeInstance ::+  -- | 'currentStatus'+  NodeInstanceStatus ->+  -- | 'nodeInstanceId'+  Prelude.Text ->+  NodeInstance+newNodeInstance pCurrentStatus_ pNodeInstanceId_ =+  NodeInstance'+    { nodeId = Prelude.Nothing,+      nodeName = Prelude.Nothing,+      packageName = Prelude.Nothing,+      packagePatchVersion = Prelude.Nothing,+      packageVersion = Prelude.Nothing,+      currentStatus = pCurrentStatus_,+      nodeInstanceId = pNodeInstanceId_+    }++-- | The node\'s ID.+nodeInstance_nodeId :: Lens.Lens' NodeInstance (Prelude.Maybe Prelude.Text)+nodeInstance_nodeId = Lens.lens (\NodeInstance' {nodeId} -> nodeId) (\s@NodeInstance' {} a -> s {nodeId = a} :: NodeInstance)++-- | The instance\'s name.+nodeInstance_nodeName :: Lens.Lens' NodeInstance (Prelude.Maybe Prelude.Text)+nodeInstance_nodeName = Lens.lens (\NodeInstance' {nodeName} -> nodeName) (\s@NodeInstance' {} a -> s {nodeName = a} :: NodeInstance)++-- | The instance\'s package name.+nodeInstance_packageName :: Lens.Lens' NodeInstance (Prelude.Maybe Prelude.Text)+nodeInstance_packageName = Lens.lens (\NodeInstance' {packageName} -> packageName) (\s@NodeInstance' {} a -> s {packageName = a} :: NodeInstance)++-- | The instance\'s package patch version.+nodeInstance_packagePatchVersion :: Lens.Lens' NodeInstance (Prelude.Maybe Prelude.Text)+nodeInstance_packagePatchVersion = Lens.lens (\NodeInstance' {packagePatchVersion} -> packagePatchVersion) (\s@NodeInstance' {} a -> s {packagePatchVersion = a} :: NodeInstance)++-- | The instance\'s package version.+nodeInstance_packageVersion :: Lens.Lens' NodeInstance (Prelude.Maybe Prelude.Text)+nodeInstance_packageVersion = Lens.lens (\NodeInstance' {packageVersion} -> packageVersion) (\s@NodeInstance' {} a -> s {packageVersion = a} :: NodeInstance)++-- | The instance\'s current status.+nodeInstance_currentStatus :: Lens.Lens' NodeInstance NodeInstanceStatus+nodeInstance_currentStatus = Lens.lens (\NodeInstance' {currentStatus} -> currentStatus) (\s@NodeInstance' {} a -> s {currentStatus = a} :: NodeInstance)++-- | The instance\'s ID.+nodeInstance_nodeInstanceId :: Lens.Lens' NodeInstance Prelude.Text+nodeInstance_nodeInstanceId = Lens.lens (\NodeInstance' {nodeInstanceId} -> nodeInstanceId) (\s@NodeInstance' {} a -> s {nodeInstanceId = a} :: NodeInstance)++instance Data.FromJSON NodeInstance where+  parseJSON =+    Data.withObject+      "NodeInstance"+      ( \x ->+          NodeInstance'+            Prelude.<$> (x Data..:? "NodeId")+            Prelude.<*> (x Data..:? "NodeName")+            Prelude.<*> (x Data..:? "PackageName")+            Prelude.<*> (x Data..:? "PackagePatchVersion")+            Prelude.<*> (x Data..:? "PackageVersion")+            Prelude.<*> (x Data..: "CurrentStatus")+            Prelude.<*> (x Data..: "NodeInstanceId")+      )++instance Prelude.Hashable NodeInstance where+  hashWithSalt _salt NodeInstance' {..} =+    _salt+      `Prelude.hashWithSalt` nodeId+      `Prelude.hashWithSalt` nodeName+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` packagePatchVersion+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` currentStatus+      `Prelude.hashWithSalt` nodeInstanceId++instance Prelude.NFData NodeInstance where+  rnf NodeInstance' {..} =+    Prelude.rnf nodeId+      `Prelude.seq` Prelude.rnf nodeName+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packagePatchVersion+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf currentStatus+      `Prelude.seq` Prelude.rnf nodeInstanceId
+ gen/Amazonka/Panorama/Types/NodeInstanceStatus.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.Panorama.Types.NodeInstanceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeInstanceStatus+  ( NodeInstanceStatus+      ( ..,+        NodeInstanceStatus_ERROR,+        NodeInstanceStatus_NOT_AVAILABLE,+        NodeInstanceStatus_PAUSED,+        NodeInstanceStatus_RUNNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeInstanceStatus = NodeInstanceStatus'+  { fromNodeInstanceStatus ::+      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 NodeInstanceStatus_ERROR :: NodeInstanceStatus+pattern NodeInstanceStatus_ERROR = NodeInstanceStatus' "ERROR"++pattern NodeInstanceStatus_NOT_AVAILABLE :: NodeInstanceStatus+pattern NodeInstanceStatus_NOT_AVAILABLE = NodeInstanceStatus' "NOT_AVAILABLE"++pattern NodeInstanceStatus_PAUSED :: NodeInstanceStatus+pattern NodeInstanceStatus_PAUSED = NodeInstanceStatus' "PAUSED"++pattern NodeInstanceStatus_RUNNING :: NodeInstanceStatus+pattern NodeInstanceStatus_RUNNING = NodeInstanceStatus' "RUNNING"++{-# COMPLETE+  NodeInstanceStatus_ERROR,+  NodeInstanceStatus_NOT_AVAILABLE,+  NodeInstanceStatus_PAUSED,+  NodeInstanceStatus_RUNNING,+  NodeInstanceStatus'+  #-}
+ gen/Amazonka/Panorama/Types/NodeInterface.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.Panorama.Types.NodeInterface+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeInterface where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NodeInputPort+import Amazonka.Panorama.Types.NodeOutputPort+import qualified Amazonka.Prelude as Prelude++-- | A node interface.+--+-- /See:/ 'newNodeInterface' smart constructor.+data NodeInterface = NodeInterface'+  { -- | The node interface\'s inputs.+    inputs :: [NodeInputPort],+    -- | The node interface\'s outputs.+    outputs :: [NodeOutputPort]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputs', 'nodeInterface_inputs' - The node interface\'s inputs.+--+-- 'outputs', 'nodeInterface_outputs' - The node interface\'s outputs.+newNodeInterface ::+  NodeInterface+newNodeInterface =+  NodeInterface'+    { inputs = Prelude.mempty,+      outputs = Prelude.mempty+    }++-- | The node interface\'s inputs.+nodeInterface_inputs :: Lens.Lens' NodeInterface [NodeInputPort]+nodeInterface_inputs = Lens.lens (\NodeInterface' {inputs} -> inputs) (\s@NodeInterface' {} a -> s {inputs = a} :: NodeInterface) Prelude.. Lens.coerced++-- | The node interface\'s outputs.+nodeInterface_outputs :: Lens.Lens' NodeInterface [NodeOutputPort]+nodeInterface_outputs = Lens.lens (\NodeInterface' {outputs} -> outputs) (\s@NodeInterface' {} a -> s {outputs = a} :: NodeInterface) Prelude.. Lens.coerced++instance Data.FromJSON NodeInterface where+  parseJSON =+    Data.withObject+      "NodeInterface"+      ( \x ->+          NodeInterface'+            Prelude.<$> (x Data..:? "Inputs" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Outputs" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable NodeInterface where+  hashWithSalt _salt NodeInterface' {..} =+    _salt+      `Prelude.hashWithSalt` inputs+      `Prelude.hashWithSalt` outputs++instance Prelude.NFData NodeInterface where+  rnf NodeInterface' {..} =+    Prelude.rnf inputs+      `Prelude.seq` Prelude.rnf outputs
+ gen/Amazonka/Panorama/Types/NodeOutputPort.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.Panorama.Types.NodeOutputPort+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeOutputPort where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.PortType+import qualified Amazonka.Prelude as Prelude++-- | A node output port.+--+-- /See:/ 'newNodeOutputPort' smart constructor.+data NodeOutputPort = NodeOutputPort'+  { -- | The output port\'s description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The output port\'s name.+    name :: Prelude.Maybe Prelude.Text,+    -- | The output port\'s type.+    type' :: Prelude.Maybe PortType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeOutputPort' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'nodeOutputPort_description' - The output port\'s description.+--+-- 'name', 'nodeOutputPort_name' - The output port\'s name.+--+-- 'type'', 'nodeOutputPort_type' - The output port\'s type.+newNodeOutputPort ::+  NodeOutputPort+newNodeOutputPort =+  NodeOutputPort'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The output port\'s description.+nodeOutputPort_description :: Lens.Lens' NodeOutputPort (Prelude.Maybe Prelude.Text)+nodeOutputPort_description = Lens.lens (\NodeOutputPort' {description} -> description) (\s@NodeOutputPort' {} a -> s {description = a} :: NodeOutputPort)++-- | The output port\'s name.+nodeOutputPort_name :: Lens.Lens' NodeOutputPort (Prelude.Maybe Prelude.Text)+nodeOutputPort_name = Lens.lens (\NodeOutputPort' {name} -> name) (\s@NodeOutputPort' {} a -> s {name = a} :: NodeOutputPort)++-- | The output port\'s type.+nodeOutputPort_type :: Lens.Lens' NodeOutputPort (Prelude.Maybe PortType)+nodeOutputPort_type = Lens.lens (\NodeOutputPort' {type'} -> type') (\s@NodeOutputPort' {} a -> s {type' = a} :: NodeOutputPort)++instance Data.FromJSON NodeOutputPort where+  parseJSON =+    Data.withObject+      "NodeOutputPort"+      ( \x ->+          NodeOutputPort'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable NodeOutputPort where+  hashWithSalt _salt NodeOutputPort' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NodeOutputPort where+  rnf NodeOutputPort' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/Panorama/Types/NodeSignal.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.Panorama.Types.NodeSignal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeSignal where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NodeSignalValue+import qualified Amazonka.Prelude as Prelude++-- | A signal to a camera node to start or stop processing video.+--+-- /See:/ 'newNodeSignal' smart constructor.+data NodeSignal = NodeSignal'+  { -- | The camera node\'s name, from the application manifest.+    nodeInstanceId :: Prelude.Text,+    -- | The signal value.+    signal :: NodeSignalValue+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NodeSignal' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nodeInstanceId', 'nodeSignal_nodeInstanceId' - The camera node\'s name, from the application manifest.+--+-- 'signal', 'nodeSignal_signal' - The signal value.+newNodeSignal ::+  -- | 'nodeInstanceId'+  Prelude.Text ->+  -- | 'signal'+  NodeSignalValue ->+  NodeSignal+newNodeSignal pNodeInstanceId_ pSignal_ =+  NodeSignal'+    { nodeInstanceId = pNodeInstanceId_,+      signal = pSignal_+    }++-- | The camera node\'s name, from the application manifest.+nodeSignal_nodeInstanceId :: Lens.Lens' NodeSignal Prelude.Text+nodeSignal_nodeInstanceId = Lens.lens (\NodeSignal' {nodeInstanceId} -> nodeInstanceId) (\s@NodeSignal' {} a -> s {nodeInstanceId = a} :: NodeSignal)++-- | The signal value.+nodeSignal_signal :: Lens.Lens' NodeSignal NodeSignalValue+nodeSignal_signal = Lens.lens (\NodeSignal' {signal} -> signal) (\s@NodeSignal' {} a -> s {signal = a} :: NodeSignal)++instance Prelude.Hashable NodeSignal where+  hashWithSalt _salt NodeSignal' {..} =+    _salt+      `Prelude.hashWithSalt` nodeInstanceId+      `Prelude.hashWithSalt` signal++instance Prelude.NFData NodeSignal where+  rnf NodeSignal' {..} =+    Prelude.rnf nodeInstanceId+      `Prelude.seq` Prelude.rnf signal++instance Data.ToJSON NodeSignal where+  toJSON NodeSignal' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("NodeInstanceId" Data..= nodeInstanceId),+            Prelude.Just ("Signal" Data..= signal)+          ]+      )
+ gen/Amazonka/Panorama/Types/NodeSignalValue.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.Panorama.Types.NodeSignalValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NodeSignalValue+  ( NodeSignalValue+      ( ..,+        NodeSignalValue_PAUSE,+        NodeSignalValue_RESUME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NodeSignalValue = NodeSignalValue'+  { fromNodeSignalValue ::+      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 NodeSignalValue_PAUSE :: NodeSignalValue+pattern NodeSignalValue_PAUSE = NodeSignalValue' "PAUSE"++pattern NodeSignalValue_RESUME :: NodeSignalValue+pattern NodeSignalValue_RESUME = NodeSignalValue' "RESUME"++{-# COMPLETE+  NodeSignalValue_PAUSE,+  NodeSignalValue_RESUME,+  NodeSignalValue'+  #-}
+ gen/Amazonka/Panorama/Types/NtpPayload.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.Panorama.Types.NtpPayload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NtpPayload 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 time protocol (NTP) server settings. Use this option to connect+-- to local NTP servers instead of @pool.ntp.org@.+--+-- /See:/ 'newNtpPayload' smart constructor.+data NtpPayload = NtpPayload'+  { -- | NTP servers to use, in order of preference.+    ntpServers :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NtpPayload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ntpServers', 'ntpPayload_ntpServers' - NTP servers to use, in order of preference.+newNtpPayload ::+  NtpPayload+newNtpPayload =+  NtpPayload' {ntpServers = Prelude.mempty}++-- | NTP servers to use, in order of preference.+ntpPayload_ntpServers :: Lens.Lens' NtpPayload [Prelude.Text]+ntpPayload_ntpServers = Lens.lens (\NtpPayload' {ntpServers} -> ntpServers) (\s@NtpPayload' {} a -> s {ntpServers = a} :: NtpPayload) Prelude.. Lens.coerced++instance Data.FromJSON NtpPayload where+  parseJSON =+    Data.withObject+      "NtpPayload"+      ( \x ->+          NtpPayload'+            Prelude.<$> (x Data..:? "NtpServers" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable NtpPayload where+  hashWithSalt _salt NtpPayload' {..} =+    _salt `Prelude.hashWithSalt` ntpServers++instance Prelude.NFData NtpPayload where+  rnf NtpPayload' {..} = Prelude.rnf ntpServers++instance Data.ToJSON NtpPayload where+  toJSON NtpPayload' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("NtpServers" Data..= ntpServers)]+      )
+ gen/Amazonka/Panorama/Types/NtpStatus.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.Panorama.Types.NtpStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.NtpStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.NetworkConnectionStatus+import qualified Amazonka.Prelude as Prelude++-- | Details about an NTP server connection.+--+-- /See:/ 'newNtpStatus' smart constructor.+data NtpStatus = NtpStatus'+  { -- | The connection\'s status.+    connectionStatus :: Prelude.Maybe NetworkConnectionStatus,+    -- | The IP address of the server.+    ipAddress :: Prelude.Maybe Prelude.Text,+    -- | The domain name of the server.+    ntpServerName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NtpStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'ntpStatus_connectionStatus' - The connection\'s status.+--+-- 'ipAddress', 'ntpStatus_ipAddress' - The IP address of the server.+--+-- 'ntpServerName', 'ntpStatus_ntpServerName' - The domain name of the server.+newNtpStatus ::+  NtpStatus+newNtpStatus =+  NtpStatus'+    { connectionStatus = Prelude.Nothing,+      ipAddress = Prelude.Nothing,+      ntpServerName = Prelude.Nothing+    }++-- | The connection\'s status.+ntpStatus_connectionStatus :: Lens.Lens' NtpStatus (Prelude.Maybe NetworkConnectionStatus)+ntpStatus_connectionStatus = Lens.lens (\NtpStatus' {connectionStatus} -> connectionStatus) (\s@NtpStatus' {} a -> s {connectionStatus = a} :: NtpStatus)++-- | The IP address of the server.+ntpStatus_ipAddress :: Lens.Lens' NtpStatus (Prelude.Maybe Prelude.Text)+ntpStatus_ipAddress = Lens.lens (\NtpStatus' {ipAddress} -> ipAddress) (\s@NtpStatus' {} a -> s {ipAddress = a} :: NtpStatus)++-- | The domain name of the server.+ntpStatus_ntpServerName :: Lens.Lens' NtpStatus (Prelude.Maybe Prelude.Text)+ntpStatus_ntpServerName = Lens.lens (\NtpStatus' {ntpServerName} -> ntpServerName) (\s@NtpStatus' {} a -> s {ntpServerName = a} :: NtpStatus)++instance Data.FromJSON NtpStatus where+  parseJSON =+    Data.withObject+      "NtpStatus"+      ( \x ->+          NtpStatus'+            Prelude.<$> (x Data..:? "ConnectionStatus")+            Prelude.<*> (x Data..:? "IpAddress")+            Prelude.<*> (x Data..:? "NtpServerName")+      )++instance Prelude.Hashable NtpStatus where+  hashWithSalt _salt NtpStatus' {..} =+    _salt+      `Prelude.hashWithSalt` connectionStatus+      `Prelude.hashWithSalt` ipAddress+      `Prelude.hashWithSalt` ntpServerName++instance Prelude.NFData NtpStatus where+  rnf NtpStatus' {..} =+    Prelude.rnf connectionStatus+      `Prelude.seq` Prelude.rnf ipAddress+      `Prelude.seq` Prelude.rnf ntpServerName
+ gen/Amazonka/Panorama/Types/OTAJobConfig.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.OTAJobConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.OTAJobConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An over-the-air update (OTA) job configuration.+--+-- /See:/ 'newOTAJobConfig' smart constructor.+data OTAJobConfig = OTAJobConfig'+  { -- | The target version of the device software.+    imageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OTAJobConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'imageVersion', 'oTAJobConfig_imageVersion' - The target version of the device software.+newOTAJobConfig ::+  -- | 'imageVersion'+  Prelude.Text ->+  OTAJobConfig+newOTAJobConfig pImageVersion_ =+  OTAJobConfig' {imageVersion = pImageVersion_}++-- | The target version of the device software.+oTAJobConfig_imageVersion :: Lens.Lens' OTAJobConfig Prelude.Text+oTAJobConfig_imageVersion = Lens.lens (\OTAJobConfig' {imageVersion} -> imageVersion) (\s@OTAJobConfig' {} a -> s {imageVersion = a} :: OTAJobConfig)++instance Prelude.Hashable OTAJobConfig where+  hashWithSalt _salt OTAJobConfig' {..} =+    _salt `Prelude.hashWithSalt` imageVersion++instance Prelude.NFData OTAJobConfig where+  rnf OTAJobConfig' {..} = Prelude.rnf imageVersion++instance Data.ToJSON OTAJobConfig where+  toJSON OTAJobConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ImageVersion" Data..= imageVersion)]+      )
+ gen/Amazonka/Panorama/Types/OutPutS3Location.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.Panorama.Types.OutPutS3Location+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.OutPutS3Location 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 location of an output object in Amazon S3.+--+-- /See:/ 'newOutPutS3Location' smart constructor.+data OutPutS3Location = OutPutS3Location'+  { -- | The object\'s bucket.+    bucketName :: Prelude.Text,+    -- | The object\'s key.+    objectKey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutPutS3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 'outPutS3Location_bucketName' - The object\'s bucket.+--+-- 'objectKey', 'outPutS3Location_objectKey' - The object\'s key.+newOutPutS3Location ::+  -- | 'bucketName'+  Prelude.Text ->+  -- | 'objectKey'+  Prelude.Text ->+  OutPutS3Location+newOutPutS3Location pBucketName_ pObjectKey_ =+  OutPutS3Location'+    { bucketName = pBucketName_,+      objectKey = pObjectKey_+    }++-- | The object\'s bucket.+outPutS3Location_bucketName :: Lens.Lens' OutPutS3Location Prelude.Text+outPutS3Location_bucketName = Lens.lens (\OutPutS3Location' {bucketName} -> bucketName) (\s@OutPutS3Location' {} a -> s {bucketName = a} :: OutPutS3Location)++-- | The object\'s key.+outPutS3Location_objectKey :: Lens.Lens' OutPutS3Location Prelude.Text+outPutS3Location_objectKey = Lens.lens (\OutPutS3Location' {objectKey} -> objectKey) (\s@OutPutS3Location' {} a -> s {objectKey = a} :: OutPutS3Location)++instance Data.FromJSON OutPutS3Location where+  parseJSON =+    Data.withObject+      "OutPutS3Location"+      ( \x ->+          OutPutS3Location'+            Prelude.<$> (x Data..: "BucketName")+            Prelude.<*> (x Data..: "ObjectKey")+      )++instance Prelude.Hashable OutPutS3Location where+  hashWithSalt _salt OutPutS3Location' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` objectKey++instance Prelude.NFData OutPutS3Location where+  rnf OutPutS3Location' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf objectKey
+ gen/Amazonka/Panorama/Types/PackageImportJob.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.PackageImportJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.PackageImportJobStatus+import Amazonka.Panorama.Types.PackageImportJobType+import qualified Amazonka.Prelude as Prelude++-- | A job to import a package version.+--+-- /See:/ 'newPackageImportJob' smart constructor.+data PackageImportJob = PackageImportJob'+  { -- | When the job was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The job\'s ID.+    jobId :: Prelude.Maybe Prelude.Text,+    -- | The job\'s type.+    jobType :: Prelude.Maybe PackageImportJobType,+    -- | When the job was updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The job\'s status.+    status :: Prelude.Maybe PackageImportJobStatus,+    -- | The job\'s status message.+    statusMessage :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageImportJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTime', 'packageImportJob_createdTime' - When the job was created.+--+-- 'jobId', 'packageImportJob_jobId' - The job\'s ID.+--+-- 'jobType', 'packageImportJob_jobType' - The job\'s type.+--+-- 'lastUpdatedTime', 'packageImportJob_lastUpdatedTime' - When the job was updated.+--+-- 'status', 'packageImportJob_status' - The job\'s status.+--+-- 'statusMessage', 'packageImportJob_statusMessage' - The job\'s status message.+newPackageImportJob ::+  PackageImportJob+newPackageImportJob =+  PackageImportJob'+    { createdTime = Prelude.Nothing,+      jobId = Prelude.Nothing,+      jobType = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing+    }++-- | When the job was created.+packageImportJob_createdTime :: Lens.Lens' PackageImportJob (Prelude.Maybe Prelude.UTCTime)+packageImportJob_createdTime = Lens.lens (\PackageImportJob' {createdTime} -> createdTime) (\s@PackageImportJob' {} a -> s {createdTime = a} :: PackageImportJob) Prelude.. Lens.mapping Data._Time++-- | The job\'s ID.+packageImportJob_jobId :: Lens.Lens' PackageImportJob (Prelude.Maybe Prelude.Text)+packageImportJob_jobId = Lens.lens (\PackageImportJob' {jobId} -> jobId) (\s@PackageImportJob' {} a -> s {jobId = a} :: PackageImportJob)++-- | The job\'s type.+packageImportJob_jobType :: Lens.Lens' PackageImportJob (Prelude.Maybe PackageImportJobType)+packageImportJob_jobType = Lens.lens (\PackageImportJob' {jobType} -> jobType) (\s@PackageImportJob' {} a -> s {jobType = a} :: PackageImportJob)++-- | When the job was updated.+packageImportJob_lastUpdatedTime :: Lens.Lens' PackageImportJob (Prelude.Maybe Prelude.UTCTime)+packageImportJob_lastUpdatedTime = Lens.lens (\PackageImportJob' {lastUpdatedTime} -> lastUpdatedTime) (\s@PackageImportJob' {} a -> s {lastUpdatedTime = a} :: PackageImportJob) Prelude.. Lens.mapping Data._Time++-- | The job\'s status.+packageImportJob_status :: Lens.Lens' PackageImportJob (Prelude.Maybe PackageImportJobStatus)+packageImportJob_status = Lens.lens (\PackageImportJob' {status} -> status) (\s@PackageImportJob' {} a -> s {status = a} :: PackageImportJob)++-- | The job\'s status message.+packageImportJob_statusMessage :: Lens.Lens' PackageImportJob (Prelude.Maybe Prelude.Text)+packageImportJob_statusMessage = Lens.lens (\PackageImportJob' {statusMessage} -> statusMessage) (\s@PackageImportJob' {} a -> s {statusMessage = a} :: PackageImportJob)++instance Data.FromJSON PackageImportJob where+  parseJSON =+    Data.withObject+      "PackageImportJob"+      ( \x ->+          PackageImportJob'+            Prelude.<$> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "JobId")+            Prelude.<*> (x Data..:? "JobType")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "StatusMessage")+      )++instance Prelude.Hashable PackageImportJob where+  hashWithSalt _salt PackageImportJob' {..} =+    _salt+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` jobType+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage++instance Prelude.NFData PackageImportJob where+  rnf PackageImportJob' {..} =+    Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf jobType+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage
+ gen/Amazonka/Panorama/Types/PackageImportJobInputConfig.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.Panorama.Types.PackageImportJobInputConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJobInputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.PackageVersionInputConfig+import qualified Amazonka.Prelude as Prelude++-- | A configuration for a package import job.+--+-- /See:/ 'newPackageImportJobInputConfig' smart constructor.+data PackageImportJobInputConfig = PackageImportJobInputConfig'+  { -- | The package version\'s input configuration.+    packageVersionInputConfig :: Prelude.Maybe PackageVersionInputConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageImportJobInputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'packageVersionInputConfig', 'packageImportJobInputConfig_packageVersionInputConfig' - The package version\'s input configuration.+newPackageImportJobInputConfig ::+  PackageImportJobInputConfig+newPackageImportJobInputConfig =+  PackageImportJobInputConfig'+    { packageVersionInputConfig =+        Prelude.Nothing+    }++-- | The package version\'s input configuration.+packageImportJobInputConfig_packageVersionInputConfig :: Lens.Lens' PackageImportJobInputConfig (Prelude.Maybe PackageVersionInputConfig)+packageImportJobInputConfig_packageVersionInputConfig = Lens.lens (\PackageImportJobInputConfig' {packageVersionInputConfig} -> packageVersionInputConfig) (\s@PackageImportJobInputConfig' {} a -> s {packageVersionInputConfig = a} :: PackageImportJobInputConfig)++instance Data.FromJSON PackageImportJobInputConfig where+  parseJSON =+    Data.withObject+      "PackageImportJobInputConfig"+      ( \x ->+          PackageImportJobInputConfig'+            Prelude.<$> (x Data..:? "PackageVersionInputConfig")+      )++instance Prelude.Hashable PackageImportJobInputConfig where+  hashWithSalt _salt PackageImportJobInputConfig' {..} =+    _salt+      `Prelude.hashWithSalt` packageVersionInputConfig++instance Prelude.NFData PackageImportJobInputConfig where+  rnf PackageImportJobInputConfig' {..} =+    Prelude.rnf packageVersionInputConfig++instance Data.ToJSON PackageImportJobInputConfig where+  toJSON PackageImportJobInputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PackageVersionInputConfig" Data..=)+              Prelude.<$> packageVersionInputConfig+          ]+      )
+ gen/Amazonka/Panorama/Types/PackageImportJobOutput.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.PackageImportJobOutput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJobOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.OutPutS3Location+import qualified Amazonka.Prelude as Prelude++-- | Results of a package import job.+--+-- /See:/ 'newPackageImportJobOutput' smart constructor.+data PackageImportJobOutput = PackageImportJobOutput'+  { -- | The package\'s output location.+    outputS3Location :: OutPutS3Location,+    -- | The package\'s ID.+    packageId :: Prelude.Text,+    -- | The package\'s version.+    packageVersion :: Prelude.Text,+    -- | The package\'s patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageImportJobOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputS3Location', 'packageImportJobOutput_outputS3Location' - The package\'s output location.+--+-- 'packageId', 'packageImportJobOutput_packageId' - The package\'s ID.+--+-- 'packageVersion', 'packageImportJobOutput_packageVersion' - The package\'s version.+--+-- 'patchVersion', 'packageImportJobOutput_patchVersion' - The package\'s patch version.+newPackageImportJobOutput ::+  -- | 'outputS3Location'+  OutPutS3Location ->+  -- | 'packageId'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  PackageImportJobOutput+newPackageImportJobOutput+  pOutputS3Location_+  pPackageId_+  pPackageVersion_+  pPatchVersion_ =+    PackageImportJobOutput'+      { outputS3Location =+          pOutputS3Location_,+        packageId = pPackageId_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | The package\'s output location.+packageImportJobOutput_outputS3Location :: Lens.Lens' PackageImportJobOutput OutPutS3Location+packageImportJobOutput_outputS3Location = Lens.lens (\PackageImportJobOutput' {outputS3Location} -> outputS3Location) (\s@PackageImportJobOutput' {} a -> s {outputS3Location = a} :: PackageImportJobOutput)++-- | The package\'s ID.+packageImportJobOutput_packageId :: Lens.Lens' PackageImportJobOutput Prelude.Text+packageImportJobOutput_packageId = Lens.lens (\PackageImportJobOutput' {packageId} -> packageId) (\s@PackageImportJobOutput' {} a -> s {packageId = a} :: PackageImportJobOutput)++-- | The package\'s version.+packageImportJobOutput_packageVersion :: Lens.Lens' PackageImportJobOutput Prelude.Text+packageImportJobOutput_packageVersion = Lens.lens (\PackageImportJobOutput' {packageVersion} -> packageVersion) (\s@PackageImportJobOutput' {} a -> s {packageVersion = a} :: PackageImportJobOutput)++-- | The package\'s patch version.+packageImportJobOutput_patchVersion :: Lens.Lens' PackageImportJobOutput Prelude.Text+packageImportJobOutput_patchVersion = Lens.lens (\PackageImportJobOutput' {patchVersion} -> patchVersion) (\s@PackageImportJobOutput' {} a -> s {patchVersion = a} :: PackageImportJobOutput)++instance Data.FromJSON PackageImportJobOutput where+  parseJSON =+    Data.withObject+      "PackageImportJobOutput"+      ( \x ->+          PackageImportJobOutput'+            Prelude.<$> (x Data..: "OutputS3Location")+            Prelude.<*> (x Data..: "PackageId")+            Prelude.<*> (x Data..: "PackageVersion")+            Prelude.<*> (x Data..: "PatchVersion")+      )++instance Prelude.Hashable PackageImportJobOutput where+  hashWithSalt _salt PackageImportJobOutput' {..} =+    _salt+      `Prelude.hashWithSalt` outputS3Location+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData PackageImportJobOutput where+  rnf PackageImportJobOutput' {..} =+    Prelude.rnf outputS3Location+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion
+ gen/Amazonka/Panorama/Types/PackageImportJobOutputConfig.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.Panorama.Types.PackageImportJobOutputConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJobOutputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.PackageVersionOutputConfig+import qualified Amazonka.Prelude as Prelude++-- | An output configuration for a package import job.+--+-- /See:/ 'newPackageImportJobOutputConfig' smart constructor.+data PackageImportJobOutputConfig = PackageImportJobOutputConfig'+  { -- | The package version\'s output configuration.+    packageVersionOutputConfig :: Prelude.Maybe PackageVersionOutputConfig+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageImportJobOutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'packageVersionOutputConfig', 'packageImportJobOutputConfig_packageVersionOutputConfig' - The package version\'s output configuration.+newPackageImportJobOutputConfig ::+  PackageImportJobOutputConfig+newPackageImportJobOutputConfig =+  PackageImportJobOutputConfig'+    { packageVersionOutputConfig =+        Prelude.Nothing+    }++-- | The package version\'s output configuration.+packageImportJobOutputConfig_packageVersionOutputConfig :: Lens.Lens' PackageImportJobOutputConfig (Prelude.Maybe PackageVersionOutputConfig)+packageImportJobOutputConfig_packageVersionOutputConfig = Lens.lens (\PackageImportJobOutputConfig' {packageVersionOutputConfig} -> packageVersionOutputConfig) (\s@PackageImportJobOutputConfig' {} a -> s {packageVersionOutputConfig = a} :: PackageImportJobOutputConfig)++instance Data.FromJSON PackageImportJobOutputConfig where+  parseJSON =+    Data.withObject+      "PackageImportJobOutputConfig"+      ( \x ->+          PackageImportJobOutputConfig'+            Prelude.<$> (x Data..:? "PackageVersionOutputConfig")+      )++instance+  Prelude.Hashable+    PackageImportJobOutputConfig+  where+  hashWithSalt _salt PackageImportJobOutputConfig' {..} =+    _salt+      `Prelude.hashWithSalt` packageVersionOutputConfig++instance Prelude.NFData PackageImportJobOutputConfig where+  rnf PackageImportJobOutputConfig' {..} =+    Prelude.rnf packageVersionOutputConfig++instance Data.ToJSON PackageImportJobOutputConfig where+  toJSON PackageImportJobOutputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PackageVersionOutputConfig" Data..=)+              Prelude.<$> packageVersionOutputConfig+          ]+      )
+ gen/Amazonka/Panorama/Types/PackageImportJobStatus.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.Panorama.Types.PackageImportJobStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJobStatus+  ( PackageImportJobStatus+      ( ..,+        PackageImportJobStatus_FAILED,+        PackageImportJobStatus_PENDING,+        PackageImportJobStatus_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageImportJobStatus = PackageImportJobStatus'+  { fromPackageImportJobStatus ::+      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 PackageImportJobStatus_FAILED :: PackageImportJobStatus+pattern PackageImportJobStatus_FAILED = PackageImportJobStatus' "FAILED"++pattern PackageImportJobStatus_PENDING :: PackageImportJobStatus+pattern PackageImportJobStatus_PENDING = PackageImportJobStatus' "PENDING"++pattern PackageImportJobStatus_SUCCEEDED :: PackageImportJobStatus+pattern PackageImportJobStatus_SUCCEEDED = PackageImportJobStatus' "SUCCEEDED"++{-# COMPLETE+  PackageImportJobStatus_FAILED,+  PackageImportJobStatus_PENDING,+  PackageImportJobStatus_SUCCEEDED,+  PackageImportJobStatus'+  #-}
+ gen/Amazonka/Panorama/Types/PackageImportJobType.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.Panorama.Types.PackageImportJobType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageImportJobType+  ( PackageImportJobType+      ( ..,+        PackageImportJobType_MARKETPLACE_NODE_PACKAGE_VERSION,+        PackageImportJobType_NODE_PACKAGE_VERSION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageImportJobType = PackageImportJobType'+  { fromPackageImportJobType ::+      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 PackageImportJobType_MARKETPLACE_NODE_PACKAGE_VERSION :: PackageImportJobType+pattern PackageImportJobType_MARKETPLACE_NODE_PACKAGE_VERSION = PackageImportJobType' "MARKETPLACE_NODE_PACKAGE_VERSION"++pattern PackageImportJobType_NODE_PACKAGE_VERSION :: PackageImportJobType+pattern PackageImportJobType_NODE_PACKAGE_VERSION = PackageImportJobType' "NODE_PACKAGE_VERSION"++{-# COMPLETE+  PackageImportJobType_MARKETPLACE_NODE_PACKAGE_VERSION,+  PackageImportJobType_NODE_PACKAGE_VERSION,+  PackageImportJobType'+  #-}
+ gen/Amazonka/Panorama/Types/PackageListItem.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.PackageListItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageListItem 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 package summary.+--+-- /See:/ 'newPackageListItem' smart constructor.+data PackageListItem = PackageListItem'+  { -- | The package\'s ARN.+    arn :: Prelude.Maybe Prelude.Text,+    -- | When the package was created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The package\'s ID.+    packageId :: Prelude.Maybe Prelude.Text,+    -- | The package\'s name.+    packageName :: Prelude.Maybe Prelude.Text,+    -- | The package\'s tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageListItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'packageListItem_arn' - The package\'s ARN.+--+-- 'createdTime', 'packageListItem_createdTime' - When the package was created.+--+-- 'packageId', 'packageListItem_packageId' - The package\'s ID.+--+-- 'packageName', 'packageListItem_packageName' - The package\'s name.+--+-- 'tags', 'packageListItem_tags' - The package\'s tags.+newPackageListItem ::+  PackageListItem+newPackageListItem =+  PackageListItem'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      packageId = Prelude.Nothing,+      packageName = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The package\'s ARN.+packageListItem_arn :: Lens.Lens' PackageListItem (Prelude.Maybe Prelude.Text)+packageListItem_arn = Lens.lens (\PackageListItem' {arn} -> arn) (\s@PackageListItem' {} a -> s {arn = a} :: PackageListItem)++-- | When the package was created.+packageListItem_createdTime :: Lens.Lens' PackageListItem (Prelude.Maybe Prelude.UTCTime)+packageListItem_createdTime = Lens.lens (\PackageListItem' {createdTime} -> createdTime) (\s@PackageListItem' {} a -> s {createdTime = a} :: PackageListItem) Prelude.. Lens.mapping Data._Time++-- | The package\'s ID.+packageListItem_packageId :: Lens.Lens' PackageListItem (Prelude.Maybe Prelude.Text)+packageListItem_packageId = Lens.lens (\PackageListItem' {packageId} -> packageId) (\s@PackageListItem' {} a -> s {packageId = a} :: PackageListItem)++-- | The package\'s name.+packageListItem_packageName :: Lens.Lens' PackageListItem (Prelude.Maybe Prelude.Text)+packageListItem_packageName = Lens.lens (\PackageListItem' {packageName} -> packageName) (\s@PackageListItem' {} a -> s {packageName = a} :: PackageListItem)++-- | The package\'s tags.+packageListItem_tags :: Lens.Lens' PackageListItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+packageListItem_tags = Lens.lens (\PackageListItem' {tags} -> tags) (\s@PackageListItem' {} a -> s {tags = a} :: PackageListItem) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON PackageListItem where+  parseJSON =+    Data.withObject+      "PackageListItem"+      ( \x ->+          PackageListItem'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "PackageId")+            Prelude.<*> (x Data..:? "PackageName")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable PackageListItem where+  hashWithSalt _salt PackageListItem' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` packageId+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` tags++instance Prelude.NFData PackageListItem where+  rnf PackageListItem' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf packageId+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Panorama/Types/PackageObject.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.Panorama.Types.PackageObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageObject 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 package object.+--+-- /See:/ 'newPackageObject' smart constructor.+data PackageObject = PackageObject'+  { -- | The object\'s name.+    name :: Prelude.Text,+    -- | The object\'s package version.+    packageVersion :: Prelude.Text,+    -- | The object\'s patch version.+    patchVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'packageObject_name' - The object\'s name.+--+-- 'packageVersion', 'packageObject_packageVersion' - The object\'s package version.+--+-- 'patchVersion', 'packageObject_patchVersion' - The object\'s patch version.+newPackageObject ::+  -- | 'name'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  -- | 'patchVersion'+  Prelude.Text ->+  PackageObject+newPackageObject+  pName_+  pPackageVersion_+  pPatchVersion_ =+    PackageObject'+      { name = pName_,+        packageVersion = pPackageVersion_,+        patchVersion = pPatchVersion_+      }++-- | The object\'s name.+packageObject_name :: Lens.Lens' PackageObject Prelude.Text+packageObject_name = Lens.lens (\PackageObject' {name} -> name) (\s@PackageObject' {} a -> s {name = a} :: PackageObject)++-- | The object\'s package version.+packageObject_packageVersion :: Lens.Lens' PackageObject Prelude.Text+packageObject_packageVersion = Lens.lens (\PackageObject' {packageVersion} -> packageVersion) (\s@PackageObject' {} a -> s {packageVersion = a} :: PackageObject)++-- | The object\'s patch version.+packageObject_patchVersion :: Lens.Lens' PackageObject Prelude.Text+packageObject_patchVersion = Lens.lens (\PackageObject' {patchVersion} -> patchVersion) (\s@PackageObject' {} a -> s {patchVersion = a} :: PackageObject)++instance Data.FromJSON PackageObject where+  parseJSON =+    Data.withObject+      "PackageObject"+      ( \x ->+          PackageObject'+            Prelude.<$> (x Data..: "Name")+            Prelude.<*> (x Data..: "PackageVersion")+            Prelude.<*> (x Data..: "PatchVersion")+      )++instance Prelude.Hashable PackageObject where+  hashWithSalt _salt PackageObject' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` packageVersion+      `Prelude.hashWithSalt` patchVersion++instance Prelude.NFData PackageObject where+  rnf PackageObject' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf packageVersion+      `Prelude.seq` Prelude.rnf patchVersion
+ gen/Amazonka/Panorama/Types/PackageVersionInputConfig.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.PackageVersionInputConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageVersionInputConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.S3Location+import qualified Amazonka.Prelude as Prelude++-- | A package version input configuration.+--+-- /See:/ 'newPackageVersionInputConfig' smart constructor.+data PackageVersionInputConfig = PackageVersionInputConfig'+  { -- | A location in Amazon S3.+    s3Location :: S3Location+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionInputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Location', 'packageVersionInputConfig_s3Location' - A location in Amazon S3.+newPackageVersionInputConfig ::+  -- | 's3Location'+  S3Location ->+  PackageVersionInputConfig+newPackageVersionInputConfig pS3Location_ =+  PackageVersionInputConfig'+    { s3Location =+        pS3Location_+    }++-- | A location in Amazon S3.+packageVersionInputConfig_s3Location :: Lens.Lens' PackageVersionInputConfig S3Location+packageVersionInputConfig_s3Location = Lens.lens (\PackageVersionInputConfig' {s3Location} -> s3Location) (\s@PackageVersionInputConfig' {} a -> s {s3Location = a} :: PackageVersionInputConfig)++instance Data.FromJSON PackageVersionInputConfig where+  parseJSON =+    Data.withObject+      "PackageVersionInputConfig"+      ( \x ->+          PackageVersionInputConfig'+            Prelude.<$> (x Data..: "S3Location")+      )++instance Prelude.Hashable PackageVersionInputConfig where+  hashWithSalt _salt PackageVersionInputConfig' {..} =+    _salt `Prelude.hashWithSalt` s3Location++instance Prelude.NFData PackageVersionInputConfig where+  rnf PackageVersionInputConfig' {..} =+    Prelude.rnf s3Location++instance Data.ToJSON PackageVersionInputConfig where+  toJSON PackageVersionInputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("S3Location" Data..= s3Location)]+      )
+ gen/Amazonka/Panorama/Types/PackageVersionOutputConfig.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.Panorama.Types.PackageVersionOutputConfig+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageVersionOutputConfig 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 package version output configuration.+--+-- /See:/ 'newPackageVersionOutputConfig' smart constructor.+data PackageVersionOutputConfig = PackageVersionOutputConfig'+  { -- | Indicates that the version is recommended for all users.+    markLatest :: Prelude.Maybe Prelude.Bool,+    -- | The output\'s package name.+    packageName :: Prelude.Text,+    -- | The output\'s package version.+    packageVersion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PackageVersionOutputConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'markLatest', 'packageVersionOutputConfig_markLatest' - Indicates that the version is recommended for all users.+--+-- 'packageName', 'packageVersionOutputConfig_packageName' - The output\'s package name.+--+-- 'packageVersion', 'packageVersionOutputConfig_packageVersion' - The output\'s package version.+newPackageVersionOutputConfig ::+  -- | 'packageName'+  Prelude.Text ->+  -- | 'packageVersion'+  Prelude.Text ->+  PackageVersionOutputConfig+newPackageVersionOutputConfig+  pPackageName_+  pPackageVersion_ =+    PackageVersionOutputConfig'+      { markLatest =+          Prelude.Nothing,+        packageName = pPackageName_,+        packageVersion = pPackageVersion_+      }++-- | Indicates that the version is recommended for all users.+packageVersionOutputConfig_markLatest :: Lens.Lens' PackageVersionOutputConfig (Prelude.Maybe Prelude.Bool)+packageVersionOutputConfig_markLatest = Lens.lens (\PackageVersionOutputConfig' {markLatest} -> markLatest) (\s@PackageVersionOutputConfig' {} a -> s {markLatest = a} :: PackageVersionOutputConfig)++-- | The output\'s package name.+packageVersionOutputConfig_packageName :: Lens.Lens' PackageVersionOutputConfig Prelude.Text+packageVersionOutputConfig_packageName = Lens.lens (\PackageVersionOutputConfig' {packageName} -> packageName) (\s@PackageVersionOutputConfig' {} a -> s {packageName = a} :: PackageVersionOutputConfig)++-- | The output\'s package version.+packageVersionOutputConfig_packageVersion :: Lens.Lens' PackageVersionOutputConfig Prelude.Text+packageVersionOutputConfig_packageVersion = Lens.lens (\PackageVersionOutputConfig' {packageVersion} -> packageVersion) (\s@PackageVersionOutputConfig' {} a -> s {packageVersion = a} :: PackageVersionOutputConfig)++instance Data.FromJSON PackageVersionOutputConfig where+  parseJSON =+    Data.withObject+      "PackageVersionOutputConfig"+      ( \x ->+          PackageVersionOutputConfig'+            Prelude.<$> (x Data..:? "MarkLatest")+            Prelude.<*> (x Data..: "PackageName")+            Prelude.<*> (x Data..: "PackageVersion")+      )++instance Prelude.Hashable PackageVersionOutputConfig where+  hashWithSalt _salt PackageVersionOutputConfig' {..} =+    _salt+      `Prelude.hashWithSalt` markLatest+      `Prelude.hashWithSalt` packageName+      `Prelude.hashWithSalt` packageVersion++instance Prelude.NFData PackageVersionOutputConfig where+  rnf PackageVersionOutputConfig' {..} =+    Prelude.rnf markLatest+      `Prelude.seq` Prelude.rnf packageName+      `Prelude.seq` Prelude.rnf packageVersion++instance Data.ToJSON PackageVersionOutputConfig where+  toJSON PackageVersionOutputConfig' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MarkLatest" Data..=) Prelude.<$> markLatest,+            Prelude.Just ("PackageName" Data..= packageName),+            Prelude.Just+              ("PackageVersion" Data..= packageVersion)+          ]+      )
+ gen/Amazonka/Panorama/Types/PackageVersionStatus.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.Panorama.Types.PackageVersionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PackageVersionStatus+  ( PackageVersionStatus+      ( ..,+        PackageVersionStatus_DELETING,+        PackageVersionStatus_FAILED,+        PackageVersionStatus_REGISTER_COMPLETED,+        PackageVersionStatus_REGISTER_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PackageVersionStatus = PackageVersionStatus'+  { fromPackageVersionStatus ::+      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 PackageVersionStatus_DELETING :: PackageVersionStatus+pattern PackageVersionStatus_DELETING = PackageVersionStatus' "DELETING"++pattern PackageVersionStatus_FAILED :: PackageVersionStatus+pattern PackageVersionStatus_FAILED = PackageVersionStatus' "FAILED"++pattern PackageVersionStatus_REGISTER_COMPLETED :: PackageVersionStatus+pattern PackageVersionStatus_REGISTER_COMPLETED = PackageVersionStatus' "REGISTER_COMPLETED"++pattern PackageVersionStatus_REGISTER_PENDING :: PackageVersionStatus+pattern PackageVersionStatus_REGISTER_PENDING = PackageVersionStatus' "REGISTER_PENDING"++{-# COMPLETE+  PackageVersionStatus_DELETING,+  PackageVersionStatus_FAILED,+  PackageVersionStatus_REGISTER_COMPLETED,+  PackageVersionStatus_REGISTER_PENDING,+  PackageVersionStatus'+  #-}
+ gen/Amazonka/Panorama/Types/PortType.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.Panorama.Types.PortType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.PortType+  ( PortType+      ( ..,+        PortType_BOOLEAN,+        PortType_FLOAT32,+        PortType_INT32,+        PortType_MEDIA,+        PortType_STRING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PortType = PortType'+  { fromPortType ::+      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 PortType_BOOLEAN :: PortType+pattern PortType_BOOLEAN = PortType' "BOOLEAN"++pattern PortType_FLOAT32 :: PortType+pattern PortType_FLOAT32 = PortType' "FLOAT32"++pattern PortType_INT32 :: PortType+pattern PortType_INT32 = PortType' "INT32"++pattern PortType_MEDIA :: PortType+pattern PortType_MEDIA = PortType' "MEDIA"++pattern PortType_STRING :: PortType+pattern PortType_STRING = PortType' "STRING"++{-# COMPLETE+  PortType_BOOLEAN,+  PortType_FLOAT32,+  PortType_INT32,+  PortType_MEDIA,+  PortType_STRING,+  PortType'+  #-}
+ gen/Amazonka/Panorama/Types/ReportedRuntimeContextState.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.Panorama.Types.ReportedRuntimeContextState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.ReportedRuntimeContextState where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types.DesiredState+import Amazonka.Panorama.Types.DeviceReportedStatus+import qualified Amazonka.Prelude as Prelude++-- | An application instance\'s state.+--+-- /See:/ 'newReportedRuntimeContextState' smart constructor.+data ReportedRuntimeContextState = ReportedRuntimeContextState'+  { -- | The application\'s desired state.+    desiredState :: DesiredState,+    -- | The application\'s reported status.+    deviceReportedStatus :: DeviceReportedStatus,+    -- | When the device reported the application\'s state.+    deviceReportedTime :: Data.POSIX,+    -- | The device\'s name.+    runtimeContextName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReportedRuntimeContextState' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'desiredState', 'reportedRuntimeContextState_desiredState' - The application\'s desired state.+--+-- 'deviceReportedStatus', 'reportedRuntimeContextState_deviceReportedStatus' - The application\'s reported status.+--+-- 'deviceReportedTime', 'reportedRuntimeContextState_deviceReportedTime' - When the device reported the application\'s state.+--+-- 'runtimeContextName', 'reportedRuntimeContextState_runtimeContextName' - The device\'s name.+newReportedRuntimeContextState ::+  -- | 'desiredState'+  DesiredState ->+  -- | 'deviceReportedStatus'+  DeviceReportedStatus ->+  -- | 'deviceReportedTime'+  Prelude.UTCTime ->+  -- | 'runtimeContextName'+  Prelude.Text ->+  ReportedRuntimeContextState+newReportedRuntimeContextState+  pDesiredState_+  pDeviceReportedStatus_+  pDeviceReportedTime_+  pRuntimeContextName_ =+    ReportedRuntimeContextState'+      { desiredState =+          pDesiredState_,+        deviceReportedStatus = pDeviceReportedStatus_,+        deviceReportedTime =+          Data._Time Lens.# pDeviceReportedTime_,+        runtimeContextName = pRuntimeContextName_+      }++-- | The application\'s desired state.+reportedRuntimeContextState_desiredState :: Lens.Lens' ReportedRuntimeContextState DesiredState+reportedRuntimeContextState_desiredState = Lens.lens (\ReportedRuntimeContextState' {desiredState} -> desiredState) (\s@ReportedRuntimeContextState' {} a -> s {desiredState = a} :: ReportedRuntimeContextState)++-- | The application\'s reported status.+reportedRuntimeContextState_deviceReportedStatus :: Lens.Lens' ReportedRuntimeContextState DeviceReportedStatus+reportedRuntimeContextState_deviceReportedStatus = Lens.lens (\ReportedRuntimeContextState' {deviceReportedStatus} -> deviceReportedStatus) (\s@ReportedRuntimeContextState' {} a -> s {deviceReportedStatus = a} :: ReportedRuntimeContextState)++-- | When the device reported the application\'s state.+reportedRuntimeContextState_deviceReportedTime :: Lens.Lens' ReportedRuntimeContextState Prelude.UTCTime+reportedRuntimeContextState_deviceReportedTime = Lens.lens (\ReportedRuntimeContextState' {deviceReportedTime} -> deviceReportedTime) (\s@ReportedRuntimeContextState' {} a -> s {deviceReportedTime = a} :: ReportedRuntimeContextState) Prelude.. Data._Time++-- | The device\'s name.+reportedRuntimeContextState_runtimeContextName :: Lens.Lens' ReportedRuntimeContextState Prelude.Text+reportedRuntimeContextState_runtimeContextName = Lens.lens (\ReportedRuntimeContextState' {runtimeContextName} -> runtimeContextName) (\s@ReportedRuntimeContextState' {} a -> s {runtimeContextName = a} :: ReportedRuntimeContextState)++instance Data.FromJSON ReportedRuntimeContextState where+  parseJSON =+    Data.withObject+      "ReportedRuntimeContextState"+      ( \x ->+          ReportedRuntimeContextState'+            Prelude.<$> (x Data..: "DesiredState")+            Prelude.<*> (x Data..: "DeviceReportedStatus")+            Prelude.<*> (x Data..: "DeviceReportedTime")+            Prelude.<*> (x Data..: "RuntimeContextName")+      )++instance Prelude.Hashable ReportedRuntimeContextState where+  hashWithSalt _salt ReportedRuntimeContextState' {..} =+    _salt+      `Prelude.hashWithSalt` desiredState+      `Prelude.hashWithSalt` deviceReportedStatus+      `Prelude.hashWithSalt` deviceReportedTime+      `Prelude.hashWithSalt` runtimeContextName++instance Prelude.NFData ReportedRuntimeContextState where+  rnf ReportedRuntimeContextState' {..} =+    Prelude.rnf desiredState+      `Prelude.seq` Prelude.rnf deviceReportedStatus+      `Prelude.seq` Prelude.rnf deviceReportedTime+      `Prelude.seq` Prelude.rnf runtimeContextName
+ gen/Amazonka/Panorama/Types/S3Location.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.S3Location+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.S3Location where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A location in Amazon S3.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+  { -- | The bucket\'s Region.+    region :: Prelude.Maybe Prelude.Text,+    -- | A bucket name.+    bucketName :: Prelude.Text,+    -- | An object key.+    objectKey :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'region', 's3Location_region' - The bucket\'s Region.+--+-- 'bucketName', 's3Location_bucketName' - A bucket name.+--+-- 'objectKey', 's3Location_objectKey' - An object key.+newS3Location ::+  -- | 'bucketName'+  Prelude.Text ->+  -- | 'objectKey'+  Prelude.Text ->+  S3Location+newS3Location pBucketName_ pObjectKey_ =+  S3Location'+    { region = Prelude.Nothing,+      bucketName = pBucketName_,+      objectKey = pObjectKey_+    }++-- | The bucket\'s Region.+s3Location_region :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_region = Lens.lens (\S3Location' {region} -> region) (\s@S3Location' {} a -> s {region = a} :: S3Location)++-- | A bucket name.+s3Location_bucketName :: Lens.Lens' S3Location Prelude.Text+s3Location_bucketName = Lens.lens (\S3Location' {bucketName} -> bucketName) (\s@S3Location' {} a -> s {bucketName = a} :: S3Location)++-- | An object key.+s3Location_objectKey :: Lens.Lens' S3Location Prelude.Text+s3Location_objectKey = Lens.lens (\S3Location' {objectKey} -> objectKey) (\s@S3Location' {} a -> s {objectKey = a} :: S3Location)++instance Data.FromJSON S3Location where+  parseJSON =+    Data.withObject+      "S3Location"+      ( \x ->+          S3Location'+            Prelude.<$> (x Data..:? "Region")+            Prelude.<*> (x Data..: "BucketName")+            Prelude.<*> (x Data..: "ObjectKey")+      )++instance Prelude.Hashable S3Location where+  hashWithSalt _salt S3Location' {..} =+    _salt+      `Prelude.hashWithSalt` region+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` objectKey++instance Prelude.NFData S3Location where+  rnf S3Location' {..} =+    Prelude.rnf region+      `Prelude.seq` Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf objectKey++instance Data.ToJSON S3Location where+  toJSON S3Location' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Region" Data..=) Prelude.<$> region,+            Prelude.Just ("BucketName" Data..= bucketName),+            Prelude.Just ("ObjectKey" Data..= objectKey)+          ]+      )
+ gen/Amazonka/Panorama/Types/SortOrder.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.SortOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.SortOrder+  ( SortOrder+      ( ..,+        SortOrder_ASCENDING,+        SortOrder_DESCENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+  { fromSortOrder ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+  SortOrder_ASCENDING,+  SortOrder_DESCENDING,+  SortOrder'+  #-}
+ gen/Amazonka/Panorama/Types/StaticIpConnectionInfo.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.StaticIpConnectionInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.StaticIpConnectionInfo 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 static IP configuration.+--+-- /See:/ 'newStaticIpConnectionInfo' smart constructor.+data StaticIpConnectionInfo = StaticIpConnectionInfo'+  { -- | The connection\'s default gateway.+    defaultGateway :: Prelude.Text,+    -- | The connection\'s DNS address.+    dns :: [Prelude.Text],+    -- | The connection\'s IP address.+    ipAddress :: Prelude.Text,+    -- | The connection\'s DNS mask.+    mask :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StaticIpConnectionInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultGateway', 'staticIpConnectionInfo_defaultGateway' - The connection\'s default gateway.+--+-- 'dns', 'staticIpConnectionInfo_dns' - The connection\'s DNS address.+--+-- 'ipAddress', 'staticIpConnectionInfo_ipAddress' - The connection\'s IP address.+--+-- 'mask', 'staticIpConnectionInfo_mask' - The connection\'s DNS mask.+newStaticIpConnectionInfo ::+  -- | 'defaultGateway'+  Prelude.Text ->+  -- | 'ipAddress'+  Prelude.Text ->+  -- | 'mask'+  Prelude.Text ->+  StaticIpConnectionInfo+newStaticIpConnectionInfo+  pDefaultGateway_+  pIpAddress_+  pMask_ =+    StaticIpConnectionInfo'+      { defaultGateway =+          pDefaultGateway_,+        dns = Prelude.mempty,+        ipAddress = pIpAddress_,+        mask = pMask_+      }++-- | The connection\'s default gateway.+staticIpConnectionInfo_defaultGateway :: Lens.Lens' StaticIpConnectionInfo Prelude.Text+staticIpConnectionInfo_defaultGateway = Lens.lens (\StaticIpConnectionInfo' {defaultGateway} -> defaultGateway) (\s@StaticIpConnectionInfo' {} a -> s {defaultGateway = a} :: StaticIpConnectionInfo)++-- | The connection\'s DNS address.+staticIpConnectionInfo_dns :: Lens.Lens' StaticIpConnectionInfo [Prelude.Text]+staticIpConnectionInfo_dns = Lens.lens (\StaticIpConnectionInfo' {dns} -> dns) (\s@StaticIpConnectionInfo' {} a -> s {dns = a} :: StaticIpConnectionInfo) Prelude.. Lens.coerced++-- | The connection\'s IP address.+staticIpConnectionInfo_ipAddress :: Lens.Lens' StaticIpConnectionInfo Prelude.Text+staticIpConnectionInfo_ipAddress = Lens.lens (\StaticIpConnectionInfo' {ipAddress} -> ipAddress) (\s@StaticIpConnectionInfo' {} a -> s {ipAddress = a} :: StaticIpConnectionInfo)++-- | The connection\'s DNS mask.+staticIpConnectionInfo_mask :: Lens.Lens' StaticIpConnectionInfo Prelude.Text+staticIpConnectionInfo_mask = Lens.lens (\StaticIpConnectionInfo' {mask} -> mask) (\s@StaticIpConnectionInfo' {} a -> s {mask = a} :: StaticIpConnectionInfo)++instance Data.FromJSON StaticIpConnectionInfo where+  parseJSON =+    Data.withObject+      "StaticIpConnectionInfo"+      ( \x ->+          StaticIpConnectionInfo'+            Prelude.<$> (x Data..: "DefaultGateway")+            Prelude.<*> (x Data..:? "Dns" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "IpAddress")+            Prelude.<*> (x Data..: "Mask")+      )++instance Prelude.Hashable StaticIpConnectionInfo where+  hashWithSalt _salt StaticIpConnectionInfo' {..} =+    _salt+      `Prelude.hashWithSalt` defaultGateway+      `Prelude.hashWithSalt` dns+      `Prelude.hashWithSalt` ipAddress+      `Prelude.hashWithSalt` mask++instance Prelude.NFData StaticIpConnectionInfo where+  rnf StaticIpConnectionInfo' {..} =+    Prelude.rnf defaultGateway+      `Prelude.seq` Prelude.rnf dns+      `Prelude.seq` Prelude.rnf ipAddress+      `Prelude.seq` Prelude.rnf mask++instance Data.ToJSON StaticIpConnectionInfo where+  toJSON StaticIpConnectionInfo' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DefaultGateway" Data..= defaultGateway),+            Prelude.Just ("Dns" Data..= dns),+            Prelude.Just ("IpAddress" Data..= ipAddress),+            Prelude.Just ("Mask" Data..= mask)+          ]+      )
+ gen/Amazonka/Panorama/Types/StatusFilter.hs view
@@ -0,0 +1,96 @@+{-# 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.Panorama.Types.StatusFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.StatusFilter+  ( StatusFilter+      ( ..,+        StatusFilter_DEPLOYMENT_ERROR,+        StatusFilter_DEPLOYMENT_FAILED,+        StatusFilter_DEPLOYMENT_SUCCEEDED,+        StatusFilter_PROCESSING_DEPLOYMENT,+        StatusFilter_PROCESSING_REMOVAL,+        StatusFilter_REMOVAL_FAILED,+        StatusFilter_REMOVAL_SUCCEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StatusFilter = StatusFilter'+  { fromStatusFilter ::+      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 StatusFilter_DEPLOYMENT_ERROR :: StatusFilter+pattern StatusFilter_DEPLOYMENT_ERROR = StatusFilter' "DEPLOYMENT_ERROR"++pattern StatusFilter_DEPLOYMENT_FAILED :: StatusFilter+pattern StatusFilter_DEPLOYMENT_FAILED = StatusFilter' "DEPLOYMENT_FAILED"++pattern StatusFilter_DEPLOYMENT_SUCCEEDED :: StatusFilter+pattern StatusFilter_DEPLOYMENT_SUCCEEDED = StatusFilter' "DEPLOYMENT_SUCCEEDED"++pattern StatusFilter_PROCESSING_DEPLOYMENT :: StatusFilter+pattern StatusFilter_PROCESSING_DEPLOYMENT = StatusFilter' "PROCESSING_DEPLOYMENT"++pattern StatusFilter_PROCESSING_REMOVAL :: StatusFilter+pattern StatusFilter_PROCESSING_REMOVAL = StatusFilter' "PROCESSING_REMOVAL"++pattern StatusFilter_REMOVAL_FAILED :: StatusFilter+pattern StatusFilter_REMOVAL_FAILED = StatusFilter' "REMOVAL_FAILED"++pattern StatusFilter_REMOVAL_SUCCEEDED :: StatusFilter+pattern StatusFilter_REMOVAL_SUCCEEDED = StatusFilter' "REMOVAL_SUCCEEDED"++{-# COMPLETE+  StatusFilter_DEPLOYMENT_ERROR,+  StatusFilter_DEPLOYMENT_FAILED,+  StatusFilter_DEPLOYMENT_SUCCEEDED,+  StatusFilter_PROCESSING_DEPLOYMENT,+  StatusFilter_PROCESSING_REMOVAL,+  StatusFilter_REMOVAL_FAILED,+  StatusFilter_REMOVAL_SUCCEEDED,+  StatusFilter'+  #-}
+ gen/Amazonka/Panorama/Types/StorageLocation.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.Types.StorageLocation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.StorageLocation 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 storage location.+--+-- /See:/ 'newStorageLocation' smart constructor.+data StorageLocation = StorageLocation'+  { -- | The location\'s binary prefix.+    binaryPrefixLocation :: Prelude.Text,+    -- | The location\'s bucket.+    bucket :: Prelude.Text,+    -- | The location\'s generated prefix.+    generatedPrefixLocation :: Prelude.Text,+    -- | The location\'s manifest prefix.+    manifestPrefixLocation :: Prelude.Text,+    -- | The location\'s repo prefix.+    repoPrefixLocation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'binaryPrefixLocation', 'storageLocation_binaryPrefixLocation' - The location\'s binary prefix.+--+-- 'bucket', 'storageLocation_bucket' - The location\'s bucket.+--+-- 'generatedPrefixLocation', 'storageLocation_generatedPrefixLocation' - The location\'s generated prefix.+--+-- 'manifestPrefixLocation', 'storageLocation_manifestPrefixLocation' - The location\'s manifest prefix.+--+-- 'repoPrefixLocation', 'storageLocation_repoPrefixLocation' - The location\'s repo prefix.+newStorageLocation ::+  -- | 'binaryPrefixLocation'+  Prelude.Text ->+  -- | 'bucket'+  Prelude.Text ->+  -- | 'generatedPrefixLocation'+  Prelude.Text ->+  -- | 'manifestPrefixLocation'+  Prelude.Text ->+  -- | 'repoPrefixLocation'+  Prelude.Text ->+  StorageLocation+newStorageLocation+  pBinaryPrefixLocation_+  pBucket_+  pGeneratedPrefixLocation_+  pManifestPrefixLocation_+  pRepoPrefixLocation_ =+    StorageLocation'+      { binaryPrefixLocation =+          pBinaryPrefixLocation_,+        bucket = pBucket_,+        generatedPrefixLocation = pGeneratedPrefixLocation_,+        manifestPrefixLocation = pManifestPrefixLocation_,+        repoPrefixLocation = pRepoPrefixLocation_+      }++-- | The location\'s binary prefix.+storageLocation_binaryPrefixLocation :: Lens.Lens' StorageLocation Prelude.Text+storageLocation_binaryPrefixLocation = Lens.lens (\StorageLocation' {binaryPrefixLocation} -> binaryPrefixLocation) (\s@StorageLocation' {} a -> s {binaryPrefixLocation = a} :: StorageLocation)++-- | The location\'s bucket.+storageLocation_bucket :: Lens.Lens' StorageLocation Prelude.Text+storageLocation_bucket = Lens.lens (\StorageLocation' {bucket} -> bucket) (\s@StorageLocation' {} a -> s {bucket = a} :: StorageLocation)++-- | The location\'s generated prefix.+storageLocation_generatedPrefixLocation :: Lens.Lens' StorageLocation Prelude.Text+storageLocation_generatedPrefixLocation = Lens.lens (\StorageLocation' {generatedPrefixLocation} -> generatedPrefixLocation) (\s@StorageLocation' {} a -> s {generatedPrefixLocation = a} :: StorageLocation)++-- | The location\'s manifest prefix.+storageLocation_manifestPrefixLocation :: Lens.Lens' StorageLocation Prelude.Text+storageLocation_manifestPrefixLocation = Lens.lens (\StorageLocation' {manifestPrefixLocation} -> manifestPrefixLocation) (\s@StorageLocation' {} a -> s {manifestPrefixLocation = a} :: StorageLocation)++-- | The location\'s repo prefix.+storageLocation_repoPrefixLocation :: Lens.Lens' StorageLocation Prelude.Text+storageLocation_repoPrefixLocation = Lens.lens (\StorageLocation' {repoPrefixLocation} -> repoPrefixLocation) (\s@StorageLocation' {} a -> s {repoPrefixLocation = a} :: StorageLocation)++instance Data.FromJSON StorageLocation where+  parseJSON =+    Data.withObject+      "StorageLocation"+      ( \x ->+          StorageLocation'+            Prelude.<$> (x Data..: "BinaryPrefixLocation")+            Prelude.<*> (x Data..: "Bucket")+            Prelude.<*> (x Data..: "GeneratedPrefixLocation")+            Prelude.<*> (x Data..: "ManifestPrefixLocation")+            Prelude.<*> (x Data..: "RepoPrefixLocation")+      )++instance Prelude.Hashable StorageLocation where+  hashWithSalt _salt StorageLocation' {..} =+    _salt+      `Prelude.hashWithSalt` binaryPrefixLocation+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` generatedPrefixLocation+      `Prelude.hashWithSalt` manifestPrefixLocation+      `Prelude.hashWithSalt` repoPrefixLocation++instance Prelude.NFData StorageLocation where+  rnf StorageLocation' {..} =+    Prelude.rnf binaryPrefixLocation+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf generatedPrefixLocation+      `Prelude.seq` Prelude.rnf manifestPrefixLocation+      `Prelude.seq` Prelude.rnf repoPrefixLocation
+ gen/Amazonka/Panorama/Types/TemplateType.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.Panorama.Types.TemplateType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.TemplateType+  ( TemplateType+      ( ..,+        TemplateType_RTSP_CAMERA_STREAM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TemplateType = TemplateType'+  { fromTemplateType ::+      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 TemplateType_RTSP_CAMERA_STREAM :: TemplateType+pattern TemplateType_RTSP_CAMERA_STREAM = TemplateType' "RTSP_CAMERA_STREAM"++{-# COMPLETE+  TemplateType_RTSP_CAMERA_STREAM,+  TemplateType'+  #-}
+ gen/Amazonka/Panorama/Types/UpdateProgress.hs view
@@ -0,0 +1,96 @@+{-# 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.Panorama.Types.UpdateProgress+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Panorama.Types.UpdateProgress+  ( UpdateProgress+      ( ..,+        UpdateProgress_COMPLETED,+        UpdateProgress_DOWNLOADING,+        UpdateProgress_FAILED,+        UpdateProgress_IN_PROGRESS,+        UpdateProgress_PENDING,+        UpdateProgress_REBOOTING,+        UpdateProgress_VERIFYING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UpdateProgress = UpdateProgress'+  { fromUpdateProgress ::+      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 UpdateProgress_COMPLETED :: UpdateProgress+pattern UpdateProgress_COMPLETED = UpdateProgress' "COMPLETED"++pattern UpdateProgress_DOWNLOADING :: UpdateProgress+pattern UpdateProgress_DOWNLOADING = UpdateProgress' "DOWNLOADING"++pattern UpdateProgress_FAILED :: UpdateProgress+pattern UpdateProgress_FAILED = UpdateProgress' "FAILED"++pattern UpdateProgress_IN_PROGRESS :: UpdateProgress+pattern UpdateProgress_IN_PROGRESS = UpdateProgress' "IN_PROGRESS"++pattern UpdateProgress_PENDING :: UpdateProgress+pattern UpdateProgress_PENDING = UpdateProgress' "PENDING"++pattern UpdateProgress_REBOOTING :: UpdateProgress+pattern UpdateProgress_REBOOTING = UpdateProgress' "REBOOTING"++pattern UpdateProgress_VERIFYING :: UpdateProgress+pattern UpdateProgress_VERIFYING = UpdateProgress' "VERIFYING"++{-# COMPLETE+  UpdateProgress_COMPLETED,+  UpdateProgress_DOWNLOADING,+  UpdateProgress_FAILED,+  UpdateProgress_IN_PROGRESS,+  UpdateProgress_PENDING,+  UpdateProgress_REBOOTING,+  UpdateProgress_VERIFYING,+  UpdateProgress'+  #-}
+ gen/Amazonka/Panorama/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Panorama.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 tags from a resource.+module Amazonka.Panorama.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.Panorama.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 resource\'s ARN.+    resourceArn :: Prelude.Text,+    -- | Tag keys to remove.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The resource\'s ARN.+--+-- 'tagKeys', 'untagResource_tagKeys' - Tag keys to remove.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The resource\'s ARN.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | Tag keys to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/UpdateDeviceMetadata.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.Panorama.UpdateDeviceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a device\'s metadata.+module Amazonka.Panorama.UpdateDeviceMetadata+  ( -- * Creating a Request+    UpdateDeviceMetadata (..),+    newUpdateDeviceMetadata,++    -- * Request Lenses+    updateDeviceMetadata_description,+    updateDeviceMetadata_deviceId,++    -- * Destructuring the Response+    UpdateDeviceMetadataResponse (..),+    newUpdateDeviceMetadataResponse,++    -- * Response Lenses+    updateDeviceMetadataResponse_deviceId,+    updateDeviceMetadataResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDeviceMetadata' smart constructor.+data UpdateDeviceMetadata = UpdateDeviceMetadata'+  { -- | A description for the device.+    description :: Prelude.Maybe Prelude.Text,+    -- | The device\'s ID.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDeviceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateDeviceMetadata_description' - A description for the device.+--+-- 'deviceId', 'updateDeviceMetadata_deviceId' - The device\'s ID.+newUpdateDeviceMetadata ::+  -- | 'deviceId'+  Prelude.Text ->+  UpdateDeviceMetadata+newUpdateDeviceMetadata pDeviceId_ =+  UpdateDeviceMetadata'+    { description =+        Prelude.Nothing,+      deviceId = pDeviceId_+    }++-- | A description for the device.+updateDeviceMetadata_description :: Lens.Lens' UpdateDeviceMetadata (Prelude.Maybe Prelude.Text)+updateDeviceMetadata_description = Lens.lens (\UpdateDeviceMetadata' {description} -> description) (\s@UpdateDeviceMetadata' {} a -> s {description = a} :: UpdateDeviceMetadata)++-- | The device\'s ID.+updateDeviceMetadata_deviceId :: Lens.Lens' UpdateDeviceMetadata Prelude.Text+updateDeviceMetadata_deviceId = Lens.lens (\UpdateDeviceMetadata' {deviceId} -> deviceId) (\s@UpdateDeviceMetadata' {} a -> s {deviceId = a} :: UpdateDeviceMetadata)++instance Core.AWSRequest UpdateDeviceMetadata where+  type+    AWSResponse UpdateDeviceMetadata =+      UpdateDeviceMetadataResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDeviceMetadataResponse'+            Prelude.<$> (x Data..?> "DeviceId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDeviceMetadata where+  hashWithSalt _salt UpdateDeviceMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` deviceId++instance Prelude.NFData UpdateDeviceMetadata where+  rnf UpdateDeviceMetadata' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf deviceId++instance Data.ToHeaders UpdateDeviceMetadata where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDeviceMetadata where+  toJSON UpdateDeviceMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateDeviceMetadata where+  toPath UpdateDeviceMetadata' {..} =+    Prelude.mconcat ["/devices/", Data.toBS deviceId]++instance Data.ToQuery UpdateDeviceMetadata where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDeviceMetadataResponse' smart constructor.+data UpdateDeviceMetadataResponse = UpdateDeviceMetadataResponse'+  { -- | The device\'s ID.+    deviceId :: 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 'UpdateDeviceMetadataResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'updateDeviceMetadataResponse_deviceId' - The device\'s ID.+--+-- 'httpStatus', 'updateDeviceMetadataResponse_httpStatus' - The response's http status code.+newUpdateDeviceMetadataResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDeviceMetadataResponse+newUpdateDeviceMetadataResponse pHttpStatus_ =+  UpdateDeviceMetadataResponse'+    { deviceId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The device\'s ID.+updateDeviceMetadataResponse_deviceId :: Lens.Lens' UpdateDeviceMetadataResponse (Prelude.Maybe Prelude.Text)+updateDeviceMetadataResponse_deviceId = Lens.lens (\UpdateDeviceMetadataResponse' {deviceId} -> deviceId) (\s@UpdateDeviceMetadataResponse' {} a -> s {deviceId = a} :: UpdateDeviceMetadataResponse)++-- | The response's http status code.+updateDeviceMetadataResponse_httpStatus :: Lens.Lens' UpdateDeviceMetadataResponse Prelude.Int+updateDeviceMetadataResponse_httpStatus = Lens.lens (\UpdateDeviceMetadataResponse' {httpStatus} -> httpStatus) (\s@UpdateDeviceMetadataResponse' {} a -> s {httpStatus = a} :: UpdateDeviceMetadataResponse)++instance Prelude.NFData UpdateDeviceMetadataResponse where+  rnf UpdateDeviceMetadataResponse' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Panorama/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.Panorama.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.Panorama.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Panorama.Lens+import Amazonka.Panorama.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.Panorama+import Test.Amazonka.Panorama.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Panorama"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Panorama.hs view
@@ -0,0 +1,718 @@+{-# 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.Panorama+-- Copyright   : (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.Panorama where++import Amazonka.Panorama+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Panorama.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"+--         [ requestCreateApplicationInstance $+--             newCreateApplicationInstance+--+--         , requestCreateJobForDevices $+--             newCreateJobForDevices+--+--         , requestCreateNodeFromTemplateJob $+--             newCreateNodeFromTemplateJob+--+--         , requestCreatePackage $+--             newCreatePackage+--+--         , requestCreatePackageImportJob $+--             newCreatePackageImportJob+--+--         , requestDeleteDevice $+--             newDeleteDevice+--+--         , requestDeletePackage $+--             newDeletePackage+--+--         , requestDeregisterPackageVersion $+--             newDeregisterPackageVersion+--+--         , requestDescribeApplicationInstance $+--             newDescribeApplicationInstance+--+--         , requestDescribeApplicationInstanceDetails $+--             newDescribeApplicationInstanceDetails+--+--         , requestDescribeDevice $+--             newDescribeDevice+--+--         , requestDescribeDeviceJob $+--             newDescribeDeviceJob+--+--         , requestDescribeNode $+--             newDescribeNode+--+--         , requestDescribeNodeFromTemplateJob $+--             newDescribeNodeFromTemplateJob+--+--         , requestDescribePackage $+--             newDescribePackage+--+--         , requestDescribePackageImportJob $+--             newDescribePackageImportJob+--+--         , requestDescribePackageVersion $+--             newDescribePackageVersion+--+--         , requestListApplicationInstanceDependencies $+--             newListApplicationInstanceDependencies+--+--         , requestListApplicationInstanceNodeInstances $+--             newListApplicationInstanceNodeInstances+--+--         , requestListApplicationInstances $+--             newListApplicationInstances+--+--         , requestListDevices $+--             newListDevices+--+--         , requestListDevicesJobs $+--             newListDevicesJobs+--+--         , requestListNodeFromTemplateJobs $+--             newListNodeFromTemplateJobs+--+--         , requestListNodes $+--             newListNodes+--+--         , requestListPackageImportJobs $+--             newListPackageImportJobs+--+--         , requestListPackages $+--             newListPackages+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestProvisionDevice $+--             newProvisionDevice+--+--         , requestRegisterPackageVersion $+--             newRegisterPackageVersion+--+--         , requestRemoveApplicationInstance $+--             newRemoveApplicationInstance+--+--         , requestSignalApplicationInstanceNodeInstances $+--             newSignalApplicationInstanceNodeInstances+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateDeviceMetadata $+--             newUpdateDeviceMetadata+--+--           ]++--     , testGroup "response"+--         [ responseCreateApplicationInstance $+--             newCreateApplicationInstanceResponse+--+--         , responseCreateJobForDevices $+--             newCreateJobForDevicesResponse+--+--         , responseCreateNodeFromTemplateJob $+--             newCreateNodeFromTemplateJobResponse+--+--         , responseCreatePackage $+--             newCreatePackageResponse+--+--         , responseCreatePackageImportJob $+--             newCreatePackageImportJobResponse+--+--         , responseDeleteDevice $+--             newDeleteDeviceResponse+--+--         , responseDeletePackage $+--             newDeletePackageResponse+--+--         , responseDeregisterPackageVersion $+--             newDeregisterPackageVersionResponse+--+--         , responseDescribeApplicationInstance $+--             newDescribeApplicationInstanceResponse+--+--         , responseDescribeApplicationInstanceDetails $+--             newDescribeApplicationInstanceDetailsResponse+--+--         , responseDescribeDevice $+--             newDescribeDeviceResponse+--+--         , responseDescribeDeviceJob $+--             newDescribeDeviceJobResponse+--+--         , responseDescribeNode $+--             newDescribeNodeResponse+--+--         , responseDescribeNodeFromTemplateJob $+--             newDescribeNodeFromTemplateJobResponse+--+--         , responseDescribePackage $+--             newDescribePackageResponse+--+--         , responseDescribePackageImportJob $+--             newDescribePackageImportJobResponse+--+--         , responseDescribePackageVersion $+--             newDescribePackageVersionResponse+--+--         , responseListApplicationInstanceDependencies $+--             newListApplicationInstanceDependenciesResponse+--+--         , responseListApplicationInstanceNodeInstances $+--             newListApplicationInstanceNodeInstancesResponse+--+--         , responseListApplicationInstances $+--             newListApplicationInstancesResponse+--+--         , responseListDevices $+--             newListDevicesResponse+--+--         , responseListDevicesJobs $+--             newListDevicesJobsResponse+--+--         , responseListNodeFromTemplateJobs $+--             newListNodeFromTemplateJobsResponse+--+--         , responseListNodes $+--             newListNodesResponse+--+--         , responseListPackageImportJobs $+--             newListPackageImportJobsResponse+--+--         , responseListPackages $+--             newListPackagesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseProvisionDevice $+--             newProvisionDeviceResponse+--+--         , responseRegisterPackageVersion $+--             newRegisterPackageVersionResponse+--+--         , responseRemoveApplicationInstance $+--             newRemoveApplicationInstanceResponse+--+--         , responseSignalApplicationInstanceNodeInstances $+--             newSignalApplicationInstanceNodeInstancesResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateDeviceMetadata $+--             newUpdateDeviceMetadataResponse+--+--           ]+--     ]++-- Requests++requestCreateApplicationInstance :: CreateApplicationInstance -> TestTree+requestCreateApplicationInstance =+  req+    "CreateApplicationInstance"+    "fixture/CreateApplicationInstance.yaml"++requestCreateJobForDevices :: CreateJobForDevices -> TestTree+requestCreateJobForDevices =+  req+    "CreateJobForDevices"+    "fixture/CreateJobForDevices.yaml"++requestCreateNodeFromTemplateJob :: CreateNodeFromTemplateJob -> TestTree+requestCreateNodeFromTemplateJob =+  req+    "CreateNodeFromTemplateJob"+    "fixture/CreateNodeFromTemplateJob.yaml"++requestCreatePackage :: CreatePackage -> TestTree+requestCreatePackage =+  req+    "CreatePackage"+    "fixture/CreatePackage.yaml"++requestCreatePackageImportJob :: CreatePackageImportJob -> TestTree+requestCreatePackageImportJob =+  req+    "CreatePackageImportJob"+    "fixture/CreatePackageImportJob.yaml"++requestDeleteDevice :: DeleteDevice -> TestTree+requestDeleteDevice =+  req+    "DeleteDevice"+    "fixture/DeleteDevice.yaml"++requestDeletePackage :: DeletePackage -> TestTree+requestDeletePackage =+  req+    "DeletePackage"+    "fixture/DeletePackage.yaml"++requestDeregisterPackageVersion :: DeregisterPackageVersion -> TestTree+requestDeregisterPackageVersion =+  req+    "DeregisterPackageVersion"+    "fixture/DeregisterPackageVersion.yaml"++requestDescribeApplicationInstance :: DescribeApplicationInstance -> TestTree+requestDescribeApplicationInstance =+  req+    "DescribeApplicationInstance"+    "fixture/DescribeApplicationInstance.yaml"++requestDescribeApplicationInstanceDetails :: DescribeApplicationInstanceDetails -> TestTree+requestDescribeApplicationInstanceDetails =+  req+    "DescribeApplicationInstanceDetails"+    "fixture/DescribeApplicationInstanceDetails.yaml"++requestDescribeDevice :: DescribeDevice -> TestTree+requestDescribeDevice =+  req+    "DescribeDevice"+    "fixture/DescribeDevice.yaml"++requestDescribeDeviceJob :: DescribeDeviceJob -> TestTree+requestDescribeDeviceJob =+  req+    "DescribeDeviceJob"+    "fixture/DescribeDeviceJob.yaml"++requestDescribeNode :: DescribeNode -> TestTree+requestDescribeNode =+  req+    "DescribeNode"+    "fixture/DescribeNode.yaml"++requestDescribeNodeFromTemplateJob :: DescribeNodeFromTemplateJob -> TestTree+requestDescribeNodeFromTemplateJob =+  req+    "DescribeNodeFromTemplateJob"+    "fixture/DescribeNodeFromTemplateJob.yaml"++requestDescribePackage :: DescribePackage -> TestTree+requestDescribePackage =+  req+    "DescribePackage"+    "fixture/DescribePackage.yaml"++requestDescribePackageImportJob :: DescribePackageImportJob -> TestTree+requestDescribePackageImportJob =+  req+    "DescribePackageImportJob"+    "fixture/DescribePackageImportJob.yaml"++requestDescribePackageVersion :: DescribePackageVersion -> TestTree+requestDescribePackageVersion =+  req+    "DescribePackageVersion"+    "fixture/DescribePackageVersion.yaml"++requestListApplicationInstanceDependencies :: ListApplicationInstanceDependencies -> TestTree+requestListApplicationInstanceDependencies =+  req+    "ListApplicationInstanceDependencies"+    "fixture/ListApplicationInstanceDependencies.yaml"++requestListApplicationInstanceNodeInstances :: ListApplicationInstanceNodeInstances -> TestTree+requestListApplicationInstanceNodeInstances =+  req+    "ListApplicationInstanceNodeInstances"+    "fixture/ListApplicationInstanceNodeInstances.yaml"++requestListApplicationInstances :: ListApplicationInstances -> TestTree+requestListApplicationInstances =+  req+    "ListApplicationInstances"+    "fixture/ListApplicationInstances.yaml"++requestListDevices :: ListDevices -> TestTree+requestListDevices =+  req+    "ListDevices"+    "fixture/ListDevices.yaml"++requestListDevicesJobs :: ListDevicesJobs -> TestTree+requestListDevicesJobs =+  req+    "ListDevicesJobs"+    "fixture/ListDevicesJobs.yaml"++requestListNodeFromTemplateJobs :: ListNodeFromTemplateJobs -> TestTree+requestListNodeFromTemplateJobs =+  req+    "ListNodeFromTemplateJobs"+    "fixture/ListNodeFromTemplateJobs.yaml"++requestListNodes :: ListNodes -> TestTree+requestListNodes =+  req+    "ListNodes"+    "fixture/ListNodes.yaml"++requestListPackageImportJobs :: ListPackageImportJobs -> TestTree+requestListPackageImportJobs =+  req+    "ListPackageImportJobs"+    "fixture/ListPackageImportJobs.yaml"++requestListPackages :: ListPackages -> TestTree+requestListPackages =+  req+    "ListPackages"+    "fixture/ListPackages.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestProvisionDevice :: ProvisionDevice -> TestTree+requestProvisionDevice =+  req+    "ProvisionDevice"+    "fixture/ProvisionDevice.yaml"++requestRegisterPackageVersion :: RegisterPackageVersion -> TestTree+requestRegisterPackageVersion =+  req+    "RegisterPackageVersion"+    "fixture/RegisterPackageVersion.yaml"++requestRemoveApplicationInstance :: RemoveApplicationInstance -> TestTree+requestRemoveApplicationInstance =+  req+    "RemoveApplicationInstance"+    "fixture/RemoveApplicationInstance.yaml"++requestSignalApplicationInstanceNodeInstances :: SignalApplicationInstanceNodeInstances -> TestTree+requestSignalApplicationInstanceNodeInstances =+  req+    "SignalApplicationInstanceNodeInstances"+    "fixture/SignalApplicationInstanceNodeInstances.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateDeviceMetadata :: UpdateDeviceMetadata -> TestTree+requestUpdateDeviceMetadata =+  req+    "UpdateDeviceMetadata"+    "fixture/UpdateDeviceMetadata.yaml"++-- Responses++responseCreateApplicationInstance :: CreateApplicationInstanceResponse -> TestTree+responseCreateApplicationInstance =+  res+    "CreateApplicationInstanceResponse"+    "fixture/CreateApplicationInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateApplicationInstance)++responseCreateJobForDevices :: CreateJobForDevicesResponse -> TestTree+responseCreateJobForDevices =+  res+    "CreateJobForDevicesResponse"+    "fixture/CreateJobForDevicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateJobForDevices)++responseCreateNodeFromTemplateJob :: CreateNodeFromTemplateJobResponse -> TestTree+responseCreateNodeFromTemplateJob =+  res+    "CreateNodeFromTemplateJobResponse"+    "fixture/CreateNodeFromTemplateJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNodeFromTemplateJob)++responseCreatePackage :: CreatePackageResponse -> TestTree+responseCreatePackage =+  res+    "CreatePackageResponse"+    "fixture/CreatePackageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePackage)++responseCreatePackageImportJob :: CreatePackageImportJobResponse -> TestTree+responseCreatePackageImportJob =+  res+    "CreatePackageImportJobResponse"+    "fixture/CreatePackageImportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreatePackageImportJob)++responseDeleteDevice :: DeleteDeviceResponse -> TestTree+responseDeleteDevice =+  res+    "DeleteDeviceResponse"+    "fixture/DeleteDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDevice)++responseDeletePackage :: DeletePackageResponse -> TestTree+responseDeletePackage =+  res+    "DeletePackageResponse"+    "fixture/DeletePackageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePackage)++responseDeregisterPackageVersion :: DeregisterPackageVersionResponse -> TestTree+responseDeregisterPackageVersion =+  res+    "DeregisterPackageVersionResponse"+    "fixture/DeregisterPackageVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeregisterPackageVersion)++responseDescribeApplicationInstance :: DescribeApplicationInstanceResponse -> TestTree+responseDescribeApplicationInstance =+  res+    "DescribeApplicationInstanceResponse"+    "fixture/DescribeApplicationInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeApplicationInstance)++responseDescribeApplicationInstanceDetails :: DescribeApplicationInstanceDetailsResponse -> TestTree+responseDescribeApplicationInstanceDetails =+  res+    "DescribeApplicationInstanceDetailsResponse"+    "fixture/DescribeApplicationInstanceDetailsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeApplicationInstanceDetails)++responseDescribeDevice :: DescribeDeviceResponse -> TestTree+responseDescribeDevice =+  res+    "DescribeDeviceResponse"+    "fixture/DescribeDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDevice)++responseDescribeDeviceJob :: DescribeDeviceJobResponse -> TestTree+responseDescribeDeviceJob =+  res+    "DescribeDeviceJobResponse"+    "fixture/DescribeDeviceJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeDeviceJob)++responseDescribeNode :: DescribeNodeResponse -> TestTree+responseDescribeNode =+  res+    "DescribeNodeResponse"+    "fixture/DescribeNodeResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeNode)++responseDescribeNodeFromTemplateJob :: DescribeNodeFromTemplateJobResponse -> TestTree+responseDescribeNodeFromTemplateJob =+  res+    "DescribeNodeFromTemplateJobResponse"+    "fixture/DescribeNodeFromTemplateJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeNodeFromTemplateJob)++responseDescribePackage :: DescribePackageResponse -> TestTree+responseDescribePackage =+  res+    "DescribePackageResponse"+    "fixture/DescribePackageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePackage)++responseDescribePackageImportJob :: DescribePackageImportJobResponse -> TestTree+responseDescribePackageImportJob =+  res+    "DescribePackageImportJobResponse"+    "fixture/DescribePackageImportJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePackageImportJob)++responseDescribePackageVersion :: DescribePackageVersionResponse -> TestTree+responseDescribePackageVersion =+  res+    "DescribePackageVersionResponse"+    "fixture/DescribePackageVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribePackageVersion)++responseListApplicationInstanceDependencies :: ListApplicationInstanceDependenciesResponse -> TestTree+responseListApplicationInstanceDependencies =+  res+    "ListApplicationInstanceDependenciesResponse"+    "fixture/ListApplicationInstanceDependenciesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplicationInstanceDependencies)++responseListApplicationInstanceNodeInstances :: ListApplicationInstanceNodeInstancesResponse -> TestTree+responseListApplicationInstanceNodeInstances =+  res+    "ListApplicationInstanceNodeInstancesResponse"+    "fixture/ListApplicationInstanceNodeInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplicationInstanceNodeInstances)++responseListApplicationInstances :: ListApplicationInstancesResponse -> TestTree+responseListApplicationInstances =+  res+    "ListApplicationInstancesResponse"+    "fixture/ListApplicationInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplicationInstances)++responseListDevices :: ListDevicesResponse -> TestTree+responseListDevices =+  res+    "ListDevicesResponse"+    "fixture/ListDevicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDevices)++responseListDevicesJobs :: ListDevicesJobsResponse -> TestTree+responseListDevicesJobs =+  res+    "ListDevicesJobsResponse"+    "fixture/ListDevicesJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDevicesJobs)++responseListNodeFromTemplateJobs :: ListNodeFromTemplateJobsResponse -> TestTree+responseListNodeFromTemplateJobs =+  res+    "ListNodeFromTemplateJobsResponse"+    "fixture/ListNodeFromTemplateJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNodeFromTemplateJobs)++responseListNodes :: ListNodesResponse -> TestTree+responseListNodes =+  res+    "ListNodesResponse"+    "fixture/ListNodesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNodes)++responseListPackageImportJobs :: ListPackageImportJobsResponse -> TestTree+responseListPackageImportJobs =+  res+    "ListPackageImportJobsResponse"+    "fixture/ListPackageImportJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackageImportJobs)++responseListPackages :: ListPackagesResponse -> TestTree+responseListPackages =+  res+    "ListPackagesResponse"+    "fixture/ListPackagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPackages)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseProvisionDevice :: ProvisionDeviceResponse -> TestTree+responseProvisionDevice =+  res+    "ProvisionDeviceResponse"+    "fixture/ProvisionDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ProvisionDevice)++responseRegisterPackageVersion :: RegisterPackageVersionResponse -> TestTree+responseRegisterPackageVersion =+  res+    "RegisterPackageVersionResponse"+    "fixture/RegisterPackageVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegisterPackageVersion)++responseRemoveApplicationInstance :: RemoveApplicationInstanceResponse -> TestTree+responseRemoveApplicationInstance =+  res+    "RemoveApplicationInstanceResponse"+    "fixture/RemoveApplicationInstanceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RemoveApplicationInstance)++responseSignalApplicationInstanceNodeInstances :: SignalApplicationInstanceNodeInstancesResponse -> TestTree+responseSignalApplicationInstanceNodeInstances =+  res+    "SignalApplicationInstanceNodeInstancesResponse"+    "fixture/SignalApplicationInstanceNodeInstancesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SignalApplicationInstanceNodeInstances)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDeviceMetadata :: UpdateDeviceMetadataResponse -> TestTree+responseUpdateDeviceMetadata =+  res+    "UpdateDeviceMetadataResponse"+    "fixture/UpdateDeviceMetadataResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDeviceMetadata)
+ test/Test/Amazonka/Panorama.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Panorama+-- Copyright   : (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.Panorama+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Panorama/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Panorama.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.Panorama.Internal where