packages feed

amazonka-privatenetworks (empty) → 2.0

raw patch · 114 files changed

+10406/−0 lines, 114 filesdep +amazonka-coredep +amazonka-privatenetworksdep +amazonka-test

Dependencies added: amazonka-core, amazonka-privatenetworks, 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 Private 5G SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-12-03@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-privatenetworks)+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.PrivateNetworks](http://hackage.haskell.org/package/amazonka-privatenetworks/docs/Amazonka-PrivateNetworks.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-privatenetworks` 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-privatenetworks.cabal view
@@ -0,0 +1,135 @@+cabal-version:      2.2+name:               amazonka-privatenetworks+version:            2.0+synopsis:           Amazon Private 5G SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2021-12-03@ 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.PrivateNetworks.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.PrivateNetworks" 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-privatenetworks++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.PrivateNetworks+    Amazonka.PrivateNetworks.AcknowledgeOrderReceipt+    Amazonka.PrivateNetworks.ActivateDeviceIdentifier+    Amazonka.PrivateNetworks.ActivateNetworkSite+    Amazonka.PrivateNetworks.ConfigureAccessPoint+    Amazonka.PrivateNetworks.CreateNetwork+    Amazonka.PrivateNetworks.CreateNetworkSite+    Amazonka.PrivateNetworks.DeactivateDeviceIdentifier+    Amazonka.PrivateNetworks.DeleteNetwork+    Amazonka.PrivateNetworks.DeleteNetworkSite+    Amazonka.PrivateNetworks.GetDeviceIdentifier+    Amazonka.PrivateNetworks.GetNetwork+    Amazonka.PrivateNetworks.GetNetworkResource+    Amazonka.PrivateNetworks.GetNetworkSite+    Amazonka.PrivateNetworks.GetOrder+    Amazonka.PrivateNetworks.Lens+    Amazonka.PrivateNetworks.ListDeviceIdentifiers+    Amazonka.PrivateNetworks.ListNetworkResources+    Amazonka.PrivateNetworks.ListNetworks+    Amazonka.PrivateNetworks.ListNetworkSites+    Amazonka.PrivateNetworks.ListOrders+    Amazonka.PrivateNetworks.ListTagsForResource+    Amazonka.PrivateNetworks.Ping+    Amazonka.PrivateNetworks.TagResource+    Amazonka.PrivateNetworks.Types+    Amazonka.PrivateNetworks.Types.AcknowledgmentStatus+    Amazonka.PrivateNetworks.Types.Address+    Amazonka.PrivateNetworks.Types.DeviceIdentifier+    Amazonka.PrivateNetworks.Types.DeviceIdentifierFilterKeys+    Amazonka.PrivateNetworks.Types.DeviceIdentifierStatus+    Amazonka.PrivateNetworks.Types.ElevationReference+    Amazonka.PrivateNetworks.Types.ElevationUnit+    Amazonka.PrivateNetworks.Types.HealthStatus+    Amazonka.PrivateNetworks.Types.NameValuePair+    Amazonka.PrivateNetworks.Types.Network+    Amazonka.PrivateNetworks.Types.NetworkFilterKeys+    Amazonka.PrivateNetworks.Types.NetworkResource+    Amazonka.PrivateNetworks.Types.NetworkResourceDefinition+    Amazonka.PrivateNetworks.Types.NetworkResourceDefinitionType+    Amazonka.PrivateNetworks.Types.NetworkResourceFilterKeys+    Amazonka.PrivateNetworks.Types.NetworkResourceStatus+    Amazonka.PrivateNetworks.Types.NetworkResourceType+    Amazonka.PrivateNetworks.Types.NetworkSite+    Amazonka.PrivateNetworks.Types.NetworkSiteFilterKeys+    Amazonka.PrivateNetworks.Types.NetworkSiteStatus+    Amazonka.PrivateNetworks.Types.NetworkStatus+    Amazonka.PrivateNetworks.Types.Order+    Amazonka.PrivateNetworks.Types.OrderFilterKeys+    Amazonka.PrivateNetworks.Types.Position+    Amazonka.PrivateNetworks.Types.SitePlan+    Amazonka.PrivateNetworks.Types.TrackingInformation+    Amazonka.PrivateNetworks.Types.UpdateNetworkSiteResponse+    Amazonka.PrivateNetworks.UntagResource+    Amazonka.PrivateNetworks.UpdateNetworkSite+    Amazonka.PrivateNetworks.UpdateNetworkSitePlan+    Amazonka.PrivateNetworks.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-privatenetworks-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.PrivateNetworks+    Test.Amazonka.PrivateNetworks+    Test.Amazonka.PrivateNetworks.Internal++  build-depends:+    , amazonka-core             >=2.0 && <2.1+    , amazonka-privatenetworks+    , amazonka-test             >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AcknowledgeOrderReceipt.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/AcknowledgeOrderReceiptResponse.proto view
+ fixture/ActivateDeviceIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ActivateDeviceIdentifierResponse.proto view
+ fixture/ActivateNetworkSite.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ActivateNetworkSiteResponse.proto view
+ fixture/ConfigureAccessPoint.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ConfigureAccessPointResponse.proto view
+ fixture/CreateNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateNetworkResponse.proto view
+ fixture/CreateNetworkSite.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateNetworkSiteResponse.proto view
+ fixture/DeactivateDeviceIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeactivateDeviceIdentifierResponse.proto view
+ fixture/DeleteNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteNetworkResponse.proto view
+ fixture/DeleteNetworkSite.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteNetworkSiteResponse.proto view
+ fixture/GetDeviceIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetDeviceIdentifierResponse.proto view
+ fixture/GetNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetNetworkResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetNetworkResourceResponse.proto view
+ fixture/GetNetworkResponse.proto view
+ fixture/GetNetworkSite.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetNetworkSiteResponse.proto view
+ fixture/GetOrder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetOrderResponse.proto view
+ fixture/ListDeviceIdentifiers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListDeviceIdentifiersResponse.proto view
+ fixture/ListNetworkResources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListNetworkResourcesResponse.proto view
+ fixture/ListNetworkSites.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListNetworkSitesResponse.proto view
+ fixture/ListNetworks.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListNetworksResponse.proto view
+ fixture/ListOrders.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListOrdersResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-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/Ping.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PingResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-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/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-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/UpdateNetworkSite.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateNetworkSitePlan.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/private-networks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  private-networks.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateNetworkSitePlanResponse.proto view
+ fixture/UpdateNetworkSiteResponse.proto view
+ gen/Amazonka/PrivateNetworks.hs view
@@ -0,0 +1,351 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.PrivateNetworks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-12-03@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services Private 5G is a managed service that makes it easy+-- to deploy, operate, and scale your own private mobile network at your+-- on-premises location. Private 5G provides the pre-configured hardware+-- and software for mobile networks, helps automate setup, and scales+-- capacity on demand to support additional devices as needed.+module Amazonka.PrivateNetworks+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** LimitExceededException+    _LimitExceededException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AcknowledgeOrderReceipt+    AcknowledgeOrderReceipt (AcknowledgeOrderReceipt'),+    newAcknowledgeOrderReceipt,+    AcknowledgeOrderReceiptResponse (AcknowledgeOrderReceiptResponse'),+    newAcknowledgeOrderReceiptResponse,++    -- ** ActivateDeviceIdentifier+    ActivateDeviceIdentifier (ActivateDeviceIdentifier'),+    newActivateDeviceIdentifier,+    ActivateDeviceIdentifierResponse (ActivateDeviceIdentifierResponse'),+    newActivateDeviceIdentifierResponse,++    -- ** ActivateNetworkSite+    ActivateNetworkSite (ActivateNetworkSite'),+    newActivateNetworkSite,+    ActivateNetworkSiteResponse (ActivateNetworkSiteResponse'),+    newActivateNetworkSiteResponse,++    -- ** ConfigureAccessPoint+    ConfigureAccessPoint (ConfigureAccessPoint'),+    newConfigureAccessPoint,+    ConfigureAccessPointResponse (ConfigureAccessPointResponse'),+    newConfigureAccessPointResponse,++    -- ** CreateNetwork+    CreateNetwork (CreateNetwork'),+    newCreateNetwork,+    CreateNetworkResponse (CreateNetworkResponse'),+    newCreateNetworkResponse,++    -- ** CreateNetworkSite+    CreateNetworkSite (CreateNetworkSite'),+    newCreateNetworkSite,+    CreateNetworkSiteResponse (CreateNetworkSiteResponse'),+    newCreateNetworkSiteResponse,++    -- ** DeactivateDeviceIdentifier+    DeactivateDeviceIdentifier (DeactivateDeviceIdentifier'),+    newDeactivateDeviceIdentifier,+    DeactivateDeviceIdentifierResponse (DeactivateDeviceIdentifierResponse'),+    newDeactivateDeviceIdentifierResponse,++    -- ** DeleteNetwork+    DeleteNetwork (DeleteNetwork'),+    newDeleteNetwork,+    DeleteNetworkResponse (DeleteNetworkResponse'),+    newDeleteNetworkResponse,++    -- ** DeleteNetworkSite+    DeleteNetworkSite (DeleteNetworkSite'),+    newDeleteNetworkSite,+    DeleteNetworkSiteResponse (DeleteNetworkSiteResponse'),+    newDeleteNetworkSiteResponse,++    -- ** GetDeviceIdentifier+    GetDeviceIdentifier (GetDeviceIdentifier'),+    newGetDeviceIdentifier,+    GetDeviceIdentifierResponse (GetDeviceIdentifierResponse'),+    newGetDeviceIdentifierResponse,++    -- ** GetNetwork+    GetNetwork (GetNetwork'),+    newGetNetwork,+    GetNetworkResponse (GetNetworkResponse'),+    newGetNetworkResponse,++    -- ** GetNetworkResource+    GetNetworkResource (GetNetworkResource'),+    newGetNetworkResource,+    GetNetworkResourceResponse (GetNetworkResourceResponse'),+    newGetNetworkResourceResponse,++    -- ** GetNetworkSite+    GetNetworkSite (GetNetworkSite'),+    newGetNetworkSite,+    GetNetworkSiteResponse (GetNetworkSiteResponse'),+    newGetNetworkSiteResponse,++    -- ** GetOrder+    GetOrder (GetOrder'),+    newGetOrder,+    GetOrderResponse (GetOrderResponse'),+    newGetOrderResponse,++    -- ** ListDeviceIdentifiers (Paginated)+    ListDeviceIdentifiers (ListDeviceIdentifiers'),+    newListDeviceIdentifiers,+    ListDeviceIdentifiersResponse (ListDeviceIdentifiersResponse'),+    newListDeviceIdentifiersResponse,++    -- ** ListNetworkResources (Paginated)+    ListNetworkResources (ListNetworkResources'),+    newListNetworkResources,+    ListNetworkResourcesResponse (ListNetworkResourcesResponse'),+    newListNetworkResourcesResponse,++    -- ** ListNetworkSites (Paginated)+    ListNetworkSites (ListNetworkSites'),+    newListNetworkSites,+    ListNetworkSitesResponse (ListNetworkSitesResponse'),+    newListNetworkSitesResponse,++    -- ** ListNetworks (Paginated)+    ListNetworks (ListNetworks'),+    newListNetworks,+    ListNetworksResponse (ListNetworksResponse'),+    newListNetworksResponse,++    -- ** ListOrders (Paginated)+    ListOrders (ListOrders'),+    newListOrders,+    ListOrdersResponse (ListOrdersResponse'),+    newListOrdersResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** Ping+    Ping (Ping'),+    newPing,+    PingResponse (PingResponse'),+    newPingResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateNetworkSite+    UpdateNetworkSite (UpdateNetworkSite'),+    newUpdateNetworkSite,+    UpdateNetworkSiteResponse (UpdateNetworkSiteResponse'),+    newUpdateNetworkSiteResponse,++    -- ** UpdateNetworkSitePlan+    UpdateNetworkSitePlan (UpdateNetworkSitePlan'),+    newUpdateNetworkSitePlan,+    UpdateNetworkSiteResponse (UpdateNetworkSiteResponse'),+    newUpdateNetworkSiteResponse,++    -- * Types++    -- ** AcknowledgmentStatus+    AcknowledgmentStatus (..),++    -- ** DeviceIdentifierFilterKeys+    DeviceIdentifierFilterKeys (..),++    -- ** DeviceIdentifierStatus+    DeviceIdentifierStatus (..),++    -- ** ElevationReference+    ElevationReference (..),++    -- ** ElevationUnit+    ElevationUnit (..),++    -- ** HealthStatus+    HealthStatus (..),++    -- ** NetworkFilterKeys+    NetworkFilterKeys (..),++    -- ** NetworkResourceDefinitionType+    NetworkResourceDefinitionType (..),++    -- ** NetworkResourceFilterKeys+    NetworkResourceFilterKeys (..),++    -- ** NetworkResourceStatus+    NetworkResourceStatus (..),++    -- ** NetworkResourceType+    NetworkResourceType (..),++    -- ** NetworkSiteFilterKeys+    NetworkSiteFilterKeys (..),++    -- ** NetworkSiteStatus+    NetworkSiteStatus (..),++    -- ** NetworkStatus+    NetworkStatus (..),++    -- ** OrderFilterKeys+    OrderFilterKeys (..),++    -- ** Address+    Address (Address'),+    newAddress,++    -- ** DeviceIdentifier+    DeviceIdentifier (DeviceIdentifier'),+    newDeviceIdentifier,++    -- ** NameValuePair+    NameValuePair (NameValuePair'),+    newNameValuePair,++    -- ** Network+    Network (Network'),+    newNetwork,++    -- ** NetworkResource+    NetworkResource (NetworkResource'),+    newNetworkResource,++    -- ** NetworkResourceDefinition+    NetworkResourceDefinition (NetworkResourceDefinition'),+    newNetworkResourceDefinition,++    -- ** NetworkSite+    NetworkSite (NetworkSite'),+    newNetworkSite,++    -- ** Order+    Order (Order'),+    newOrder,++    -- ** Position+    Position (Position'),+    newPosition,++    -- ** SitePlan+    SitePlan (SitePlan'),+    newSitePlan,++    -- ** TrackingInformation+    TrackingInformation (TrackingInformation'),+    newTrackingInformation,++    -- ** UpdateNetworkSiteResponse+    UpdateNetworkSiteResponse (UpdateNetworkSiteResponse'),+    newUpdateNetworkSiteResponse,+  )+where++import Amazonka.PrivateNetworks.AcknowledgeOrderReceipt+import Amazonka.PrivateNetworks.ActivateDeviceIdentifier+import Amazonka.PrivateNetworks.ActivateNetworkSite+import Amazonka.PrivateNetworks.ConfigureAccessPoint+import Amazonka.PrivateNetworks.CreateNetwork+import Amazonka.PrivateNetworks.CreateNetworkSite+import Amazonka.PrivateNetworks.DeactivateDeviceIdentifier+import Amazonka.PrivateNetworks.DeleteNetwork+import Amazonka.PrivateNetworks.DeleteNetworkSite+import Amazonka.PrivateNetworks.GetDeviceIdentifier+import Amazonka.PrivateNetworks.GetNetwork+import Amazonka.PrivateNetworks.GetNetworkResource+import Amazonka.PrivateNetworks.GetNetworkSite+import Amazonka.PrivateNetworks.GetOrder+import Amazonka.PrivateNetworks.Lens+import Amazonka.PrivateNetworks.ListDeviceIdentifiers+import Amazonka.PrivateNetworks.ListNetworkResources+import Amazonka.PrivateNetworks.ListNetworkSites+import Amazonka.PrivateNetworks.ListNetworks+import Amazonka.PrivateNetworks.ListOrders+import Amazonka.PrivateNetworks.ListTagsForResource+import Amazonka.PrivateNetworks.Ping+import Amazonka.PrivateNetworks.TagResource+import Amazonka.PrivateNetworks.Types+import Amazonka.PrivateNetworks.UntagResource+import Amazonka.PrivateNetworks.UpdateNetworkSite+import Amazonka.PrivateNetworks.UpdateNetworkSitePlan+import Amazonka.PrivateNetworks.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 'PrivateNetworks'.++-- $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/PrivateNetworks/AcknowledgeOrderReceipt.hs view
@@ -0,0 +1,172 @@+{-# 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.PrivateNetworks.AcknowledgeOrderReceipt+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Acknowledges that the specified network order was received.+module Amazonka.PrivateNetworks.AcknowledgeOrderReceipt+  ( -- * Creating a Request+    AcknowledgeOrderReceipt (..),+    newAcknowledgeOrderReceipt,++    -- * Request Lenses+    acknowledgeOrderReceipt_orderArn,++    -- * Destructuring the Response+    AcknowledgeOrderReceiptResponse (..),+    newAcknowledgeOrderReceiptResponse,++    -- * Response Lenses+    acknowledgeOrderReceiptResponse_httpStatus,+    acknowledgeOrderReceiptResponse_order,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAcknowledgeOrderReceipt' smart constructor.+data AcknowledgeOrderReceipt = AcknowledgeOrderReceipt'+  { -- | The Amazon Resource Name (ARN) of the order.+    orderArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcknowledgeOrderReceipt' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'orderArn', 'acknowledgeOrderReceipt_orderArn' - The Amazon Resource Name (ARN) of the order.+newAcknowledgeOrderReceipt ::+  -- | 'orderArn'+  Prelude.Text ->+  AcknowledgeOrderReceipt+newAcknowledgeOrderReceipt pOrderArn_ =+  AcknowledgeOrderReceipt' {orderArn = pOrderArn_}++-- | The Amazon Resource Name (ARN) of the order.+acknowledgeOrderReceipt_orderArn :: Lens.Lens' AcknowledgeOrderReceipt Prelude.Text+acknowledgeOrderReceipt_orderArn = Lens.lens (\AcknowledgeOrderReceipt' {orderArn} -> orderArn) (\s@AcknowledgeOrderReceipt' {} a -> s {orderArn = a} :: AcknowledgeOrderReceipt)++instance Core.AWSRequest AcknowledgeOrderReceipt where+  type+    AWSResponse AcknowledgeOrderReceipt =+      AcknowledgeOrderReceiptResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AcknowledgeOrderReceiptResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "order")+      )++instance Prelude.Hashable AcknowledgeOrderReceipt where+  hashWithSalt _salt AcknowledgeOrderReceipt' {..} =+    _salt `Prelude.hashWithSalt` orderArn++instance Prelude.NFData AcknowledgeOrderReceipt where+  rnf AcknowledgeOrderReceipt' {..} =+    Prelude.rnf orderArn++instance Data.ToHeaders AcknowledgeOrderReceipt where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AcknowledgeOrderReceipt where+  toJSON AcknowledgeOrderReceipt' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("orderArn" Data..= orderArn)]+      )++instance Data.ToPath AcknowledgeOrderReceipt where+  toPath = Prelude.const "/v1/orders/acknowledge"++instance Data.ToQuery AcknowledgeOrderReceipt where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAcknowledgeOrderReceiptResponse' smart constructor.+data AcknowledgeOrderReceiptResponse = AcknowledgeOrderReceiptResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the order.+    order :: Order+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcknowledgeOrderReceiptResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'acknowledgeOrderReceiptResponse_httpStatus' - The response's http status code.+--+-- 'order', 'acknowledgeOrderReceiptResponse_order' - Information about the order.+newAcknowledgeOrderReceiptResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'order'+  Order ->+  AcknowledgeOrderReceiptResponse+newAcknowledgeOrderReceiptResponse+  pHttpStatus_+  pOrder_ =+    AcknowledgeOrderReceiptResponse'+      { httpStatus =+          pHttpStatus_,+        order = pOrder_+      }++-- | The response's http status code.+acknowledgeOrderReceiptResponse_httpStatus :: Lens.Lens' AcknowledgeOrderReceiptResponse Prelude.Int+acknowledgeOrderReceiptResponse_httpStatus = Lens.lens (\AcknowledgeOrderReceiptResponse' {httpStatus} -> httpStatus) (\s@AcknowledgeOrderReceiptResponse' {} a -> s {httpStatus = a} :: AcknowledgeOrderReceiptResponse)++-- | Information about the order.+acknowledgeOrderReceiptResponse_order :: Lens.Lens' AcknowledgeOrderReceiptResponse Order+acknowledgeOrderReceiptResponse_order = Lens.lens (\AcknowledgeOrderReceiptResponse' {order} -> order) (\s@AcknowledgeOrderReceiptResponse' {} a -> s {order = a} :: AcknowledgeOrderReceiptResponse)++instance+  Prelude.NFData+    AcknowledgeOrderReceiptResponse+  where+  rnf AcknowledgeOrderReceiptResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf order
+ gen/Amazonka/PrivateNetworks/ActivateDeviceIdentifier.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ActivateDeviceIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Activates the specified device identifier.+module Amazonka.PrivateNetworks.ActivateDeviceIdentifier+  ( -- * Creating a Request+    ActivateDeviceIdentifier (..),+    newActivateDeviceIdentifier,++    -- * Request Lenses+    activateDeviceIdentifier_clientToken,+    activateDeviceIdentifier_deviceIdentifierArn,++    -- * Destructuring the Response+    ActivateDeviceIdentifierResponse (..),+    newActivateDeviceIdentifierResponse,++    -- * Response Lenses+    activateDeviceIdentifierResponse_tags,+    activateDeviceIdentifierResponse_httpStatus,+    activateDeviceIdentifierResponse_deviceIdentifier,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newActivateDeviceIdentifier' smart constructor.+data ActivateDeviceIdentifier = ActivateDeviceIdentifier'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the device identifier.+    deviceIdentifierArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateDeviceIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'activateDeviceIdentifier_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'deviceIdentifierArn', 'activateDeviceIdentifier_deviceIdentifierArn' - The Amazon Resource Name (ARN) of the device identifier.+newActivateDeviceIdentifier ::+  -- | 'deviceIdentifierArn'+  Prelude.Text ->+  ActivateDeviceIdentifier+newActivateDeviceIdentifier pDeviceIdentifierArn_ =+  ActivateDeviceIdentifier'+    { clientToken =+        Prelude.Nothing,+      deviceIdentifierArn = pDeviceIdentifierArn_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+activateDeviceIdentifier_clientToken :: Lens.Lens' ActivateDeviceIdentifier (Prelude.Maybe Prelude.Text)+activateDeviceIdentifier_clientToken = Lens.lens (\ActivateDeviceIdentifier' {clientToken} -> clientToken) (\s@ActivateDeviceIdentifier' {} a -> s {clientToken = a} :: ActivateDeviceIdentifier)++-- | The Amazon Resource Name (ARN) of the device identifier.+activateDeviceIdentifier_deviceIdentifierArn :: Lens.Lens' ActivateDeviceIdentifier Prelude.Text+activateDeviceIdentifier_deviceIdentifierArn = Lens.lens (\ActivateDeviceIdentifier' {deviceIdentifierArn} -> deviceIdentifierArn) (\s@ActivateDeviceIdentifier' {} a -> s {deviceIdentifierArn = a} :: ActivateDeviceIdentifier)++instance Core.AWSRequest ActivateDeviceIdentifier where+  type+    AWSResponse ActivateDeviceIdentifier =+      ActivateDeviceIdentifierResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ActivateDeviceIdentifierResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "deviceIdentifier")+      )++instance Prelude.Hashable ActivateDeviceIdentifier where+  hashWithSalt _salt ActivateDeviceIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` deviceIdentifierArn++instance Prelude.NFData ActivateDeviceIdentifier where+  rnf ActivateDeviceIdentifier' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf deviceIdentifierArn++instance Data.ToHeaders ActivateDeviceIdentifier where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ActivateDeviceIdentifier where+  toJSON ActivateDeviceIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just+              ("deviceIdentifierArn" Data..= deviceIdentifierArn)+          ]+      )++instance Data.ToPath ActivateDeviceIdentifier where+  toPath =+    Prelude.const "/v1/device-identifiers/activate"++instance Data.ToQuery ActivateDeviceIdentifier where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newActivateDeviceIdentifierResponse' smart constructor.+data ActivateDeviceIdentifierResponse = ActivateDeviceIdentifierResponse'+  { -- | The tags on the device identifier.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the device identifier.+    deviceIdentifier :: DeviceIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateDeviceIdentifierResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'activateDeviceIdentifierResponse_tags' - The tags on the device identifier.+--+-- 'httpStatus', 'activateDeviceIdentifierResponse_httpStatus' - The response's http status code.+--+-- 'deviceIdentifier', 'activateDeviceIdentifierResponse_deviceIdentifier' - Information about the device identifier.+newActivateDeviceIdentifierResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'deviceIdentifier'+  DeviceIdentifier ->+  ActivateDeviceIdentifierResponse+newActivateDeviceIdentifierResponse+  pHttpStatus_+  pDeviceIdentifier_ =+    ActivateDeviceIdentifierResponse'+      { tags =+          Prelude.Nothing,+        httpStatus = pHttpStatus_,+        deviceIdentifier = pDeviceIdentifier_+      }++-- | The tags on the device identifier.+activateDeviceIdentifierResponse_tags :: Lens.Lens' ActivateDeviceIdentifierResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+activateDeviceIdentifierResponse_tags = Lens.lens (\ActivateDeviceIdentifierResponse' {tags} -> tags) (\s@ActivateDeviceIdentifierResponse' {} a -> s {tags = a} :: ActivateDeviceIdentifierResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+activateDeviceIdentifierResponse_httpStatus :: Lens.Lens' ActivateDeviceIdentifierResponse Prelude.Int+activateDeviceIdentifierResponse_httpStatus = Lens.lens (\ActivateDeviceIdentifierResponse' {httpStatus} -> httpStatus) (\s@ActivateDeviceIdentifierResponse' {} a -> s {httpStatus = a} :: ActivateDeviceIdentifierResponse)++-- | Information about the device identifier.+activateDeviceIdentifierResponse_deviceIdentifier :: Lens.Lens' ActivateDeviceIdentifierResponse DeviceIdentifier+activateDeviceIdentifierResponse_deviceIdentifier = Lens.lens (\ActivateDeviceIdentifierResponse' {deviceIdentifier} -> deviceIdentifier) (\s@ActivateDeviceIdentifierResponse' {} a -> s {deviceIdentifier = a} :: ActivateDeviceIdentifierResponse)++instance+  Prelude.NFData+    ActivateDeviceIdentifierResponse+  where+  rnf ActivateDeviceIdentifierResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf deviceIdentifier
+ gen/Amazonka/PrivateNetworks/ActivateNetworkSite.hs view
@@ -0,0 +1,207 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ActivateNetworkSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Activates the specified network site.+module Amazonka.PrivateNetworks.ActivateNetworkSite+  ( -- * Creating a Request+    ActivateNetworkSite (..),+    newActivateNetworkSite,++    -- * Request Lenses+    activateNetworkSite_clientToken,+    activateNetworkSite_networkSiteArn,+    activateNetworkSite_shippingAddress,++    -- * Destructuring the Response+    ActivateNetworkSiteResponse (..),+    newActivateNetworkSiteResponse,++    -- * Response Lenses+    activateNetworkSiteResponse_networkSite,+    activateNetworkSiteResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newActivateNetworkSite' smart constructor.+data ActivateNetworkSite = ActivateNetworkSite'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text,+    -- | The shipping address of the network site.+    shippingAddress :: Address+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateNetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'activateNetworkSite_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'networkSiteArn', 'activateNetworkSite_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+--+-- 'shippingAddress', 'activateNetworkSite_shippingAddress' - The shipping address of the network site.+newActivateNetworkSite ::+  -- | 'networkSiteArn'+  Prelude.Text ->+  -- | 'shippingAddress'+  Address ->+  ActivateNetworkSite+newActivateNetworkSite+  pNetworkSiteArn_+  pShippingAddress_ =+    ActivateNetworkSite'+      { clientToken = Prelude.Nothing,+        networkSiteArn = pNetworkSiteArn_,+        shippingAddress = pShippingAddress_+      }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+activateNetworkSite_clientToken :: Lens.Lens' ActivateNetworkSite (Prelude.Maybe Prelude.Text)+activateNetworkSite_clientToken = Lens.lens (\ActivateNetworkSite' {clientToken} -> clientToken) (\s@ActivateNetworkSite' {} a -> s {clientToken = a} :: ActivateNetworkSite)++-- | The Amazon Resource Name (ARN) of the network site.+activateNetworkSite_networkSiteArn :: Lens.Lens' ActivateNetworkSite Prelude.Text+activateNetworkSite_networkSiteArn = Lens.lens (\ActivateNetworkSite' {networkSiteArn} -> networkSiteArn) (\s@ActivateNetworkSite' {} a -> s {networkSiteArn = a} :: ActivateNetworkSite)++-- | The shipping address of the network site.+activateNetworkSite_shippingAddress :: Lens.Lens' ActivateNetworkSite Address+activateNetworkSite_shippingAddress = Lens.lens (\ActivateNetworkSite' {shippingAddress} -> shippingAddress) (\s@ActivateNetworkSite' {} a -> s {shippingAddress = a} :: ActivateNetworkSite)++instance Core.AWSRequest ActivateNetworkSite where+  type+    AWSResponse ActivateNetworkSite =+      ActivateNetworkSiteResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ActivateNetworkSiteResponse'+            Prelude.<$> (x Data..?> "networkSite")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ActivateNetworkSite where+  hashWithSalt _salt ActivateNetworkSite' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` networkSiteArn+      `Prelude.hashWithSalt` shippingAddress++instance Prelude.NFData ActivateNetworkSite where+  rnf ActivateNetworkSite' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf networkSiteArn+      `Prelude.seq` Prelude.rnf shippingAddress++instance Data.ToHeaders ActivateNetworkSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ActivateNetworkSite where+  toJSON ActivateNetworkSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just+              ("networkSiteArn" Data..= networkSiteArn),+            Prelude.Just+              ("shippingAddress" Data..= shippingAddress)+          ]+      )++instance Data.ToPath ActivateNetworkSite where+  toPath = Prelude.const "/v1/network-sites/activate"++instance Data.ToQuery ActivateNetworkSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newActivateNetworkSiteResponse' smart constructor.+data ActivateNetworkSiteResponse = ActivateNetworkSiteResponse'+  { -- | Information about the network site.+    networkSite :: Prelude.Maybe NetworkSite,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ActivateNetworkSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSite', 'activateNetworkSiteResponse_networkSite' - Information about the network site.+--+-- 'httpStatus', 'activateNetworkSiteResponse_httpStatus' - The response's http status code.+newActivateNetworkSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ActivateNetworkSiteResponse+newActivateNetworkSiteResponse pHttpStatus_ =+  ActivateNetworkSiteResponse'+    { networkSite =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the network site.+activateNetworkSiteResponse_networkSite :: Lens.Lens' ActivateNetworkSiteResponse (Prelude.Maybe NetworkSite)+activateNetworkSiteResponse_networkSite = Lens.lens (\ActivateNetworkSiteResponse' {networkSite} -> networkSite) (\s@ActivateNetworkSiteResponse' {} a -> s {networkSite = a} :: ActivateNetworkSiteResponse)++-- | The response's http status code.+activateNetworkSiteResponse_httpStatus :: Lens.Lens' ActivateNetworkSiteResponse Prelude.Int+activateNetworkSiteResponse_httpStatus = Lens.lens (\ActivateNetworkSiteResponse' {httpStatus} -> httpStatus) (\s@ActivateNetworkSiteResponse' {} a -> s {httpStatus = a} :: ActivateNetworkSiteResponse)++instance Prelude.NFData ActivateNetworkSiteResponse where+  rnf ActivateNetworkSiteResponse' {..} =+    Prelude.rnf networkSite+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/ConfigureAccessPoint.hs view
@@ -0,0 +1,257 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ConfigureAccessPoint+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Configures the specified network resource.+--+-- Use this action to specify the geographic position of the hardware. You+-- must provide Certified Professional Installer (CPI) credentials in the+-- request so that we can obtain spectrum grants. For more information, see+-- <https://docs.aws.amazon.com/private-networks/latest/userguide/radio-units.html Radio units>+-- in the /Amazon Web Services Private 5G User Guide/.+module Amazonka.PrivateNetworks.ConfigureAccessPoint+  ( -- * Creating a Request+    ConfigureAccessPoint (..),+    newConfigureAccessPoint,++    -- * Request Lenses+    configureAccessPoint_cpiSecretKey,+    configureAccessPoint_cpiUserId,+    configureAccessPoint_cpiUserPassword,+    configureAccessPoint_cpiUsername,+    configureAccessPoint_position,+    configureAccessPoint_accessPointArn,++    -- * Destructuring the Response+    ConfigureAccessPointResponse (..),+    newConfigureAccessPointResponse,++    -- * Response Lenses+    configureAccessPointResponse_httpStatus,+    configureAccessPointResponse_accessPoint,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newConfigureAccessPoint' smart constructor.+data ConfigureAccessPoint = ConfigureAccessPoint'+  { -- | A Base64 encoded string of the CPI certificate associated with the CPI+    -- user who is certifying the coordinates of the network resource.+    cpiSecretKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The CPI user ID of the CPI user who is certifying the coordinates of the+    -- network resource.+    cpiUserId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The CPI password associated with the CPI certificate in @cpiSecretKey@.+    cpiUserPassword :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The CPI user name of the CPI user who is certifying the coordinates of+    -- the radio unit.+    cpiUsername :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The position of the network resource.+    position :: Prelude.Maybe Position,+    -- | The Amazon Resource Name (ARN) of the network resource.+    accessPointArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigureAccessPoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cpiSecretKey', 'configureAccessPoint_cpiSecretKey' - A Base64 encoded string of the CPI certificate associated with the CPI+-- user who is certifying the coordinates of the network resource.+--+-- 'cpiUserId', 'configureAccessPoint_cpiUserId' - The CPI user ID of the CPI user who is certifying the coordinates of the+-- network resource.+--+-- 'cpiUserPassword', 'configureAccessPoint_cpiUserPassword' - The CPI password associated with the CPI certificate in @cpiSecretKey@.+--+-- 'cpiUsername', 'configureAccessPoint_cpiUsername' - The CPI user name of the CPI user who is certifying the coordinates of+-- the radio unit.+--+-- 'position', 'configureAccessPoint_position' - The position of the network resource.+--+-- 'accessPointArn', 'configureAccessPoint_accessPointArn' - The Amazon Resource Name (ARN) of the network resource.+newConfigureAccessPoint ::+  -- | 'accessPointArn'+  Prelude.Text ->+  ConfigureAccessPoint+newConfigureAccessPoint pAccessPointArn_ =+  ConfigureAccessPoint'+    { cpiSecretKey =+        Prelude.Nothing,+      cpiUserId = Prelude.Nothing,+      cpiUserPassword = Prelude.Nothing,+      cpiUsername = Prelude.Nothing,+      position = Prelude.Nothing,+      accessPointArn = pAccessPointArn_+    }++-- | A Base64 encoded string of the CPI certificate associated with the CPI+-- user who is certifying the coordinates of the network resource.+configureAccessPoint_cpiSecretKey :: Lens.Lens' ConfigureAccessPoint (Prelude.Maybe Prelude.Text)+configureAccessPoint_cpiSecretKey = Lens.lens (\ConfigureAccessPoint' {cpiSecretKey} -> cpiSecretKey) (\s@ConfigureAccessPoint' {} a -> s {cpiSecretKey = a} :: ConfigureAccessPoint) Prelude.. Lens.mapping Data._Sensitive++-- | The CPI user ID of the CPI user who is certifying the coordinates of the+-- network resource.+configureAccessPoint_cpiUserId :: Lens.Lens' ConfigureAccessPoint (Prelude.Maybe Prelude.Text)+configureAccessPoint_cpiUserId = Lens.lens (\ConfigureAccessPoint' {cpiUserId} -> cpiUserId) (\s@ConfigureAccessPoint' {} a -> s {cpiUserId = a} :: ConfigureAccessPoint) Prelude.. Lens.mapping Data._Sensitive++-- | The CPI password associated with the CPI certificate in @cpiSecretKey@.+configureAccessPoint_cpiUserPassword :: Lens.Lens' ConfigureAccessPoint (Prelude.Maybe Prelude.Text)+configureAccessPoint_cpiUserPassword = Lens.lens (\ConfigureAccessPoint' {cpiUserPassword} -> cpiUserPassword) (\s@ConfigureAccessPoint' {} a -> s {cpiUserPassword = a} :: ConfigureAccessPoint) Prelude.. Lens.mapping Data._Sensitive++-- | The CPI user name of the CPI user who is certifying the coordinates of+-- the radio unit.+configureAccessPoint_cpiUsername :: Lens.Lens' ConfigureAccessPoint (Prelude.Maybe Prelude.Text)+configureAccessPoint_cpiUsername = Lens.lens (\ConfigureAccessPoint' {cpiUsername} -> cpiUsername) (\s@ConfigureAccessPoint' {} a -> s {cpiUsername = a} :: ConfigureAccessPoint) Prelude.. Lens.mapping Data._Sensitive++-- | The position of the network resource.+configureAccessPoint_position :: Lens.Lens' ConfigureAccessPoint (Prelude.Maybe Position)+configureAccessPoint_position = Lens.lens (\ConfigureAccessPoint' {position} -> position) (\s@ConfigureAccessPoint' {} a -> s {position = a} :: ConfigureAccessPoint)++-- | The Amazon Resource Name (ARN) of the network resource.+configureAccessPoint_accessPointArn :: Lens.Lens' ConfigureAccessPoint Prelude.Text+configureAccessPoint_accessPointArn = Lens.lens (\ConfigureAccessPoint' {accessPointArn} -> accessPointArn) (\s@ConfigureAccessPoint' {} a -> s {accessPointArn = a} :: ConfigureAccessPoint)++instance Core.AWSRequest ConfigureAccessPoint where+  type+    AWSResponse ConfigureAccessPoint =+      ConfigureAccessPointResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ConfigureAccessPointResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "accessPoint")+      )++instance Prelude.Hashable ConfigureAccessPoint where+  hashWithSalt _salt ConfigureAccessPoint' {..} =+    _salt+      `Prelude.hashWithSalt` cpiSecretKey+      `Prelude.hashWithSalt` cpiUserId+      `Prelude.hashWithSalt` cpiUserPassword+      `Prelude.hashWithSalt` cpiUsername+      `Prelude.hashWithSalt` position+      `Prelude.hashWithSalt` accessPointArn++instance Prelude.NFData ConfigureAccessPoint where+  rnf ConfigureAccessPoint' {..} =+    Prelude.rnf cpiSecretKey+      `Prelude.seq` Prelude.rnf cpiUserId+      `Prelude.seq` Prelude.rnf cpiUserPassword+      `Prelude.seq` Prelude.rnf cpiUsername+      `Prelude.seq` Prelude.rnf position+      `Prelude.seq` Prelude.rnf accessPointArn++instance Data.ToHeaders ConfigureAccessPoint where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ConfigureAccessPoint where+  toJSON ConfigureAccessPoint' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("cpiSecretKey" Data..=) Prelude.<$> cpiSecretKey,+            ("cpiUserId" Data..=) Prelude.<$> cpiUserId,+            ("cpiUserPassword" Data..=)+              Prelude.<$> cpiUserPassword,+            ("cpiUsername" Data..=) Prelude.<$> cpiUsername,+            ("position" Data..=) Prelude.<$> position,+            Prelude.Just+              ("accessPointArn" Data..= accessPointArn)+          ]+      )++instance Data.ToPath ConfigureAccessPoint where+  toPath =+    Prelude.const "/v1/network-resources/configure"++instance Data.ToQuery ConfigureAccessPoint where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newConfigureAccessPointResponse' smart constructor.+data ConfigureAccessPointResponse = ConfigureAccessPointResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the network resource.+    accessPoint :: NetworkResource+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigureAccessPointResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'configureAccessPointResponse_httpStatus' - The response's http status code.+--+-- 'accessPoint', 'configureAccessPointResponse_accessPoint' - Information about the network resource.+newConfigureAccessPointResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'accessPoint'+  NetworkResource ->+  ConfigureAccessPointResponse+newConfigureAccessPointResponse+  pHttpStatus_+  pAccessPoint_ =+    ConfigureAccessPointResponse'+      { httpStatus =+          pHttpStatus_,+        accessPoint = pAccessPoint_+      }++-- | The response's http status code.+configureAccessPointResponse_httpStatus :: Lens.Lens' ConfigureAccessPointResponse Prelude.Int+configureAccessPointResponse_httpStatus = Lens.lens (\ConfigureAccessPointResponse' {httpStatus} -> httpStatus) (\s@ConfigureAccessPointResponse' {} a -> s {httpStatus = a} :: ConfigureAccessPointResponse)++-- | Information about the network resource.+configureAccessPointResponse_accessPoint :: Lens.Lens' ConfigureAccessPointResponse NetworkResource+configureAccessPointResponse_accessPoint = Lens.lens (\ConfigureAccessPointResponse' {accessPoint} -> accessPoint) (\s@ConfigureAccessPointResponse' {} a -> s {accessPoint = a} :: ConfigureAccessPointResponse)++instance Prelude.NFData ConfigureAccessPointResponse where+  rnf ConfigureAccessPointResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf accessPoint
+ gen/Amazonka/PrivateNetworks/CreateNetwork.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.CreateNetwork+-- 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 network.+module Amazonka.PrivateNetworks.CreateNetwork+  ( -- * Creating a Request+    CreateNetwork (..),+    newCreateNetwork,++    -- * Request Lenses+    createNetwork_clientToken,+    createNetwork_description,+    createNetwork_tags,+    createNetwork_networkName,++    -- * Destructuring the Response+    CreateNetworkResponse (..),+    newCreateNetworkResponse,++    -- * Response Lenses+    createNetworkResponse_tags,+    createNetworkResponse_httpStatus,+    createNetworkResponse_network,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNetwork' smart constructor.+data CreateNetwork = CreateNetwork'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags to apply to the network.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The name of the network. You can\'t change the name after you create the+    -- network.+    networkName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNetwork_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'description', 'createNetwork_description' - The description of the network.+--+-- 'tags', 'createNetwork_tags' - The tags to apply to the network.+--+-- 'networkName', 'createNetwork_networkName' - The name of the network. You can\'t change the name after you create the+-- network.+newCreateNetwork ::+  -- | 'networkName'+  Prelude.Text ->+  CreateNetwork+newCreateNetwork pNetworkName_ =+  CreateNetwork'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      networkName = pNetworkName_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+createNetwork_clientToken :: Lens.Lens' CreateNetwork (Prelude.Maybe Prelude.Text)+createNetwork_clientToken = Lens.lens (\CreateNetwork' {clientToken} -> clientToken) (\s@CreateNetwork' {} a -> s {clientToken = a} :: CreateNetwork)++-- | The description of the network.+createNetwork_description :: Lens.Lens' CreateNetwork (Prelude.Maybe Prelude.Text)+createNetwork_description = Lens.lens (\CreateNetwork' {description} -> description) (\s@CreateNetwork' {} a -> s {description = a} :: CreateNetwork)++-- | The tags to apply to the network.+createNetwork_tags :: Lens.Lens' CreateNetwork (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNetwork_tags = Lens.lens (\CreateNetwork' {tags} -> tags) (\s@CreateNetwork' {} a -> s {tags = a} :: CreateNetwork) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The name of the network. You can\'t change the name after you create the+-- network.+createNetwork_networkName :: Lens.Lens' CreateNetwork Prelude.Text+createNetwork_networkName = Lens.lens (\CreateNetwork' {networkName} -> networkName) (\s@CreateNetwork' {} a -> s {networkName = a} :: CreateNetwork)++instance Core.AWSRequest CreateNetwork where+  type+    AWSResponse CreateNetwork =+      CreateNetworkResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateNetworkResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "network")+      )++instance Prelude.Hashable CreateNetwork where+  hashWithSalt _salt CreateNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` networkName++instance Prelude.NFData CreateNetwork where+  rnf CreateNetwork' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf networkName++instance Data.ToHeaders CreateNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateNetwork where+  toJSON CreateNetwork' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("networkName" Data..= networkName)+          ]+      )++instance Data.ToPath CreateNetwork where+  toPath = Prelude.const "/v1/networks"++instance Data.ToQuery CreateNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNetworkResponse' smart constructor.+data CreateNetworkResponse = CreateNetworkResponse'+  { -- | The network tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the network.+    network :: Network+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createNetworkResponse_tags' - The network tags.+--+-- 'httpStatus', 'createNetworkResponse_httpStatus' - The response's http status code.+--+-- 'network', 'createNetworkResponse_network' - Information about the network.+newCreateNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'network'+  Network ->+  CreateNetworkResponse+newCreateNetworkResponse pHttpStatus_ pNetwork_ =+  CreateNetworkResponse'+    { tags = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      network = pNetwork_+    }++-- | The network tags.+createNetworkResponse_tags :: Lens.Lens' CreateNetworkResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNetworkResponse_tags = Lens.lens (\CreateNetworkResponse' {tags} -> tags) (\s@CreateNetworkResponse' {} a -> s {tags = a} :: CreateNetworkResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+createNetworkResponse_httpStatus :: Lens.Lens' CreateNetworkResponse Prelude.Int+createNetworkResponse_httpStatus = Lens.lens (\CreateNetworkResponse' {httpStatus} -> httpStatus) (\s@CreateNetworkResponse' {} a -> s {httpStatus = a} :: CreateNetworkResponse)++-- | Information about the network.+createNetworkResponse_network :: Lens.Lens' CreateNetworkResponse Network+createNetworkResponse_network = Lens.lens (\CreateNetworkResponse' {network} -> network) (\s@CreateNetworkResponse' {} a -> s {network = a} :: CreateNetworkResponse)++instance Prelude.NFData CreateNetworkResponse where+  rnf CreateNetworkResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf network
+ gen/Amazonka/PrivateNetworks/CreateNetworkSite.hs view
@@ -0,0 +1,293 @@+{-# 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.PrivateNetworks.CreateNetworkSite+-- 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 network site.+module Amazonka.PrivateNetworks.CreateNetworkSite+  ( -- * Creating a Request+    CreateNetworkSite (..),+    newCreateNetworkSite,++    -- * Request Lenses+    createNetworkSite_availabilityZone,+    createNetworkSite_availabilityZoneId,+    createNetworkSite_clientToken,+    createNetworkSite_description,+    createNetworkSite_pendingPlan,+    createNetworkSite_tags,+    createNetworkSite_networkArn,+    createNetworkSite_networkSiteName,++    -- * Destructuring the Response+    CreateNetworkSiteResponse (..),+    newCreateNetworkSiteResponse,++    -- * Response Lenses+    createNetworkSiteResponse_networkSite,+    createNetworkSiteResponse_tags,+    createNetworkSiteResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateNetworkSite' smart constructor.+data CreateNetworkSite = CreateNetworkSite'+  { -- | The Availability Zone that is the parent of this site. You can\'t change+    -- the Availability Zone after you create the site.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Availability Zone that is the parent of this site. You+    -- can\'t change the Availability Zone after you create the site.+    availabilityZoneId :: Prelude.Maybe Prelude.Text,+    -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the site.+    description :: Prelude.Maybe Prelude.Text,+    -- | Information about the pending plan for this site.+    pendingPlan :: Prelude.Maybe SitePlan,+    -- | The tags to apply to the network site.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text,+    -- | The name of the site. You can\'t change the name after you create the+    -- site.+    networkSiteName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'createNetworkSite_availabilityZone' - The Availability Zone that is the parent of this site. You can\'t change+-- the Availability Zone after you create the site.+--+-- 'availabilityZoneId', 'createNetworkSite_availabilityZoneId' - The ID of the Availability Zone that is the parent of this site. You+-- can\'t change the Availability Zone after you create the site.+--+-- 'clientToken', 'createNetworkSite_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'description', 'createNetworkSite_description' - The description of the site.+--+-- 'pendingPlan', 'createNetworkSite_pendingPlan' - Information about the pending plan for this site.+--+-- 'tags', 'createNetworkSite_tags' - The tags to apply to the network site.+--+-- 'networkArn', 'createNetworkSite_networkArn' - The Amazon Resource Name (ARN) of the network.+--+-- 'networkSiteName', 'createNetworkSite_networkSiteName' - The name of the site. You can\'t change the name after you create the+-- site.+newCreateNetworkSite ::+  -- | 'networkArn'+  Prelude.Text ->+  -- | 'networkSiteName'+  Prelude.Text ->+  CreateNetworkSite+newCreateNetworkSite pNetworkArn_ pNetworkSiteName_ =+  CreateNetworkSite'+    { availabilityZone =+        Prelude.Nothing,+      availabilityZoneId = Prelude.Nothing,+      clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      pendingPlan = Prelude.Nothing,+      tags = Prelude.Nothing,+      networkArn = pNetworkArn_,+      networkSiteName = pNetworkSiteName_+    }++-- | The Availability Zone that is the parent of this site. You can\'t change+-- the Availability Zone after you create the site.+createNetworkSite_availabilityZone :: Lens.Lens' CreateNetworkSite (Prelude.Maybe Prelude.Text)+createNetworkSite_availabilityZone = Lens.lens (\CreateNetworkSite' {availabilityZone} -> availabilityZone) (\s@CreateNetworkSite' {} a -> s {availabilityZone = a} :: CreateNetworkSite)++-- | The ID of the Availability Zone that is the parent of this site. You+-- can\'t change the Availability Zone after you create the site.+createNetworkSite_availabilityZoneId :: Lens.Lens' CreateNetworkSite (Prelude.Maybe Prelude.Text)+createNetworkSite_availabilityZoneId = Lens.lens (\CreateNetworkSite' {availabilityZoneId} -> availabilityZoneId) (\s@CreateNetworkSite' {} a -> s {availabilityZoneId = a} :: CreateNetworkSite)++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+createNetworkSite_clientToken :: Lens.Lens' CreateNetworkSite (Prelude.Maybe Prelude.Text)+createNetworkSite_clientToken = Lens.lens (\CreateNetworkSite' {clientToken} -> clientToken) (\s@CreateNetworkSite' {} a -> s {clientToken = a} :: CreateNetworkSite)++-- | The description of the site.+createNetworkSite_description :: Lens.Lens' CreateNetworkSite (Prelude.Maybe Prelude.Text)+createNetworkSite_description = Lens.lens (\CreateNetworkSite' {description} -> description) (\s@CreateNetworkSite' {} a -> s {description = a} :: CreateNetworkSite)++-- | Information about the pending plan for this site.+createNetworkSite_pendingPlan :: Lens.Lens' CreateNetworkSite (Prelude.Maybe SitePlan)+createNetworkSite_pendingPlan = Lens.lens (\CreateNetworkSite' {pendingPlan} -> pendingPlan) (\s@CreateNetworkSite' {} a -> s {pendingPlan = a} :: CreateNetworkSite)++-- | The tags to apply to the network site.+createNetworkSite_tags :: Lens.Lens' CreateNetworkSite (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNetworkSite_tags = Lens.lens (\CreateNetworkSite' {tags} -> tags) (\s@CreateNetworkSite' {} a -> s {tags = a} :: CreateNetworkSite) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The Amazon Resource Name (ARN) of the network.+createNetworkSite_networkArn :: Lens.Lens' CreateNetworkSite Prelude.Text+createNetworkSite_networkArn = Lens.lens (\CreateNetworkSite' {networkArn} -> networkArn) (\s@CreateNetworkSite' {} a -> s {networkArn = a} :: CreateNetworkSite)++-- | The name of the site. You can\'t change the name after you create the+-- site.+createNetworkSite_networkSiteName :: Lens.Lens' CreateNetworkSite Prelude.Text+createNetworkSite_networkSiteName = Lens.lens (\CreateNetworkSite' {networkSiteName} -> networkSiteName) (\s@CreateNetworkSite' {} a -> s {networkSiteName = a} :: CreateNetworkSite)++instance Core.AWSRequest CreateNetworkSite where+  type+    AWSResponse CreateNetworkSite =+      CreateNetworkSiteResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateNetworkSiteResponse'+            Prelude.<$> (x Data..?> "networkSite")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateNetworkSite where+  hashWithSalt _salt CreateNetworkSite' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` availabilityZoneId+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` pendingPlan+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` networkSiteName++instance Prelude.NFData CreateNetworkSite where+  rnf CreateNetworkSite' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf availabilityZoneId+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf pendingPlan+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf networkSiteName++instance Data.ToHeaders CreateNetworkSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateNetworkSite where+  toJSON CreateNetworkSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("availabilityZone" Data..=)+              Prelude.<$> availabilityZone,+            ("availabilityZoneId" Data..=)+              Prelude.<$> availabilityZoneId,+            ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            ("pendingPlan" Data..=) Prelude.<$> pendingPlan,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("networkArn" Data..= networkArn),+            Prelude.Just+              ("networkSiteName" Data..= networkSiteName)+          ]+      )++instance Data.ToPath CreateNetworkSite where+  toPath = Prelude.const "/v1/network-sites"++instance Data.ToQuery CreateNetworkSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateNetworkSiteResponse' smart constructor.+data CreateNetworkSiteResponse = CreateNetworkSiteResponse'+  { -- | Information about the network site.+    networkSite :: Prelude.Maybe NetworkSite,+    -- | The network site tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateNetworkSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSite', 'createNetworkSiteResponse_networkSite' - Information about the network site.+--+-- 'tags', 'createNetworkSiteResponse_tags' - The network site tags.+--+-- 'httpStatus', 'createNetworkSiteResponse_httpStatus' - The response's http status code.+newCreateNetworkSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateNetworkSiteResponse+newCreateNetworkSiteResponse pHttpStatus_ =+  CreateNetworkSiteResponse'+    { networkSite =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the network site.+createNetworkSiteResponse_networkSite :: Lens.Lens' CreateNetworkSiteResponse (Prelude.Maybe NetworkSite)+createNetworkSiteResponse_networkSite = Lens.lens (\CreateNetworkSiteResponse' {networkSite} -> networkSite) (\s@CreateNetworkSiteResponse' {} a -> s {networkSite = a} :: CreateNetworkSiteResponse)++-- | The network site tags.+createNetworkSiteResponse_tags :: Lens.Lens' CreateNetworkSiteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createNetworkSiteResponse_tags = Lens.lens (\CreateNetworkSiteResponse' {tags} -> tags) (\s@CreateNetworkSiteResponse' {} a -> s {tags = a} :: CreateNetworkSiteResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+createNetworkSiteResponse_httpStatus :: Lens.Lens' CreateNetworkSiteResponse Prelude.Int+createNetworkSiteResponse_httpStatus = Lens.lens (\CreateNetworkSiteResponse' {httpStatus} -> httpStatus) (\s@CreateNetworkSiteResponse' {} a -> s {httpStatus = a} :: CreateNetworkSiteResponse)++instance Prelude.NFData CreateNetworkSiteResponse where+  rnf CreateNetworkSiteResponse' {..} =+    Prelude.rnf networkSite+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/DeactivateDeviceIdentifier.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.DeactivateDeviceIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deactivates the specified device identifier.+module Amazonka.PrivateNetworks.DeactivateDeviceIdentifier+  ( -- * Creating a Request+    DeactivateDeviceIdentifier (..),+    newDeactivateDeviceIdentifier,++    -- * Request Lenses+    deactivateDeviceIdentifier_clientToken,+    deactivateDeviceIdentifier_deviceIdentifierArn,++    -- * Destructuring the Response+    DeactivateDeviceIdentifierResponse (..),+    newDeactivateDeviceIdentifierResponse,++    -- * Response Lenses+    deactivateDeviceIdentifierResponse_httpStatus,+    deactivateDeviceIdentifierResponse_deviceIdentifier,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeactivateDeviceIdentifier' smart constructor.+data DeactivateDeviceIdentifier = DeactivateDeviceIdentifier'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the device identifier.+    deviceIdentifierArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeactivateDeviceIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deactivateDeviceIdentifier_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'deviceIdentifierArn', 'deactivateDeviceIdentifier_deviceIdentifierArn' - The Amazon Resource Name (ARN) of the device identifier.+newDeactivateDeviceIdentifier ::+  -- | 'deviceIdentifierArn'+  Prelude.Text ->+  DeactivateDeviceIdentifier+newDeactivateDeviceIdentifier pDeviceIdentifierArn_ =+  DeactivateDeviceIdentifier'+    { clientToken =+        Prelude.Nothing,+      deviceIdentifierArn = pDeviceIdentifierArn_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+deactivateDeviceIdentifier_clientToken :: Lens.Lens' DeactivateDeviceIdentifier (Prelude.Maybe Prelude.Text)+deactivateDeviceIdentifier_clientToken = Lens.lens (\DeactivateDeviceIdentifier' {clientToken} -> clientToken) (\s@DeactivateDeviceIdentifier' {} a -> s {clientToken = a} :: DeactivateDeviceIdentifier)++-- | The Amazon Resource Name (ARN) of the device identifier.+deactivateDeviceIdentifier_deviceIdentifierArn :: Lens.Lens' DeactivateDeviceIdentifier Prelude.Text+deactivateDeviceIdentifier_deviceIdentifierArn = Lens.lens (\DeactivateDeviceIdentifier' {deviceIdentifierArn} -> deviceIdentifierArn) (\s@DeactivateDeviceIdentifier' {} a -> s {deviceIdentifierArn = a} :: DeactivateDeviceIdentifier)++instance Core.AWSRequest DeactivateDeviceIdentifier where+  type+    AWSResponse DeactivateDeviceIdentifier =+      DeactivateDeviceIdentifierResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeactivateDeviceIdentifierResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "deviceIdentifier")+      )++instance Prelude.Hashable DeactivateDeviceIdentifier where+  hashWithSalt _salt DeactivateDeviceIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` deviceIdentifierArn++instance Prelude.NFData DeactivateDeviceIdentifier where+  rnf DeactivateDeviceIdentifier' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf deviceIdentifierArn++instance Data.ToHeaders DeactivateDeviceIdentifier where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeactivateDeviceIdentifier where+  toJSON DeactivateDeviceIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just+              ("deviceIdentifierArn" Data..= deviceIdentifierArn)+          ]+      )++instance Data.ToPath DeactivateDeviceIdentifier where+  toPath =+    Prelude.const "/v1/device-identifiers/deactivate"++instance Data.ToQuery DeactivateDeviceIdentifier where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeactivateDeviceIdentifierResponse' smart constructor.+data DeactivateDeviceIdentifierResponse = DeactivateDeviceIdentifierResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the device identifier.+    deviceIdentifier :: DeviceIdentifier+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeactivateDeviceIdentifierResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deactivateDeviceIdentifierResponse_httpStatus' - The response's http status code.+--+-- 'deviceIdentifier', 'deactivateDeviceIdentifierResponse_deviceIdentifier' - Information about the device identifier.+newDeactivateDeviceIdentifierResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'deviceIdentifier'+  DeviceIdentifier ->+  DeactivateDeviceIdentifierResponse+newDeactivateDeviceIdentifierResponse+  pHttpStatus_+  pDeviceIdentifier_ =+    DeactivateDeviceIdentifierResponse'+      { httpStatus =+          pHttpStatus_,+        deviceIdentifier = pDeviceIdentifier_+      }++-- | The response's http status code.+deactivateDeviceIdentifierResponse_httpStatus :: Lens.Lens' DeactivateDeviceIdentifierResponse Prelude.Int+deactivateDeviceIdentifierResponse_httpStatus = Lens.lens (\DeactivateDeviceIdentifierResponse' {httpStatus} -> httpStatus) (\s@DeactivateDeviceIdentifierResponse' {} a -> s {httpStatus = a} :: DeactivateDeviceIdentifierResponse)++-- | Information about the device identifier.+deactivateDeviceIdentifierResponse_deviceIdentifier :: Lens.Lens' DeactivateDeviceIdentifierResponse DeviceIdentifier+deactivateDeviceIdentifierResponse_deviceIdentifier = Lens.lens (\DeactivateDeviceIdentifierResponse' {deviceIdentifier} -> deviceIdentifier) (\s@DeactivateDeviceIdentifierResponse' {} a -> s {deviceIdentifier = a} :: DeactivateDeviceIdentifierResponse)++instance+  Prelude.NFData+    DeactivateDeviceIdentifierResponse+  where+  rnf DeactivateDeviceIdentifierResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf deviceIdentifier
+ gen/Amazonka/PrivateNetworks/DeleteNetwork.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.DeleteNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified network. You must delete network sites before you+-- delete the network. For more information, see+-- <https://docs.aws.amazon.com/private-networks/latest/APIReference/API_DeleteNetworkSite.html DeleteNetworkSite>+-- in the /API Reference for Amazon Web Services Private 5G/.+module Amazonka.PrivateNetworks.DeleteNetwork+  ( -- * Creating a Request+    DeleteNetwork (..),+    newDeleteNetwork,++    -- * Request Lenses+    deleteNetwork_clientToken,+    deleteNetwork_networkArn,++    -- * Destructuring the Response+    DeleteNetworkResponse (..),+    newDeleteNetworkResponse,++    -- * Response Lenses+    deleteNetworkResponse_httpStatus,+    deleteNetworkResponse_network,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNetwork' smart constructor.+data DeleteNetwork = DeleteNetwork'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteNetwork_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'networkArn', 'deleteNetwork_networkArn' - The Amazon Resource Name (ARN) of the network.+newDeleteNetwork ::+  -- | 'networkArn'+  Prelude.Text ->+  DeleteNetwork+newDeleteNetwork pNetworkArn_ =+  DeleteNetwork'+    { clientToken = Prelude.Nothing,+      networkArn = pNetworkArn_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+deleteNetwork_clientToken :: Lens.Lens' DeleteNetwork (Prelude.Maybe Prelude.Text)+deleteNetwork_clientToken = Lens.lens (\DeleteNetwork' {clientToken} -> clientToken) (\s@DeleteNetwork' {} a -> s {clientToken = a} :: DeleteNetwork)++-- | The Amazon Resource Name (ARN) of the network.+deleteNetwork_networkArn :: Lens.Lens' DeleteNetwork Prelude.Text+deleteNetwork_networkArn = Lens.lens (\DeleteNetwork' {networkArn} -> networkArn) (\s@DeleteNetwork' {} a -> s {networkArn = a} :: DeleteNetwork)++instance Core.AWSRequest DeleteNetwork where+  type+    AWSResponse DeleteNetwork =+      DeleteNetworkResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteNetworkResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "network")+      )++instance Prelude.Hashable DeleteNetwork where+  hashWithSalt _salt DeleteNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` networkArn++instance Prelude.NFData DeleteNetwork where+  rnf DeleteNetwork' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf networkArn++instance Data.ToHeaders DeleteNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteNetwork where+  toPath DeleteNetwork' {..} =+    Prelude.mconcat+      ["/v1/networks/", Data.toBS networkArn]++instance Data.ToQuery DeleteNetwork where+  toQuery DeleteNetwork' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteNetworkResponse' smart constructor.+data DeleteNetworkResponse = DeleteNetworkResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the network.+    network :: Network+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteNetworkResponse_httpStatus' - The response's http status code.+--+-- 'network', 'deleteNetworkResponse_network' - Information about the network.+newDeleteNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'network'+  Network ->+  DeleteNetworkResponse+newDeleteNetworkResponse pHttpStatus_ pNetwork_ =+  DeleteNetworkResponse'+    { httpStatus = pHttpStatus_,+      network = pNetwork_+    }++-- | The response's http status code.+deleteNetworkResponse_httpStatus :: Lens.Lens' DeleteNetworkResponse Prelude.Int+deleteNetworkResponse_httpStatus = Lens.lens (\DeleteNetworkResponse' {httpStatus} -> httpStatus) (\s@DeleteNetworkResponse' {} a -> s {httpStatus = a} :: DeleteNetworkResponse)++-- | Information about the network.+deleteNetworkResponse_network :: Lens.Lens' DeleteNetworkResponse Network+deleteNetworkResponse_network = Lens.lens (\DeleteNetworkResponse' {network} -> network) (\s@DeleteNetworkResponse' {} a -> s {network = a} :: DeleteNetworkResponse)++instance Prelude.NFData DeleteNetworkResponse where+  rnf DeleteNetworkResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf network
+ gen/Amazonka/PrivateNetworks/DeleteNetworkSite.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.DeleteNetworkSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified network site. Return the hardware after you delete+-- the network site. You are responsible for minimum charges. For more+-- information, see+-- <https://docs.aws.amazon.com/private-networks/latest/userguide/hardware-maintenance.html Hardware returns>+-- in the /Amazon Web Services Private 5G User Guide/.+module Amazonka.PrivateNetworks.DeleteNetworkSite+  ( -- * Creating a Request+    DeleteNetworkSite (..),+    newDeleteNetworkSite,++    -- * Request Lenses+    deleteNetworkSite_clientToken,+    deleteNetworkSite_networkSiteArn,++    -- * Destructuring the Response+    DeleteNetworkSiteResponse (..),+    newDeleteNetworkSiteResponse,++    -- * Response Lenses+    deleteNetworkSiteResponse_networkSite,+    deleteNetworkSiteResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteNetworkSite' smart constructor.+data DeleteNetworkSite = DeleteNetworkSite'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteNetworkSite_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'networkSiteArn', 'deleteNetworkSite_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+newDeleteNetworkSite ::+  -- | 'networkSiteArn'+  Prelude.Text ->+  DeleteNetworkSite+newDeleteNetworkSite pNetworkSiteArn_ =+  DeleteNetworkSite'+    { clientToken = Prelude.Nothing,+      networkSiteArn = pNetworkSiteArn_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+deleteNetworkSite_clientToken :: Lens.Lens' DeleteNetworkSite (Prelude.Maybe Prelude.Text)+deleteNetworkSite_clientToken = Lens.lens (\DeleteNetworkSite' {clientToken} -> clientToken) (\s@DeleteNetworkSite' {} a -> s {clientToken = a} :: DeleteNetworkSite)++-- | The Amazon Resource Name (ARN) of the network site.+deleteNetworkSite_networkSiteArn :: Lens.Lens' DeleteNetworkSite Prelude.Text+deleteNetworkSite_networkSiteArn = Lens.lens (\DeleteNetworkSite' {networkSiteArn} -> networkSiteArn) (\s@DeleteNetworkSite' {} a -> s {networkSiteArn = a} :: DeleteNetworkSite)++instance Core.AWSRequest DeleteNetworkSite where+  type+    AWSResponse DeleteNetworkSite =+      DeleteNetworkSiteResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteNetworkSiteResponse'+            Prelude.<$> (x Data..?> "networkSite")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteNetworkSite where+  hashWithSalt _salt DeleteNetworkSite' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` networkSiteArn++instance Prelude.NFData DeleteNetworkSite where+  rnf DeleteNetworkSite' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf networkSiteArn++instance Data.ToHeaders DeleteNetworkSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteNetworkSite where+  toPath DeleteNetworkSite' {..} =+    Prelude.mconcat+      ["/v1/network-sites/", Data.toBS networkSiteArn]++instance Data.ToQuery DeleteNetworkSite where+  toQuery DeleteNetworkSite' {..} =+    Prelude.mconcat ["clientToken" Data.=: clientToken]++-- | /See:/ 'newDeleteNetworkSiteResponse' smart constructor.+data DeleteNetworkSiteResponse = DeleteNetworkSiteResponse'+  { -- | Information about the network site.+    networkSite :: Prelude.Maybe NetworkSite,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteNetworkSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSite', 'deleteNetworkSiteResponse_networkSite' - Information about the network site.+--+-- 'httpStatus', 'deleteNetworkSiteResponse_httpStatus' - The response's http status code.+newDeleteNetworkSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteNetworkSiteResponse+newDeleteNetworkSiteResponse pHttpStatus_ =+  DeleteNetworkSiteResponse'+    { networkSite =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the network site.+deleteNetworkSiteResponse_networkSite :: Lens.Lens' DeleteNetworkSiteResponse (Prelude.Maybe NetworkSite)+deleteNetworkSiteResponse_networkSite = Lens.lens (\DeleteNetworkSiteResponse' {networkSite} -> networkSite) (\s@DeleteNetworkSiteResponse' {} a -> s {networkSite = a} :: DeleteNetworkSiteResponse)++-- | The response's http status code.+deleteNetworkSiteResponse_httpStatus :: Lens.Lens' DeleteNetworkSiteResponse Prelude.Int+deleteNetworkSiteResponse_httpStatus = Lens.lens (\DeleteNetworkSiteResponse' {httpStatus} -> httpStatus) (\s@DeleteNetworkSiteResponse' {} a -> s {httpStatus = a} :: DeleteNetworkSiteResponse)++instance Prelude.NFData DeleteNetworkSiteResponse where+  rnf DeleteNetworkSiteResponse' {..} =+    Prelude.rnf networkSite+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/GetDeviceIdentifier.hs view
@@ -0,0 +1,177 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.GetDeviceIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified device identifier.+module Amazonka.PrivateNetworks.GetDeviceIdentifier+  ( -- * Creating a Request+    GetDeviceIdentifier (..),+    newGetDeviceIdentifier,++    -- * Request Lenses+    getDeviceIdentifier_deviceIdentifierArn,++    -- * Destructuring the Response+    GetDeviceIdentifierResponse (..),+    newGetDeviceIdentifierResponse,++    -- * Response Lenses+    getDeviceIdentifierResponse_deviceIdentifier,+    getDeviceIdentifierResponse_tags,+    getDeviceIdentifierResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDeviceIdentifier' smart constructor.+data GetDeviceIdentifier = GetDeviceIdentifier'+  { -- | The Amazon Resource Name (ARN) of the device identifier.+    deviceIdentifierArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeviceIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIdentifierArn', 'getDeviceIdentifier_deviceIdentifierArn' - The Amazon Resource Name (ARN) of the device identifier.+newGetDeviceIdentifier ::+  -- | 'deviceIdentifierArn'+  Prelude.Text ->+  GetDeviceIdentifier+newGetDeviceIdentifier pDeviceIdentifierArn_ =+  GetDeviceIdentifier'+    { deviceIdentifierArn =+        pDeviceIdentifierArn_+    }++-- | The Amazon Resource Name (ARN) of the device identifier.+getDeviceIdentifier_deviceIdentifierArn :: Lens.Lens' GetDeviceIdentifier Prelude.Text+getDeviceIdentifier_deviceIdentifierArn = Lens.lens (\GetDeviceIdentifier' {deviceIdentifierArn} -> deviceIdentifierArn) (\s@GetDeviceIdentifier' {} a -> s {deviceIdentifierArn = a} :: GetDeviceIdentifier)++instance Core.AWSRequest GetDeviceIdentifier where+  type+    AWSResponse GetDeviceIdentifier =+      GetDeviceIdentifierResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDeviceIdentifierResponse'+            Prelude.<$> (x Data..?> "deviceIdentifier")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDeviceIdentifier where+  hashWithSalt _salt GetDeviceIdentifier' {..} =+    _salt `Prelude.hashWithSalt` deviceIdentifierArn++instance Prelude.NFData GetDeviceIdentifier where+  rnf GetDeviceIdentifier' {..} =+    Prelude.rnf deviceIdentifierArn++instance Data.ToHeaders GetDeviceIdentifier where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetDeviceIdentifier where+  toPath GetDeviceIdentifier' {..} =+    Prelude.mconcat+      [ "/v1/device-identifiers/",+        Data.toBS deviceIdentifierArn+      ]++instance Data.ToQuery GetDeviceIdentifier where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDeviceIdentifierResponse' smart constructor.+data GetDeviceIdentifierResponse = GetDeviceIdentifierResponse'+  { -- | Information about the device identifier.+    deviceIdentifier :: Prelude.Maybe DeviceIdentifier,+    -- | The device identifier tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDeviceIdentifierResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIdentifier', 'getDeviceIdentifierResponse_deviceIdentifier' - Information about the device identifier.+--+-- 'tags', 'getDeviceIdentifierResponse_tags' - The device identifier tags.+--+-- 'httpStatus', 'getDeviceIdentifierResponse_httpStatus' - The response's http status code.+newGetDeviceIdentifierResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDeviceIdentifierResponse+newGetDeviceIdentifierResponse pHttpStatus_ =+  GetDeviceIdentifierResponse'+    { deviceIdentifier =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the device identifier.+getDeviceIdentifierResponse_deviceIdentifier :: Lens.Lens' GetDeviceIdentifierResponse (Prelude.Maybe DeviceIdentifier)+getDeviceIdentifierResponse_deviceIdentifier = Lens.lens (\GetDeviceIdentifierResponse' {deviceIdentifier} -> deviceIdentifier) (\s@GetDeviceIdentifierResponse' {} a -> s {deviceIdentifier = a} :: GetDeviceIdentifierResponse)++-- | The device identifier tags.+getDeviceIdentifierResponse_tags :: Lens.Lens' GetDeviceIdentifierResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getDeviceIdentifierResponse_tags = Lens.lens (\GetDeviceIdentifierResponse' {tags} -> tags) (\s@GetDeviceIdentifierResponse' {} a -> s {tags = a} :: GetDeviceIdentifierResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getDeviceIdentifierResponse_httpStatus :: Lens.Lens' GetDeviceIdentifierResponse Prelude.Int+getDeviceIdentifierResponse_httpStatus = Lens.lens (\GetDeviceIdentifierResponse' {httpStatus} -> httpStatus) (\s@GetDeviceIdentifierResponse' {} a -> s {httpStatus = a} :: GetDeviceIdentifierResponse)++instance Prelude.NFData GetDeviceIdentifierResponse where+  rnf GetDeviceIdentifierResponse' {..} =+    Prelude.rnf deviceIdentifier+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/GetNetwork.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.GetNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified network.+module Amazonka.PrivateNetworks.GetNetwork+  ( -- * Creating a Request+    GetNetwork (..),+    newGetNetwork,++    -- * Request Lenses+    getNetwork_networkArn,++    -- * Destructuring the Response+    GetNetworkResponse (..),+    newGetNetworkResponse,++    -- * Response Lenses+    getNetworkResponse_tags,+    getNetworkResponse_httpStatus,+    getNetworkResponse_network,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetwork' smart constructor.+data GetNetwork = GetNetwork'+  { -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkArn', 'getNetwork_networkArn' - The Amazon Resource Name (ARN) of the network.+newGetNetwork ::+  -- | 'networkArn'+  Prelude.Text ->+  GetNetwork+newGetNetwork pNetworkArn_ =+  GetNetwork' {networkArn = pNetworkArn_}++-- | The Amazon Resource Name (ARN) of the network.+getNetwork_networkArn :: Lens.Lens' GetNetwork Prelude.Text+getNetwork_networkArn = Lens.lens (\GetNetwork' {networkArn} -> networkArn) (\s@GetNetwork' {} a -> s {networkArn = a} :: GetNetwork)++instance Core.AWSRequest GetNetwork where+  type AWSResponse GetNetwork = GetNetworkResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "network")+      )++instance Prelude.Hashable GetNetwork where+  hashWithSalt _salt GetNetwork' {..} =+    _salt `Prelude.hashWithSalt` networkArn++instance Prelude.NFData GetNetwork where+  rnf GetNetwork' {..} = Prelude.rnf networkArn++instance Data.ToHeaders GetNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetwork where+  toPath GetNetwork' {..} =+    Prelude.mconcat+      ["/v1/networks/", Data.toBS networkArn]++instance Data.ToQuery GetNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkResponse' smart constructor.+data GetNetworkResponse = GetNetworkResponse'+  { -- | The network tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the network.+    network :: Network+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResponse_tags' - The network tags.+--+-- 'httpStatus', 'getNetworkResponse_httpStatus' - The response's http status code.+--+-- 'network', 'getNetworkResponse_network' - Information about the network.+newGetNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'network'+  Network ->+  GetNetworkResponse+newGetNetworkResponse pHttpStatus_ pNetwork_ =+  GetNetworkResponse'+    { tags = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      network = pNetwork_+    }++-- | The network tags.+getNetworkResponse_tags :: Lens.Lens' GetNetworkResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getNetworkResponse_tags = Lens.lens (\GetNetworkResponse' {tags} -> tags) (\s@GetNetworkResponse' {} a -> s {tags = a} :: GetNetworkResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getNetworkResponse_httpStatus :: Lens.Lens' GetNetworkResponse Prelude.Int+getNetworkResponse_httpStatus = Lens.lens (\GetNetworkResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResponse' {} a -> s {httpStatus = a} :: GetNetworkResponse)++-- | Information about the network.+getNetworkResponse_network :: Lens.Lens' GetNetworkResponse Network+getNetworkResponse_network = Lens.lens (\GetNetworkResponse' {network} -> network) (\s@GetNetworkResponse' {} a -> s {network = a} :: GetNetworkResponse)++instance Prelude.NFData GetNetworkResponse where+  rnf GetNetworkResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf network
+ gen/Amazonka/PrivateNetworks/GetNetworkResource.hs view
@@ -0,0 +1,180 @@+{-# 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.PrivateNetworks.GetNetworkResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified network resource.+module Amazonka.PrivateNetworks.GetNetworkResource+  ( -- * Creating a Request+    GetNetworkResource (..),+    newGetNetworkResource,++    -- * Request Lenses+    getNetworkResource_networkResourceArn,++    -- * Destructuring the Response+    GetNetworkResourceResponse (..),+    newGetNetworkResourceResponse,++    -- * Response Lenses+    getNetworkResourceResponse_tags,+    getNetworkResourceResponse_httpStatus,+    getNetworkResourceResponse_networkResource,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkResource' smart constructor.+data GetNetworkResource = GetNetworkResource'+  { -- | The Amazon Resource Name (ARN) of the network resource.+    networkResourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkResourceArn', 'getNetworkResource_networkResourceArn' - The Amazon Resource Name (ARN) of the network resource.+newGetNetworkResource ::+  -- | 'networkResourceArn'+  Prelude.Text ->+  GetNetworkResource+newGetNetworkResource pNetworkResourceArn_ =+  GetNetworkResource'+    { networkResourceArn =+        pNetworkResourceArn_+    }++-- | The Amazon Resource Name (ARN) of the network resource.+getNetworkResource_networkResourceArn :: Lens.Lens' GetNetworkResource Prelude.Text+getNetworkResource_networkResourceArn = Lens.lens (\GetNetworkResource' {networkResourceArn} -> networkResourceArn) (\s@GetNetworkResource' {} a -> s {networkResourceArn = a} :: GetNetworkResource)++instance Core.AWSRequest GetNetworkResource where+  type+    AWSResponse GetNetworkResource =+      GetNetworkResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkResourceResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "networkResource")+      )++instance Prelude.Hashable GetNetworkResource where+  hashWithSalt _salt GetNetworkResource' {..} =+    _salt `Prelude.hashWithSalt` networkResourceArn++instance Prelude.NFData GetNetworkResource where+  rnf GetNetworkResource' {..} =+    Prelude.rnf networkResourceArn++instance Data.ToHeaders GetNetworkResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkResource where+  toPath GetNetworkResource' {..} =+    Prelude.mconcat+      [ "/v1/network-resources/",+        Data.toBS networkResourceArn+      ]++instance Data.ToQuery GetNetworkResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkResourceResponse' smart constructor.+data GetNetworkResourceResponse = GetNetworkResourceResponse'+  { -- | The network resource tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the network resource.+    networkResource :: NetworkResource+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResourceResponse_tags' - The network resource tags.+--+-- 'httpStatus', 'getNetworkResourceResponse_httpStatus' - The response's http status code.+--+-- 'networkResource', 'getNetworkResourceResponse_networkResource' - Information about the network resource.+newGetNetworkResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'networkResource'+  NetworkResource ->+  GetNetworkResourceResponse+newGetNetworkResourceResponse+  pHttpStatus_+  pNetworkResource_ =+    GetNetworkResourceResponse'+      { tags = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        networkResource = pNetworkResource_+      }++-- | The network resource tags.+getNetworkResourceResponse_tags :: Lens.Lens' GetNetworkResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getNetworkResourceResponse_tags = Lens.lens (\GetNetworkResourceResponse' {tags} -> tags) (\s@GetNetworkResourceResponse' {} a -> s {tags = a} :: GetNetworkResourceResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getNetworkResourceResponse_httpStatus :: Lens.Lens' GetNetworkResourceResponse Prelude.Int+getNetworkResourceResponse_httpStatus = Lens.lens (\GetNetworkResourceResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResourceResponse' {} a -> s {httpStatus = a} :: GetNetworkResourceResponse)++-- | Information about the network resource.+getNetworkResourceResponse_networkResource :: Lens.Lens' GetNetworkResourceResponse NetworkResource+getNetworkResourceResponse_networkResource = Lens.lens (\GetNetworkResourceResponse' {networkResource} -> networkResource) (\s@GetNetworkResourceResponse' {} a -> s {networkResource = a} :: GetNetworkResourceResponse)++instance Prelude.NFData GetNetworkResourceResponse where+  rnf GetNetworkResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf networkResource
+ gen/Amazonka/PrivateNetworks/GetNetworkSite.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.GetNetworkSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified network site.+module Amazonka.PrivateNetworks.GetNetworkSite+  ( -- * Creating a Request+    GetNetworkSite (..),+    newGetNetworkSite,++    -- * Request Lenses+    getNetworkSite_networkSiteArn,++    -- * Destructuring the Response+    GetNetworkSiteResponse (..),+    newGetNetworkSiteResponse,++    -- * Response Lenses+    getNetworkSiteResponse_networkSite,+    getNetworkSiteResponse_tags,+    getNetworkSiteResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkSite' smart constructor.+data GetNetworkSite = GetNetworkSite'+  { -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSiteArn', 'getNetworkSite_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+newGetNetworkSite ::+  -- | 'networkSiteArn'+  Prelude.Text ->+  GetNetworkSite+newGetNetworkSite pNetworkSiteArn_ =+  GetNetworkSite' {networkSiteArn = pNetworkSiteArn_}++-- | The Amazon Resource Name (ARN) of the network site.+getNetworkSite_networkSiteArn :: Lens.Lens' GetNetworkSite Prelude.Text+getNetworkSite_networkSiteArn = Lens.lens (\GetNetworkSite' {networkSiteArn} -> networkSiteArn) (\s@GetNetworkSite' {} a -> s {networkSiteArn = a} :: GetNetworkSite)++instance Core.AWSRequest GetNetworkSite where+  type+    AWSResponse GetNetworkSite =+      GetNetworkSiteResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkSiteResponse'+            Prelude.<$> (x Data..?> "networkSite")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNetworkSite where+  hashWithSalt _salt GetNetworkSite' {..} =+    _salt `Prelude.hashWithSalt` networkSiteArn++instance Prelude.NFData GetNetworkSite where+  rnf GetNetworkSite' {..} = Prelude.rnf networkSiteArn++instance Data.ToHeaders GetNetworkSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkSite where+  toPath GetNetworkSite' {..} =+    Prelude.mconcat+      ["/v1/network-sites/", Data.toBS networkSiteArn]++instance Data.ToQuery GetNetworkSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkSiteResponse' smart constructor.+data GetNetworkSiteResponse = GetNetworkSiteResponse'+  { -- | Information about the network site.+    networkSite :: Prelude.Maybe NetworkSite,+    -- | The network site tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSite', 'getNetworkSiteResponse_networkSite' - Information about the network site.+--+-- 'tags', 'getNetworkSiteResponse_tags' - The network site tags.+--+-- 'httpStatus', 'getNetworkSiteResponse_httpStatus' - The response's http status code.+newGetNetworkSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkSiteResponse+newGetNetworkSiteResponse pHttpStatus_ =+  GetNetworkSiteResponse'+    { networkSite =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the network site.+getNetworkSiteResponse_networkSite :: Lens.Lens' GetNetworkSiteResponse (Prelude.Maybe NetworkSite)+getNetworkSiteResponse_networkSite = Lens.lens (\GetNetworkSiteResponse' {networkSite} -> networkSite) (\s@GetNetworkSiteResponse' {} a -> s {networkSite = a} :: GetNetworkSiteResponse)++-- | The network site tags.+getNetworkSiteResponse_tags :: Lens.Lens' GetNetworkSiteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getNetworkSiteResponse_tags = Lens.lens (\GetNetworkSiteResponse' {tags} -> tags) (\s@GetNetworkSiteResponse' {} a -> s {tags = a} :: GetNetworkSiteResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getNetworkSiteResponse_httpStatus :: Lens.Lens' GetNetworkSiteResponse Prelude.Int+getNetworkSiteResponse_httpStatus = Lens.lens (\GetNetworkSiteResponse' {httpStatus} -> httpStatus) (\s@GetNetworkSiteResponse' {} a -> s {httpStatus = a} :: GetNetworkSiteResponse)++instance Prelude.NFData GetNetworkSiteResponse where+  rnf GetNetworkSiteResponse' {..} =+    Prelude.rnf networkSite+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/GetOrder.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.GetOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the specified order.+module Amazonka.PrivateNetworks.GetOrder+  ( -- * Creating a Request+    GetOrder (..),+    newGetOrder,++    -- * Request Lenses+    getOrder_orderArn,++    -- * Destructuring the Response+    GetOrderResponse (..),+    newGetOrderResponse,++    -- * Response Lenses+    getOrderResponse_tags,+    getOrderResponse_httpStatus,+    getOrderResponse_order,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetOrder' smart constructor.+data GetOrder = GetOrder'+  { -- | The Amazon Resource Name (ARN) of the order.+    orderArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOrder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'orderArn', 'getOrder_orderArn' - The Amazon Resource Name (ARN) of the order.+newGetOrder ::+  -- | 'orderArn'+  Prelude.Text ->+  GetOrder+newGetOrder pOrderArn_ =+  GetOrder' {orderArn = pOrderArn_}++-- | The Amazon Resource Name (ARN) of the order.+getOrder_orderArn :: Lens.Lens' GetOrder Prelude.Text+getOrder_orderArn = Lens.lens (\GetOrder' {orderArn} -> orderArn) (\s@GetOrder' {} a -> s {orderArn = a} :: GetOrder)++instance Core.AWSRequest GetOrder where+  type AWSResponse GetOrder = GetOrderResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetOrderResponse'+            Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "order")+      )++instance Prelude.Hashable GetOrder where+  hashWithSalt _salt GetOrder' {..} =+    _salt `Prelude.hashWithSalt` orderArn++instance Prelude.NFData GetOrder where+  rnf GetOrder' {..} = Prelude.rnf orderArn++instance Data.ToHeaders GetOrder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetOrder where+  toPath GetOrder' {..} =+    Prelude.mconcat ["/v1/orders/", Data.toBS orderArn]++instance Data.ToQuery GetOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetOrderResponse' smart constructor.+data GetOrderResponse = GetOrderResponse'+  { -- | The order tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Information about the order.+    order :: Order+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOrderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getOrderResponse_tags' - The order tags.+--+-- 'httpStatus', 'getOrderResponse_httpStatus' - The response's http status code.+--+-- 'order', 'getOrderResponse_order' - Information about the order.+newGetOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'order'+  Order ->+  GetOrderResponse+newGetOrderResponse pHttpStatus_ pOrder_ =+  GetOrderResponse'+    { tags = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      order = pOrder_+    }++-- | The order tags.+getOrderResponse_tags :: Lens.Lens' GetOrderResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getOrderResponse_tags = Lens.lens (\GetOrderResponse' {tags} -> tags) (\s@GetOrderResponse' {} a -> s {tags = a} :: GetOrderResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getOrderResponse_httpStatus :: Lens.Lens' GetOrderResponse Prelude.Int+getOrderResponse_httpStatus = Lens.lens (\GetOrderResponse' {httpStatus} -> httpStatus) (\s@GetOrderResponse' {} a -> s {httpStatus = a} :: GetOrderResponse)++-- | Information about the order.+getOrderResponse_order :: Lens.Lens' GetOrderResponse Order+getOrderResponse_order = Lens.lens (\GetOrderResponse' {order} -> order) (\s@GetOrderResponse' {} a -> s {order = a} :: GetOrderResponse)++instance Prelude.NFData GetOrderResponse where+  rnf GetOrderResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf order
+ gen/Amazonka/PrivateNetworks/Lens.hs view
@@ -0,0 +1,330 @@+{-# 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.PrivateNetworks.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.PrivateNetworks.Lens+  ( -- * Operations++    -- ** AcknowledgeOrderReceipt+    acknowledgeOrderReceipt_orderArn,+    acknowledgeOrderReceiptResponse_httpStatus,+    acknowledgeOrderReceiptResponse_order,++    -- ** ActivateDeviceIdentifier+    activateDeviceIdentifier_clientToken,+    activateDeviceIdentifier_deviceIdentifierArn,+    activateDeviceIdentifierResponse_tags,+    activateDeviceIdentifierResponse_httpStatus,+    activateDeviceIdentifierResponse_deviceIdentifier,++    -- ** ActivateNetworkSite+    activateNetworkSite_clientToken,+    activateNetworkSite_networkSiteArn,+    activateNetworkSite_shippingAddress,+    activateNetworkSiteResponse_networkSite,+    activateNetworkSiteResponse_httpStatus,++    -- ** ConfigureAccessPoint+    configureAccessPoint_cpiSecretKey,+    configureAccessPoint_cpiUserId,+    configureAccessPoint_cpiUserPassword,+    configureAccessPoint_cpiUsername,+    configureAccessPoint_position,+    configureAccessPoint_accessPointArn,+    configureAccessPointResponse_httpStatus,+    configureAccessPointResponse_accessPoint,++    -- ** CreateNetwork+    createNetwork_clientToken,+    createNetwork_description,+    createNetwork_tags,+    createNetwork_networkName,+    createNetworkResponse_tags,+    createNetworkResponse_httpStatus,+    createNetworkResponse_network,++    -- ** CreateNetworkSite+    createNetworkSite_availabilityZone,+    createNetworkSite_availabilityZoneId,+    createNetworkSite_clientToken,+    createNetworkSite_description,+    createNetworkSite_pendingPlan,+    createNetworkSite_tags,+    createNetworkSite_networkArn,+    createNetworkSite_networkSiteName,+    createNetworkSiteResponse_networkSite,+    createNetworkSiteResponse_tags,+    createNetworkSiteResponse_httpStatus,++    -- ** DeactivateDeviceIdentifier+    deactivateDeviceIdentifier_clientToken,+    deactivateDeviceIdentifier_deviceIdentifierArn,+    deactivateDeviceIdentifierResponse_httpStatus,+    deactivateDeviceIdentifierResponse_deviceIdentifier,++    -- ** DeleteNetwork+    deleteNetwork_clientToken,+    deleteNetwork_networkArn,+    deleteNetworkResponse_httpStatus,+    deleteNetworkResponse_network,++    -- ** DeleteNetworkSite+    deleteNetworkSite_clientToken,+    deleteNetworkSite_networkSiteArn,+    deleteNetworkSiteResponse_networkSite,+    deleteNetworkSiteResponse_httpStatus,++    -- ** GetDeviceIdentifier+    getDeviceIdentifier_deviceIdentifierArn,+    getDeviceIdentifierResponse_deviceIdentifier,+    getDeviceIdentifierResponse_tags,+    getDeviceIdentifierResponse_httpStatus,++    -- ** GetNetwork+    getNetwork_networkArn,+    getNetworkResponse_tags,+    getNetworkResponse_httpStatus,+    getNetworkResponse_network,++    -- ** GetNetworkResource+    getNetworkResource_networkResourceArn,+    getNetworkResourceResponse_tags,+    getNetworkResourceResponse_httpStatus,+    getNetworkResourceResponse_networkResource,++    -- ** GetNetworkSite+    getNetworkSite_networkSiteArn,+    getNetworkSiteResponse_networkSite,+    getNetworkSiteResponse_tags,+    getNetworkSiteResponse_httpStatus,++    -- ** GetOrder+    getOrder_orderArn,+    getOrderResponse_tags,+    getOrderResponse_httpStatus,+    getOrderResponse_order,++    -- ** ListDeviceIdentifiers+    listDeviceIdentifiers_filters,+    listDeviceIdentifiers_maxResults,+    listDeviceIdentifiers_startToken,+    listDeviceIdentifiers_networkArn,+    listDeviceIdentifiersResponse_deviceIdentifiers,+    listDeviceIdentifiersResponse_nextToken,+    listDeviceIdentifiersResponse_httpStatus,++    -- ** ListNetworkResources+    listNetworkResources_filters,+    listNetworkResources_maxResults,+    listNetworkResources_startToken,+    listNetworkResources_networkArn,+    listNetworkResourcesResponse_networkResources,+    listNetworkResourcesResponse_nextToken,+    listNetworkResourcesResponse_httpStatus,++    -- ** ListNetworkSites+    listNetworkSites_filters,+    listNetworkSites_maxResults,+    listNetworkSites_startToken,+    listNetworkSites_networkArn,+    listNetworkSitesResponse_networkSites,+    listNetworkSitesResponse_nextToken,+    listNetworkSitesResponse_httpStatus,++    -- ** ListNetworks+    listNetworks_filters,+    listNetworks_maxResults,+    listNetworks_startToken,+    listNetworksResponse_networks,+    listNetworksResponse_nextToken,+    listNetworksResponse_httpStatus,++    -- ** ListOrders+    listOrders_filters,+    listOrders_maxResults,+    listOrders_startToken,+    listOrders_networkArn,+    listOrdersResponse_nextToken,+    listOrdersResponse_orders,+    listOrdersResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** Ping+    pingResponse_status,+    pingResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateNetworkSite+    updateNetworkSite_clientToken,+    updateNetworkSite_description,+    updateNetworkSite_networkSiteArn,+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,++    -- ** UpdateNetworkSitePlan+    updateNetworkSitePlan_clientToken,+    updateNetworkSitePlan_networkSiteArn,+    updateNetworkSitePlan_pendingPlan,+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,++    -- * Types++    -- ** Address+    address_company,+    address_phoneNumber,+    address_street2,+    address_street3,+    address_city,+    address_country,+    address_name,+    address_postalCode,+    address_stateOrProvince,+    address_street1,++    -- ** DeviceIdentifier+    deviceIdentifier_createdAt,+    deviceIdentifier_deviceIdentifierArn,+    deviceIdentifier_iccid,+    deviceIdentifier_imsi,+    deviceIdentifier_networkArn,+    deviceIdentifier_orderArn,+    deviceIdentifier_status,+    deviceIdentifier_trafficGroupArn,+    deviceIdentifier_vendor,++    -- ** NameValuePair+    nameValuePair_value,+    nameValuePair_name,++    -- ** Network+    network_createdAt,+    network_description,+    network_statusReason,+    network_networkArn,+    network_networkName,+    network_status,++    -- ** NetworkResource+    networkResource_attributes,+    networkResource_createdAt,+    networkResource_description,+    networkResource_health,+    networkResource_model,+    networkResource_networkArn,+    networkResource_networkResourceArn,+    networkResource_networkSiteArn,+    networkResource_orderArn,+    networkResource_position,+    networkResource_serialNumber,+    networkResource_status,+    networkResource_statusReason,+    networkResource_type,+    networkResource_vendor,++    -- ** NetworkResourceDefinition+    networkResourceDefinition_options,+    networkResourceDefinition_count,+    networkResourceDefinition_type,++    -- ** NetworkSite+    networkSite_availabilityZone,+    networkSite_availabilityZoneId,+    networkSite_createdAt,+    networkSite_currentPlan,+    networkSite_description,+    networkSite_pendingPlan,+    networkSite_statusReason,+    networkSite_networkArn,+    networkSite_networkSiteArn,+    networkSite_networkSiteName,+    networkSite_status,++    -- ** Order+    order_acknowledgmentStatus,+    order_createdAt,+    order_networkArn,+    order_networkSiteArn,+    order_orderArn,+    order_shippingAddress,+    order_trackingInformation,++    -- ** Position+    position_elevation,+    position_elevationReference,+    position_elevationUnit,+    position_latitude,+    position_longitude,++    -- ** SitePlan+    sitePlan_options,+    sitePlan_resourceDefinitions,++    -- ** TrackingInformation+    trackingInformation_trackingNumber,++    -- ** UpdateNetworkSiteResponse+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,+  )+where++import Amazonka.PrivateNetworks.AcknowledgeOrderReceipt+import Amazonka.PrivateNetworks.ActivateDeviceIdentifier+import Amazonka.PrivateNetworks.ActivateNetworkSite+import Amazonka.PrivateNetworks.ConfigureAccessPoint+import Amazonka.PrivateNetworks.CreateNetwork+import Amazonka.PrivateNetworks.CreateNetworkSite+import Amazonka.PrivateNetworks.DeactivateDeviceIdentifier+import Amazonka.PrivateNetworks.DeleteNetwork+import Amazonka.PrivateNetworks.DeleteNetworkSite+import Amazonka.PrivateNetworks.GetDeviceIdentifier+import Amazonka.PrivateNetworks.GetNetwork+import Amazonka.PrivateNetworks.GetNetworkResource+import Amazonka.PrivateNetworks.GetNetworkSite+import Amazonka.PrivateNetworks.GetOrder+import Amazonka.PrivateNetworks.ListDeviceIdentifiers+import Amazonka.PrivateNetworks.ListNetworkResources+import Amazonka.PrivateNetworks.ListNetworkSites+import Amazonka.PrivateNetworks.ListNetworks+import Amazonka.PrivateNetworks.ListOrders+import Amazonka.PrivateNetworks.ListTagsForResource+import Amazonka.PrivateNetworks.Ping+import Amazonka.PrivateNetworks.TagResource+import Amazonka.PrivateNetworks.Types.Address+import Amazonka.PrivateNetworks.Types.DeviceIdentifier+import Amazonka.PrivateNetworks.Types.NameValuePair+import Amazonka.PrivateNetworks.Types.Network+import Amazonka.PrivateNetworks.Types.NetworkResource+import Amazonka.PrivateNetworks.Types.NetworkResourceDefinition+import Amazonka.PrivateNetworks.Types.NetworkSite+import Amazonka.PrivateNetworks.Types.Order+import Amazonka.PrivateNetworks.Types.Position+import Amazonka.PrivateNetworks.Types.SitePlan+import Amazonka.PrivateNetworks.Types.TrackingInformation+import Amazonka.PrivateNetworks.Types.UpdateNetworkSiteResponse+import Amazonka.PrivateNetworks.UntagResource+import Amazonka.PrivateNetworks.UpdateNetworkSite+import Amazonka.PrivateNetworks.UpdateNetworkSitePlan
+ gen/Amazonka/PrivateNetworks/ListDeviceIdentifiers.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ListDeviceIdentifiers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists device identifiers. Add filters to your request to return a more+-- specific list of results. Use filters to match the Amazon Resource Name+-- (ARN) of an order, the status of device identifiers, or the ARN of the+-- traffic group.+--+-- >  <p>If you specify multiple filters, filters are joined with an OR, and the request+--+-- returns results that match all of the specified filters.+--+-- This operation returns paginated results.+module Amazonka.PrivateNetworks.ListDeviceIdentifiers+  ( -- * Creating a Request+    ListDeviceIdentifiers (..),+    newListDeviceIdentifiers,++    -- * Request Lenses+    listDeviceIdentifiers_filters,+    listDeviceIdentifiers_maxResults,+    listDeviceIdentifiers_startToken,+    listDeviceIdentifiers_networkArn,++    -- * Destructuring the Response+    ListDeviceIdentifiersResponse (..),+    newListDeviceIdentifiersResponse,++    -- * Response Lenses+    listDeviceIdentifiersResponse_deviceIdentifiers,+    listDeviceIdentifiersResponse_nextToken,+    listDeviceIdentifiersResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListDeviceIdentifiers' smart constructor.+data ListDeviceIdentifiers = ListDeviceIdentifiers'+  { -- | The filters.+    --+    -- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+    --+    -- -   @STATUS@ - The status (@ACTIVE@ | @INACTIVE@).+    --+    -- -   @TRAFFIC_GROUP@ - The Amazon Resource Name (ARN) of the traffic+    --     group.+    --+    -- Filter values are case sensitive. If you specify multiple values for a+    -- filter, the values are joined with an @OR@, and the request returns all+    -- results that match any of the specified values.+    filters :: Prelude.Maybe (Prelude.HashMap DeviceIdentifierFilterKeys [Prelude.Text]),+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    startToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeviceIdentifiers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listDeviceIdentifiers_filters' - The filters.+--+-- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+--+-- -   @STATUS@ - The status (@ACTIVE@ | @INACTIVE@).+--+-- -   @TRAFFIC_GROUP@ - The Amazon Resource Name (ARN) of the traffic+--     group.+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+--+-- 'maxResults', 'listDeviceIdentifiers_maxResults' - The maximum number of results to return.+--+-- 'startToken', 'listDeviceIdentifiers_startToken' - The token for the next page of results.+--+-- 'networkArn', 'listDeviceIdentifiers_networkArn' - The Amazon Resource Name (ARN) of the network.+newListDeviceIdentifiers ::+  -- | 'networkArn'+  Prelude.Text ->+  ListDeviceIdentifiers+newListDeviceIdentifiers pNetworkArn_ =+  ListDeviceIdentifiers'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      startToken = Prelude.Nothing,+      networkArn = pNetworkArn_+    }++-- | The filters.+--+-- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+--+-- -   @STATUS@ - The status (@ACTIVE@ | @INACTIVE@).+--+-- -   @TRAFFIC_GROUP@ - The Amazon Resource Name (ARN) of the traffic+--     group.+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+listDeviceIdentifiers_filters :: Lens.Lens' ListDeviceIdentifiers (Prelude.Maybe (Prelude.HashMap DeviceIdentifierFilterKeys [Prelude.Text]))+listDeviceIdentifiers_filters = Lens.lens (\ListDeviceIdentifiers' {filters} -> filters) (\s@ListDeviceIdentifiers' {} a -> s {filters = a} :: ListDeviceIdentifiers) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+listDeviceIdentifiers_maxResults :: Lens.Lens' ListDeviceIdentifiers (Prelude.Maybe Prelude.Natural)+listDeviceIdentifiers_maxResults = Lens.lens (\ListDeviceIdentifiers' {maxResults} -> maxResults) (\s@ListDeviceIdentifiers' {} a -> s {maxResults = a} :: ListDeviceIdentifiers)++-- | The token for the next page of results.+listDeviceIdentifiers_startToken :: Lens.Lens' ListDeviceIdentifiers (Prelude.Maybe Prelude.Text)+listDeviceIdentifiers_startToken = Lens.lens (\ListDeviceIdentifiers' {startToken} -> startToken) (\s@ListDeviceIdentifiers' {} a -> s {startToken = a} :: ListDeviceIdentifiers)++-- | The Amazon Resource Name (ARN) of the network.+listDeviceIdentifiers_networkArn :: Lens.Lens' ListDeviceIdentifiers Prelude.Text+listDeviceIdentifiers_networkArn = Lens.lens (\ListDeviceIdentifiers' {networkArn} -> networkArn) (\s@ListDeviceIdentifiers' {} a -> s {networkArn = a} :: ListDeviceIdentifiers)++instance Core.AWSPager ListDeviceIdentifiers where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listDeviceIdentifiersResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listDeviceIdentifiersResponse_deviceIdentifiers+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listDeviceIdentifiers_startToken+          Lens..~ rs+          Lens.^? listDeviceIdentifiersResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListDeviceIdentifiers where+  type+    AWSResponse ListDeviceIdentifiers =+      ListDeviceIdentifiersResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListDeviceIdentifiersResponse'+            Prelude.<$> ( x+                            Data..?> "deviceIdentifiers"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListDeviceIdentifiers where+  hashWithSalt _salt ListDeviceIdentifiers' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` startToken+      `Prelude.hashWithSalt` networkArn++instance Prelude.NFData ListDeviceIdentifiers where+  rnf ListDeviceIdentifiers' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf startToken+      `Prelude.seq` Prelude.rnf networkArn++instance Data.ToHeaders ListDeviceIdentifiers where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListDeviceIdentifiers where+  toJSON ListDeviceIdentifiers' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("startToken" Data..=) Prelude.<$> startToken,+            Prelude.Just ("networkArn" Data..= networkArn)+          ]+      )++instance Data.ToPath ListDeviceIdentifiers where+  toPath = Prelude.const "/v1/device-identifiers/list"++instance Data.ToQuery ListDeviceIdentifiers where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDeviceIdentifiersResponse' smart constructor.+data ListDeviceIdentifiersResponse = ListDeviceIdentifiersResponse'+  { -- | Information about the device identifiers.+    deviceIdentifiers :: Prelude.Maybe [DeviceIdentifier],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDeviceIdentifiersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIdentifiers', 'listDeviceIdentifiersResponse_deviceIdentifiers' - Information about the device identifiers.+--+-- 'nextToken', 'listDeviceIdentifiersResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listDeviceIdentifiersResponse_httpStatus' - The response's http status code.+newListDeviceIdentifiersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListDeviceIdentifiersResponse+newListDeviceIdentifiersResponse pHttpStatus_ =+  ListDeviceIdentifiersResponse'+    { deviceIdentifiers =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the device identifiers.+listDeviceIdentifiersResponse_deviceIdentifiers :: Lens.Lens' ListDeviceIdentifiersResponse (Prelude.Maybe [DeviceIdentifier])+listDeviceIdentifiersResponse_deviceIdentifiers = Lens.lens (\ListDeviceIdentifiersResponse' {deviceIdentifiers} -> deviceIdentifiers) (\s@ListDeviceIdentifiersResponse' {} a -> s {deviceIdentifiers = a} :: ListDeviceIdentifiersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listDeviceIdentifiersResponse_nextToken :: Lens.Lens' ListDeviceIdentifiersResponse (Prelude.Maybe Prelude.Text)+listDeviceIdentifiersResponse_nextToken = Lens.lens (\ListDeviceIdentifiersResponse' {nextToken} -> nextToken) (\s@ListDeviceIdentifiersResponse' {} a -> s {nextToken = a} :: ListDeviceIdentifiersResponse)++-- | The response's http status code.+listDeviceIdentifiersResponse_httpStatus :: Lens.Lens' ListDeviceIdentifiersResponse Prelude.Int+listDeviceIdentifiersResponse_httpStatus = Lens.lens (\ListDeviceIdentifiersResponse' {httpStatus} -> httpStatus) (\s@ListDeviceIdentifiersResponse' {} a -> s {httpStatus = a} :: ListDeviceIdentifiersResponse)++instance Prelude.NFData ListDeviceIdentifiersResponse where+  rnf ListDeviceIdentifiersResponse' {..} =+    Prelude.rnf deviceIdentifiers+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/ListNetworkResources.hs view
@@ -0,0 +1,279 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ListNetworkResources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists network resources. Add filters to your request to return a more+-- specific list of results. Use filters to match the Amazon Resource Name+-- (ARN) of an order or the status of network resources.+--+-- If you specify multiple filters, filters are joined with an OR, and the+-- request returns results that match all of the specified filters.+--+-- This operation returns paginated results.+module Amazonka.PrivateNetworks.ListNetworkResources+  ( -- * Creating a Request+    ListNetworkResources (..),+    newListNetworkResources,++    -- * Request Lenses+    listNetworkResources_filters,+    listNetworkResources_maxResults,+    listNetworkResources_startToken,+    listNetworkResources_networkArn,++    -- * Destructuring the Response+    ListNetworkResourcesResponse (..),+    newListNetworkResourcesResponse,++    -- * Response Lenses+    listNetworkResourcesResponse_networkResources,+    listNetworkResourcesResponse_nextToken,+    listNetworkResourcesResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNetworkResources' smart constructor.+data ListNetworkResources = ListNetworkResources'+  { -- | The filters.+    --+    -- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+    --+    -- -   @STATUS@ - The status (@AVAILABLE@ | @DELETED@ | @DELETING@ |+    --     @PENDING@ | @PENDING_RETURN@ | @PROVISIONING@ | @SHIPPED@).+    --+    -- Filter values are case sensitive. If you specify multiple values for a+    -- filter, the values are joined with an @OR@, and the request returns all+    -- results that match any of the specified values.+    filters :: Prelude.Maybe (Prelude.HashMap NetworkResourceFilterKeys [Prelude.Text]),+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    startToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworkResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listNetworkResources_filters' - The filters.+--+-- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @DELETED@ | @DELETING@ |+--     @PENDING@ | @PENDING_RETURN@ | @PROVISIONING@ | @SHIPPED@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+--+-- 'maxResults', 'listNetworkResources_maxResults' - The maximum number of results to return.+--+-- 'startToken', 'listNetworkResources_startToken' - The token for the next page of results.+--+-- 'networkArn', 'listNetworkResources_networkArn' - The Amazon Resource Name (ARN) of the network.+newListNetworkResources ::+  -- | 'networkArn'+  Prelude.Text ->+  ListNetworkResources+newListNetworkResources pNetworkArn_ =+  ListNetworkResources'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      startToken = Prelude.Nothing,+      networkArn = pNetworkArn_+    }++-- | The filters.+--+-- -   @ORDER@ - The Amazon Resource Name (ARN) of the order.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @DELETED@ | @DELETING@ |+--     @PENDING@ | @PENDING_RETURN@ | @PROVISIONING@ | @SHIPPED@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+listNetworkResources_filters :: Lens.Lens' ListNetworkResources (Prelude.Maybe (Prelude.HashMap NetworkResourceFilterKeys [Prelude.Text]))+listNetworkResources_filters = Lens.lens (\ListNetworkResources' {filters} -> filters) (\s@ListNetworkResources' {} a -> s {filters = a} :: ListNetworkResources) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+listNetworkResources_maxResults :: Lens.Lens' ListNetworkResources (Prelude.Maybe Prelude.Natural)+listNetworkResources_maxResults = Lens.lens (\ListNetworkResources' {maxResults} -> maxResults) (\s@ListNetworkResources' {} a -> s {maxResults = a} :: ListNetworkResources)++-- | The token for the next page of results.+listNetworkResources_startToken :: Lens.Lens' ListNetworkResources (Prelude.Maybe Prelude.Text)+listNetworkResources_startToken = Lens.lens (\ListNetworkResources' {startToken} -> startToken) (\s@ListNetworkResources' {} a -> s {startToken = a} :: ListNetworkResources)++-- | The Amazon Resource Name (ARN) of the network.+listNetworkResources_networkArn :: Lens.Lens' ListNetworkResources Prelude.Text+listNetworkResources_networkArn = Lens.lens (\ListNetworkResources' {networkArn} -> networkArn) (\s@ListNetworkResources' {} a -> s {networkArn = a} :: ListNetworkResources)++instance Core.AWSPager ListNetworkResources where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listNetworkResourcesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listNetworkResourcesResponse_networkResources+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listNetworkResources_startToken+          Lens..~ rs+          Lens.^? listNetworkResourcesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListNetworkResources where+  type+    AWSResponse ListNetworkResources =+      ListNetworkResourcesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNetworkResourcesResponse'+            Prelude.<$> ( x+                            Data..?> "networkResources"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNetworkResources where+  hashWithSalt _salt ListNetworkResources' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` startToken+      `Prelude.hashWithSalt` networkArn++instance Prelude.NFData ListNetworkResources where+  rnf ListNetworkResources' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf startToken+      `Prelude.seq` Prelude.rnf networkArn++instance Data.ToHeaders ListNetworkResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListNetworkResources where+  toJSON ListNetworkResources' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("startToken" Data..=) Prelude.<$> startToken,+            Prelude.Just ("networkArn" Data..= networkArn)+          ]+      )++instance Data.ToPath ListNetworkResources where+  toPath = Prelude.const "/v1/network-resources"++instance Data.ToQuery ListNetworkResources where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListNetworkResourcesResponse' smart constructor.+data ListNetworkResourcesResponse = ListNetworkResourcesResponse'+  { -- | Information about network resources.+    networkResources :: Prelude.Maybe [NetworkResource],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworkResourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkResources', 'listNetworkResourcesResponse_networkResources' - Information about network resources.+--+-- 'nextToken', 'listNetworkResourcesResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listNetworkResourcesResponse_httpStatus' - The response's http status code.+newListNetworkResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNetworkResourcesResponse+newListNetworkResourcesResponse pHttpStatus_ =+  ListNetworkResourcesResponse'+    { networkResources =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about network resources.+listNetworkResourcesResponse_networkResources :: Lens.Lens' ListNetworkResourcesResponse (Prelude.Maybe [NetworkResource])+listNetworkResourcesResponse_networkResources = Lens.lens (\ListNetworkResourcesResponse' {networkResources} -> networkResources) (\s@ListNetworkResourcesResponse' {} a -> s {networkResources = a} :: ListNetworkResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listNetworkResourcesResponse_nextToken :: Lens.Lens' ListNetworkResourcesResponse (Prelude.Maybe Prelude.Text)+listNetworkResourcesResponse_nextToken = Lens.lens (\ListNetworkResourcesResponse' {nextToken} -> nextToken) (\s@ListNetworkResourcesResponse' {} a -> s {nextToken = a} :: ListNetworkResourcesResponse)++-- | The response's http status code.+listNetworkResourcesResponse_httpStatus :: Lens.Lens' ListNetworkResourcesResponse Prelude.Int+listNetworkResourcesResponse_httpStatus = Lens.lens (\ListNetworkResourcesResponse' {httpStatus} -> httpStatus) (\s@ListNetworkResourcesResponse' {} a -> s {httpStatus = a} :: ListNetworkResourcesResponse)++instance Prelude.NFData ListNetworkResourcesResponse where+  rnf ListNetworkResourcesResponse' {..} =+    Prelude.rnf networkResources+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/ListNetworkSites.hs view
@@ -0,0 +1,270 @@+{-# 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.PrivateNetworks.ListNetworkSites+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists network sites. Add filters to your request to return a more+-- specific list of results. Use filters to match the status of the network+-- site.+--+-- This operation returns paginated results.+module Amazonka.PrivateNetworks.ListNetworkSites+  ( -- * Creating a Request+    ListNetworkSites (..),+    newListNetworkSites,++    -- * Request Lenses+    listNetworkSites_filters,+    listNetworkSites_maxResults,+    listNetworkSites_startToken,+    listNetworkSites_networkArn,++    -- * Destructuring the Response+    ListNetworkSitesResponse (..),+    newListNetworkSitesResponse,++    -- * Response Lenses+    listNetworkSitesResponse_networkSites,+    listNetworkSitesResponse_nextToken,+    listNetworkSitesResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNetworkSites' smart constructor.+data ListNetworkSites = ListNetworkSites'+  { -- | The filters. Add filters to your request to return a more specific list+    -- of results. Use filters to match the status of the network sites.+    --+    -- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+    --     @DEPROVISIONING@ | @PROVISIONING@).+    --+    -- Filter values are case sensitive. If you specify multiple values for a+    -- filter, the values are joined with an @OR@, and the request returns all+    -- results that match any of the specified values.+    filters :: Prelude.Maybe (Prelude.HashMap NetworkSiteFilterKeys [Prelude.Text]),+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    startToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworkSites' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listNetworkSites_filters' - The filters. Add filters to your request to return a more specific list+-- of results. Use filters to match the status of the network sites.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+--     @DEPROVISIONING@ | @PROVISIONING@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+--+-- 'maxResults', 'listNetworkSites_maxResults' - The maximum number of results to return.+--+-- 'startToken', 'listNetworkSites_startToken' - The token for the next page of results.+--+-- 'networkArn', 'listNetworkSites_networkArn' - The Amazon Resource Name (ARN) of the network.+newListNetworkSites ::+  -- | 'networkArn'+  Prelude.Text ->+  ListNetworkSites+newListNetworkSites pNetworkArn_ =+  ListNetworkSites'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      startToken = Prelude.Nothing,+      networkArn = pNetworkArn_+    }++-- | The filters. Add filters to your request to return a more specific list+-- of results. Use filters to match the status of the network sites.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+--     @DEPROVISIONING@ | @PROVISIONING@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+listNetworkSites_filters :: Lens.Lens' ListNetworkSites (Prelude.Maybe (Prelude.HashMap NetworkSiteFilterKeys [Prelude.Text]))+listNetworkSites_filters = Lens.lens (\ListNetworkSites' {filters} -> filters) (\s@ListNetworkSites' {} a -> s {filters = a} :: ListNetworkSites) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+listNetworkSites_maxResults :: Lens.Lens' ListNetworkSites (Prelude.Maybe Prelude.Natural)+listNetworkSites_maxResults = Lens.lens (\ListNetworkSites' {maxResults} -> maxResults) (\s@ListNetworkSites' {} a -> s {maxResults = a} :: ListNetworkSites)++-- | The token for the next page of results.+listNetworkSites_startToken :: Lens.Lens' ListNetworkSites (Prelude.Maybe Prelude.Text)+listNetworkSites_startToken = Lens.lens (\ListNetworkSites' {startToken} -> startToken) (\s@ListNetworkSites' {} a -> s {startToken = a} :: ListNetworkSites)++-- | The Amazon Resource Name (ARN) of the network.+listNetworkSites_networkArn :: Lens.Lens' ListNetworkSites Prelude.Text+listNetworkSites_networkArn = Lens.lens (\ListNetworkSites' {networkArn} -> networkArn) (\s@ListNetworkSites' {} a -> s {networkArn = a} :: ListNetworkSites)++instance Core.AWSPager ListNetworkSites where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listNetworkSitesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listNetworkSitesResponse_networkSites+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listNetworkSites_startToken+          Lens..~ rs+          Lens.^? listNetworkSitesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListNetworkSites where+  type+    AWSResponse ListNetworkSites =+      ListNetworkSitesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNetworkSitesResponse'+            Prelude.<$> (x Data..?> "networkSites" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNetworkSites where+  hashWithSalt _salt ListNetworkSites' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` startToken+      `Prelude.hashWithSalt` networkArn++instance Prelude.NFData ListNetworkSites where+  rnf ListNetworkSites' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf startToken+      `Prelude.seq` Prelude.rnf networkArn++instance Data.ToHeaders ListNetworkSites where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListNetworkSites where+  toJSON ListNetworkSites' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("startToken" Data..=) Prelude.<$> startToken,+            Prelude.Just ("networkArn" Data..= networkArn)+          ]+      )++instance Data.ToPath ListNetworkSites where+  toPath = Prelude.const "/v1/network-sites/list"++instance Data.ToQuery ListNetworkSites where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListNetworkSitesResponse' smart constructor.+data ListNetworkSitesResponse = ListNetworkSitesResponse'+  { -- | Information about the network sites.+    networkSites :: Prelude.Maybe [NetworkSite],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworkSitesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSites', 'listNetworkSitesResponse_networkSites' - Information about the network sites.+--+-- 'nextToken', 'listNetworkSitesResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listNetworkSitesResponse_httpStatus' - The response's http status code.+newListNetworkSitesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNetworkSitesResponse+newListNetworkSitesResponse pHttpStatus_ =+  ListNetworkSitesResponse'+    { networkSites =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the network sites.+listNetworkSitesResponse_networkSites :: Lens.Lens' ListNetworkSitesResponse (Prelude.Maybe [NetworkSite])+listNetworkSitesResponse_networkSites = Lens.lens (\ListNetworkSitesResponse' {networkSites} -> networkSites) (\s@ListNetworkSitesResponse' {} a -> s {networkSites = a} :: ListNetworkSitesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listNetworkSitesResponse_nextToken :: Lens.Lens' ListNetworkSitesResponse (Prelude.Maybe Prelude.Text)+listNetworkSitesResponse_nextToken = Lens.lens (\ListNetworkSitesResponse' {nextToken} -> nextToken) (\s@ListNetworkSitesResponse' {} a -> s {nextToken = a} :: ListNetworkSitesResponse)++-- | The response's http status code.+listNetworkSitesResponse_httpStatus :: Lens.Lens' ListNetworkSitesResponse Prelude.Int+listNetworkSitesResponse_httpStatus = Lens.lens (\ListNetworkSitesResponse' {httpStatus} -> httpStatus) (\s@ListNetworkSitesResponse' {} a -> s {httpStatus = a} :: ListNetworkSitesResponse)++instance Prelude.NFData ListNetworkSitesResponse where+  rnf ListNetworkSitesResponse' {..} =+    Prelude.rnf networkSites+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/ListNetworks.hs view
@@ -0,0 +1,248 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.ListNetworks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists networks. Add filters to your request to return a more specific+-- list of results. Use filters to match the status of the network.+--+-- This operation returns paginated results.+module Amazonka.PrivateNetworks.ListNetworks+  ( -- * Creating a Request+    ListNetworks (..),+    newListNetworks,++    -- * Request Lenses+    listNetworks_filters,+    listNetworks_maxResults,+    listNetworks_startToken,++    -- * Destructuring the Response+    ListNetworksResponse (..),+    newListNetworksResponse,++    -- * Response Lenses+    listNetworksResponse_networks,+    listNetworksResponse_nextToken,+    listNetworksResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListNetworks' smart constructor.+data ListNetworks = ListNetworks'+  { -- | The filters.+    --+    -- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+    --     @DEPROVISIONING@ | @PROVISIONING@).+    --+    -- Filter values are case sensitive. If you specify multiple values for a+    -- filter, the values are joined with an @OR@, and the request returns all+    -- results that match any of the specified values.+    filters :: Prelude.Maybe (Prelude.HashMap NetworkFilterKeys [Prelude.Text]),+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    startToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listNetworks_filters' - The filters.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+--     @DEPROVISIONING@ | @PROVISIONING@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+--+-- 'maxResults', 'listNetworks_maxResults' - The maximum number of results to return.+--+-- 'startToken', 'listNetworks_startToken' - The token for the next page of results.+newListNetworks ::+  ListNetworks+newListNetworks =+  ListNetworks'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      startToken = Prelude.Nothing+    }++-- | The filters.+--+-- -   @STATUS@ - The status (@AVAILABLE@ | @CREATED@ | @DELETED@ |+--     @DEPROVISIONING@ | @PROVISIONING@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+listNetworks_filters :: Lens.Lens' ListNetworks (Prelude.Maybe (Prelude.HashMap NetworkFilterKeys [Prelude.Text]))+listNetworks_filters = Lens.lens (\ListNetworks' {filters} -> filters) (\s@ListNetworks' {} a -> s {filters = a} :: ListNetworks) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+listNetworks_maxResults :: Lens.Lens' ListNetworks (Prelude.Maybe Prelude.Natural)+listNetworks_maxResults = Lens.lens (\ListNetworks' {maxResults} -> maxResults) (\s@ListNetworks' {} a -> s {maxResults = a} :: ListNetworks)++-- | The token for the next page of results.+listNetworks_startToken :: Lens.Lens' ListNetworks (Prelude.Maybe Prelude.Text)+listNetworks_startToken = Lens.lens (\ListNetworks' {startToken} -> startToken) (\s@ListNetworks' {} a -> s {startToken = a} :: ListNetworks)++instance Core.AWSPager ListNetworks where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listNetworksResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listNetworksResponse_networks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listNetworks_startToken+          Lens..~ rs+          Lens.^? listNetworksResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListNetworks where+  type AWSResponse ListNetworks = ListNetworksResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListNetworksResponse'+            Prelude.<$> (x Data..?> "networks" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListNetworks where+  hashWithSalt _salt ListNetworks' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` startToken++instance Prelude.NFData ListNetworks where+  rnf ListNetworks' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf startToken++instance Data.ToHeaders ListNetworks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListNetworks where+  toJSON ListNetworks' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("startToken" Data..=) Prelude.<$> startToken+          ]+      )++instance Data.ToPath ListNetworks where+  toPath = Prelude.const "/v1/networks/list"++instance Data.ToQuery ListNetworks where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListNetworksResponse' smart constructor.+data ListNetworksResponse = ListNetworksResponse'+  { -- | The networks.+    networks :: Prelude.Maybe [Network],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNetworksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networks', 'listNetworksResponse_networks' - The networks.+--+-- 'nextToken', 'listNetworksResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listNetworksResponse_httpStatus' - The response's http status code.+newListNetworksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListNetworksResponse+newListNetworksResponse pHttpStatus_ =+  ListNetworksResponse'+    { networks = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The networks.+listNetworksResponse_networks :: Lens.Lens' ListNetworksResponse (Prelude.Maybe [Network])+listNetworksResponse_networks = Lens.lens (\ListNetworksResponse' {networks} -> networks) (\s@ListNetworksResponse' {} a -> s {networks = a} :: ListNetworksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listNetworksResponse_nextToken :: Lens.Lens' ListNetworksResponse (Prelude.Maybe Prelude.Text)+listNetworksResponse_nextToken = Lens.lens (\ListNetworksResponse' {nextToken} -> nextToken) (\s@ListNetworksResponse' {} a -> s {nextToken = a} :: ListNetworksResponse)++-- | The response's http status code.+listNetworksResponse_httpStatus :: Lens.Lens' ListNetworksResponse Prelude.Int+listNetworksResponse_httpStatus = Lens.lens (\ListNetworksResponse' {httpStatus} -> httpStatus) (\s@ListNetworksResponse' {} a -> s {httpStatus = a} :: ListNetworksResponse)++instance Prelude.NFData ListNetworksResponse where+  rnf ListNetworksResponse' {..} =+    Prelude.rnf networks+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/ListOrders.hs view
@@ -0,0 +1,273 @@+{-# 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.PrivateNetworks.ListOrders+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists orders. Add filters to your request to return a more specific list+-- of results. Use filters to match the Amazon Resource Name (ARN) of the+-- network site or the status of the order.+--+-- If you specify multiple filters, filters are joined with an OR, and the+-- request returns results that match all of the specified filters.+--+-- This operation returns paginated results.+module Amazonka.PrivateNetworks.ListOrders+  ( -- * Creating a Request+    ListOrders (..),+    newListOrders,++    -- * Request Lenses+    listOrders_filters,+    listOrders_maxResults,+    listOrders_startToken,+    listOrders_networkArn,++    -- * Destructuring the Response+    ListOrdersResponse (..),+    newListOrdersResponse,++    -- * Response Lenses+    listOrdersResponse_nextToken,+    listOrdersResponse_orders,+    listOrdersResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOrders' smart constructor.+data ListOrders = ListOrders'+  { -- | The filters.+    --+    -- -   @NETWORK_SITE@ - The Amazon Resource Name (ARN) of the network site.+    --+    -- -   @STATUS@ - The status (@ACKNOWLEDGING@ | @ACKNOWLEDGED@ |+    --     @UNACKNOWLEDGED@).+    --+    -- Filter values are case sensitive. If you specify multiple values for a+    -- filter, the values are joined with an @OR@, and the request returns all+    -- results that match any of the specified values.+    filters :: Prelude.Maybe (Prelude.HashMap OrderFilterKeys [Prelude.Text]),+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    startToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOrders' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listOrders_filters' - The filters.+--+-- -   @NETWORK_SITE@ - The Amazon Resource Name (ARN) of the network site.+--+-- -   @STATUS@ - The status (@ACKNOWLEDGING@ | @ACKNOWLEDGED@ |+--     @UNACKNOWLEDGED@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+--+-- 'maxResults', 'listOrders_maxResults' - The maximum number of results to return.+--+-- 'startToken', 'listOrders_startToken' - The token for the next page of results.+--+-- 'networkArn', 'listOrders_networkArn' - The Amazon Resource Name (ARN) of the network.+newListOrders ::+  -- | 'networkArn'+  Prelude.Text ->+  ListOrders+newListOrders pNetworkArn_ =+  ListOrders'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      startToken = Prelude.Nothing,+      networkArn = pNetworkArn_+    }++-- | The filters.+--+-- -   @NETWORK_SITE@ - The Amazon Resource Name (ARN) of the network site.+--+-- -   @STATUS@ - The status (@ACKNOWLEDGING@ | @ACKNOWLEDGED@ |+--     @UNACKNOWLEDGED@).+--+-- Filter values are case sensitive. If you specify multiple values for a+-- filter, the values are joined with an @OR@, and the request returns all+-- results that match any of the specified values.+listOrders_filters :: Lens.Lens' ListOrders (Prelude.Maybe (Prelude.HashMap OrderFilterKeys [Prelude.Text]))+listOrders_filters = Lens.lens (\ListOrders' {filters} -> filters) (\s@ListOrders' {} a -> s {filters = a} :: ListOrders) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+listOrders_maxResults :: Lens.Lens' ListOrders (Prelude.Maybe Prelude.Natural)+listOrders_maxResults = Lens.lens (\ListOrders' {maxResults} -> maxResults) (\s@ListOrders' {} a -> s {maxResults = a} :: ListOrders)++-- | The token for the next page of results.+listOrders_startToken :: Lens.Lens' ListOrders (Prelude.Maybe Prelude.Text)+listOrders_startToken = Lens.lens (\ListOrders' {startToken} -> startToken) (\s@ListOrders' {} a -> s {startToken = a} :: ListOrders)++-- | The Amazon Resource Name (ARN) of the network.+listOrders_networkArn :: Lens.Lens' ListOrders Prelude.Text+listOrders_networkArn = Lens.lens (\ListOrders' {networkArn} -> networkArn) (\s@ListOrders' {} a -> s {networkArn = a} :: ListOrders)++instance Core.AWSPager ListOrders where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listOrdersResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listOrdersResponse_orders+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listOrders_startToken+          Lens..~ rs+          Lens.^? listOrdersResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListOrders where+  type AWSResponse ListOrders = ListOrdersResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListOrdersResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "orders" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListOrders where+  hashWithSalt _salt ListOrders' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` startToken+      `Prelude.hashWithSalt` networkArn++instance Prelude.NFData ListOrders where+  rnf ListOrders' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf startToken+      `Prelude.seq` Prelude.rnf networkArn++instance Data.ToHeaders ListOrders where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListOrders where+  toJSON ListOrders' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("startToken" Data..=) Prelude.<$> startToken,+            Prelude.Just ("networkArn" Data..= networkArn)+          ]+      )++instance Data.ToPath ListOrders where+  toPath = Prelude.const "/v1/orders/list"++instance Data.ToQuery ListOrders where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListOrdersResponse' smart constructor.+data ListOrdersResponse = ListOrdersResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Information about the orders.+    orders :: Prelude.Maybe [Order],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOrdersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOrdersResponse_nextToken' - The token for the next page of results.+--+-- 'orders', 'listOrdersResponse_orders' - Information about the orders.+--+-- 'httpStatus', 'listOrdersResponse_httpStatus' - The response's http status code.+newListOrdersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListOrdersResponse+newListOrdersResponse pHttpStatus_ =+  ListOrdersResponse'+    { nextToken = Prelude.Nothing,+      orders = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token for the next page of results.+listOrdersResponse_nextToken :: Lens.Lens' ListOrdersResponse (Prelude.Maybe Prelude.Text)+listOrdersResponse_nextToken = Lens.lens (\ListOrdersResponse' {nextToken} -> nextToken) (\s@ListOrdersResponse' {} a -> s {nextToken = a} :: ListOrdersResponse)++-- | Information about the orders.+listOrdersResponse_orders :: Lens.Lens' ListOrdersResponse (Prelude.Maybe [Order])+listOrdersResponse_orders = Lens.lens (\ListOrdersResponse' {orders} -> orders) (\s@ListOrdersResponse' {} a -> s {orders = a} :: ListOrdersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listOrdersResponse_httpStatus :: Lens.Lens' ListOrdersResponse Prelude.Int+listOrdersResponse_httpStatus = Lens.lens (\ListOrdersResponse' {httpStatus} -> httpStatus) (\s@ListOrdersResponse' {} a -> s {httpStatus = a} :: ListOrdersResponse)++instance Prelude.NFData ListOrdersResponse where+  rnf ListOrdersResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf orders+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/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.PrivateNetworks.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags for the specified resource.+module Amazonka.PrivateNetworks.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 qualified Amazonka.Prelude as Prelude+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.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'+  { -- | The resource tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The resource tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The resource 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 (Data._Sensitive Prelude.. 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/PrivateNetworks/Ping.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.Ping+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks the health of the service.+module Amazonka.PrivateNetworks.Ping+  ( -- * Creating a Request+    Ping (..),+    newPing,++    -- * Destructuring the Response+    PingResponse (..),+    newPingResponse,++    -- * Response Lenses+    pingResponse_status,+    pingResponse_httpStatus,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPing' smart constructor.+data Ping = Ping'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Ping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPing ::+  Ping+newPing = Ping'++instance Core.AWSRequest Ping where+  type AWSResponse Ping = PingResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PingResponse'+            Prelude.<$> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable Ping where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData Ping where+  rnf _ = ()++instance Data.ToHeaders Ping where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath Ping where+  toPath = Prelude.const "/ping"++instance Data.ToQuery Ping where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPingResponse' smart constructor.+data PingResponse = PingResponse'+  { -- | Information about the health of the service.+    status :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'pingResponse_status' - Information about the health of the service.+--+-- 'httpStatus', 'pingResponse_httpStatus' - The response's http status code.+newPingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PingResponse+newPingResponse pHttpStatus_ =+  PingResponse'+    { status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the health of the service.+pingResponse_status :: Lens.Lens' PingResponse (Prelude.Maybe Prelude.Text)+pingResponse_status = Lens.lens (\PingResponse' {status} -> status) (\s@PingResponse' {} a -> s {status = a} :: PingResponse)++-- | The response's http status code.+pingResponse_httpStatus :: Lens.Lens' PingResponse Prelude.Int+pingResponse_httpStatus = Lens.lens (\PingResponse' {httpStatus} -> httpStatus) (\s@PingResponse' {} a -> s {httpStatus = a} :: PingResponse)++instance Prelude.NFData PingResponse where+  rnf PingResponse' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/PrivateNetworks/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.PrivateNetworks.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds tags to the specified resource.+module Amazonka.PrivateNetworks.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 qualified Amazonka.Prelude as Prelude+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tags to add to the resource.+    tags :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tags', 'tagResource_tags' - The tags to add to the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to add to 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.. Data._Sensitive 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/PrivateNetworks/Types.hs view
@@ -0,0 +1,344 @@+{-# 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.PrivateNetworks.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.PrivateNetworks.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _InternalServerException,+    _LimitExceededException,+    _ResourceNotFoundException,+    _ThrottlingException,+    _ValidationException,++    -- * AcknowledgmentStatus+    AcknowledgmentStatus (..),++    -- * DeviceIdentifierFilterKeys+    DeviceIdentifierFilterKeys (..),++    -- * DeviceIdentifierStatus+    DeviceIdentifierStatus (..),++    -- * ElevationReference+    ElevationReference (..),++    -- * ElevationUnit+    ElevationUnit (..),++    -- * HealthStatus+    HealthStatus (..),++    -- * NetworkFilterKeys+    NetworkFilterKeys (..),++    -- * NetworkResourceDefinitionType+    NetworkResourceDefinitionType (..),++    -- * NetworkResourceFilterKeys+    NetworkResourceFilterKeys (..),++    -- * NetworkResourceStatus+    NetworkResourceStatus (..),++    -- * NetworkResourceType+    NetworkResourceType (..),++    -- * NetworkSiteFilterKeys+    NetworkSiteFilterKeys (..),++    -- * NetworkSiteStatus+    NetworkSiteStatus (..),++    -- * NetworkStatus+    NetworkStatus (..),++    -- * OrderFilterKeys+    OrderFilterKeys (..),++    -- * Address+    Address (..),+    newAddress,+    address_company,+    address_phoneNumber,+    address_street2,+    address_street3,+    address_city,+    address_country,+    address_name,+    address_postalCode,+    address_stateOrProvince,+    address_street1,++    -- * DeviceIdentifier+    DeviceIdentifier (..),+    newDeviceIdentifier,+    deviceIdentifier_createdAt,+    deviceIdentifier_deviceIdentifierArn,+    deviceIdentifier_iccid,+    deviceIdentifier_imsi,+    deviceIdentifier_networkArn,+    deviceIdentifier_orderArn,+    deviceIdentifier_status,+    deviceIdentifier_trafficGroupArn,+    deviceIdentifier_vendor,++    -- * NameValuePair+    NameValuePair (..),+    newNameValuePair,+    nameValuePair_value,+    nameValuePair_name,++    -- * Network+    Network (..),+    newNetwork,+    network_createdAt,+    network_description,+    network_statusReason,+    network_networkArn,+    network_networkName,+    network_status,++    -- * NetworkResource+    NetworkResource (..),+    newNetworkResource,+    networkResource_attributes,+    networkResource_createdAt,+    networkResource_description,+    networkResource_health,+    networkResource_model,+    networkResource_networkArn,+    networkResource_networkResourceArn,+    networkResource_networkSiteArn,+    networkResource_orderArn,+    networkResource_position,+    networkResource_serialNumber,+    networkResource_status,+    networkResource_statusReason,+    networkResource_type,+    networkResource_vendor,++    -- * NetworkResourceDefinition+    NetworkResourceDefinition (..),+    newNetworkResourceDefinition,+    networkResourceDefinition_options,+    networkResourceDefinition_count,+    networkResourceDefinition_type,++    -- * NetworkSite+    NetworkSite (..),+    newNetworkSite,+    networkSite_availabilityZone,+    networkSite_availabilityZoneId,+    networkSite_createdAt,+    networkSite_currentPlan,+    networkSite_description,+    networkSite_pendingPlan,+    networkSite_statusReason,+    networkSite_networkArn,+    networkSite_networkSiteArn,+    networkSite_networkSiteName,+    networkSite_status,++    -- * Order+    Order (..),+    newOrder,+    order_acknowledgmentStatus,+    order_createdAt,+    order_networkArn,+    order_networkSiteArn,+    order_orderArn,+    order_shippingAddress,+    order_trackingInformation,++    -- * Position+    Position (..),+    newPosition,+    position_elevation,+    position_elevationReference,+    position_elevationUnit,+    position_latitude,+    position_longitude,++    -- * SitePlan+    SitePlan (..),+    newSitePlan,+    sitePlan_options,+    sitePlan_resourceDefinitions,++    -- * TrackingInformation+    TrackingInformation (..),+    newTrackingInformation,+    trackingInformation_trackingNumber,++    -- * UpdateNetworkSiteResponse+    UpdateNetworkSiteResponse (..),+    newUpdateNetworkSiteResponse,+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.PrivateNetworks.Types.AcknowledgmentStatus+import Amazonka.PrivateNetworks.Types.Address+import Amazonka.PrivateNetworks.Types.DeviceIdentifier+import Amazonka.PrivateNetworks.Types.DeviceIdentifierFilterKeys+import Amazonka.PrivateNetworks.Types.DeviceIdentifierStatus+import Amazonka.PrivateNetworks.Types.ElevationReference+import Amazonka.PrivateNetworks.Types.ElevationUnit+import Amazonka.PrivateNetworks.Types.HealthStatus+import Amazonka.PrivateNetworks.Types.NameValuePair+import Amazonka.PrivateNetworks.Types.Network+import Amazonka.PrivateNetworks.Types.NetworkFilterKeys+import Amazonka.PrivateNetworks.Types.NetworkResource+import Amazonka.PrivateNetworks.Types.NetworkResourceDefinition+import Amazonka.PrivateNetworks.Types.NetworkResourceDefinitionType+import Amazonka.PrivateNetworks.Types.NetworkResourceFilterKeys+import Amazonka.PrivateNetworks.Types.NetworkResourceStatus+import Amazonka.PrivateNetworks.Types.NetworkResourceType+import Amazonka.PrivateNetworks.Types.NetworkSite+import Amazonka.PrivateNetworks.Types.NetworkSiteFilterKeys+import Amazonka.PrivateNetworks.Types.NetworkSiteStatus+import Amazonka.PrivateNetworks.Types.NetworkStatus+import Amazonka.PrivateNetworks.Types.Order+import Amazonka.PrivateNetworks.Types.OrderFilterKeys+import Amazonka.PrivateNetworks.Types.Position+import Amazonka.PrivateNetworks.Types.SitePlan+import Amazonka.PrivateNetworks.Types.TrackingInformation+import Amazonka.PrivateNetworks.Types.UpdateNetworkSiteResponse+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-12-03@ of the Amazon Private 5G SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "PrivateNetworks",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "private-networks",+      Core.signingName = "private-networks",+      Core.version = "2021-12-03",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "PrivateNetworks",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You do not have permission to perform this operation.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | Information about an internal error.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The limit was exceeded.+_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_LimitExceededException =+  Core._MatchServiceError+    defaultService+    "LimitExceededException"+    Prelude.. Core.hasStatus 400++-- | The resource was not found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The request failed validation.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/PrivateNetworks/Types/AcknowledgmentStatus.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.PrivateNetworks.Types.AcknowledgmentStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.AcknowledgmentStatus+  ( AcknowledgmentStatus+      ( ..,+        AcknowledgmentStatus_ACKNOWLEDGED,+        AcknowledgmentStatus_ACKNOWLEDGING,+        AcknowledgmentStatus_UNACKNOWLEDGED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AcknowledgmentStatus = AcknowledgmentStatus'+  { fromAcknowledgmentStatus ::+      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 AcknowledgmentStatus_ACKNOWLEDGED :: AcknowledgmentStatus+pattern AcknowledgmentStatus_ACKNOWLEDGED = AcknowledgmentStatus' "ACKNOWLEDGED"++pattern AcknowledgmentStatus_ACKNOWLEDGING :: AcknowledgmentStatus+pattern AcknowledgmentStatus_ACKNOWLEDGING = AcknowledgmentStatus' "ACKNOWLEDGING"++pattern AcknowledgmentStatus_UNACKNOWLEDGED :: AcknowledgmentStatus+pattern AcknowledgmentStatus_UNACKNOWLEDGED = AcknowledgmentStatus' "UNACKNOWLEDGED"++{-# COMPLETE+  AcknowledgmentStatus_ACKNOWLEDGED,+  AcknowledgmentStatus_ACKNOWLEDGING,+  AcknowledgmentStatus_UNACKNOWLEDGED,+  AcknowledgmentStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/Address.hs view
@@ -0,0 +1,217 @@+{-# 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.PrivateNetworks.Types.Address+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.Address where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about an address.+--+-- /See:/ 'newAddress' smart constructor.+data Address = Address'+  { -- | The company name for this address.+    company :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The phone number for this address.+    phoneNumber :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The second line of the street address.+    street2 :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The third line of the street address.+    street3 :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The city for this address.+    city :: Data.Sensitive Prelude.Text,+    -- | The country for this address.+    country :: Data.Sensitive Prelude.Text,+    -- | The recipient\'s name for this address.+    name :: Data.Sensitive Prelude.Text,+    -- | The postal code for this address.+    postalCode :: Data.Sensitive Prelude.Text,+    -- | The state or province for this address.+    stateOrProvince :: Data.Sensitive Prelude.Text,+    -- | The first line of the street address.+    street1 :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Address' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'company', 'address_company' - The company name for this address.+--+-- 'phoneNumber', 'address_phoneNumber' - The phone number for this address.+--+-- 'street2', 'address_street2' - The second line of the street address.+--+-- 'street3', 'address_street3' - The third line of the street address.+--+-- 'city', 'address_city' - The city for this address.+--+-- 'country', 'address_country' - The country for this address.+--+-- 'name', 'address_name' - The recipient\'s name for this address.+--+-- 'postalCode', 'address_postalCode' - The postal code for this address.+--+-- 'stateOrProvince', 'address_stateOrProvince' - The state or province for this address.+--+-- 'street1', 'address_street1' - The first line of the street address.+newAddress ::+  -- | 'city'+  Prelude.Text ->+  -- | 'country'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'postalCode'+  Prelude.Text ->+  -- | 'stateOrProvince'+  Prelude.Text ->+  -- | 'street1'+  Prelude.Text ->+  Address+newAddress+  pCity_+  pCountry_+  pName_+  pPostalCode_+  pStateOrProvince_+  pStreet1_ =+    Address'+      { company = Prelude.Nothing,+        phoneNumber = Prelude.Nothing,+        street2 = Prelude.Nothing,+        street3 = Prelude.Nothing,+        city = Data._Sensitive Lens.# pCity_,+        country = Data._Sensitive Lens.# pCountry_,+        name = Data._Sensitive Lens.# pName_,+        postalCode = Data._Sensitive Lens.# pPostalCode_,+        stateOrProvince =+          Data._Sensitive Lens.# pStateOrProvince_,+        street1 = Data._Sensitive Lens.# pStreet1_+      }++-- | The company name for this address.+address_company :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_company = Lens.lens (\Address' {company} -> company) (\s@Address' {} a -> s {company = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The phone number for this address.+address_phoneNumber :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_phoneNumber = Lens.lens (\Address' {phoneNumber} -> phoneNumber) (\s@Address' {} a -> s {phoneNumber = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The second line of the street address.+address_street2 :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_street2 = Lens.lens (\Address' {street2} -> street2) (\s@Address' {} a -> s {street2 = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The third line of the street address.+address_street3 :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_street3 = Lens.lens (\Address' {street3} -> street3) (\s@Address' {} a -> s {street3 = a} :: Address) Prelude.. Lens.mapping Data._Sensitive++-- | The city for this address.+address_city :: Lens.Lens' Address Prelude.Text+address_city = Lens.lens (\Address' {city} -> city) (\s@Address' {} a -> s {city = a} :: Address) Prelude.. Data._Sensitive++-- | The country for this address.+address_country :: Lens.Lens' Address Prelude.Text+address_country = Lens.lens (\Address' {country} -> country) (\s@Address' {} a -> s {country = a} :: Address) Prelude.. Data._Sensitive++-- | The recipient\'s name for this address.+address_name :: Lens.Lens' Address Prelude.Text+address_name = Lens.lens (\Address' {name} -> name) (\s@Address' {} a -> s {name = a} :: Address) Prelude.. Data._Sensitive++-- | The postal code for this address.+address_postalCode :: Lens.Lens' Address Prelude.Text+address_postalCode = Lens.lens (\Address' {postalCode} -> postalCode) (\s@Address' {} a -> s {postalCode = a} :: Address) Prelude.. Data._Sensitive++-- | The state or province for this address.+address_stateOrProvince :: Lens.Lens' Address Prelude.Text+address_stateOrProvince = Lens.lens (\Address' {stateOrProvince} -> stateOrProvince) (\s@Address' {} a -> s {stateOrProvince = a} :: Address) Prelude.. Data._Sensitive++-- | The first line of the street address.+address_street1 :: Lens.Lens' Address Prelude.Text+address_street1 = Lens.lens (\Address' {street1} -> street1) (\s@Address' {} a -> s {street1 = a} :: Address) Prelude.. Data._Sensitive++instance Data.FromJSON Address where+  parseJSON =+    Data.withObject+      "Address"+      ( \x ->+          Address'+            Prelude.<$> (x Data..:? "company")+            Prelude.<*> (x Data..:? "phoneNumber")+            Prelude.<*> (x Data..:? "street2")+            Prelude.<*> (x Data..:? "street3")+            Prelude.<*> (x Data..: "city")+            Prelude.<*> (x Data..: "country")+            Prelude.<*> (x Data..: "name")+            Prelude.<*> (x Data..: "postalCode")+            Prelude.<*> (x Data..: "stateOrProvince")+            Prelude.<*> (x Data..: "street1")+      )++instance Prelude.Hashable Address where+  hashWithSalt _salt Address' {..} =+    _salt+      `Prelude.hashWithSalt` company+      `Prelude.hashWithSalt` phoneNumber+      `Prelude.hashWithSalt` street2+      `Prelude.hashWithSalt` street3+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` country+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` postalCode+      `Prelude.hashWithSalt` stateOrProvince+      `Prelude.hashWithSalt` street1++instance Prelude.NFData Address where+  rnf Address' {..} =+    Prelude.rnf company+      `Prelude.seq` Prelude.rnf phoneNumber+      `Prelude.seq` Prelude.rnf street2+      `Prelude.seq` Prelude.rnf street3+      `Prelude.seq` Prelude.rnf city+      `Prelude.seq` Prelude.rnf country+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf postalCode+      `Prelude.seq` Prelude.rnf stateOrProvince+      `Prelude.seq` Prelude.rnf street1++instance Data.ToJSON Address where+  toJSON Address' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("company" Data..=) Prelude.<$> company,+            ("phoneNumber" Data..=) Prelude.<$> phoneNumber,+            ("street2" Data..=) Prelude.<$> street2,+            ("street3" Data..=) Prelude.<$> street3,+            Prelude.Just ("city" Data..= city),+            Prelude.Just ("country" Data..= country),+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("postalCode" Data..= postalCode),+            Prelude.Just+              ("stateOrProvince" Data..= stateOrProvince),+            Prelude.Just ("street1" Data..= street1)+          ]+      )
+ gen/Amazonka/PrivateNetworks/Types/DeviceIdentifier.hs view
@@ -0,0 +1,178 @@+{-# 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.PrivateNetworks.Types.DeviceIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.DeviceIdentifier 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+import Amazonka.PrivateNetworks.Types.DeviceIdentifierStatus++-- | Information about a subscriber of a device that can use a network.+--+-- /See:/ 'newDeviceIdentifier' smart constructor.+data DeviceIdentifier = DeviceIdentifier'+  { -- | The creation time of this device identifier.+    createdAt :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon Resource Name (ARN) of the device identifier.+    deviceIdentifierArn :: Prelude.Maybe Prelude.Text,+    -- | The Integrated Circuit Card Identifier of the device identifier.+    iccid :: Prelude.Maybe Prelude.Text,+    -- | The International Mobile Subscriber Identity of the device identifier.+    imsi :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The Amazon Resource Name (ARN) of the network on which the device+    -- identifier appears.+    networkArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the order used to purchase the device+    -- identifier.+    orderArn :: Prelude.Maybe Prelude.Text,+    -- | The status of the device identifier.+    status :: Prelude.Maybe DeviceIdentifierStatus,+    -- | The Amazon Resource Name (ARN) of the traffic group to which the device+    -- identifier belongs.+    trafficGroupArn :: Prelude.Maybe Prelude.Text,+    -- | The vendor of the device identifier.+    vendor :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeviceIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'deviceIdentifier_createdAt' - The creation time of this device identifier.+--+-- 'deviceIdentifierArn', 'deviceIdentifier_deviceIdentifierArn' - The Amazon Resource Name (ARN) of the device identifier.+--+-- 'iccid', 'deviceIdentifier_iccid' - The Integrated Circuit Card Identifier of the device identifier.+--+-- 'imsi', 'deviceIdentifier_imsi' - The International Mobile Subscriber Identity of the device identifier.+--+-- 'networkArn', 'deviceIdentifier_networkArn' - The Amazon Resource Name (ARN) of the network on which the device+-- identifier appears.+--+-- 'orderArn', 'deviceIdentifier_orderArn' - The Amazon Resource Name (ARN) of the order used to purchase the device+-- identifier.+--+-- 'status', 'deviceIdentifier_status' - The status of the device identifier.+--+-- 'trafficGroupArn', 'deviceIdentifier_trafficGroupArn' - The Amazon Resource Name (ARN) of the traffic group to which the device+-- identifier belongs.+--+-- 'vendor', 'deviceIdentifier_vendor' - The vendor of the device identifier.+newDeviceIdentifier ::+  DeviceIdentifier+newDeviceIdentifier =+  DeviceIdentifier'+    { createdAt = Prelude.Nothing,+      deviceIdentifierArn = Prelude.Nothing,+      iccid = Prelude.Nothing,+      imsi = Prelude.Nothing,+      networkArn = Prelude.Nothing,+      orderArn = Prelude.Nothing,+      status = Prelude.Nothing,+      trafficGroupArn = Prelude.Nothing,+      vendor = Prelude.Nothing+    }++-- | The creation time of this device identifier.+deviceIdentifier_createdAt :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.UTCTime)+deviceIdentifier_createdAt = Lens.lens (\DeviceIdentifier' {createdAt} -> createdAt) (\s@DeviceIdentifier' {} a -> s {createdAt = a} :: DeviceIdentifier) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the device identifier.+deviceIdentifier_deviceIdentifierArn :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_deviceIdentifierArn = Lens.lens (\DeviceIdentifier' {deviceIdentifierArn} -> deviceIdentifierArn) (\s@DeviceIdentifier' {} a -> s {deviceIdentifierArn = a} :: DeviceIdentifier)++-- | The Integrated Circuit Card Identifier of the device identifier.+deviceIdentifier_iccid :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_iccid = Lens.lens (\DeviceIdentifier' {iccid} -> iccid) (\s@DeviceIdentifier' {} a -> s {iccid = a} :: DeviceIdentifier)++-- | The International Mobile Subscriber Identity of the device identifier.+deviceIdentifier_imsi :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_imsi = Lens.lens (\DeviceIdentifier' {imsi} -> imsi) (\s@DeviceIdentifier' {} a -> s {imsi = a} :: DeviceIdentifier) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Resource Name (ARN) of the network on which the device+-- identifier appears.+deviceIdentifier_networkArn :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_networkArn = Lens.lens (\DeviceIdentifier' {networkArn} -> networkArn) (\s@DeviceIdentifier' {} a -> s {networkArn = a} :: DeviceIdentifier)++-- | The Amazon Resource Name (ARN) of the order used to purchase the device+-- identifier.+deviceIdentifier_orderArn :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_orderArn = Lens.lens (\DeviceIdentifier' {orderArn} -> orderArn) (\s@DeviceIdentifier' {} a -> s {orderArn = a} :: DeviceIdentifier)++-- | The status of the device identifier.+deviceIdentifier_status :: Lens.Lens' DeviceIdentifier (Prelude.Maybe DeviceIdentifierStatus)+deviceIdentifier_status = Lens.lens (\DeviceIdentifier' {status} -> status) (\s@DeviceIdentifier' {} a -> s {status = a} :: DeviceIdentifier)++-- | The Amazon Resource Name (ARN) of the traffic group to which the device+-- identifier belongs.+deviceIdentifier_trafficGroupArn :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_trafficGroupArn = Lens.lens (\DeviceIdentifier' {trafficGroupArn} -> trafficGroupArn) (\s@DeviceIdentifier' {} a -> s {trafficGroupArn = a} :: DeviceIdentifier)++-- | The vendor of the device identifier.+deviceIdentifier_vendor :: Lens.Lens' DeviceIdentifier (Prelude.Maybe Prelude.Text)+deviceIdentifier_vendor = Lens.lens (\DeviceIdentifier' {vendor} -> vendor) (\s@DeviceIdentifier' {} a -> s {vendor = a} :: DeviceIdentifier)++instance Data.FromJSON DeviceIdentifier where+  parseJSON =+    Data.withObject+      "DeviceIdentifier"+      ( \x ->+          DeviceIdentifier'+            Prelude.<$> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "deviceIdentifierArn")+            Prelude.<*> (x Data..:? "iccid")+            Prelude.<*> (x Data..:? "imsi")+            Prelude.<*> (x Data..:? "networkArn")+            Prelude.<*> (x Data..:? "orderArn")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "trafficGroupArn")+            Prelude.<*> (x Data..:? "vendor")+      )++instance Prelude.Hashable DeviceIdentifier where+  hashWithSalt _salt DeviceIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` deviceIdentifierArn+      `Prelude.hashWithSalt` iccid+      `Prelude.hashWithSalt` imsi+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` orderArn+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` trafficGroupArn+      `Prelude.hashWithSalt` vendor++instance Prelude.NFData DeviceIdentifier where+  rnf DeviceIdentifier' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf deviceIdentifierArn+      `Prelude.seq` Prelude.rnf iccid+      `Prelude.seq` Prelude.rnf imsi+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf orderArn+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf trafficGroupArn+      `Prelude.seq` Prelude.rnf vendor
+ gen/Amazonka/PrivateNetworks/Types/DeviceIdentifierFilterKeys.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.PrivateNetworks.Types.DeviceIdentifierFilterKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.DeviceIdentifierFilterKeys+  ( DeviceIdentifierFilterKeys+      ( ..,+        DeviceIdentifierFilterKeys_ORDER,+        DeviceIdentifierFilterKeys_STATUS,+        DeviceIdentifierFilterKeys_TRAFFIC_GROUP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceIdentifierFilterKeys = DeviceIdentifierFilterKeys'+  { fromDeviceIdentifierFilterKeys ::+      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 DeviceIdentifierFilterKeys_ORDER :: DeviceIdentifierFilterKeys+pattern DeviceIdentifierFilterKeys_ORDER = DeviceIdentifierFilterKeys' "ORDER"++pattern DeviceIdentifierFilterKeys_STATUS :: DeviceIdentifierFilterKeys+pattern DeviceIdentifierFilterKeys_STATUS = DeviceIdentifierFilterKeys' "STATUS"++pattern DeviceIdentifierFilterKeys_TRAFFIC_GROUP :: DeviceIdentifierFilterKeys+pattern DeviceIdentifierFilterKeys_TRAFFIC_GROUP = DeviceIdentifierFilterKeys' "TRAFFIC_GROUP"++{-# COMPLETE+  DeviceIdentifierFilterKeys_ORDER,+  DeviceIdentifierFilterKeys_STATUS,+  DeviceIdentifierFilterKeys_TRAFFIC_GROUP,+  DeviceIdentifierFilterKeys'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/DeviceIdentifierStatus.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.PrivateNetworks.Types.DeviceIdentifierStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.DeviceIdentifierStatus+  ( DeviceIdentifierStatus+      ( ..,+        DeviceIdentifierStatus_ACTIVE,+        DeviceIdentifierStatus_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceIdentifierStatus = DeviceIdentifierStatus'+  { fromDeviceIdentifierStatus ::+      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 DeviceIdentifierStatus_ACTIVE :: DeviceIdentifierStatus+pattern DeviceIdentifierStatus_ACTIVE = DeviceIdentifierStatus' "ACTIVE"++pattern DeviceIdentifierStatus_INACTIVE :: DeviceIdentifierStatus+pattern DeviceIdentifierStatus_INACTIVE = DeviceIdentifierStatus' "INACTIVE"++{-# COMPLETE+  DeviceIdentifierStatus_ACTIVE,+  DeviceIdentifierStatus_INACTIVE,+  DeviceIdentifierStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/ElevationReference.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.PrivateNetworks.Types.ElevationReference+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.ElevationReference+  ( ElevationReference+      ( ..,+        ElevationReference_AGL,+        ElevationReference_AMSL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ElevationReference = ElevationReference'+  { fromElevationReference ::+      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 ElevationReference_AGL :: ElevationReference+pattern ElevationReference_AGL = ElevationReference' "AGL"++pattern ElevationReference_AMSL :: ElevationReference+pattern ElevationReference_AMSL = ElevationReference' "AMSL"++{-# COMPLETE+  ElevationReference_AGL,+  ElevationReference_AMSL,+  ElevationReference'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/ElevationUnit.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.PrivateNetworks.Types.ElevationUnit+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.ElevationUnit+  ( ElevationUnit+      ( ..,+        ElevationUnit_FEET+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ElevationUnit = ElevationUnit'+  { fromElevationUnit ::+      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 ElevationUnit_FEET :: ElevationUnit+pattern ElevationUnit_FEET = ElevationUnit' "FEET"++{-# COMPLETE+  ElevationUnit_FEET,+  ElevationUnit'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/HealthStatus.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.PrivateNetworks.Types.HealthStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.HealthStatus+  ( HealthStatus+      ( ..,+        HealthStatus_HEALTHY,+        HealthStatus_INITIAL,+        HealthStatus_UNHEALTHY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HealthStatus = HealthStatus'+  { fromHealthStatus ::+      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 HealthStatus_HEALTHY :: HealthStatus+pattern HealthStatus_HEALTHY = HealthStatus' "HEALTHY"++pattern HealthStatus_INITIAL :: HealthStatus+pattern HealthStatus_INITIAL = HealthStatus' "INITIAL"++pattern HealthStatus_UNHEALTHY :: HealthStatus+pattern HealthStatus_UNHEALTHY = HealthStatus' "UNHEALTHY"++{-# COMPLETE+  HealthStatus_HEALTHY,+  HealthStatus_INITIAL,+  HealthStatus_UNHEALTHY,+  HealthStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NameValuePair.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.Types.NameValuePair+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NameValuePair where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about a name\/value pair.+--+-- /See:/ 'newNameValuePair' smart constructor.+data NameValuePair = NameValuePair'+  { -- | The value of the pair.+    value :: Prelude.Maybe Prelude.Text,+    -- | The name of the pair.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NameValuePair' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'nameValuePair_value' - The value of the pair.+--+-- 'name', 'nameValuePair_name' - The name of the pair.+newNameValuePair ::+  -- | 'name'+  Prelude.Text ->+  NameValuePair+newNameValuePair pName_ =+  NameValuePair'+    { value = Prelude.Nothing,+      name = pName_+    }++-- | The value of the pair.+nameValuePair_value :: Lens.Lens' NameValuePair (Prelude.Maybe Prelude.Text)+nameValuePair_value = Lens.lens (\NameValuePair' {value} -> value) (\s@NameValuePair' {} a -> s {value = a} :: NameValuePair)++-- | The name of the pair.+nameValuePair_name :: Lens.Lens' NameValuePair Prelude.Text+nameValuePair_name = Lens.lens (\NameValuePair' {name} -> name) (\s@NameValuePair' {} a -> s {name = a} :: NameValuePair)++instance Data.FromJSON NameValuePair where+  parseJSON =+    Data.withObject+      "NameValuePair"+      ( \x ->+          NameValuePair'+            Prelude.<$> (x Data..:? "value")+            Prelude.<*> (x Data..: "name")+      )++instance Prelude.Hashable NameValuePair where+  hashWithSalt _salt NameValuePair' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` name++instance Prelude.NFData NameValuePair where+  rnf NameValuePair' {..} =+    Prelude.rnf value `Prelude.seq` Prelude.rnf name++instance Data.ToJSON NameValuePair where+  toJSON NameValuePair' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("value" Data..=) Prelude.<$> value,+            Prelude.Just ("name" Data..= name)+          ]+      )
+ gen/Amazonka/PrivateNetworks/Types/Network.hs view
@@ -0,0 +1,139 @@+{-# 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.PrivateNetworks.Types.Network+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.Network 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+import Amazonka.PrivateNetworks.Types.NetworkStatus++-- | Information about a network.+--+-- /See:/ 'newNetwork' smart constructor.+data Network = Network'+  { -- | The creation time of the network.+    createdAt :: Prelude.Maybe Data.ISO8601,+    -- | The description of the network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The status reason of the network.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network.+    networkArn :: Prelude.Text,+    -- | The name of the network.+    networkName :: Prelude.Text,+    -- | The status of the network.+    status :: NetworkStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Network' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'network_createdAt' - The creation time of the network.+--+-- 'description', 'network_description' - The description of the network.+--+-- 'statusReason', 'network_statusReason' - The status reason of the network.+--+-- 'networkArn', 'network_networkArn' - The Amazon Resource Name (ARN) of the network.+--+-- 'networkName', 'network_networkName' - The name of the network.+--+-- 'status', 'network_status' - The status of the network.+newNetwork ::+  -- | 'networkArn'+  Prelude.Text ->+  -- | 'networkName'+  Prelude.Text ->+  -- | 'status'+  NetworkStatus ->+  Network+newNetwork pNetworkArn_ pNetworkName_ pStatus_ =+  Network'+    { createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      statusReason = Prelude.Nothing,+      networkArn = pNetworkArn_,+      networkName = pNetworkName_,+      status = pStatus_+    }++-- | The creation time of the network.+network_createdAt :: Lens.Lens' Network (Prelude.Maybe Prelude.UTCTime)+network_createdAt = Lens.lens (\Network' {createdAt} -> createdAt) (\s@Network' {} a -> s {createdAt = a} :: Network) Prelude.. Lens.mapping Data._Time++-- | The description of the network.+network_description :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_description = Lens.lens (\Network' {description} -> description) (\s@Network' {} a -> s {description = a} :: Network)++-- | The status reason of the network.+network_statusReason :: Lens.Lens' Network (Prelude.Maybe Prelude.Text)+network_statusReason = Lens.lens (\Network' {statusReason} -> statusReason) (\s@Network' {} a -> s {statusReason = a} :: Network)++-- | The Amazon Resource Name (ARN) of the network.+network_networkArn :: Lens.Lens' Network Prelude.Text+network_networkArn = Lens.lens (\Network' {networkArn} -> networkArn) (\s@Network' {} a -> s {networkArn = a} :: Network)++-- | The name of the network.+network_networkName :: Lens.Lens' Network Prelude.Text+network_networkName = Lens.lens (\Network' {networkName} -> networkName) (\s@Network' {} a -> s {networkName = a} :: Network)++-- | The status of the network.+network_status :: Lens.Lens' Network NetworkStatus+network_status = Lens.lens (\Network' {status} -> status) (\s@Network' {} a -> s {status = a} :: Network)++instance Data.FromJSON Network where+  parseJSON =+    Data.withObject+      "Network"+      ( \x ->+          Network'+            Prelude.<$> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "statusReason")+            Prelude.<*> (x Data..: "networkArn")+            Prelude.<*> (x Data..: "networkName")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable Network where+  hashWithSalt _salt Network' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` networkName+      `Prelude.hashWithSalt` status++instance Prelude.NFData Network where+  rnf Network' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf networkName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/PrivateNetworks/Types/NetworkFilterKeys.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.PrivateNetworks.Types.NetworkFilterKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkFilterKeys+  ( NetworkFilterKeys+      ( ..,+        NetworkFilterKeys_STATUS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkFilterKeys = NetworkFilterKeys'+  { fromNetworkFilterKeys ::+      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 NetworkFilterKeys_STATUS :: NetworkFilterKeys+pattern NetworkFilterKeys_STATUS = NetworkFilterKeys' "STATUS"++{-# COMPLETE+  NetworkFilterKeys_STATUS,+  NetworkFilterKeys'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkResource.hs view
@@ -0,0 +1,254 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.Types.NetworkResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResource 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+import Amazonka.PrivateNetworks.Types.HealthStatus+import Amazonka.PrivateNetworks.Types.NameValuePair+import Amazonka.PrivateNetworks.Types.NetworkResourceStatus+import Amazonka.PrivateNetworks.Types.NetworkResourceType+import Amazonka.PrivateNetworks.Types.Position++-- | Information about a network resource.+--+-- /See:/ 'newNetworkResource' smart constructor.+data NetworkResource = NetworkResource'+  { -- | The attributes of the network resource.+    attributes :: Prelude.Maybe [NameValuePair],+    -- | The creation time of the network resource.+    createdAt :: Prelude.Maybe Data.ISO8601,+    -- | The description of the network resource.+    description :: Prelude.Maybe Prelude.Text,+    -- | The health of the network resource.+    health :: Prelude.Maybe HealthStatus,+    -- | The model of the network resource.+    model :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network on which this network+    -- resource appears.+    networkArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network resource.+    networkResourceArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site on which this network+    -- resource appears.+    networkSiteArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the order used to purchase this+    -- network resource.+    orderArn :: Prelude.Maybe Prelude.Text,+    -- | The position of the network resource.+    position :: Prelude.Maybe Position,+    -- | The serial number of the network resource.+    serialNumber :: Prelude.Maybe Prelude.Text,+    -- | The status of the network resource.+    status :: Prelude.Maybe NetworkResourceStatus,+    -- | The status reason of the network resource.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | The type of the network resource.+    type' :: Prelude.Maybe NetworkResourceType,+    -- | The vendor of the network resource.+    vendor :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'networkResource_attributes' - The attributes of the network resource.+--+-- 'createdAt', 'networkResource_createdAt' - The creation time of the network resource.+--+-- 'description', 'networkResource_description' - The description of the network resource.+--+-- 'health', 'networkResource_health' - The health of the network resource.+--+-- 'model', 'networkResource_model' - The model of the network resource.+--+-- 'networkArn', 'networkResource_networkArn' - The Amazon Resource Name (ARN) of the network on which this network+-- resource appears.+--+-- 'networkResourceArn', 'networkResource_networkResourceArn' - The Amazon Resource Name (ARN) of the network resource.+--+-- 'networkSiteArn', 'networkResource_networkSiteArn' - The Amazon Resource Name (ARN) of the network site on which this network+-- resource appears.+--+-- 'orderArn', 'networkResource_orderArn' - The Amazon Resource Name (ARN) of the order used to purchase this+-- network resource.+--+-- 'position', 'networkResource_position' - The position of the network resource.+--+-- 'serialNumber', 'networkResource_serialNumber' - The serial number of the network resource.+--+-- 'status', 'networkResource_status' - The status of the network resource.+--+-- 'statusReason', 'networkResource_statusReason' - The status reason of the network resource.+--+-- 'type'', 'networkResource_type' - The type of the network resource.+--+-- 'vendor', 'networkResource_vendor' - The vendor of the network resource.+newNetworkResource ::+  NetworkResource+newNetworkResource =+  NetworkResource'+    { attributes = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      health = Prelude.Nothing,+      model = Prelude.Nothing,+      networkArn = Prelude.Nothing,+      networkResourceArn = Prelude.Nothing,+      networkSiteArn = Prelude.Nothing,+      orderArn = Prelude.Nothing,+      position = Prelude.Nothing,+      serialNumber = Prelude.Nothing,+      status = Prelude.Nothing,+      statusReason = Prelude.Nothing,+      type' = Prelude.Nothing,+      vendor = Prelude.Nothing+    }++-- | The attributes of the network resource.+networkResource_attributes :: Lens.Lens' NetworkResource (Prelude.Maybe [NameValuePair])+networkResource_attributes = Lens.lens (\NetworkResource' {attributes} -> attributes) (\s@NetworkResource' {} a -> s {attributes = a} :: NetworkResource) Prelude.. Lens.mapping Lens.coerced++-- | The creation time of the network resource.+networkResource_createdAt :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.UTCTime)+networkResource_createdAt = Lens.lens (\NetworkResource' {createdAt} -> createdAt) (\s@NetworkResource' {} a -> s {createdAt = a} :: NetworkResource) Prelude.. Lens.mapping Data._Time++-- | The description of the network resource.+networkResource_description :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_description = Lens.lens (\NetworkResource' {description} -> description) (\s@NetworkResource' {} a -> s {description = a} :: NetworkResource)++-- | The health of the network resource.+networkResource_health :: Lens.Lens' NetworkResource (Prelude.Maybe HealthStatus)+networkResource_health = Lens.lens (\NetworkResource' {health} -> health) (\s@NetworkResource' {} a -> s {health = a} :: NetworkResource)++-- | The model of the network resource.+networkResource_model :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_model = Lens.lens (\NetworkResource' {model} -> model) (\s@NetworkResource' {} a -> s {model = a} :: NetworkResource)++-- | The Amazon Resource Name (ARN) of the network on which this network+-- resource appears.+networkResource_networkArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_networkArn = Lens.lens (\NetworkResource' {networkArn} -> networkArn) (\s@NetworkResource' {} a -> s {networkArn = a} :: NetworkResource)++-- | The Amazon Resource Name (ARN) of the network resource.+networkResource_networkResourceArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_networkResourceArn = Lens.lens (\NetworkResource' {networkResourceArn} -> networkResourceArn) (\s@NetworkResource' {} a -> s {networkResourceArn = a} :: NetworkResource)++-- | The Amazon Resource Name (ARN) of the network site on which this network+-- resource appears.+networkResource_networkSiteArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_networkSiteArn = Lens.lens (\NetworkResource' {networkSiteArn} -> networkSiteArn) (\s@NetworkResource' {} a -> s {networkSiteArn = a} :: NetworkResource)++-- | The Amazon Resource Name (ARN) of the order used to purchase this+-- network resource.+networkResource_orderArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_orderArn = Lens.lens (\NetworkResource' {orderArn} -> orderArn) (\s@NetworkResource' {} a -> s {orderArn = a} :: NetworkResource)++-- | The position of the network resource.+networkResource_position :: Lens.Lens' NetworkResource (Prelude.Maybe Position)+networkResource_position = Lens.lens (\NetworkResource' {position} -> position) (\s@NetworkResource' {} a -> s {position = a} :: NetworkResource)++-- | The serial number of the network resource.+networkResource_serialNumber :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_serialNumber = Lens.lens (\NetworkResource' {serialNumber} -> serialNumber) (\s@NetworkResource' {} a -> s {serialNumber = a} :: NetworkResource)++-- | The status of the network resource.+networkResource_status :: Lens.Lens' NetworkResource (Prelude.Maybe NetworkResourceStatus)+networkResource_status = Lens.lens (\NetworkResource' {status} -> status) (\s@NetworkResource' {} a -> s {status = a} :: NetworkResource)++-- | The status reason of the network resource.+networkResource_statusReason :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_statusReason = Lens.lens (\NetworkResource' {statusReason} -> statusReason) (\s@NetworkResource' {} a -> s {statusReason = a} :: NetworkResource)++-- | The type of the network resource.+networkResource_type :: Lens.Lens' NetworkResource (Prelude.Maybe NetworkResourceType)+networkResource_type = Lens.lens (\NetworkResource' {type'} -> type') (\s@NetworkResource' {} a -> s {type' = a} :: NetworkResource)++-- | The vendor of the network resource.+networkResource_vendor :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_vendor = Lens.lens (\NetworkResource' {vendor} -> vendor) (\s@NetworkResource' {} a -> s {vendor = a} :: NetworkResource)++instance Data.FromJSON NetworkResource where+  parseJSON =+    Data.withObject+      "NetworkResource"+      ( \x ->+          NetworkResource'+            Prelude.<$> (x Data..:? "attributes" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "health")+            Prelude.<*> (x Data..:? "model")+            Prelude.<*> (x Data..:? "networkArn")+            Prelude.<*> (x Data..:? "networkResourceArn")+            Prelude.<*> (x Data..:? "networkSiteArn")+            Prelude.<*> (x Data..:? "orderArn")+            Prelude.<*> (x Data..:? "position")+            Prelude.<*> (x Data..:? "serialNumber")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "statusReason")+            Prelude.<*> (x Data..:? "type")+            Prelude.<*> (x Data..:? "vendor")+      )++instance Prelude.Hashable NetworkResource where+  hashWithSalt _salt NetworkResource' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` health+      `Prelude.hashWithSalt` model+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` networkResourceArn+      `Prelude.hashWithSalt` networkSiteArn+      `Prelude.hashWithSalt` orderArn+      `Prelude.hashWithSalt` position+      `Prelude.hashWithSalt` serialNumber+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` vendor++instance Prelude.NFData NetworkResource where+  rnf NetworkResource' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf health+      `Prelude.seq` Prelude.rnf model+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf networkResourceArn+      `Prelude.seq` Prelude.rnf networkSiteArn+      `Prelude.seq` Prelude.rnf orderArn+      `Prelude.seq` Prelude.rnf position+      `Prelude.seq` Prelude.rnf serialNumber+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf vendor
+ gen/Amazonka/PrivateNetworks/Types/NetworkResourceDefinition.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.Types.NetworkResourceDefinition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResourceDefinition 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+import Amazonka.PrivateNetworks.Types.NameValuePair+import Amazonka.PrivateNetworks.Types.NetworkResourceDefinitionType++-- | Information about a network resource definition.+--+-- /See:/ 'newNetworkResourceDefinition' smart constructor.+data NetworkResourceDefinition = NetworkResourceDefinition'+  { -- | The options in the network resource definition.+    options :: Prelude.Maybe [NameValuePair],+    -- | The count in the network resource definition.+    count :: Prelude.Natural,+    -- | The type in the network resource definition.+    type' :: NetworkResourceDefinitionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkResourceDefinition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'options', 'networkResourceDefinition_options' - The options in the network resource definition.+--+-- 'count', 'networkResourceDefinition_count' - The count in the network resource definition.+--+-- 'type'', 'networkResourceDefinition_type' - The type in the network resource definition.+newNetworkResourceDefinition ::+  -- | 'count'+  Prelude.Natural ->+  -- | 'type''+  NetworkResourceDefinitionType ->+  NetworkResourceDefinition+newNetworkResourceDefinition pCount_ pType_ =+  NetworkResourceDefinition'+    { options =+        Prelude.Nothing,+      count = pCount_,+      type' = pType_+    }++-- | The options in the network resource definition.+networkResourceDefinition_options :: Lens.Lens' NetworkResourceDefinition (Prelude.Maybe [NameValuePair])+networkResourceDefinition_options = Lens.lens (\NetworkResourceDefinition' {options} -> options) (\s@NetworkResourceDefinition' {} a -> s {options = a} :: NetworkResourceDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The count in the network resource definition.+networkResourceDefinition_count :: Lens.Lens' NetworkResourceDefinition Prelude.Natural+networkResourceDefinition_count = Lens.lens (\NetworkResourceDefinition' {count} -> count) (\s@NetworkResourceDefinition' {} a -> s {count = a} :: NetworkResourceDefinition)++-- | The type in the network resource definition.+networkResourceDefinition_type :: Lens.Lens' NetworkResourceDefinition NetworkResourceDefinitionType+networkResourceDefinition_type = Lens.lens (\NetworkResourceDefinition' {type'} -> type') (\s@NetworkResourceDefinition' {} a -> s {type' = a} :: NetworkResourceDefinition)++instance Data.FromJSON NetworkResourceDefinition where+  parseJSON =+    Data.withObject+      "NetworkResourceDefinition"+      ( \x ->+          NetworkResourceDefinition'+            Prelude.<$> (x Data..:? "options" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "count")+            Prelude.<*> (x Data..: "type")+      )++instance Prelude.Hashable NetworkResourceDefinition where+  hashWithSalt _salt NetworkResourceDefinition' {..} =+    _salt+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` count+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NetworkResourceDefinition where+  rnf NetworkResourceDefinition' {..} =+    Prelude.rnf options+      `Prelude.seq` Prelude.rnf count+      `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON NetworkResourceDefinition where+  toJSON NetworkResourceDefinition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("options" Data..=) Prelude.<$> options,+            Prelude.Just ("count" Data..= count),+            Prelude.Just ("type" Data..= type')+          ]+      )
+ gen/Amazonka/PrivateNetworks/Types/NetworkResourceDefinitionType.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.PrivateNetworks.Types.NetworkResourceDefinitionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResourceDefinitionType+  ( NetworkResourceDefinitionType+      ( ..,+        NetworkResourceDefinitionType_DEVICE_IDENTIFIER,+        NetworkResourceDefinitionType_RADIO_UNIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkResourceDefinitionType = NetworkResourceDefinitionType'+  { fromNetworkResourceDefinitionType ::+      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 NetworkResourceDefinitionType_DEVICE_IDENTIFIER :: NetworkResourceDefinitionType+pattern NetworkResourceDefinitionType_DEVICE_IDENTIFIER = NetworkResourceDefinitionType' "DEVICE_IDENTIFIER"++pattern NetworkResourceDefinitionType_RADIO_UNIT :: NetworkResourceDefinitionType+pattern NetworkResourceDefinitionType_RADIO_UNIT = NetworkResourceDefinitionType' "RADIO_UNIT"++{-# COMPLETE+  NetworkResourceDefinitionType_DEVICE_IDENTIFIER,+  NetworkResourceDefinitionType_RADIO_UNIT,+  NetworkResourceDefinitionType'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkResourceFilterKeys.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.PrivateNetworks.Types.NetworkResourceFilterKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResourceFilterKeys+  ( NetworkResourceFilterKeys+      ( ..,+        NetworkResourceFilterKeys_ORDER,+        NetworkResourceFilterKeys_STATUS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkResourceFilterKeys = NetworkResourceFilterKeys'+  { fromNetworkResourceFilterKeys ::+      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 NetworkResourceFilterKeys_ORDER :: NetworkResourceFilterKeys+pattern NetworkResourceFilterKeys_ORDER = NetworkResourceFilterKeys' "ORDER"++pattern NetworkResourceFilterKeys_STATUS :: NetworkResourceFilterKeys+pattern NetworkResourceFilterKeys_STATUS = NetworkResourceFilterKeys' "STATUS"++{-# COMPLETE+  NetworkResourceFilterKeys_ORDER,+  NetworkResourceFilterKeys_STATUS,+  NetworkResourceFilterKeys'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkResourceStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.PrivateNetworks.Types.NetworkResourceStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResourceStatus+  ( NetworkResourceStatus+      ( ..,+        NetworkResourceStatus_AVAILABLE,+        NetworkResourceStatus_DELETED,+        NetworkResourceStatus_DELETING,+        NetworkResourceStatus_PENDING,+        NetworkResourceStatus_PENDING_RETURN,+        NetworkResourceStatus_PROVISIONED,+        NetworkResourceStatus_PROVISIONING,+        NetworkResourceStatus_SHIPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkResourceStatus = NetworkResourceStatus'+  { fromNetworkResourceStatus ::+      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 NetworkResourceStatus_AVAILABLE :: NetworkResourceStatus+pattern NetworkResourceStatus_AVAILABLE = NetworkResourceStatus' "AVAILABLE"++pattern NetworkResourceStatus_DELETED :: NetworkResourceStatus+pattern NetworkResourceStatus_DELETED = NetworkResourceStatus' "DELETED"++pattern NetworkResourceStatus_DELETING :: NetworkResourceStatus+pattern NetworkResourceStatus_DELETING = NetworkResourceStatus' "DELETING"++pattern NetworkResourceStatus_PENDING :: NetworkResourceStatus+pattern NetworkResourceStatus_PENDING = NetworkResourceStatus' "PENDING"++pattern NetworkResourceStatus_PENDING_RETURN :: NetworkResourceStatus+pattern NetworkResourceStatus_PENDING_RETURN = NetworkResourceStatus' "PENDING_RETURN"++pattern NetworkResourceStatus_PROVISIONED :: NetworkResourceStatus+pattern NetworkResourceStatus_PROVISIONED = NetworkResourceStatus' "PROVISIONED"++pattern NetworkResourceStatus_PROVISIONING :: NetworkResourceStatus+pattern NetworkResourceStatus_PROVISIONING = NetworkResourceStatus' "PROVISIONING"++pattern NetworkResourceStatus_SHIPPED :: NetworkResourceStatus+pattern NetworkResourceStatus_SHIPPED = NetworkResourceStatus' "SHIPPED"++{-# COMPLETE+  NetworkResourceStatus_AVAILABLE,+  NetworkResourceStatus_DELETED,+  NetworkResourceStatus_DELETING,+  NetworkResourceStatus_PENDING,+  NetworkResourceStatus_PENDING_RETURN,+  NetworkResourceStatus_PROVISIONED,+  NetworkResourceStatus_PROVISIONING,+  NetworkResourceStatus_SHIPPED,+  NetworkResourceStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkResourceType.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.PrivateNetworks.Types.NetworkResourceType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkResourceType+  ( NetworkResourceType+      ( ..,+        NetworkResourceType_RADIO_UNIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkResourceType = NetworkResourceType'+  { fromNetworkResourceType ::+      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 NetworkResourceType_RADIO_UNIT :: NetworkResourceType+pattern NetworkResourceType_RADIO_UNIT = NetworkResourceType' "RADIO_UNIT"++{-# COMPLETE+  NetworkResourceType_RADIO_UNIT,+  NetworkResourceType'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkSite.hs view
@@ -0,0 +1,209 @@+{-# 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.PrivateNetworks.Types.NetworkSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkSite 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+import Amazonka.PrivateNetworks.Types.NetworkSiteStatus+import Amazonka.PrivateNetworks.Types.SitePlan++-- | Information about a network site.+--+-- /See:/ 'newNetworkSite' smart constructor.+data NetworkSite = NetworkSite'+  { -- | The parent Availability Zone for the network site.+    availabilityZone :: Prelude.Maybe Prelude.Text,+    -- | The parent Availability Zone ID for the network site.+    availabilityZoneId :: Prelude.Maybe Prelude.Text,+    -- | The creation time of the network site.+    createdAt :: Prelude.Maybe Data.ISO8601,+    -- | The current plan of the network site.+    currentPlan :: Prelude.Maybe SitePlan,+    -- | The description of the network site.+    description :: Prelude.Maybe Prelude.Text,+    -- | The pending plan of the network site.+    pendingPlan :: Prelude.Maybe SitePlan,+    -- | The status reason of the network site.+    statusReason :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network to which the network site+    -- belongs.+    networkArn :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text,+    -- | The name of the network site.+    networkSiteName :: Prelude.Text,+    -- | The status of the network site.+    status :: NetworkSiteStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'networkSite_availabilityZone' - The parent Availability Zone for the network site.+--+-- 'availabilityZoneId', 'networkSite_availabilityZoneId' - The parent Availability Zone ID for the network site.+--+-- 'createdAt', 'networkSite_createdAt' - The creation time of the network site.+--+-- 'currentPlan', 'networkSite_currentPlan' - The current plan of the network site.+--+-- 'description', 'networkSite_description' - The description of the network site.+--+-- 'pendingPlan', 'networkSite_pendingPlan' - The pending plan of the network site.+--+-- 'statusReason', 'networkSite_statusReason' - The status reason of the network site.+--+-- 'networkArn', 'networkSite_networkArn' - The Amazon Resource Name (ARN) of the network to which the network site+-- belongs.+--+-- 'networkSiteArn', 'networkSite_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+--+-- 'networkSiteName', 'networkSite_networkSiteName' - The name of the network site.+--+-- 'status', 'networkSite_status' - The status of the network site.+newNetworkSite ::+  -- | 'networkArn'+  Prelude.Text ->+  -- | 'networkSiteArn'+  Prelude.Text ->+  -- | 'networkSiteName'+  Prelude.Text ->+  -- | 'status'+  NetworkSiteStatus ->+  NetworkSite+newNetworkSite+  pNetworkArn_+  pNetworkSiteArn_+  pNetworkSiteName_+  pStatus_ =+    NetworkSite'+      { availabilityZone = Prelude.Nothing,+        availabilityZoneId = Prelude.Nothing,+        createdAt = Prelude.Nothing,+        currentPlan = Prelude.Nothing,+        description = Prelude.Nothing,+        pendingPlan = Prelude.Nothing,+        statusReason = Prelude.Nothing,+        networkArn = pNetworkArn_,+        networkSiteArn = pNetworkSiteArn_,+        networkSiteName = pNetworkSiteName_,+        status = pStatus_+      }++-- | The parent Availability Zone for the network site.+networkSite_availabilityZone :: Lens.Lens' NetworkSite (Prelude.Maybe Prelude.Text)+networkSite_availabilityZone = Lens.lens (\NetworkSite' {availabilityZone} -> availabilityZone) (\s@NetworkSite' {} a -> s {availabilityZone = a} :: NetworkSite)++-- | The parent Availability Zone ID for the network site.+networkSite_availabilityZoneId :: Lens.Lens' NetworkSite (Prelude.Maybe Prelude.Text)+networkSite_availabilityZoneId = Lens.lens (\NetworkSite' {availabilityZoneId} -> availabilityZoneId) (\s@NetworkSite' {} a -> s {availabilityZoneId = a} :: NetworkSite)++-- | The creation time of the network site.+networkSite_createdAt :: Lens.Lens' NetworkSite (Prelude.Maybe Prelude.UTCTime)+networkSite_createdAt = Lens.lens (\NetworkSite' {createdAt} -> createdAt) (\s@NetworkSite' {} a -> s {createdAt = a} :: NetworkSite) Prelude.. Lens.mapping Data._Time++-- | The current plan of the network site.+networkSite_currentPlan :: Lens.Lens' NetworkSite (Prelude.Maybe SitePlan)+networkSite_currentPlan = Lens.lens (\NetworkSite' {currentPlan} -> currentPlan) (\s@NetworkSite' {} a -> s {currentPlan = a} :: NetworkSite)++-- | The description of the network site.+networkSite_description :: Lens.Lens' NetworkSite (Prelude.Maybe Prelude.Text)+networkSite_description = Lens.lens (\NetworkSite' {description} -> description) (\s@NetworkSite' {} a -> s {description = a} :: NetworkSite)++-- | The pending plan of the network site.+networkSite_pendingPlan :: Lens.Lens' NetworkSite (Prelude.Maybe SitePlan)+networkSite_pendingPlan = Lens.lens (\NetworkSite' {pendingPlan} -> pendingPlan) (\s@NetworkSite' {} a -> s {pendingPlan = a} :: NetworkSite)++-- | The status reason of the network site.+networkSite_statusReason :: Lens.Lens' NetworkSite (Prelude.Maybe Prelude.Text)+networkSite_statusReason = Lens.lens (\NetworkSite' {statusReason} -> statusReason) (\s@NetworkSite' {} a -> s {statusReason = a} :: NetworkSite)++-- | The Amazon Resource Name (ARN) of the network to which the network site+-- belongs.+networkSite_networkArn :: Lens.Lens' NetworkSite Prelude.Text+networkSite_networkArn = Lens.lens (\NetworkSite' {networkArn} -> networkArn) (\s@NetworkSite' {} a -> s {networkArn = a} :: NetworkSite)++-- | The Amazon Resource Name (ARN) of the network site.+networkSite_networkSiteArn :: Lens.Lens' NetworkSite Prelude.Text+networkSite_networkSiteArn = Lens.lens (\NetworkSite' {networkSiteArn} -> networkSiteArn) (\s@NetworkSite' {} a -> s {networkSiteArn = a} :: NetworkSite)++-- | The name of the network site.+networkSite_networkSiteName :: Lens.Lens' NetworkSite Prelude.Text+networkSite_networkSiteName = Lens.lens (\NetworkSite' {networkSiteName} -> networkSiteName) (\s@NetworkSite' {} a -> s {networkSiteName = a} :: NetworkSite)++-- | The status of the network site.+networkSite_status :: Lens.Lens' NetworkSite NetworkSiteStatus+networkSite_status = Lens.lens (\NetworkSite' {status} -> status) (\s@NetworkSite' {} a -> s {status = a} :: NetworkSite)++instance Data.FromJSON NetworkSite where+  parseJSON =+    Data.withObject+      "NetworkSite"+      ( \x ->+          NetworkSite'+            Prelude.<$> (x Data..:? "availabilityZone")+            Prelude.<*> (x Data..:? "availabilityZoneId")+            Prelude.<*> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "currentPlan")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "pendingPlan")+            Prelude.<*> (x Data..:? "statusReason")+            Prelude.<*> (x Data..: "networkArn")+            Prelude.<*> (x Data..: "networkSiteArn")+            Prelude.<*> (x Data..: "networkSiteName")+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable NetworkSite where+  hashWithSalt _salt NetworkSite' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` availabilityZoneId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` currentPlan+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` pendingPlan+      `Prelude.hashWithSalt` statusReason+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` networkSiteArn+      `Prelude.hashWithSalt` networkSiteName+      `Prelude.hashWithSalt` status++instance Prelude.NFData NetworkSite where+  rnf NetworkSite' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf availabilityZoneId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf currentPlan+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf pendingPlan+      `Prelude.seq` Prelude.rnf statusReason+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf networkSiteArn+      `Prelude.seq` Prelude.rnf networkSiteName+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/PrivateNetworks/Types/NetworkSiteFilterKeys.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.PrivateNetworks.Types.NetworkSiteFilterKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkSiteFilterKeys+  ( NetworkSiteFilterKeys+      ( ..,+        NetworkSiteFilterKeys_STATUS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkSiteFilterKeys = NetworkSiteFilterKeys'+  { fromNetworkSiteFilterKeys ::+      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 NetworkSiteFilterKeys_STATUS :: NetworkSiteFilterKeys+pattern NetworkSiteFilterKeys_STATUS = NetworkSiteFilterKeys' "STATUS"++{-# COMPLETE+  NetworkSiteFilterKeys_STATUS,+  NetworkSiteFilterKeys'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkSiteStatus.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.PrivateNetworks.Types.NetworkSiteStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.NetworkSiteStatus+  ( NetworkSiteStatus+      ( ..,+        NetworkSiteStatus_AVAILABLE,+        NetworkSiteStatus_CREATED,+        NetworkSiteStatus_DELETED,+        NetworkSiteStatus_DEPROVISIONING,+        NetworkSiteStatus_PROVISIONING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkSiteStatus = NetworkSiteStatus'+  { fromNetworkSiteStatus ::+      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 NetworkSiteStatus_AVAILABLE :: NetworkSiteStatus+pattern NetworkSiteStatus_AVAILABLE = NetworkSiteStatus' "AVAILABLE"++pattern NetworkSiteStatus_CREATED :: NetworkSiteStatus+pattern NetworkSiteStatus_CREATED = NetworkSiteStatus' "CREATED"++pattern NetworkSiteStatus_DELETED :: NetworkSiteStatus+pattern NetworkSiteStatus_DELETED = NetworkSiteStatus' "DELETED"++pattern NetworkSiteStatus_DEPROVISIONING :: NetworkSiteStatus+pattern NetworkSiteStatus_DEPROVISIONING = NetworkSiteStatus' "DEPROVISIONING"++pattern NetworkSiteStatus_PROVISIONING :: NetworkSiteStatus+pattern NetworkSiteStatus_PROVISIONING = NetworkSiteStatus' "PROVISIONING"++{-# COMPLETE+  NetworkSiteStatus_AVAILABLE,+  NetworkSiteStatus_CREATED,+  NetworkSiteStatus_DELETED,+  NetworkSiteStatus_DEPROVISIONING,+  NetworkSiteStatus_PROVISIONING,+  NetworkSiteStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/NetworkStatus.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.PrivateNetworks.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.PrivateNetworks.Types.NetworkStatus+  ( NetworkStatus+      ( ..,+        NetworkStatus_AVAILABLE,+        NetworkStatus_CREATED,+        NetworkStatus_DELETED,+        NetworkStatus_DEPROVISIONING,+        NetworkStatus_PROVISIONING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkStatus = NetworkStatus'+  { fromNetworkStatus ::+      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 NetworkStatus_AVAILABLE :: NetworkStatus+pattern NetworkStatus_AVAILABLE = NetworkStatus' "AVAILABLE"++pattern NetworkStatus_CREATED :: NetworkStatus+pattern NetworkStatus_CREATED = NetworkStatus' "CREATED"++pattern NetworkStatus_DELETED :: NetworkStatus+pattern NetworkStatus_DELETED = NetworkStatus' "DELETED"++pattern NetworkStatus_DEPROVISIONING :: NetworkStatus+pattern NetworkStatus_DEPROVISIONING = NetworkStatus' "DEPROVISIONING"++pattern NetworkStatus_PROVISIONING :: NetworkStatus+pattern NetworkStatus_PROVISIONING = NetworkStatus' "PROVISIONING"++{-# COMPLETE+  NetworkStatus_AVAILABLE,+  NetworkStatus_CREATED,+  NetworkStatus_DELETED,+  NetworkStatus_DEPROVISIONING,+  NetworkStatus_PROVISIONING,+  NetworkStatus'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/Order.hs view
@@ -0,0 +1,156 @@+{-# 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.PrivateNetworks.Types.Order+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.Order 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+import Amazonka.PrivateNetworks.Types.AcknowledgmentStatus+import Amazonka.PrivateNetworks.Types.Address+import Amazonka.PrivateNetworks.Types.TrackingInformation++-- | Information about an order.+--+-- /See:/ 'newOrder' smart constructor.+data Order = Order'+  { -- | The acknowledgement status of the order.+    acknowledgmentStatus :: Prelude.Maybe AcknowledgmentStatus,+    -- | The creation time of the order.+    createdAt :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon Resource Name (ARN) of the network associated with this+    -- order.+    networkArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site associated with this+    -- order.+    networkSiteArn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the order.+    orderArn :: Prelude.Maybe Prelude.Text,+    -- | The shipping address of the order.+    shippingAddress :: Prelude.Maybe Address,+    -- | The tracking information of the order.+    trackingInformation :: Prelude.Maybe [TrackingInformation]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Order' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acknowledgmentStatus', 'order_acknowledgmentStatus' - The acknowledgement status of the order.+--+-- 'createdAt', 'order_createdAt' - The creation time of the order.+--+-- 'networkArn', 'order_networkArn' - The Amazon Resource Name (ARN) of the network associated with this+-- order.+--+-- 'networkSiteArn', 'order_networkSiteArn' - The Amazon Resource Name (ARN) of the network site associated with this+-- order.+--+-- 'orderArn', 'order_orderArn' - The Amazon Resource Name (ARN) of the order.+--+-- 'shippingAddress', 'order_shippingAddress' - The shipping address of the order.+--+-- 'trackingInformation', 'order_trackingInformation' - The tracking information of the order.+newOrder ::+  Order+newOrder =+  Order'+    { acknowledgmentStatus = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      networkArn = Prelude.Nothing,+      networkSiteArn = Prelude.Nothing,+      orderArn = Prelude.Nothing,+      shippingAddress = Prelude.Nothing,+      trackingInformation = Prelude.Nothing+    }++-- | The acknowledgement status of the order.+order_acknowledgmentStatus :: Lens.Lens' Order (Prelude.Maybe AcknowledgmentStatus)+order_acknowledgmentStatus = Lens.lens (\Order' {acknowledgmentStatus} -> acknowledgmentStatus) (\s@Order' {} a -> s {acknowledgmentStatus = a} :: Order)++-- | The creation time of the order.+order_createdAt :: Lens.Lens' Order (Prelude.Maybe Prelude.UTCTime)+order_createdAt = Lens.lens (\Order' {createdAt} -> createdAt) (\s@Order' {} a -> s {createdAt = a} :: Order) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the network associated with this+-- order.+order_networkArn :: Lens.Lens' Order (Prelude.Maybe Prelude.Text)+order_networkArn = Lens.lens (\Order' {networkArn} -> networkArn) (\s@Order' {} a -> s {networkArn = a} :: Order)++-- | The Amazon Resource Name (ARN) of the network site associated with this+-- order.+order_networkSiteArn :: Lens.Lens' Order (Prelude.Maybe Prelude.Text)+order_networkSiteArn = Lens.lens (\Order' {networkSiteArn} -> networkSiteArn) (\s@Order' {} a -> s {networkSiteArn = a} :: Order)++-- | The Amazon Resource Name (ARN) of the order.+order_orderArn :: Lens.Lens' Order (Prelude.Maybe Prelude.Text)+order_orderArn = Lens.lens (\Order' {orderArn} -> orderArn) (\s@Order' {} a -> s {orderArn = a} :: Order)++-- | The shipping address of the order.+order_shippingAddress :: Lens.Lens' Order (Prelude.Maybe Address)+order_shippingAddress = Lens.lens (\Order' {shippingAddress} -> shippingAddress) (\s@Order' {} a -> s {shippingAddress = a} :: Order)++-- | The tracking information of the order.+order_trackingInformation :: Lens.Lens' Order (Prelude.Maybe [TrackingInformation])+order_trackingInformation = Lens.lens (\Order' {trackingInformation} -> trackingInformation) (\s@Order' {} a -> s {trackingInformation = a} :: Order) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Order where+  parseJSON =+    Data.withObject+      "Order"+      ( \x ->+          Order'+            Prelude.<$> (x Data..:? "acknowledgmentStatus")+            Prelude.<*> (x Data..:? "createdAt")+            Prelude.<*> (x Data..:? "networkArn")+            Prelude.<*> (x Data..:? "networkSiteArn")+            Prelude.<*> (x Data..:? "orderArn")+            Prelude.<*> (x Data..:? "shippingAddress")+            Prelude.<*> ( x+                            Data..:? "trackingInformation"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable Order where+  hashWithSalt _salt Order' {..} =+    _salt+      `Prelude.hashWithSalt` acknowledgmentStatus+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` networkArn+      `Prelude.hashWithSalt` networkSiteArn+      `Prelude.hashWithSalt` orderArn+      `Prelude.hashWithSalt` shippingAddress+      `Prelude.hashWithSalt` trackingInformation++instance Prelude.NFData Order where+  rnf Order' {..} =+    Prelude.rnf acknowledgmentStatus+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf networkArn+      `Prelude.seq` Prelude.rnf networkSiteArn+      `Prelude.seq` Prelude.rnf orderArn+      `Prelude.seq` Prelude.rnf shippingAddress+      `Prelude.seq` Prelude.rnf trackingInformation
+ gen/Amazonka/PrivateNetworks/Types/OrderFilterKeys.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.PrivateNetworks.Types.OrderFilterKeys+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.OrderFilterKeys+  ( OrderFilterKeys+      ( ..,+        OrderFilterKeys_NETWORK_SITE,+        OrderFilterKeys_STATUS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrderFilterKeys = OrderFilterKeys'+  { fromOrderFilterKeys ::+      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 OrderFilterKeys_NETWORK_SITE :: OrderFilterKeys+pattern OrderFilterKeys_NETWORK_SITE = OrderFilterKeys' "NETWORK_SITE"++pattern OrderFilterKeys_STATUS :: OrderFilterKeys+pattern OrderFilterKeys_STATUS = OrderFilterKeys' "STATUS"++{-# COMPLETE+  OrderFilterKeys_NETWORK_SITE,+  OrderFilterKeys_STATUS,+  OrderFilterKeys'+  #-}
+ gen/Amazonka/PrivateNetworks/Types/Position.hs view
@@ -0,0 +1,135 @@+{-# 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.PrivateNetworks.Types.Position+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.Position 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+import Amazonka.PrivateNetworks.Types.ElevationReference+import Amazonka.PrivateNetworks.Types.ElevationUnit++-- | Information about a position.+--+-- /See:/ 'newPosition' smart constructor.+data Position = Position'+  { -- | The elevation of the equipment at this position.+    elevation :: Prelude.Maybe Prelude.Double,+    -- | The reference point from which elevation is reported.+    elevationReference :: Prelude.Maybe ElevationReference,+    -- | The units used to measure the elevation of the position.+    elevationUnit :: Prelude.Maybe ElevationUnit,+    -- | The latitude of the position.+    latitude :: Prelude.Maybe Prelude.Double,+    -- | The longitude of the position.+    longitude :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Position' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'elevation', 'position_elevation' - The elevation of the equipment at this position.+--+-- 'elevationReference', 'position_elevationReference' - The reference point from which elevation is reported.+--+-- 'elevationUnit', 'position_elevationUnit' - The units used to measure the elevation of the position.+--+-- 'latitude', 'position_latitude' - The latitude of the position.+--+-- 'longitude', 'position_longitude' - The longitude of the position.+newPosition ::+  Position+newPosition =+  Position'+    { elevation = Prelude.Nothing,+      elevationReference = Prelude.Nothing,+      elevationUnit = Prelude.Nothing,+      latitude = Prelude.Nothing,+      longitude = Prelude.Nothing+    }++-- | The elevation of the equipment at this position.+position_elevation :: Lens.Lens' Position (Prelude.Maybe Prelude.Double)+position_elevation = Lens.lens (\Position' {elevation} -> elevation) (\s@Position' {} a -> s {elevation = a} :: Position)++-- | The reference point from which elevation is reported.+position_elevationReference :: Lens.Lens' Position (Prelude.Maybe ElevationReference)+position_elevationReference = Lens.lens (\Position' {elevationReference} -> elevationReference) (\s@Position' {} a -> s {elevationReference = a} :: Position)++-- | The units used to measure the elevation of the position.+position_elevationUnit :: Lens.Lens' Position (Prelude.Maybe ElevationUnit)+position_elevationUnit = Lens.lens (\Position' {elevationUnit} -> elevationUnit) (\s@Position' {} a -> s {elevationUnit = a} :: Position)++-- | The latitude of the position.+position_latitude :: Lens.Lens' Position (Prelude.Maybe Prelude.Double)+position_latitude = Lens.lens (\Position' {latitude} -> latitude) (\s@Position' {} a -> s {latitude = a} :: Position)++-- | The longitude of the position.+position_longitude :: Lens.Lens' Position (Prelude.Maybe Prelude.Double)+position_longitude = Lens.lens (\Position' {longitude} -> longitude) (\s@Position' {} a -> s {longitude = a} :: Position)++instance Data.FromJSON Position where+  parseJSON =+    Data.withObject+      "Position"+      ( \x ->+          Position'+            Prelude.<$> (x Data..:? "elevation")+            Prelude.<*> (x Data..:? "elevationReference")+            Prelude.<*> (x Data..:? "elevationUnit")+            Prelude.<*> (x Data..:? "latitude")+            Prelude.<*> (x Data..:? "longitude")+      )++instance Prelude.Hashable Position where+  hashWithSalt _salt Position' {..} =+    _salt+      `Prelude.hashWithSalt` elevation+      `Prelude.hashWithSalt` elevationReference+      `Prelude.hashWithSalt` elevationUnit+      `Prelude.hashWithSalt` latitude+      `Prelude.hashWithSalt` longitude++instance Prelude.NFData Position where+  rnf Position' {..} =+    Prelude.rnf elevation+      `Prelude.seq` Prelude.rnf elevationReference+      `Prelude.seq` Prelude.rnf elevationUnit+      `Prelude.seq` Prelude.rnf latitude+      `Prelude.seq` Prelude.rnf longitude++instance Data.ToJSON Position where+  toJSON Position' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("elevation" Data..=) Prelude.<$> elevation,+            ("elevationReference" Data..=)+              Prelude.<$> elevationReference,+            ("elevationUnit" Data..=) Prelude.<$> elevationUnit,+            ("latitude" Data..=) Prelude.<$> latitude,+            ("longitude" Data..=) Prelude.<$> longitude+          ]+      )
+ gen/Amazonka/PrivateNetworks/Types/SitePlan.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.Types.SitePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.SitePlan 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+import Amazonka.PrivateNetworks.Types.NameValuePair+import Amazonka.PrivateNetworks.Types.NetworkResourceDefinition++-- | Information about a site plan.+--+-- /See:/ 'newSitePlan' smart constructor.+data SitePlan = SitePlan'+  { -- | The options of the plan.+    options :: Prelude.Maybe [NameValuePair],+    -- | The resource definitions of the plan.+    resourceDefinitions :: Prelude.Maybe [NetworkResourceDefinition]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SitePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'options', 'sitePlan_options' - The options of the plan.+--+-- 'resourceDefinitions', 'sitePlan_resourceDefinitions' - The resource definitions of the plan.+newSitePlan ::+  SitePlan+newSitePlan =+  SitePlan'+    { options = Prelude.Nothing,+      resourceDefinitions = Prelude.Nothing+    }++-- | The options of the plan.+sitePlan_options :: Lens.Lens' SitePlan (Prelude.Maybe [NameValuePair])+sitePlan_options = Lens.lens (\SitePlan' {options} -> options) (\s@SitePlan' {} a -> s {options = a} :: SitePlan) Prelude.. Lens.mapping Lens.coerced++-- | The resource definitions of the plan.+sitePlan_resourceDefinitions :: Lens.Lens' SitePlan (Prelude.Maybe [NetworkResourceDefinition])+sitePlan_resourceDefinitions = Lens.lens (\SitePlan' {resourceDefinitions} -> resourceDefinitions) (\s@SitePlan' {} a -> s {resourceDefinitions = a} :: SitePlan) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SitePlan where+  parseJSON =+    Data.withObject+      "SitePlan"+      ( \x ->+          SitePlan'+            Prelude.<$> (x Data..:? "options" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "resourceDefinitions"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable SitePlan where+  hashWithSalt _salt SitePlan' {..} =+    _salt+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` resourceDefinitions++instance Prelude.NFData SitePlan where+  rnf SitePlan' {..} =+    Prelude.rnf options+      `Prelude.seq` Prelude.rnf resourceDefinitions++instance Data.ToJSON SitePlan where+  toJSON SitePlan' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("options" Data..=) Prelude.<$> options,+            ("resourceDefinitions" Data..=)+              Prelude.<$> resourceDefinitions+          ]+      )
+ gen/Amazonka/PrivateNetworks/Types/TrackingInformation.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.PrivateNetworks.Types.TrackingInformation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.TrackingInformation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about tracking a shipment.+--+-- /See:/ 'newTrackingInformation' smart constructor.+data TrackingInformation = TrackingInformation'+  { -- | The tracking number of the shipment.+    trackingNumber :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TrackingInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'trackingNumber', 'trackingInformation_trackingNumber' - The tracking number of the shipment.+newTrackingInformation ::+  TrackingInformation+newTrackingInformation =+  TrackingInformation'+    { trackingNumber =+        Prelude.Nothing+    }++-- | The tracking number of the shipment.+trackingInformation_trackingNumber :: Lens.Lens' TrackingInformation (Prelude.Maybe Prelude.Text)+trackingInformation_trackingNumber = Lens.lens (\TrackingInformation' {trackingNumber} -> trackingNumber) (\s@TrackingInformation' {} a -> s {trackingNumber = a} :: TrackingInformation)++instance Data.FromJSON TrackingInformation where+  parseJSON =+    Data.withObject+      "TrackingInformation"+      ( \x ->+          TrackingInformation'+            Prelude.<$> (x Data..:? "trackingNumber")+      )++instance Prelude.Hashable TrackingInformation where+  hashWithSalt _salt TrackingInformation' {..} =+    _salt `Prelude.hashWithSalt` trackingNumber++instance Prelude.NFData TrackingInformation where+  rnf TrackingInformation' {..} =+    Prelude.rnf trackingNumber
+ gen/Amazonka/PrivateNetworks/Types/UpdateNetworkSiteResponse.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.PrivateNetworks.Types.UpdateNetworkSiteResponse+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.PrivateNetworks.Types.UpdateNetworkSiteResponse 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+import Amazonka.PrivateNetworks.Types.NetworkSite++-- | /See:/ 'newUpdateNetworkSiteResponse' smart constructor.+data UpdateNetworkSiteResponse = UpdateNetworkSiteResponse'+  { -- | Information about the network site.+    networkSite :: Prelude.Maybe NetworkSite,+    -- | The network site tags.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkSite', 'updateNetworkSiteResponse_networkSite' - Information about the network site.+--+-- 'tags', 'updateNetworkSiteResponse_tags' - The network site tags.+newUpdateNetworkSiteResponse ::+  UpdateNetworkSiteResponse+newUpdateNetworkSiteResponse =+  UpdateNetworkSiteResponse'+    { networkSite =+        Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Information about the network site.+updateNetworkSiteResponse_networkSite :: Lens.Lens' UpdateNetworkSiteResponse (Prelude.Maybe NetworkSite)+updateNetworkSiteResponse_networkSite = Lens.lens (\UpdateNetworkSiteResponse' {networkSite} -> networkSite) (\s@UpdateNetworkSiteResponse' {} a -> s {networkSite = a} :: UpdateNetworkSiteResponse)++-- | The network site tags.+updateNetworkSiteResponse_tags :: Lens.Lens' UpdateNetworkSiteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateNetworkSiteResponse_tags = Lens.lens (\UpdateNetworkSiteResponse' {tags} -> tags) (\s@UpdateNetworkSiteResponse' {} a -> s {tags = a} :: UpdateNetworkSiteResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON UpdateNetworkSiteResponse where+  parseJSON =+    Data.withObject+      "UpdateNetworkSiteResponse"+      ( \x ->+          UpdateNetworkSiteResponse'+            Prelude.<$> (x Data..:? "networkSite")+            Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable UpdateNetworkSiteResponse where+  hashWithSalt _salt UpdateNetworkSiteResponse' {..} =+    _salt+      `Prelude.hashWithSalt` networkSite+      `Prelude.hashWithSalt` tags++instance Prelude.NFData UpdateNetworkSiteResponse where+  rnf UpdateNetworkSiteResponse' {..} =+    Prelude.rnf networkSite+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/PrivateNetworks/UntagResource.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.PrivateNetworks.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 the specified resource.+module Amazonka.PrivateNetworks.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 qualified Amazonka.Prelude as Prelude+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Data.Sensitive (Prelude.NonEmpty Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys =+        Data._Sensitive+          Prelude.. Lens.coerced+          Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Data._Sensitive 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/PrivateNetworks/UpdateNetworkSite.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.PrivateNetworks.UpdateNetworkSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified network site.+module Amazonka.PrivateNetworks.UpdateNetworkSite+  ( -- * Creating a Request+    UpdateNetworkSite (..),+    newUpdateNetworkSite,++    -- * Request Lenses+    updateNetworkSite_clientToken,+    updateNetworkSite_description,+    updateNetworkSite_networkSiteArn,++    -- * Destructuring the Response+    UpdateNetworkSiteResponse (..),+    newUpdateNetworkSiteResponse,++    -- * Response Lenses+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateNetworkSite' smart constructor.+data UpdateNetworkSite = UpdateNetworkSite'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateNetworkSite_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'description', 'updateNetworkSite_description' - The description.+--+-- 'networkSiteArn', 'updateNetworkSite_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+newUpdateNetworkSite ::+  -- | 'networkSiteArn'+  Prelude.Text ->+  UpdateNetworkSite+newUpdateNetworkSite pNetworkSiteArn_ =+  UpdateNetworkSite'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      networkSiteArn = pNetworkSiteArn_+    }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+updateNetworkSite_clientToken :: Lens.Lens' UpdateNetworkSite (Prelude.Maybe Prelude.Text)+updateNetworkSite_clientToken = Lens.lens (\UpdateNetworkSite' {clientToken} -> clientToken) (\s@UpdateNetworkSite' {} a -> s {clientToken = a} :: UpdateNetworkSite)++-- | The description.+updateNetworkSite_description :: Lens.Lens' UpdateNetworkSite (Prelude.Maybe Prelude.Text)+updateNetworkSite_description = Lens.lens (\UpdateNetworkSite' {description} -> description) (\s@UpdateNetworkSite' {} a -> s {description = a} :: UpdateNetworkSite)++-- | The Amazon Resource Name (ARN) of the network site.+updateNetworkSite_networkSiteArn :: Lens.Lens' UpdateNetworkSite Prelude.Text+updateNetworkSite_networkSiteArn = Lens.lens (\UpdateNetworkSite' {networkSiteArn} -> networkSiteArn) (\s@UpdateNetworkSite' {} a -> s {networkSiteArn = a} :: UpdateNetworkSite)++instance Core.AWSRequest UpdateNetworkSite where+  type+    AWSResponse UpdateNetworkSite =+      UpdateNetworkSiteResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateNetworkSite where+  hashWithSalt _salt UpdateNetworkSite' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` networkSiteArn++instance Prelude.NFData UpdateNetworkSite where+  rnf UpdateNetworkSite' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf networkSiteArn++instance Data.ToHeaders UpdateNetworkSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateNetworkSite where+  toJSON UpdateNetworkSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("description" Data..=) Prelude.<$> description,+            Prelude.Just+              ("networkSiteArn" Data..= networkSiteArn)+          ]+      )++instance Data.ToPath UpdateNetworkSite where+  toPath = Prelude.const "/v1/network-sites/site"++instance Data.ToQuery UpdateNetworkSite where+  toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/PrivateNetworks/UpdateNetworkSitePlan.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.PrivateNetworks.UpdateNetworkSitePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified network site plan.+module Amazonka.PrivateNetworks.UpdateNetworkSitePlan+  ( -- * Creating a Request+    UpdateNetworkSitePlan (..),+    newUpdateNetworkSitePlan,++    -- * Request Lenses+    updateNetworkSitePlan_clientToken,+    updateNetworkSitePlan_networkSiteArn,+    updateNetworkSitePlan_pendingPlan,++    -- * Destructuring the Response+    UpdateNetworkSiteResponse (..),+    newUpdateNetworkSiteResponse,++    -- * Response Lenses+    updateNetworkSiteResponse_networkSite,+    updateNetworkSiteResponse_tags,+  )+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+import Amazonka.PrivateNetworks.Types+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateNetworkSitePlan' smart constructor.+data UpdateNetworkSitePlan = UpdateNetworkSitePlan'+  { -- | Unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request. For more information, see+    -- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the network site.+    networkSiteArn :: Prelude.Text,+    -- | The pending plan.+    pendingPlan :: SitePlan+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkSitePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateNetworkSitePlan_clientToken' - Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+--+-- 'networkSiteArn', 'updateNetworkSitePlan_networkSiteArn' - The Amazon Resource Name (ARN) of the network site.+--+-- 'pendingPlan', 'updateNetworkSitePlan_pendingPlan' - The pending plan.+newUpdateNetworkSitePlan ::+  -- | 'networkSiteArn'+  Prelude.Text ->+  -- | 'pendingPlan'+  SitePlan ->+  UpdateNetworkSitePlan+newUpdateNetworkSitePlan+  pNetworkSiteArn_+  pPendingPlan_ =+    UpdateNetworkSitePlan'+      { clientToken =+          Prelude.Nothing,+        networkSiteArn = pNetworkSiteArn_,+        pendingPlan = pPendingPlan_+      }++-- | Unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request. For more information, see+-- <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html How to ensure idempotency>.+updateNetworkSitePlan_clientToken :: Lens.Lens' UpdateNetworkSitePlan (Prelude.Maybe Prelude.Text)+updateNetworkSitePlan_clientToken = Lens.lens (\UpdateNetworkSitePlan' {clientToken} -> clientToken) (\s@UpdateNetworkSitePlan' {} a -> s {clientToken = a} :: UpdateNetworkSitePlan)++-- | The Amazon Resource Name (ARN) of the network site.+updateNetworkSitePlan_networkSiteArn :: Lens.Lens' UpdateNetworkSitePlan Prelude.Text+updateNetworkSitePlan_networkSiteArn = Lens.lens (\UpdateNetworkSitePlan' {networkSiteArn} -> networkSiteArn) (\s@UpdateNetworkSitePlan' {} a -> s {networkSiteArn = a} :: UpdateNetworkSitePlan)++-- | The pending plan.+updateNetworkSitePlan_pendingPlan :: Lens.Lens' UpdateNetworkSitePlan SitePlan+updateNetworkSitePlan_pendingPlan = Lens.lens (\UpdateNetworkSitePlan' {pendingPlan} -> pendingPlan) (\s@UpdateNetworkSitePlan' {} a -> s {pendingPlan = a} :: UpdateNetworkSitePlan)++instance Core.AWSRequest UpdateNetworkSitePlan where+  type+    AWSResponse UpdateNetworkSitePlan =+      UpdateNetworkSiteResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      (\s h x -> Data.eitherParseJSON x)++instance Prelude.Hashable UpdateNetworkSitePlan where+  hashWithSalt _salt UpdateNetworkSitePlan' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` networkSiteArn+      `Prelude.hashWithSalt` pendingPlan++instance Prelude.NFData UpdateNetworkSitePlan where+  rnf UpdateNetworkSitePlan' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf networkSiteArn+      `Prelude.seq` Prelude.rnf pendingPlan++instance Data.ToHeaders UpdateNetworkSitePlan where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateNetworkSitePlan where+  toJSON UpdateNetworkSitePlan' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just+              ("networkSiteArn" Data..= networkSiteArn),+            Prelude.Just ("pendingPlan" Data..= pendingPlan)+          ]+      )++instance Data.ToPath UpdateNetworkSitePlan where+  toPath = Prelude.const "/v1/network-sites/plan"++instance Data.ToQuery UpdateNetworkSitePlan where+  toQuery = Prelude.const Prelude.mempty
+ gen/Amazonka/PrivateNetworks/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.PrivateNetworks.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.PrivateNetworks.Waiters 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+import Amazonka.PrivateNetworks.Lens+import Amazonka.PrivateNetworks.Types
+ 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.PrivateNetworks+import Test.Amazonka.PrivateNetworks.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "PrivateNetworks"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/PrivateNetworks.hs view
@@ -0,0 +1,538 @@+{-# 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.PrivateNetworks+-- Copyright   : (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.PrivateNetworks where++import Amazonka.PrivateNetworks+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.PrivateNetworks.Internal+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"+--         [ requestAcknowledgeOrderReceipt $+--             newAcknowledgeOrderReceipt+--+--         , requestActivateDeviceIdentifier $+--             newActivateDeviceIdentifier+--+--         , requestActivateNetworkSite $+--             newActivateNetworkSite+--+--         , requestConfigureAccessPoint $+--             newConfigureAccessPoint+--+--         , requestCreateNetwork $+--             newCreateNetwork+--+--         , requestCreateNetworkSite $+--             newCreateNetworkSite+--+--         , requestDeactivateDeviceIdentifier $+--             newDeactivateDeviceIdentifier+--+--         , requestDeleteNetwork $+--             newDeleteNetwork+--+--         , requestDeleteNetworkSite $+--             newDeleteNetworkSite+--+--         , requestGetDeviceIdentifier $+--             newGetDeviceIdentifier+--+--         , requestGetNetwork $+--             newGetNetwork+--+--         , requestGetNetworkResource $+--             newGetNetworkResource+--+--         , requestGetNetworkSite $+--             newGetNetworkSite+--+--         , requestGetOrder $+--             newGetOrder+--+--         , requestListDeviceIdentifiers $+--             newListDeviceIdentifiers+--+--         , requestListNetworkResources $+--             newListNetworkResources+--+--         , requestListNetworkSites $+--             newListNetworkSites+--+--         , requestListNetworks $+--             newListNetworks+--+--         , requestListOrders $+--             newListOrders+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPing $+--             newPing+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateNetworkSite $+--             newUpdateNetworkSite+--+--         , requestUpdateNetworkSitePlan $+--             newUpdateNetworkSitePlan+--+--           ]++--     , testGroup "response"+--         [ responseAcknowledgeOrderReceipt $+--             newAcknowledgeOrderReceiptResponse+--+--         , responseActivateDeviceIdentifier $+--             newActivateDeviceIdentifierResponse+--+--         , responseActivateNetworkSite $+--             newActivateNetworkSiteResponse+--+--         , responseConfigureAccessPoint $+--             newConfigureAccessPointResponse+--+--         , responseCreateNetwork $+--             newCreateNetworkResponse+--+--         , responseCreateNetworkSite $+--             newCreateNetworkSiteResponse+--+--         , responseDeactivateDeviceIdentifier $+--             newDeactivateDeviceIdentifierResponse+--+--         , responseDeleteNetwork $+--             newDeleteNetworkResponse+--+--         , responseDeleteNetworkSite $+--             newDeleteNetworkSiteResponse+--+--         , responseGetDeviceIdentifier $+--             newGetDeviceIdentifierResponse+--+--         , responseGetNetwork $+--             newGetNetworkResponse+--+--         , responseGetNetworkResource $+--             newGetNetworkResourceResponse+--+--         , responseGetNetworkSite $+--             newGetNetworkSiteResponse+--+--         , responseGetOrder $+--             newGetOrderResponse+--+--         , responseListDeviceIdentifiers $+--             newListDeviceIdentifiersResponse+--+--         , responseListNetworkResources $+--             newListNetworkResourcesResponse+--+--         , responseListNetworkSites $+--             newListNetworkSitesResponse+--+--         , responseListNetworks $+--             newListNetworksResponse+--+--         , responseListOrders $+--             newListOrdersResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePing $+--             newPingResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateNetworkSite $+--             newUpdateNetworkSiteResponse+--+--         , responseUpdateNetworkSitePlan $+--             newUpdateNetworkSiteResponse+--+--           ]+--     ]++-- Requests++requestAcknowledgeOrderReceipt :: AcknowledgeOrderReceipt -> TestTree+requestAcknowledgeOrderReceipt =+  req+    "AcknowledgeOrderReceipt"+    "fixture/AcknowledgeOrderReceipt.yaml"++requestActivateDeviceIdentifier :: ActivateDeviceIdentifier -> TestTree+requestActivateDeviceIdentifier =+  req+    "ActivateDeviceIdentifier"+    "fixture/ActivateDeviceIdentifier.yaml"++requestActivateNetworkSite :: ActivateNetworkSite -> TestTree+requestActivateNetworkSite =+  req+    "ActivateNetworkSite"+    "fixture/ActivateNetworkSite.yaml"++requestConfigureAccessPoint :: ConfigureAccessPoint -> TestTree+requestConfigureAccessPoint =+  req+    "ConfigureAccessPoint"+    "fixture/ConfigureAccessPoint.yaml"++requestCreateNetwork :: CreateNetwork -> TestTree+requestCreateNetwork =+  req+    "CreateNetwork"+    "fixture/CreateNetwork.yaml"++requestCreateNetworkSite :: CreateNetworkSite -> TestTree+requestCreateNetworkSite =+  req+    "CreateNetworkSite"+    "fixture/CreateNetworkSite.yaml"++requestDeactivateDeviceIdentifier :: DeactivateDeviceIdentifier -> TestTree+requestDeactivateDeviceIdentifier =+  req+    "DeactivateDeviceIdentifier"+    "fixture/DeactivateDeviceIdentifier.yaml"++requestDeleteNetwork :: DeleteNetwork -> TestTree+requestDeleteNetwork =+  req+    "DeleteNetwork"+    "fixture/DeleteNetwork.yaml"++requestDeleteNetworkSite :: DeleteNetworkSite -> TestTree+requestDeleteNetworkSite =+  req+    "DeleteNetworkSite"+    "fixture/DeleteNetworkSite.yaml"++requestGetDeviceIdentifier :: GetDeviceIdentifier -> TestTree+requestGetDeviceIdentifier =+  req+    "GetDeviceIdentifier"+    "fixture/GetDeviceIdentifier.yaml"++requestGetNetwork :: GetNetwork -> TestTree+requestGetNetwork =+  req+    "GetNetwork"+    "fixture/GetNetwork.yaml"++requestGetNetworkResource :: GetNetworkResource -> TestTree+requestGetNetworkResource =+  req+    "GetNetworkResource"+    "fixture/GetNetworkResource.yaml"++requestGetNetworkSite :: GetNetworkSite -> TestTree+requestGetNetworkSite =+  req+    "GetNetworkSite"+    "fixture/GetNetworkSite.yaml"++requestGetOrder :: GetOrder -> TestTree+requestGetOrder =+  req+    "GetOrder"+    "fixture/GetOrder.yaml"++requestListDeviceIdentifiers :: ListDeviceIdentifiers -> TestTree+requestListDeviceIdentifiers =+  req+    "ListDeviceIdentifiers"+    "fixture/ListDeviceIdentifiers.yaml"++requestListNetworkResources :: ListNetworkResources -> TestTree+requestListNetworkResources =+  req+    "ListNetworkResources"+    "fixture/ListNetworkResources.yaml"++requestListNetworkSites :: ListNetworkSites -> TestTree+requestListNetworkSites =+  req+    "ListNetworkSites"+    "fixture/ListNetworkSites.yaml"++requestListNetworks :: ListNetworks -> TestTree+requestListNetworks =+  req+    "ListNetworks"+    "fixture/ListNetworks.yaml"++requestListOrders :: ListOrders -> TestTree+requestListOrders =+  req+    "ListOrders"+    "fixture/ListOrders.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPing :: Ping -> TestTree+requestPing =+  req+    "Ping"+    "fixture/Ping.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateNetworkSite :: UpdateNetworkSite -> TestTree+requestUpdateNetworkSite =+  req+    "UpdateNetworkSite"+    "fixture/UpdateNetworkSite.yaml"++requestUpdateNetworkSitePlan :: UpdateNetworkSitePlan -> TestTree+requestUpdateNetworkSitePlan =+  req+    "UpdateNetworkSitePlan"+    "fixture/UpdateNetworkSitePlan.yaml"++-- Responses++responseAcknowledgeOrderReceipt :: AcknowledgeOrderReceiptResponse -> TestTree+responseAcknowledgeOrderReceipt =+  res+    "AcknowledgeOrderReceiptResponse"+    "fixture/AcknowledgeOrderReceiptResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AcknowledgeOrderReceipt)++responseActivateDeviceIdentifier :: ActivateDeviceIdentifierResponse -> TestTree+responseActivateDeviceIdentifier =+  res+    "ActivateDeviceIdentifierResponse"+    "fixture/ActivateDeviceIdentifierResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ActivateDeviceIdentifier)++responseActivateNetworkSite :: ActivateNetworkSiteResponse -> TestTree+responseActivateNetworkSite =+  res+    "ActivateNetworkSiteResponse"+    "fixture/ActivateNetworkSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ActivateNetworkSite)++responseConfigureAccessPoint :: ConfigureAccessPointResponse -> TestTree+responseConfigureAccessPoint =+  res+    "ConfigureAccessPointResponse"+    "fixture/ConfigureAccessPointResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ConfigureAccessPoint)++responseCreateNetwork :: CreateNetworkResponse -> TestTree+responseCreateNetwork =+  res+    "CreateNetworkResponse"+    "fixture/CreateNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNetwork)++responseCreateNetworkSite :: CreateNetworkSiteResponse -> TestTree+responseCreateNetworkSite =+  res+    "CreateNetworkSiteResponse"+    "fixture/CreateNetworkSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateNetworkSite)++responseDeactivateDeviceIdentifier :: DeactivateDeviceIdentifierResponse -> TestTree+responseDeactivateDeviceIdentifier =+  res+    "DeactivateDeviceIdentifierResponse"+    "fixture/DeactivateDeviceIdentifierResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeactivateDeviceIdentifier)++responseDeleteNetwork :: DeleteNetworkResponse -> TestTree+responseDeleteNetwork =+  res+    "DeleteNetworkResponse"+    "fixture/DeleteNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNetwork)++responseDeleteNetworkSite :: DeleteNetworkSiteResponse -> TestTree+responseDeleteNetworkSite =+  res+    "DeleteNetworkSiteResponse"+    "fixture/DeleteNetworkSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteNetworkSite)++responseGetDeviceIdentifier :: GetDeviceIdentifierResponse -> TestTree+responseGetDeviceIdentifier =+  res+    "GetDeviceIdentifierResponse"+    "fixture/GetDeviceIdentifierResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDeviceIdentifier)++responseGetNetwork :: GetNetworkResponse -> TestTree+responseGetNetwork =+  res+    "GetNetworkResponse"+    "fixture/GetNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetwork)++responseGetNetworkResource :: GetNetworkResourceResponse -> TestTree+responseGetNetworkResource =+  res+    "GetNetworkResourceResponse"+    "fixture/GetNetworkResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkResource)++responseGetNetworkSite :: GetNetworkSiteResponse -> TestTree+responseGetNetworkSite =+  res+    "GetNetworkSiteResponse"+    "fixture/GetNetworkSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkSite)++responseGetOrder :: GetOrderResponse -> TestTree+responseGetOrder =+  res+    "GetOrderResponse"+    "fixture/GetOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetOrder)++responseListDeviceIdentifiers :: ListDeviceIdentifiersResponse -> TestTree+responseListDeviceIdentifiers =+  res+    "ListDeviceIdentifiersResponse"+    "fixture/ListDeviceIdentifiersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListDeviceIdentifiers)++responseListNetworkResources :: ListNetworkResourcesResponse -> TestTree+responseListNetworkResources =+  res+    "ListNetworkResourcesResponse"+    "fixture/ListNetworkResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNetworkResources)++responseListNetworkSites :: ListNetworkSitesResponse -> TestTree+responseListNetworkSites =+  res+    "ListNetworkSitesResponse"+    "fixture/ListNetworkSitesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNetworkSites)++responseListNetworks :: ListNetworksResponse -> TestTree+responseListNetworks =+  res+    "ListNetworksResponse"+    "fixture/ListNetworksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListNetworks)++responseListOrders :: ListOrdersResponse -> TestTree+responseListOrders =+  res+    "ListOrdersResponse"+    "fixture/ListOrdersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListOrders)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePing :: PingResponse -> TestTree+responsePing =+  res+    "PingResponse"+    "fixture/PingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy Ping)++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)++responseUpdateNetworkSite :: UpdateNetworkSiteResponse -> TestTree+responseUpdateNetworkSite =+  res+    "UpdateNetworkSiteResponse"+    "fixture/UpdateNetworkSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateNetworkSite)++responseUpdateNetworkSitePlan :: UpdateNetworkSiteResponse -> TestTree+responseUpdateNetworkSitePlan =+  res+    "UpdateNetworkSitePlanResponse"+    "fixture/UpdateNetworkSitePlanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateNetworkSitePlan)
+ test/Test/Amazonka/PrivateNetworks.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.PrivateNetworks+-- Copyright   : (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.PrivateNetworks+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/PrivateNetworks/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.PrivateNetworks.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.PrivateNetworks.Internal where