packages feed

amazonka-outposts (empty) → 2.0

raw patch · 130 files changed

+12300/−0 lines, 130 filesdep +amazonka-coredep +amazonka-outpostsdep +amazonka-test

Dependencies added: amazonka-core, amazonka-outposts, 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 Outposts SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-12-03@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-outposts)+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.Outposts](http://hackage.haskell.org/package/amazonka-outposts/docs/Amazonka-Outposts.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-outposts` 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-outposts.cabal view
@@ -0,0 +1,149 @@+cabal-version:      2.2+name:               amazonka-outposts+version:            2.0+synopsis:           Amazon Outposts SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2019-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.Outposts.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.Outposts" 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-outposts++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.Outposts+    Amazonka.Outposts.CancelOrder+    Amazonka.Outposts.CreateOrder+    Amazonka.Outposts.CreateOutpost+    Amazonka.Outposts.CreateSite+    Amazonka.Outposts.DeleteOutpost+    Amazonka.Outposts.DeleteSite+    Amazonka.Outposts.GetCatalogItem+    Amazonka.Outposts.GetConnection+    Amazonka.Outposts.GetOrder+    Amazonka.Outposts.GetOutpost+    Amazonka.Outposts.GetOutpostInstanceTypes+    Amazonka.Outposts.GetSite+    Amazonka.Outposts.GetSiteAddress+    Amazonka.Outposts.Lens+    Amazonka.Outposts.ListAssets+    Amazonka.Outposts.ListCatalogItems+    Amazonka.Outposts.ListOrders+    Amazonka.Outposts.ListOutposts+    Amazonka.Outposts.ListSites+    Amazonka.Outposts.ListTagsForResource+    Amazonka.Outposts.StartConnection+    Amazonka.Outposts.TagResource+    Amazonka.Outposts.Types+    Amazonka.Outposts.Types.Address+    Amazonka.Outposts.Types.AddressType+    Amazonka.Outposts.Types.AssetInfo+    Amazonka.Outposts.Types.AssetLocation+    Amazonka.Outposts.Types.AssetState+    Amazonka.Outposts.Types.AssetType+    Amazonka.Outposts.Types.CatalogItem+    Amazonka.Outposts.Types.CatalogItemClass+    Amazonka.Outposts.Types.CatalogItemStatus+    Amazonka.Outposts.Types.ComputeAssetState+    Amazonka.Outposts.Types.ComputeAttributes+    Amazonka.Outposts.Types.ConnectionDetails+    Amazonka.Outposts.Types.EC2Capacity+    Amazonka.Outposts.Types.FiberOpticCableType+    Amazonka.Outposts.Types.InstanceTypeItem+    Amazonka.Outposts.Types.LineItem+    Amazonka.Outposts.Types.LineItemAssetInformation+    Amazonka.Outposts.Types.LineItemRequest+    Amazonka.Outposts.Types.LineItemStatus+    Amazonka.Outposts.Types.MaximumSupportedWeightLbs+    Amazonka.Outposts.Types.OpticalStandard+    Amazonka.Outposts.Types.Order+    Amazonka.Outposts.Types.OrderStatus+    Amazonka.Outposts.Types.OrderSummary+    Amazonka.Outposts.Types.OrderType+    Amazonka.Outposts.Types.Outpost+    Amazonka.Outposts.Types.PaymentOption+    Amazonka.Outposts.Types.PaymentTerm+    Amazonka.Outposts.Types.PowerConnector+    Amazonka.Outposts.Types.PowerDrawKva+    Amazonka.Outposts.Types.PowerFeedDrop+    Amazonka.Outposts.Types.PowerPhase+    Amazonka.Outposts.Types.RackPhysicalProperties+    Amazonka.Outposts.Types.ShipmentCarrier+    Amazonka.Outposts.Types.ShipmentInformation+    Amazonka.Outposts.Types.Site+    Amazonka.Outposts.Types.SupportedHardwareType+    Amazonka.Outposts.Types.SupportedStorageEnum+    Amazonka.Outposts.Types.UplinkCount+    Amazonka.Outposts.Types.UplinkGbps+    Amazonka.Outposts.UntagResource+    Amazonka.Outposts.UpdateOutpost+    Amazonka.Outposts.UpdateSite+    Amazonka.Outposts.UpdateSiteAddress+    Amazonka.Outposts.UpdateSiteRackPhysicalProperties+    Amazonka.Outposts.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-outposts-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.Outposts+    Test.Amazonka.Outposts+    Test.Amazonka.Outposts.Internal++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-outposts+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CancelOrder.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CancelOrderResponse.proto view
+ fixture/CreateOrder.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateOrderResponse.proto view
+ fixture/CreateOutpost.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateOutpostResponse.proto view
+ fixture/CreateSite.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateSiteResponse.proto view
+ fixture/DeleteOutpost.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteOutpostResponse.proto view
+ fixture/DeleteSite.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteSiteResponse.proto view
+ fixture/GetCatalogItem.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetCatalogItemResponse.proto view
+ fixture/GetConnection.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetConnectionResponse.proto view
+ fixture/GetOrder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-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/GetOutpost.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetOutpostInstanceTypes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetOutpostInstanceTypesResponse.proto view
+ fixture/GetOutpostResponse.proto view
+ fixture/GetSite.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetSiteAddress.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetSiteAddressResponse.proto view
+ fixture/GetSiteResponse.proto view
+ fixture/ListAssets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListAssetsResponse.proto view
+ fixture/ListCatalogItems.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListCatalogItemsResponse.proto view
+ fixture/ListOrders.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-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/ListOutposts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListOutpostsResponse.proto view
+ fixture/ListSites.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListSitesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-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/StartConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartConnectionResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-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/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-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/UpdateOutpost.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateOutpostResponse.proto view
+ fixture/UpdateSite.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateSiteAddress.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateSiteAddressResponse.proto view
+ fixture/UpdateSiteRackPhysicalProperties.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/outposts/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  outposts.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateSiteRackPhysicalPropertiesResponse.proto view
+ fixture/UpdateSiteResponse.proto view
+ gen/Amazonka/Outposts.hs view
@@ -0,0 +1,404 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.Outposts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2019-12-03@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services Outposts is a fully managed service that extends+-- Amazon Web Services infrastructure, APIs, and tools to customer+-- premises. By providing local access to Amazon Web Services managed+-- infrastructure, Amazon Web Services Outposts enables customers to build+-- and run applications on premises using the same programming interfaces+-- as in Amazon Web Services Regions, while using local compute and storage+-- resources for lower latency and local data processing needs.+module Amazonka.Outposts+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CancelOrder+    CancelOrder (CancelOrder'),+    newCancelOrder,+    CancelOrderResponse (CancelOrderResponse'),+    newCancelOrderResponse,++    -- ** CreateOrder+    CreateOrder (CreateOrder'),+    newCreateOrder,+    CreateOrderResponse (CreateOrderResponse'),+    newCreateOrderResponse,++    -- ** CreateOutpost+    CreateOutpost (CreateOutpost'),+    newCreateOutpost,+    CreateOutpostResponse (CreateOutpostResponse'),+    newCreateOutpostResponse,++    -- ** CreateSite+    CreateSite (CreateSite'),+    newCreateSite,+    CreateSiteResponse (CreateSiteResponse'),+    newCreateSiteResponse,++    -- ** DeleteOutpost+    DeleteOutpost (DeleteOutpost'),+    newDeleteOutpost,+    DeleteOutpostResponse (DeleteOutpostResponse'),+    newDeleteOutpostResponse,++    -- ** DeleteSite+    DeleteSite (DeleteSite'),+    newDeleteSite,+    DeleteSiteResponse (DeleteSiteResponse'),+    newDeleteSiteResponse,++    -- ** GetCatalogItem+    GetCatalogItem (GetCatalogItem'),+    newGetCatalogItem,+    GetCatalogItemResponse (GetCatalogItemResponse'),+    newGetCatalogItemResponse,++    -- ** GetConnection+    GetConnection (GetConnection'),+    newGetConnection,+    GetConnectionResponse (GetConnectionResponse'),+    newGetConnectionResponse,++    -- ** GetOrder+    GetOrder (GetOrder'),+    newGetOrder,+    GetOrderResponse (GetOrderResponse'),+    newGetOrderResponse,++    -- ** GetOutpost+    GetOutpost (GetOutpost'),+    newGetOutpost,+    GetOutpostResponse (GetOutpostResponse'),+    newGetOutpostResponse,++    -- ** GetOutpostInstanceTypes+    GetOutpostInstanceTypes (GetOutpostInstanceTypes'),+    newGetOutpostInstanceTypes,+    GetOutpostInstanceTypesResponse (GetOutpostInstanceTypesResponse'),+    newGetOutpostInstanceTypesResponse,++    -- ** GetSite+    GetSite (GetSite'),+    newGetSite,+    GetSiteResponse (GetSiteResponse'),+    newGetSiteResponse,++    -- ** GetSiteAddress+    GetSiteAddress (GetSiteAddress'),+    newGetSiteAddress,+    GetSiteAddressResponse (GetSiteAddressResponse'),+    newGetSiteAddressResponse,++    -- ** ListAssets+    ListAssets (ListAssets'),+    newListAssets,+    ListAssetsResponse (ListAssetsResponse'),+    newListAssetsResponse,++    -- ** ListCatalogItems+    ListCatalogItems (ListCatalogItems'),+    newListCatalogItems,+    ListCatalogItemsResponse (ListCatalogItemsResponse'),+    newListCatalogItemsResponse,++    -- ** ListOrders+    ListOrders (ListOrders'),+    newListOrders,+    ListOrdersResponse (ListOrdersResponse'),+    newListOrdersResponse,++    -- ** ListOutposts+    ListOutposts (ListOutposts'),+    newListOutposts,+    ListOutpostsResponse (ListOutpostsResponse'),+    newListOutpostsResponse,++    -- ** ListSites+    ListSites (ListSites'),+    newListSites,+    ListSitesResponse (ListSitesResponse'),+    newListSitesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartConnection+    StartConnection (StartConnection'),+    newStartConnection,+    StartConnectionResponse (StartConnectionResponse'),+    newStartConnectionResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateOutpost+    UpdateOutpost (UpdateOutpost'),+    newUpdateOutpost,+    UpdateOutpostResponse (UpdateOutpostResponse'),+    newUpdateOutpostResponse,++    -- ** UpdateSite+    UpdateSite (UpdateSite'),+    newUpdateSite,+    UpdateSiteResponse (UpdateSiteResponse'),+    newUpdateSiteResponse,++    -- ** UpdateSiteAddress+    UpdateSiteAddress (UpdateSiteAddress'),+    newUpdateSiteAddress,+    UpdateSiteAddressResponse (UpdateSiteAddressResponse'),+    newUpdateSiteAddressResponse,++    -- ** UpdateSiteRackPhysicalProperties+    UpdateSiteRackPhysicalProperties (UpdateSiteRackPhysicalProperties'),+    newUpdateSiteRackPhysicalProperties,+    UpdateSiteRackPhysicalPropertiesResponse (UpdateSiteRackPhysicalPropertiesResponse'),+    newUpdateSiteRackPhysicalPropertiesResponse,++    -- * Types++    -- ** AddressType+    AddressType (..),++    -- ** AssetState+    AssetState (..),++    -- ** AssetType+    AssetType (..),++    -- ** CatalogItemClass+    CatalogItemClass (..),++    -- ** CatalogItemStatus+    CatalogItemStatus (..),++    -- ** ComputeAssetState+    ComputeAssetState (..),++    -- ** FiberOpticCableType+    FiberOpticCableType (..),++    -- ** LineItemStatus+    LineItemStatus (..),++    -- ** MaximumSupportedWeightLbs+    MaximumSupportedWeightLbs (..),++    -- ** OpticalStandard+    OpticalStandard (..),++    -- ** OrderStatus+    OrderStatus (..),++    -- ** OrderType+    OrderType (..),++    -- ** PaymentOption+    PaymentOption (..),++    -- ** PaymentTerm+    PaymentTerm (..),++    -- ** PowerConnector+    PowerConnector (..),++    -- ** PowerDrawKva+    PowerDrawKva (..),++    -- ** PowerFeedDrop+    PowerFeedDrop (..),++    -- ** PowerPhase+    PowerPhase (..),++    -- ** ShipmentCarrier+    ShipmentCarrier (..),++    -- ** SupportedHardwareType+    SupportedHardwareType (..),++    -- ** SupportedStorageEnum+    SupportedStorageEnum (..),++    -- ** UplinkCount+    UplinkCount (..),++    -- ** UplinkGbps+    UplinkGbps (..),++    -- ** Address+    Address (Address'),+    newAddress,++    -- ** AssetInfo+    AssetInfo (AssetInfo'),+    newAssetInfo,++    -- ** AssetLocation+    AssetLocation (AssetLocation'),+    newAssetLocation,++    -- ** CatalogItem+    CatalogItem (CatalogItem'),+    newCatalogItem,++    -- ** ComputeAttributes+    ComputeAttributes (ComputeAttributes'),+    newComputeAttributes,++    -- ** ConnectionDetails+    ConnectionDetails (ConnectionDetails'),+    newConnectionDetails,++    -- ** EC2Capacity+    EC2Capacity (EC2Capacity'),+    newEC2Capacity,++    -- ** InstanceTypeItem+    InstanceTypeItem (InstanceTypeItem'),+    newInstanceTypeItem,++    -- ** LineItem+    LineItem (LineItem'),+    newLineItem,++    -- ** LineItemAssetInformation+    LineItemAssetInformation (LineItemAssetInformation'),+    newLineItemAssetInformation,++    -- ** LineItemRequest+    LineItemRequest (LineItemRequest'),+    newLineItemRequest,++    -- ** Order+    Order (Order'),+    newOrder,++    -- ** OrderSummary+    OrderSummary (OrderSummary'),+    newOrderSummary,++    -- ** Outpost+    Outpost (Outpost'),+    newOutpost,++    -- ** RackPhysicalProperties+    RackPhysicalProperties (RackPhysicalProperties'),+    newRackPhysicalProperties,++    -- ** ShipmentInformation+    ShipmentInformation (ShipmentInformation'),+    newShipmentInformation,++    -- ** Site+    Site (Site'),+    newSite,+  )+where++import Amazonka.Outposts.CancelOrder+import Amazonka.Outposts.CreateOrder+import Amazonka.Outposts.CreateOutpost+import Amazonka.Outposts.CreateSite+import Amazonka.Outposts.DeleteOutpost+import Amazonka.Outposts.DeleteSite+import Amazonka.Outposts.GetCatalogItem+import Amazonka.Outposts.GetConnection+import Amazonka.Outposts.GetOrder+import Amazonka.Outposts.GetOutpost+import Amazonka.Outposts.GetOutpostInstanceTypes+import Amazonka.Outposts.GetSite+import Amazonka.Outposts.GetSiteAddress+import Amazonka.Outposts.Lens+import Amazonka.Outposts.ListAssets+import Amazonka.Outposts.ListCatalogItems+import Amazonka.Outposts.ListOrders+import Amazonka.Outposts.ListOutposts+import Amazonka.Outposts.ListSites+import Amazonka.Outposts.ListTagsForResource+import Amazonka.Outposts.StartConnection+import Amazonka.Outposts.TagResource+import Amazonka.Outposts.Types+import Amazonka.Outposts.UntagResource+import Amazonka.Outposts.UpdateOutpost+import Amazonka.Outposts.UpdateSite+import Amazonka.Outposts.UpdateSiteAddress+import Amazonka.Outposts.UpdateSiteRackPhysicalProperties+import Amazonka.Outposts.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 'Outposts'.++-- $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/Outposts/CancelOrder.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.CancelOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Cancels the specified order for an Outpost.+module Amazonka.Outposts.CancelOrder+  ( -- * Creating a Request+    CancelOrder (..),+    newCancelOrder,++    -- * Request Lenses+    cancelOrder_orderId,++    -- * Destructuring the Response+    CancelOrderResponse (..),+    newCancelOrderResponse,++    -- * Response Lenses+    cancelOrderResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCancelOrder' smart constructor.+data CancelOrder = CancelOrder'+  { -- | The ID of the order.+    orderId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelOrder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'orderId', 'cancelOrder_orderId' - The ID of the order.+newCancelOrder ::+  -- | 'orderId'+  Prelude.Text ->+  CancelOrder+newCancelOrder pOrderId_ =+  CancelOrder' {orderId = pOrderId_}++-- | The ID of the order.+cancelOrder_orderId :: Lens.Lens' CancelOrder Prelude.Text+cancelOrder_orderId = Lens.lens (\CancelOrder' {orderId} -> orderId) (\s@CancelOrder' {} a -> s {orderId = a} :: CancelOrder)++instance Core.AWSRequest CancelOrder where+  type AWSResponse CancelOrder = CancelOrderResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CancelOrderResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CancelOrder where+  hashWithSalt _salt CancelOrder' {..} =+    _salt `Prelude.hashWithSalt` orderId++instance Prelude.NFData CancelOrder where+  rnf CancelOrder' {..} = Prelude.rnf orderId++instance Data.ToHeaders CancelOrder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CancelOrder where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath CancelOrder where+  toPath CancelOrder' {..} =+    Prelude.mconcat+      ["/orders/", Data.toBS orderId, "/cancel"]++instance Data.ToQuery CancelOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCancelOrderResponse' smart constructor.+data CancelOrderResponse = CancelOrderResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CancelOrderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'cancelOrderResponse_httpStatus' - The response's http status code.+newCancelOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CancelOrderResponse+newCancelOrderResponse pHttpStatus_ =+  CancelOrderResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+cancelOrderResponse_httpStatus :: Lens.Lens' CancelOrderResponse Prelude.Int+cancelOrderResponse_httpStatus = Lens.lens (\CancelOrderResponse' {httpStatus} -> httpStatus) (\s@CancelOrderResponse' {} a -> s {httpStatus = a} :: CancelOrderResponse)++instance Prelude.NFData CancelOrderResponse where+  rnf CancelOrderResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/CreateOrder.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.CreateOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an order for an Outpost.+module Amazonka.Outposts.CreateOrder+  ( -- * Creating a Request+    CreateOrder (..),+    newCreateOrder,++    -- * Request Lenses+    createOrder_paymentTerm,+    createOrder_outpostIdentifier,+    createOrder_lineItems,+    createOrder_paymentOption,++    -- * Destructuring the Response+    CreateOrderResponse (..),+    newCreateOrderResponse,++    -- * Response Lenses+    createOrderResponse_order,+    createOrderResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateOrder' smart constructor.+data CreateOrder = CreateOrder'+  { -- | The payment terms.+    paymentTerm :: Prelude.Maybe PaymentTerm,+    -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostIdentifier :: Prelude.Text,+    -- | The line items that make up the order.+    lineItems :: Prelude.NonEmpty LineItemRequest,+    -- | The payment option.+    paymentOption :: PaymentOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOrder' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'paymentTerm', 'createOrder_paymentTerm' - The payment terms.+--+-- 'outpostIdentifier', 'createOrder_outpostIdentifier' - The ID or the Amazon Resource Name (ARN) of the Outpost.+--+-- 'lineItems', 'createOrder_lineItems' - The line items that make up the order.+--+-- 'paymentOption', 'createOrder_paymentOption' - The payment option.+newCreateOrder ::+  -- | 'outpostIdentifier'+  Prelude.Text ->+  -- | 'lineItems'+  Prelude.NonEmpty LineItemRequest ->+  -- | 'paymentOption'+  PaymentOption ->+  CreateOrder+newCreateOrder+  pOutpostIdentifier_+  pLineItems_+  pPaymentOption_ =+    CreateOrder'+      { paymentTerm = Prelude.Nothing,+        outpostIdentifier = pOutpostIdentifier_,+        lineItems = Lens.coerced Lens.# pLineItems_,+        paymentOption = pPaymentOption_+      }++-- | The payment terms.+createOrder_paymentTerm :: Lens.Lens' CreateOrder (Prelude.Maybe PaymentTerm)+createOrder_paymentTerm = Lens.lens (\CreateOrder' {paymentTerm} -> paymentTerm) (\s@CreateOrder' {} a -> s {paymentTerm = a} :: CreateOrder)++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+createOrder_outpostIdentifier :: Lens.Lens' CreateOrder Prelude.Text+createOrder_outpostIdentifier = Lens.lens (\CreateOrder' {outpostIdentifier} -> outpostIdentifier) (\s@CreateOrder' {} a -> s {outpostIdentifier = a} :: CreateOrder)++-- | The line items that make up the order.+createOrder_lineItems :: Lens.Lens' CreateOrder (Prelude.NonEmpty LineItemRequest)+createOrder_lineItems = Lens.lens (\CreateOrder' {lineItems} -> lineItems) (\s@CreateOrder' {} a -> s {lineItems = a} :: CreateOrder) Prelude.. Lens.coerced++-- | The payment option.+createOrder_paymentOption :: Lens.Lens' CreateOrder PaymentOption+createOrder_paymentOption = Lens.lens (\CreateOrder' {paymentOption} -> paymentOption) (\s@CreateOrder' {} a -> s {paymentOption = a} :: CreateOrder)++instance Core.AWSRequest CreateOrder where+  type AWSResponse CreateOrder = CreateOrderResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateOrderResponse'+            Prelude.<$> (x Data..?> "Order")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateOrder where+  hashWithSalt _salt CreateOrder' {..} =+    _salt+      `Prelude.hashWithSalt` paymentTerm+      `Prelude.hashWithSalt` outpostIdentifier+      `Prelude.hashWithSalt` lineItems+      `Prelude.hashWithSalt` paymentOption++instance Prelude.NFData CreateOrder where+  rnf CreateOrder' {..} =+    Prelude.rnf paymentTerm+      `Prelude.seq` Prelude.rnf outpostIdentifier+      `Prelude.seq` Prelude.rnf lineItems+      `Prelude.seq` Prelude.rnf paymentOption++instance Data.ToHeaders CreateOrder where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateOrder where+  toJSON CreateOrder' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PaymentTerm" Data..=) Prelude.<$> paymentTerm,+            Prelude.Just+              ("OutpostIdentifier" Data..= outpostIdentifier),+            Prelude.Just ("LineItems" Data..= lineItems),+            Prelude.Just+              ("PaymentOption" Data..= paymentOption)+          ]+      )++instance Data.ToPath CreateOrder where+  toPath = Prelude.const "/orders"++instance Data.ToQuery CreateOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateOrderResponse' smart constructor.+data CreateOrderResponse = CreateOrderResponse'+  { -- | Information about this order.+    order :: Prelude.Maybe Order,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOrderResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'order', 'createOrderResponse_order' - Information about this order.+--+-- 'httpStatus', 'createOrderResponse_httpStatus' - The response's http status code.+newCreateOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateOrderResponse+newCreateOrderResponse pHttpStatus_ =+  CreateOrderResponse'+    { order = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about this order.+createOrderResponse_order :: Lens.Lens' CreateOrderResponse (Prelude.Maybe Order)+createOrderResponse_order = Lens.lens (\CreateOrderResponse' {order} -> order) (\s@CreateOrderResponse' {} a -> s {order = a} :: CreateOrderResponse)++-- | The response's http status code.+createOrderResponse_httpStatus :: Lens.Lens' CreateOrderResponse Prelude.Int+createOrderResponse_httpStatus = Lens.lens (\CreateOrderResponse' {httpStatus} -> httpStatus) (\s@CreateOrderResponse' {} a -> s {httpStatus = a} :: CreateOrderResponse)++instance Prelude.NFData CreateOrderResponse where+  rnf CreateOrderResponse' {..} =+    Prelude.rnf order+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/CreateOutpost.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.Outposts.CreateOutpost+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Outpost.+--+-- You can specify either an Availability one or an AZ ID.+module Amazonka.Outposts.CreateOutpost+  ( -- * Creating a Request+    CreateOutpost (..),+    newCreateOutpost,++    -- * Request Lenses+    createOutpost_availabilityZone,+    createOutpost_availabilityZoneId,+    createOutpost_description,+    createOutpost_supportedHardwareType,+    createOutpost_tags,+    createOutpost_name,+    createOutpost_siteId,++    -- * Destructuring the Response+    CreateOutpostResponse (..),+    newCreateOutpostResponse,++    -- * Response Lenses+    createOutpostResponse_outpost,+    createOutpostResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateOutpost' smart constructor.+data CreateOutpost = CreateOutpost'+  { availabilityZone :: Prelude.Maybe Prelude.Text,+    availabilityZoneId :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    -- | The type of hardware for this Outpost.+    supportedHardwareType :: Prelude.Maybe SupportedHardwareType,+    -- | The tags to apply to the Outpost.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    name :: Prelude.Text,+    -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOutpost' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createOutpost_availabilityZone' - Undocumented member.+--+-- 'availabilityZoneId', 'createOutpost_availabilityZoneId' - Undocumented member.+--+-- 'description', 'createOutpost_description' - Undocumented member.+--+-- 'supportedHardwareType', 'createOutpost_supportedHardwareType' - The type of hardware for this Outpost.+--+-- 'tags', 'createOutpost_tags' - The tags to apply to the Outpost.+--+-- 'name', 'createOutpost_name' - Undocumented member.+--+-- 'siteId', 'createOutpost_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+newCreateOutpost ::+  -- | 'name'+  Prelude.Text ->+  -- | 'siteId'+  Prelude.Text ->+  CreateOutpost+newCreateOutpost pName_ pSiteId_ =+  CreateOutpost'+    { availabilityZone = Prelude.Nothing,+      availabilityZoneId = Prelude.Nothing,+      description = Prelude.Nothing,+      supportedHardwareType = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_,+      siteId = pSiteId_+    }++-- | Undocumented member.+createOutpost_availabilityZone :: Lens.Lens' CreateOutpost (Prelude.Maybe Prelude.Text)+createOutpost_availabilityZone = Lens.lens (\CreateOutpost' {availabilityZone} -> availabilityZone) (\s@CreateOutpost' {} a -> s {availabilityZone = a} :: CreateOutpost)++-- | Undocumented member.+createOutpost_availabilityZoneId :: Lens.Lens' CreateOutpost (Prelude.Maybe Prelude.Text)+createOutpost_availabilityZoneId = Lens.lens (\CreateOutpost' {availabilityZoneId} -> availabilityZoneId) (\s@CreateOutpost' {} a -> s {availabilityZoneId = a} :: CreateOutpost)++-- | Undocumented member.+createOutpost_description :: Lens.Lens' CreateOutpost (Prelude.Maybe Prelude.Text)+createOutpost_description = Lens.lens (\CreateOutpost' {description} -> description) (\s@CreateOutpost' {} a -> s {description = a} :: CreateOutpost)++-- | The type of hardware for this Outpost.+createOutpost_supportedHardwareType :: Lens.Lens' CreateOutpost (Prelude.Maybe SupportedHardwareType)+createOutpost_supportedHardwareType = Lens.lens (\CreateOutpost' {supportedHardwareType} -> supportedHardwareType) (\s@CreateOutpost' {} a -> s {supportedHardwareType = a} :: CreateOutpost)++-- | The tags to apply to the Outpost.+createOutpost_tags :: Lens.Lens' CreateOutpost (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createOutpost_tags = Lens.lens (\CreateOutpost' {tags} -> tags) (\s@CreateOutpost' {} a -> s {tags = a} :: CreateOutpost) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createOutpost_name :: Lens.Lens' CreateOutpost Prelude.Text+createOutpost_name = Lens.lens (\CreateOutpost' {name} -> name) (\s@CreateOutpost' {} a -> s {name = a} :: CreateOutpost)++-- | The ID or the Amazon Resource Name (ARN) of the site.+createOutpost_siteId :: Lens.Lens' CreateOutpost Prelude.Text+createOutpost_siteId = Lens.lens (\CreateOutpost' {siteId} -> siteId) (\s@CreateOutpost' {} a -> s {siteId = a} :: CreateOutpost)++instance Core.AWSRequest CreateOutpost where+  type+    AWSResponse CreateOutpost =+      CreateOutpostResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateOutpostResponse'+            Prelude.<$> (x Data..?> "Outpost")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateOutpost where+  hashWithSalt _salt CreateOutpost' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` availabilityZoneId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` supportedHardwareType+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` siteId++instance Prelude.NFData CreateOutpost where+  rnf CreateOutpost' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf availabilityZoneId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf supportedHardwareType+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf siteId++instance Data.ToHeaders CreateOutpost where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateOutpost where+  toJSON CreateOutpost' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AvailabilityZone" Data..=)+              Prelude.<$> availabilityZone,+            ("AvailabilityZoneId" Data..=)+              Prelude.<$> availabilityZoneId,+            ("Description" Data..=) Prelude.<$> description,+            ("SupportedHardwareType" Data..=)+              Prelude.<$> supportedHardwareType,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("SiteId" Data..= siteId)+          ]+      )++instance Data.ToPath CreateOutpost where+  toPath = Prelude.const "/outposts"++instance Data.ToQuery CreateOutpost where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateOutpostResponse' smart constructor.+data CreateOutpostResponse = CreateOutpostResponse'+  { outpost :: Prelude.Maybe Outpost,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateOutpostResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outpost', 'createOutpostResponse_outpost' - Undocumented member.+--+-- 'httpStatus', 'createOutpostResponse_httpStatus' - The response's http status code.+newCreateOutpostResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateOutpostResponse+newCreateOutpostResponse pHttpStatus_ =+  CreateOutpostResponse'+    { outpost = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createOutpostResponse_outpost :: Lens.Lens' CreateOutpostResponse (Prelude.Maybe Outpost)+createOutpostResponse_outpost = Lens.lens (\CreateOutpostResponse' {outpost} -> outpost) (\s@CreateOutpostResponse' {} a -> s {outpost = a} :: CreateOutpostResponse)++-- | The response's http status code.+createOutpostResponse_httpStatus :: Lens.Lens' CreateOutpostResponse Prelude.Int+createOutpostResponse_httpStatus = Lens.lens (\CreateOutpostResponse' {httpStatus} -> httpStatus) (\s@CreateOutpostResponse' {} a -> s {httpStatus = a} :: CreateOutpostResponse)++instance Prelude.NFData CreateOutpostResponse where+  rnf CreateOutpostResponse' {..} =+    Prelude.rnf outpost+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/CreateSite.hs view
@@ -0,0 +1,268 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.CreateSite+-- 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 site for an Outpost.+module Amazonka.Outposts.CreateSite+  ( -- * Creating a Request+    CreateSite (..),+    newCreateSite,++    -- * Request Lenses+    createSite_description,+    createSite_notes,+    createSite_operatingAddress,+    createSite_rackPhysicalProperties,+    createSite_shippingAddress,+    createSite_tags,+    createSite_name,++    -- * Destructuring the Response+    CreateSiteResponse (..),+    newCreateSiteResponse,++    -- * Response Lenses+    createSiteResponse_site,+    createSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSite' smart constructor.+data CreateSite = CreateSite'+  { description :: Prelude.Maybe Prelude.Text,+    -- | Additional information that you provide about site access requirements,+    -- electrician scheduling, personal protective equipment, or regulation of+    -- equipment materials that could affect your installation process.+    notes :: Prelude.Maybe Prelude.Text,+    -- | The location to install and power on the hardware. This address might be+    -- different from the shipping address.+    operatingAddress :: Prelude.Maybe Address,+    -- | Information about the physical and logistical details for the rack at+    -- this site. For more information about hardware requirements for racks,+    -- see+    -- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist Network readiness checklist>+    -- in the Amazon Web Services Outposts User Guide.+    rackPhysicalProperties :: Prelude.Maybe RackPhysicalProperties,+    -- | The location to ship the hardware. This address might be different from+    -- the operating address.+    shippingAddress :: Prelude.Maybe Address,+    -- | The tags to apply to a site.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createSite_description' - Undocumented member.+--+-- 'notes', 'createSite_notes' - Additional information that you provide about site access requirements,+-- electrician scheduling, personal protective equipment, or regulation of+-- equipment materials that could affect your installation process.+--+-- 'operatingAddress', 'createSite_operatingAddress' - The location to install and power on the hardware. This address might be+-- different from the shipping address.+--+-- 'rackPhysicalProperties', 'createSite_rackPhysicalProperties' - Information about the physical and logistical details for the rack at+-- this site. For more information about hardware requirements for racks,+-- see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist Network readiness checklist>+-- in the Amazon Web Services Outposts User Guide.+--+-- 'shippingAddress', 'createSite_shippingAddress' - The location to ship the hardware. This address might be different from+-- the operating address.+--+-- 'tags', 'createSite_tags' - The tags to apply to a site.+--+-- 'name', 'createSite_name' - Undocumented member.+newCreateSite ::+  -- | 'name'+  Prelude.Text ->+  CreateSite+newCreateSite pName_ =+  CreateSite'+    { description = Prelude.Nothing,+      notes = Prelude.Nothing,+      operatingAddress = Prelude.Nothing,+      rackPhysicalProperties = Prelude.Nothing,+      shippingAddress = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_+    }++-- | Undocumented member.+createSite_description :: Lens.Lens' CreateSite (Prelude.Maybe Prelude.Text)+createSite_description = Lens.lens (\CreateSite' {description} -> description) (\s@CreateSite' {} a -> s {description = a} :: CreateSite)++-- | Additional information that you provide about site access requirements,+-- electrician scheduling, personal protective equipment, or regulation of+-- equipment materials that could affect your installation process.+createSite_notes :: Lens.Lens' CreateSite (Prelude.Maybe Prelude.Text)+createSite_notes = Lens.lens (\CreateSite' {notes} -> notes) (\s@CreateSite' {} a -> s {notes = a} :: CreateSite)++-- | The location to install and power on the hardware. This address might be+-- different from the shipping address.+createSite_operatingAddress :: Lens.Lens' CreateSite (Prelude.Maybe Address)+createSite_operatingAddress = Lens.lens (\CreateSite' {operatingAddress} -> operatingAddress) (\s@CreateSite' {} a -> s {operatingAddress = a} :: CreateSite)++-- | Information about the physical and logistical details for the rack at+-- this site. For more information about hardware requirements for racks,+-- see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist Network readiness checklist>+-- in the Amazon Web Services Outposts User Guide.+createSite_rackPhysicalProperties :: Lens.Lens' CreateSite (Prelude.Maybe RackPhysicalProperties)+createSite_rackPhysicalProperties = Lens.lens (\CreateSite' {rackPhysicalProperties} -> rackPhysicalProperties) (\s@CreateSite' {} a -> s {rackPhysicalProperties = a} :: CreateSite)++-- | The location to ship the hardware. This address might be different from+-- the operating address.+createSite_shippingAddress :: Lens.Lens' CreateSite (Prelude.Maybe Address)+createSite_shippingAddress = Lens.lens (\CreateSite' {shippingAddress} -> shippingAddress) (\s@CreateSite' {} a -> s {shippingAddress = a} :: CreateSite)++-- | The tags to apply to a site.+createSite_tags :: Lens.Lens' CreateSite (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createSite_tags = Lens.lens (\CreateSite' {tags} -> tags) (\s@CreateSite' {} a -> s {tags = a} :: CreateSite) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createSite_name :: Lens.Lens' CreateSite Prelude.Text+createSite_name = Lens.lens (\CreateSite' {name} -> name) (\s@CreateSite' {} a -> s {name = a} :: CreateSite)++instance Core.AWSRequest CreateSite where+  type AWSResponse CreateSite = CreateSiteResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSite where+  hashWithSalt _salt CreateSite' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` operatingAddress+      `Prelude.hashWithSalt` rackPhysicalProperties+      `Prelude.hashWithSalt` shippingAddress+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateSite where+  rnf CreateSite' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf operatingAddress+      `Prelude.seq` Prelude.rnf rackPhysicalProperties+      `Prelude.seq` Prelude.rnf shippingAddress+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSite where+  toJSON CreateSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Notes" Data..=) Prelude.<$> notes,+            ("OperatingAddress" Data..=)+              Prelude.<$> operatingAddress,+            ("RackPhysicalProperties" Data..=)+              Prelude.<$> rackPhysicalProperties,+            ("ShippingAddress" Data..=)+              Prelude.<$> shippingAddress,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateSite where+  toPath = Prelude.const "/sites"++instance Data.ToQuery CreateSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSiteResponse' smart constructor.+data CreateSiteResponse = CreateSiteResponse'+  { site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'createSiteResponse_site' - Undocumented member.+--+-- 'httpStatus', 'createSiteResponse_httpStatus' - The response's http status code.+newCreateSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSiteResponse+newCreateSiteResponse pHttpStatus_ =+  CreateSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+createSiteResponse_site :: Lens.Lens' CreateSiteResponse (Prelude.Maybe Site)+createSiteResponse_site = Lens.lens (\CreateSiteResponse' {site} -> site) (\s@CreateSiteResponse' {} a -> s {site = a} :: CreateSiteResponse)++-- | The response's http status code.+createSiteResponse_httpStatus :: Lens.Lens' CreateSiteResponse Prelude.Int+createSiteResponse_httpStatus = Lens.lens (\CreateSiteResponse' {httpStatus} -> httpStatus) (\s@CreateSiteResponse' {} a -> s {httpStatus = a} :: CreateSiteResponse)++instance Prelude.NFData CreateSiteResponse where+  rnf CreateSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/DeleteOutpost.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.DeleteOutpost+-- 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 Outpost.+module Amazonka.Outposts.DeleteOutpost+  ( -- * Creating a Request+    DeleteOutpost (..),+    newDeleteOutpost,++    -- * Request Lenses+    deleteOutpost_outpostId,++    -- * Destructuring the Response+    DeleteOutpostResponse (..),+    newDeleteOutpostResponse,++    -- * Response Lenses+    deleteOutpostResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteOutpost' smart constructor.+data DeleteOutpost = DeleteOutpost'+  { -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteOutpost' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outpostId', 'deleteOutpost_outpostId' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newDeleteOutpost ::+  -- | 'outpostId'+  Prelude.Text ->+  DeleteOutpost+newDeleteOutpost pOutpostId_ =+  DeleteOutpost' {outpostId = pOutpostId_}++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+deleteOutpost_outpostId :: Lens.Lens' DeleteOutpost Prelude.Text+deleteOutpost_outpostId = Lens.lens (\DeleteOutpost' {outpostId} -> outpostId) (\s@DeleteOutpost' {} a -> s {outpostId = a} :: DeleteOutpost)++instance Core.AWSRequest DeleteOutpost where+  type+    AWSResponse DeleteOutpost =+      DeleteOutpostResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteOutpostResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteOutpost where+  hashWithSalt _salt DeleteOutpost' {..} =+    _salt `Prelude.hashWithSalt` outpostId++instance Prelude.NFData DeleteOutpost where+  rnf DeleteOutpost' {..} = Prelude.rnf outpostId++instance Data.ToHeaders DeleteOutpost where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteOutpost where+  toPath DeleteOutpost' {..} =+    Prelude.mconcat ["/outposts/", Data.toBS outpostId]++instance Data.ToQuery DeleteOutpost where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteOutpostResponse' smart constructor.+data DeleteOutpostResponse = DeleteOutpostResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteOutpostResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteOutpostResponse_httpStatus' - The response's http status code.+newDeleteOutpostResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteOutpostResponse+newDeleteOutpostResponse pHttpStatus_ =+  DeleteOutpostResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteOutpostResponse_httpStatus :: Lens.Lens' DeleteOutpostResponse Prelude.Int+deleteOutpostResponse_httpStatus = Lens.lens (\DeleteOutpostResponse' {httpStatus} -> httpStatus) (\s@DeleteOutpostResponse' {} a -> s {httpStatus = a} :: DeleteOutpostResponse)++instance Prelude.NFData DeleteOutpostResponse where+  rnf DeleteOutpostResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/DeleteSite.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.DeleteSite+-- 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 site.+module Amazonka.Outposts.DeleteSite+  ( -- * Creating a Request+    DeleteSite (..),+    newDeleteSite,++    -- * Request Lenses+    deleteSite_siteId,++    -- * Destructuring the Response+    DeleteSiteResponse (..),+    newDeleteSiteResponse,++    -- * Response Lenses+    deleteSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSite' smart constructor.+data DeleteSite = DeleteSite'+  { -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteId', 'deleteSite_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+newDeleteSite ::+  -- | 'siteId'+  Prelude.Text ->+  DeleteSite+newDeleteSite pSiteId_ =+  DeleteSite' {siteId = pSiteId_}++-- | The ID or the Amazon Resource Name (ARN) of the site.+deleteSite_siteId :: Lens.Lens' DeleteSite Prelude.Text+deleteSite_siteId = Lens.lens (\DeleteSite' {siteId} -> siteId) (\s@DeleteSite' {} a -> s {siteId = a} :: DeleteSite)++instance Core.AWSRequest DeleteSite where+  type AWSResponse DeleteSite = DeleteSiteResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteSiteResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteSite where+  hashWithSalt _salt DeleteSite' {..} =+    _salt `Prelude.hashWithSalt` siteId++instance Prelude.NFData DeleteSite where+  rnf DeleteSite' {..} = Prelude.rnf siteId++instance Data.ToHeaders DeleteSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteSite where+  toPath DeleteSite' {..} =+    Prelude.mconcat ["/sites/", Data.toBS siteId]++instance Data.ToQuery DeleteSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSiteResponse' smart constructor.+data DeleteSiteResponse = DeleteSiteResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteSiteResponse_httpStatus' - The response's http status code.+newDeleteSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteSiteResponse+newDeleteSiteResponse pHttpStatus_ =+  DeleteSiteResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteSiteResponse_httpStatus :: Lens.Lens' DeleteSiteResponse Prelude.Int+deleteSiteResponse_httpStatus = Lens.lens (\DeleteSiteResponse' {httpStatus} -> httpStatus) (\s@DeleteSiteResponse' {} a -> s {httpStatus = a} :: DeleteSiteResponse)++instance Prelude.NFData DeleteSiteResponse where+  rnf DeleteSiteResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetCatalogItem.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.Outposts.GetCatalogItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the specified catalog item.+module Amazonka.Outposts.GetCatalogItem+  ( -- * Creating a Request+    GetCatalogItem (..),+    newGetCatalogItem,++    -- * Request Lenses+    getCatalogItem_catalogItemId,++    -- * Destructuring the Response+    GetCatalogItemResponse (..),+    newGetCatalogItemResponse,++    -- * Response Lenses+    getCatalogItemResponse_catalogItem,+    getCatalogItemResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCatalogItem' smart constructor.+data GetCatalogItem = GetCatalogItem'+  { -- | The ID of the catalog item.+    catalogItemId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCatalogItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogItemId', 'getCatalogItem_catalogItemId' - The ID of the catalog item.+newGetCatalogItem ::+  -- | 'catalogItemId'+  Prelude.Text ->+  GetCatalogItem+newGetCatalogItem pCatalogItemId_ =+  GetCatalogItem' {catalogItemId = pCatalogItemId_}++-- | The ID of the catalog item.+getCatalogItem_catalogItemId :: Lens.Lens' GetCatalogItem Prelude.Text+getCatalogItem_catalogItemId = Lens.lens (\GetCatalogItem' {catalogItemId} -> catalogItemId) (\s@GetCatalogItem' {} a -> s {catalogItemId = a} :: GetCatalogItem)++instance Core.AWSRequest GetCatalogItem where+  type+    AWSResponse GetCatalogItem =+      GetCatalogItemResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCatalogItemResponse'+            Prelude.<$> (x Data..?> "CatalogItem")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCatalogItem where+  hashWithSalt _salt GetCatalogItem' {..} =+    _salt `Prelude.hashWithSalt` catalogItemId++instance Prelude.NFData GetCatalogItem where+  rnf GetCatalogItem' {..} = Prelude.rnf catalogItemId++instance Data.ToHeaders GetCatalogItem where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCatalogItem where+  toPath GetCatalogItem' {..} =+    Prelude.mconcat+      ["/catalog/item/", Data.toBS catalogItemId]++instance Data.ToQuery GetCatalogItem where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetCatalogItemResponse' smart constructor.+data GetCatalogItemResponse = GetCatalogItemResponse'+  { -- | Information about this catalog item.+    catalogItem :: Prelude.Maybe CatalogItem,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCatalogItemResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogItem', 'getCatalogItemResponse_catalogItem' - Information about this catalog item.+--+-- 'httpStatus', 'getCatalogItemResponse_httpStatus' - The response's http status code.+newGetCatalogItemResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCatalogItemResponse+newGetCatalogItemResponse pHttpStatus_ =+  GetCatalogItemResponse'+    { catalogItem =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about this catalog item.+getCatalogItemResponse_catalogItem :: Lens.Lens' GetCatalogItemResponse (Prelude.Maybe CatalogItem)+getCatalogItemResponse_catalogItem = Lens.lens (\GetCatalogItemResponse' {catalogItem} -> catalogItem) (\s@GetCatalogItemResponse' {} a -> s {catalogItem = a} :: GetCatalogItemResponse)++-- | The response's http status code.+getCatalogItemResponse_httpStatus :: Lens.Lens' GetCatalogItemResponse Prelude.Int+getCatalogItemResponse_httpStatus = Lens.lens (\GetCatalogItemResponse' {httpStatus} -> httpStatus) (\s@GetCatalogItemResponse' {} a -> s {httpStatus = a} :: GetCatalogItemResponse)++instance Prelude.NFData GetCatalogItemResponse where+  rnf GetCatalogItemResponse' {..} =+    Prelude.rnf catalogItem+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetConnection.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.GetConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon Web Services uses this action to install Outpost servers.+--+-- Gets information about the specified connection.+--+-- Use CloudTrail to monitor this action or Amazon Web Services managed+-- policy for Amazon Web Services Outposts to secure it. For more+-- information, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html Amazon Web Services managed policies for Amazon Web Services Outposts>+-- and+-- <https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail>+-- in the /Amazon Web Services Outposts User Guide/.+module Amazonka.Outposts.GetConnection+  ( -- * Creating a Request+    GetConnection (..),+    newGetConnection,++    -- * Request Lenses+    getConnection_connectionId,++    -- * Destructuring the Response+    GetConnectionResponse (..),+    newGetConnectionResponse,++    -- * Response Lenses+    getConnectionResponse_connectionDetails,+    getConnectionResponse_connectionId,+    getConnectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConnection' smart constructor.+data GetConnection = GetConnection'+  { -- | The ID of the connection.+    connectionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionId', 'getConnection_connectionId' - The ID of the connection.+newGetConnection ::+  -- | 'connectionId'+  Prelude.Text ->+  GetConnection+newGetConnection pConnectionId_ =+  GetConnection' {connectionId = pConnectionId_}++-- | The ID of the connection.+getConnection_connectionId :: Lens.Lens' GetConnection Prelude.Text+getConnection_connectionId = Lens.lens (\GetConnection' {connectionId} -> connectionId) (\s@GetConnection' {} a -> s {connectionId = a} :: GetConnection)++instance Core.AWSRequest GetConnection where+  type+    AWSResponse GetConnection =+      GetConnectionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConnectionResponse'+            Prelude.<$> (x Data..?> "ConnectionDetails")+            Prelude.<*> (x Data..?> "ConnectionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConnection where+  hashWithSalt _salt GetConnection' {..} =+    _salt `Prelude.hashWithSalt` connectionId++instance Prelude.NFData GetConnection where+  rnf GetConnection' {..} = Prelude.rnf connectionId++instance Data.ToHeaders GetConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConnection where+  toPath GetConnection' {..} =+    Prelude.mconcat+      ["/connections/", Data.toBS connectionId]++instance Data.ToQuery GetConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetConnectionResponse' smart constructor.+data GetConnectionResponse = GetConnectionResponse'+  { -- | Information about the connection.+    connectionDetails :: Prelude.Maybe ConnectionDetails,+    -- | The ID of the connection.+    connectionId :: 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 'GetConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionDetails', 'getConnectionResponse_connectionDetails' - Information about the connection.+--+-- 'connectionId', 'getConnectionResponse_connectionId' - The ID of the connection.+--+-- 'httpStatus', 'getConnectionResponse_httpStatus' - The response's http status code.+newGetConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConnectionResponse+newGetConnectionResponse pHttpStatus_ =+  GetConnectionResponse'+    { connectionDetails =+        Prelude.Nothing,+      connectionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connection.+getConnectionResponse_connectionDetails :: Lens.Lens' GetConnectionResponse (Prelude.Maybe ConnectionDetails)+getConnectionResponse_connectionDetails = Lens.lens (\GetConnectionResponse' {connectionDetails} -> connectionDetails) (\s@GetConnectionResponse' {} a -> s {connectionDetails = a} :: GetConnectionResponse)++-- | The ID of the connection.+getConnectionResponse_connectionId :: Lens.Lens' GetConnectionResponse (Prelude.Maybe Prelude.Text)+getConnectionResponse_connectionId = Lens.lens (\GetConnectionResponse' {connectionId} -> connectionId) (\s@GetConnectionResponse' {} a -> s {connectionId = a} :: GetConnectionResponse)++-- | The response's http status code.+getConnectionResponse_httpStatus :: Lens.Lens' GetConnectionResponse Prelude.Int+getConnectionResponse_httpStatus = Lens.lens (\GetConnectionResponse' {httpStatus} -> httpStatus) (\s@GetConnectionResponse' {} a -> s {httpStatus = a} :: GetConnectionResponse)++instance Prelude.NFData GetConnectionResponse where+  rnf GetConnectionResponse' {..} =+    Prelude.rnf connectionDetails+      `Prelude.seq` Prelude.rnf connectionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetOrder.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.Outposts.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 information about the specified order.+module Amazonka.Outposts.GetOrder+  ( -- * Creating a Request+    GetOrder (..),+    newGetOrder,++    -- * Request Lenses+    getOrder_orderId,++    -- * Destructuring the Response+    GetOrderResponse (..),+    newGetOrderResponse,++    -- * Response Lenses+    getOrderResponse_order,+    getOrderResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetOrder' smart constructor.+data GetOrder = GetOrder'+  { -- | The ID of the order.+    orderId :: 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:+--+-- 'orderId', 'getOrder_orderId' - The ID of the order.+newGetOrder ::+  -- | 'orderId'+  Prelude.Text ->+  GetOrder+newGetOrder pOrderId_ =+  GetOrder' {orderId = pOrderId_}++-- | The ID of the order.+getOrder_orderId :: Lens.Lens' GetOrder Prelude.Text+getOrder_orderId = Lens.lens (\GetOrder' {orderId} -> orderId) (\s@GetOrder' {} a -> s {orderId = 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..?> "Order")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetOrder where+  hashWithSalt _salt GetOrder' {..} =+    _salt `Prelude.hashWithSalt` orderId++instance Prelude.NFData GetOrder where+  rnf GetOrder' {..} = Prelude.rnf orderId++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 ["/orders/", Data.toBS orderId]++instance Data.ToQuery GetOrder where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetOrderResponse' smart constructor.+data GetOrderResponse = GetOrderResponse'+  { order :: Prelude.Maybe Order,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, 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:+--+-- 'order', 'getOrderResponse_order' - Undocumented member.+--+-- 'httpStatus', 'getOrderResponse_httpStatus' - The response's http status code.+newGetOrderResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetOrderResponse+newGetOrderResponse pHttpStatus_ =+  GetOrderResponse'+    { order = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getOrderResponse_order :: Lens.Lens' GetOrderResponse (Prelude.Maybe Order)+getOrderResponse_order = Lens.lens (\GetOrderResponse' {order} -> order) (\s@GetOrderResponse' {} a -> s {order = a} :: GetOrderResponse)++-- | 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)++instance Prelude.NFData GetOrderResponse where+  rnf GetOrderResponse' {..} =+    Prelude.rnf order+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetOutpost.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.Outposts.GetOutpost+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the specified Outpost.+module Amazonka.Outposts.GetOutpost+  ( -- * Creating a Request+    GetOutpost (..),+    newGetOutpost,++    -- * Request Lenses+    getOutpost_outpostId,++    -- * Destructuring the Response+    GetOutpostResponse (..),+    newGetOutpostResponse,++    -- * Response Lenses+    getOutpostResponse_outpost,+    getOutpostResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetOutpost' smart constructor.+data GetOutpost = GetOutpost'+  { -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOutpost' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outpostId', 'getOutpost_outpostId' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newGetOutpost ::+  -- | 'outpostId'+  Prelude.Text ->+  GetOutpost+newGetOutpost pOutpostId_ =+  GetOutpost' {outpostId = pOutpostId_}++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+getOutpost_outpostId :: Lens.Lens' GetOutpost Prelude.Text+getOutpost_outpostId = Lens.lens (\GetOutpost' {outpostId} -> outpostId) (\s@GetOutpost' {} a -> s {outpostId = a} :: GetOutpost)++instance Core.AWSRequest GetOutpost where+  type AWSResponse GetOutpost = GetOutpostResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetOutpostResponse'+            Prelude.<$> (x Data..?> "Outpost")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetOutpost where+  hashWithSalt _salt GetOutpost' {..} =+    _salt `Prelude.hashWithSalt` outpostId++instance Prelude.NFData GetOutpost where+  rnf GetOutpost' {..} = Prelude.rnf outpostId++instance Data.ToHeaders GetOutpost where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetOutpost where+  toPath GetOutpost' {..} =+    Prelude.mconcat ["/outposts/", Data.toBS outpostId]++instance Data.ToQuery GetOutpost where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetOutpostResponse' smart constructor.+data GetOutpostResponse = GetOutpostResponse'+  { outpost :: Prelude.Maybe Outpost,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOutpostResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outpost', 'getOutpostResponse_outpost' - Undocumented member.+--+-- 'httpStatus', 'getOutpostResponse_httpStatus' - The response's http status code.+newGetOutpostResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetOutpostResponse+newGetOutpostResponse pHttpStatus_ =+  GetOutpostResponse'+    { outpost = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getOutpostResponse_outpost :: Lens.Lens' GetOutpostResponse (Prelude.Maybe Outpost)+getOutpostResponse_outpost = Lens.lens (\GetOutpostResponse' {outpost} -> outpost) (\s@GetOutpostResponse' {} a -> s {outpost = a} :: GetOutpostResponse)++-- | The response's http status code.+getOutpostResponse_httpStatus :: Lens.Lens' GetOutpostResponse Prelude.Int+getOutpostResponse_httpStatus = Lens.lens (\GetOutpostResponse' {httpStatus} -> httpStatus) (\s@GetOutpostResponse' {} a -> s {httpStatus = a} :: GetOutpostResponse)++instance Prelude.NFData GetOutpostResponse where+  rnf GetOutpostResponse' {..} =+    Prelude.rnf outpost+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetOutpostInstanceTypes.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.GetOutpostInstanceTypes+-- 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 instance types for the specified Outpost.+module Amazonka.Outposts.GetOutpostInstanceTypes+  ( -- * Creating a Request+    GetOutpostInstanceTypes (..),+    newGetOutpostInstanceTypes,++    -- * Request Lenses+    getOutpostInstanceTypes_maxResults,+    getOutpostInstanceTypes_nextToken,+    getOutpostInstanceTypes_outpostId,++    -- * Destructuring the Response+    GetOutpostInstanceTypesResponse (..),+    newGetOutpostInstanceTypesResponse,++    -- * Response Lenses+    getOutpostInstanceTypesResponse_instanceTypes,+    getOutpostInstanceTypesResponse_nextToken,+    getOutpostInstanceTypesResponse_outpostArn,+    getOutpostInstanceTypesResponse_outpostId,+    getOutpostInstanceTypesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetOutpostInstanceTypes' smart constructor.+data GetOutpostInstanceTypes = GetOutpostInstanceTypes'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOutpostInstanceTypes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'getOutpostInstanceTypes_maxResults' - Undocumented member.+--+-- 'nextToken', 'getOutpostInstanceTypes_nextToken' - Undocumented member.+--+-- 'outpostId', 'getOutpostInstanceTypes_outpostId' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newGetOutpostInstanceTypes ::+  -- | 'outpostId'+  Prelude.Text ->+  GetOutpostInstanceTypes+newGetOutpostInstanceTypes pOutpostId_ =+  GetOutpostInstanceTypes'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      outpostId = pOutpostId_+    }++-- | Undocumented member.+getOutpostInstanceTypes_maxResults :: Lens.Lens' GetOutpostInstanceTypes (Prelude.Maybe Prelude.Natural)+getOutpostInstanceTypes_maxResults = Lens.lens (\GetOutpostInstanceTypes' {maxResults} -> maxResults) (\s@GetOutpostInstanceTypes' {} a -> s {maxResults = a} :: GetOutpostInstanceTypes)++-- | Undocumented member.+getOutpostInstanceTypes_nextToken :: Lens.Lens' GetOutpostInstanceTypes (Prelude.Maybe Prelude.Text)+getOutpostInstanceTypes_nextToken = Lens.lens (\GetOutpostInstanceTypes' {nextToken} -> nextToken) (\s@GetOutpostInstanceTypes' {} a -> s {nextToken = a} :: GetOutpostInstanceTypes)++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+getOutpostInstanceTypes_outpostId :: Lens.Lens' GetOutpostInstanceTypes Prelude.Text+getOutpostInstanceTypes_outpostId = Lens.lens (\GetOutpostInstanceTypes' {outpostId} -> outpostId) (\s@GetOutpostInstanceTypes' {} a -> s {outpostId = a} :: GetOutpostInstanceTypes)++instance Core.AWSRequest GetOutpostInstanceTypes where+  type+    AWSResponse GetOutpostInstanceTypes =+      GetOutpostInstanceTypesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetOutpostInstanceTypesResponse'+            Prelude.<$> (x Data..?> "InstanceTypes" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "OutpostArn")+            Prelude.<*> (x Data..?> "OutpostId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetOutpostInstanceTypes where+  hashWithSalt _salt GetOutpostInstanceTypes' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` outpostId++instance Prelude.NFData GetOutpostInstanceTypes where+  rnf GetOutpostInstanceTypes' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf outpostId++instance Data.ToHeaders GetOutpostInstanceTypes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetOutpostInstanceTypes where+  toPath GetOutpostInstanceTypes' {..} =+    Prelude.mconcat+      ["/outposts/", Data.toBS outpostId, "/instanceTypes"]++instance Data.ToQuery GetOutpostInstanceTypes where+  toQuery GetOutpostInstanceTypes' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetOutpostInstanceTypesResponse' smart constructor.+data GetOutpostInstanceTypesResponse = GetOutpostInstanceTypesResponse'+  { instanceTypes :: Prelude.Maybe [InstanceTypeItem],+    nextToken :: Prelude.Maybe Prelude.Text,+    outpostArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Outpost.+    outpostId :: 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 'GetOutpostInstanceTypesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceTypes', 'getOutpostInstanceTypesResponse_instanceTypes' - Undocumented member.+--+-- 'nextToken', 'getOutpostInstanceTypesResponse_nextToken' - Undocumented member.+--+-- 'outpostArn', 'getOutpostInstanceTypesResponse_outpostArn' - Undocumented member.+--+-- 'outpostId', 'getOutpostInstanceTypesResponse_outpostId' - The ID of the Outpost.+--+-- 'httpStatus', 'getOutpostInstanceTypesResponse_httpStatus' - The response's http status code.+newGetOutpostInstanceTypesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetOutpostInstanceTypesResponse+newGetOutpostInstanceTypesResponse pHttpStatus_ =+  GetOutpostInstanceTypesResponse'+    { instanceTypes =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      outpostArn = Prelude.Nothing,+      outpostId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getOutpostInstanceTypesResponse_instanceTypes :: Lens.Lens' GetOutpostInstanceTypesResponse (Prelude.Maybe [InstanceTypeItem])+getOutpostInstanceTypesResponse_instanceTypes = Lens.lens (\GetOutpostInstanceTypesResponse' {instanceTypes} -> instanceTypes) (\s@GetOutpostInstanceTypesResponse' {} a -> s {instanceTypes = a} :: GetOutpostInstanceTypesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+getOutpostInstanceTypesResponse_nextToken :: Lens.Lens' GetOutpostInstanceTypesResponse (Prelude.Maybe Prelude.Text)+getOutpostInstanceTypesResponse_nextToken = Lens.lens (\GetOutpostInstanceTypesResponse' {nextToken} -> nextToken) (\s@GetOutpostInstanceTypesResponse' {} a -> s {nextToken = a} :: GetOutpostInstanceTypesResponse)++-- | Undocumented member.+getOutpostInstanceTypesResponse_outpostArn :: Lens.Lens' GetOutpostInstanceTypesResponse (Prelude.Maybe Prelude.Text)+getOutpostInstanceTypesResponse_outpostArn = Lens.lens (\GetOutpostInstanceTypesResponse' {outpostArn} -> outpostArn) (\s@GetOutpostInstanceTypesResponse' {} a -> s {outpostArn = a} :: GetOutpostInstanceTypesResponse)++-- | The ID of the Outpost.+getOutpostInstanceTypesResponse_outpostId :: Lens.Lens' GetOutpostInstanceTypesResponse (Prelude.Maybe Prelude.Text)+getOutpostInstanceTypesResponse_outpostId = Lens.lens (\GetOutpostInstanceTypesResponse' {outpostId} -> outpostId) (\s@GetOutpostInstanceTypesResponse' {} a -> s {outpostId = a} :: GetOutpostInstanceTypesResponse)++-- | The response's http status code.+getOutpostInstanceTypesResponse_httpStatus :: Lens.Lens' GetOutpostInstanceTypesResponse Prelude.Int+getOutpostInstanceTypesResponse_httpStatus = Lens.lens (\GetOutpostInstanceTypesResponse' {httpStatus} -> httpStatus) (\s@GetOutpostInstanceTypesResponse' {} a -> s {httpStatus = a} :: GetOutpostInstanceTypesResponse)++instance+  Prelude.NFData+    GetOutpostInstanceTypesResponse+  where+  rnf GetOutpostInstanceTypesResponse' {..} =+    Prelude.rnf instanceTypes+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf outpostArn+      `Prelude.seq` Prelude.rnf outpostId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetSite.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.GetSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about the specified Outpost site.+module Amazonka.Outposts.GetSite+  ( -- * Creating a Request+    GetSite (..),+    newGetSite,++    -- * Request Lenses+    getSite_siteId,++    -- * Destructuring the Response+    GetSiteResponse (..),+    newGetSiteResponse,++    -- * Response Lenses+    getSiteResponse_site,+    getSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSite' smart constructor.+data GetSite = GetSite'+  { -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteId', 'getSite_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+newGetSite ::+  -- | 'siteId'+  Prelude.Text ->+  GetSite+newGetSite pSiteId_ = GetSite' {siteId = pSiteId_}++-- | The ID or the Amazon Resource Name (ARN) of the site.+getSite_siteId :: Lens.Lens' GetSite Prelude.Text+getSite_siteId = Lens.lens (\GetSite' {siteId} -> siteId) (\s@GetSite' {} a -> s {siteId = a} :: GetSite)++instance Core.AWSRequest GetSite where+  type AWSResponse GetSite = GetSiteResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSite where+  hashWithSalt _salt GetSite' {..} =+    _salt `Prelude.hashWithSalt` siteId++instance Prelude.NFData GetSite where+  rnf GetSite' {..} = Prelude.rnf siteId++instance Data.ToHeaders GetSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSite where+  toPath GetSite' {..} =+    Prelude.mconcat ["/sites/", Data.toBS siteId]++instance Data.ToQuery GetSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSiteResponse' smart constructor.+data GetSiteResponse = GetSiteResponse'+  { site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'getSiteResponse_site' - Undocumented member.+--+-- 'httpStatus', 'getSiteResponse_httpStatus' - The response's http status code.+newGetSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSiteResponse+newGetSiteResponse pHttpStatus_ =+  GetSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getSiteResponse_site :: Lens.Lens' GetSiteResponse (Prelude.Maybe Site)+getSiteResponse_site = Lens.lens (\GetSiteResponse' {site} -> site) (\s@GetSiteResponse' {} a -> s {site = a} :: GetSiteResponse)++-- | The response's http status code.+getSiteResponse_httpStatus :: Lens.Lens' GetSiteResponse Prelude.Int+getSiteResponse_httpStatus = Lens.lens (\GetSiteResponse' {httpStatus} -> httpStatus) (\s@GetSiteResponse' {} a -> s {httpStatus = a} :: GetSiteResponse)++instance Prelude.NFData GetSiteResponse where+  rnf GetSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/GetSiteAddress.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.GetSiteAddress+-- 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 site address of the specified site.+module Amazonka.Outposts.GetSiteAddress+  ( -- * Creating a Request+    GetSiteAddress (..),+    newGetSiteAddress,++    -- * Request Lenses+    getSiteAddress_siteId,+    getSiteAddress_addressType,++    -- * Destructuring the Response+    GetSiteAddressResponse (..),+    newGetSiteAddressResponse,++    -- * Response Lenses+    getSiteAddressResponse_address,+    getSiteAddressResponse_addressType,+    getSiteAddressResponse_siteId,+    getSiteAddressResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSiteAddress' smart constructor.+data GetSiteAddress = GetSiteAddress'+  { -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text,+    -- | The type of the address you request.+    addressType :: AddressType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSiteAddress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteId', 'getSiteAddress_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+--+-- 'addressType', 'getSiteAddress_addressType' - The type of the address you request.+newGetSiteAddress ::+  -- | 'siteId'+  Prelude.Text ->+  -- | 'addressType'+  AddressType ->+  GetSiteAddress+newGetSiteAddress pSiteId_ pAddressType_ =+  GetSiteAddress'+    { siteId = pSiteId_,+      addressType = pAddressType_+    }++-- | The ID or the Amazon Resource Name (ARN) of the site.+getSiteAddress_siteId :: Lens.Lens' GetSiteAddress Prelude.Text+getSiteAddress_siteId = Lens.lens (\GetSiteAddress' {siteId} -> siteId) (\s@GetSiteAddress' {} a -> s {siteId = a} :: GetSiteAddress)++-- | The type of the address you request.+getSiteAddress_addressType :: Lens.Lens' GetSiteAddress AddressType+getSiteAddress_addressType = Lens.lens (\GetSiteAddress' {addressType} -> addressType) (\s@GetSiteAddress' {} a -> s {addressType = a} :: GetSiteAddress)++instance Core.AWSRequest GetSiteAddress where+  type+    AWSResponse GetSiteAddress =+      GetSiteAddressResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSiteAddressResponse'+            Prelude.<$> (x Data..?> "Address")+            Prelude.<*> (x Data..?> "AddressType")+            Prelude.<*> (x Data..?> "SiteId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSiteAddress where+  hashWithSalt _salt GetSiteAddress' {..} =+    _salt+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` addressType++instance Prelude.NFData GetSiteAddress where+  rnf GetSiteAddress' {..} =+    Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf addressType++instance Data.ToHeaders GetSiteAddress where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSiteAddress where+  toPath GetSiteAddress' {..} =+    Prelude.mconcat+      ["/sites/", Data.toBS siteId, "/address"]++instance Data.ToQuery GetSiteAddress where+  toQuery GetSiteAddress' {..} =+    Prelude.mconcat ["AddressType" Data.=: addressType]++-- | /See:/ 'newGetSiteAddressResponse' smart constructor.+data GetSiteAddressResponse = GetSiteAddressResponse'+  { -- | Information about the address.+    address :: Prelude.Maybe Address,+    -- | The type of the address you receive.+    addressType :: Prelude.Maybe AddressType,+    siteId :: 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 'GetSiteAddressResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'address', 'getSiteAddressResponse_address' - Information about the address.+--+-- 'addressType', 'getSiteAddressResponse_addressType' - The type of the address you receive.+--+-- 'siteId', 'getSiteAddressResponse_siteId' - Undocumented member.+--+-- 'httpStatus', 'getSiteAddressResponse_httpStatus' - The response's http status code.+newGetSiteAddressResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSiteAddressResponse+newGetSiteAddressResponse pHttpStatus_ =+  GetSiteAddressResponse'+    { address = Prelude.Nothing,+      addressType = Prelude.Nothing,+      siteId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the address.+getSiteAddressResponse_address :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe Address)+getSiteAddressResponse_address = Lens.lens (\GetSiteAddressResponse' {address} -> address) (\s@GetSiteAddressResponse' {} a -> s {address = a} :: GetSiteAddressResponse)++-- | The type of the address you receive.+getSiteAddressResponse_addressType :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe AddressType)+getSiteAddressResponse_addressType = Lens.lens (\GetSiteAddressResponse' {addressType} -> addressType) (\s@GetSiteAddressResponse' {} a -> s {addressType = a} :: GetSiteAddressResponse)++-- | Undocumented member.+getSiteAddressResponse_siteId :: Lens.Lens' GetSiteAddressResponse (Prelude.Maybe Prelude.Text)+getSiteAddressResponse_siteId = Lens.lens (\GetSiteAddressResponse' {siteId} -> siteId) (\s@GetSiteAddressResponse' {} a -> s {siteId = a} :: GetSiteAddressResponse)++-- | The response's http status code.+getSiteAddressResponse_httpStatus :: Lens.Lens' GetSiteAddressResponse Prelude.Int+getSiteAddressResponse_httpStatus = Lens.lens (\GetSiteAddressResponse' {httpStatus} -> httpStatus) (\s@GetSiteAddressResponse' {} a -> s {httpStatus = a} :: GetSiteAddressResponse)++instance Prelude.NFData GetSiteAddressResponse where+  rnf GetSiteAddressResponse' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf addressType+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/Lens.hs view
@@ -0,0 +1,387 @@+{-# 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.Outposts.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.Outposts.Lens+  ( -- * Operations++    -- ** CancelOrder+    cancelOrder_orderId,+    cancelOrderResponse_httpStatus,++    -- ** CreateOrder+    createOrder_paymentTerm,+    createOrder_outpostIdentifier,+    createOrder_lineItems,+    createOrder_paymentOption,+    createOrderResponse_order,+    createOrderResponse_httpStatus,++    -- ** CreateOutpost+    createOutpost_availabilityZone,+    createOutpost_availabilityZoneId,+    createOutpost_description,+    createOutpost_supportedHardwareType,+    createOutpost_tags,+    createOutpost_name,+    createOutpost_siteId,+    createOutpostResponse_outpost,+    createOutpostResponse_httpStatus,++    -- ** CreateSite+    createSite_description,+    createSite_notes,+    createSite_operatingAddress,+    createSite_rackPhysicalProperties,+    createSite_shippingAddress,+    createSite_tags,+    createSite_name,+    createSiteResponse_site,+    createSiteResponse_httpStatus,++    -- ** DeleteOutpost+    deleteOutpost_outpostId,+    deleteOutpostResponse_httpStatus,++    -- ** DeleteSite+    deleteSite_siteId,+    deleteSiteResponse_httpStatus,++    -- ** GetCatalogItem+    getCatalogItem_catalogItemId,+    getCatalogItemResponse_catalogItem,+    getCatalogItemResponse_httpStatus,++    -- ** GetConnection+    getConnection_connectionId,+    getConnectionResponse_connectionDetails,+    getConnectionResponse_connectionId,+    getConnectionResponse_httpStatus,++    -- ** GetOrder+    getOrder_orderId,+    getOrderResponse_order,+    getOrderResponse_httpStatus,++    -- ** GetOutpost+    getOutpost_outpostId,+    getOutpostResponse_outpost,+    getOutpostResponse_httpStatus,++    -- ** GetOutpostInstanceTypes+    getOutpostInstanceTypes_maxResults,+    getOutpostInstanceTypes_nextToken,+    getOutpostInstanceTypes_outpostId,+    getOutpostInstanceTypesResponse_instanceTypes,+    getOutpostInstanceTypesResponse_nextToken,+    getOutpostInstanceTypesResponse_outpostArn,+    getOutpostInstanceTypesResponse_outpostId,+    getOutpostInstanceTypesResponse_httpStatus,++    -- ** GetSite+    getSite_siteId,+    getSiteResponse_site,+    getSiteResponse_httpStatus,++    -- ** GetSiteAddress+    getSiteAddress_siteId,+    getSiteAddress_addressType,+    getSiteAddressResponse_address,+    getSiteAddressResponse_addressType,+    getSiteAddressResponse_siteId,+    getSiteAddressResponse_httpStatus,++    -- ** ListAssets+    listAssets_hostIdFilter,+    listAssets_maxResults,+    listAssets_nextToken,+    listAssets_statusFilter,+    listAssets_outpostIdentifier,+    listAssetsResponse_assets,+    listAssetsResponse_nextToken,+    listAssetsResponse_httpStatus,++    -- ** ListCatalogItems+    listCatalogItems_eC2FamilyFilter,+    listCatalogItems_itemClassFilter,+    listCatalogItems_maxResults,+    listCatalogItems_nextToken,+    listCatalogItems_supportedStorageFilter,+    listCatalogItemsResponse_catalogItems,+    listCatalogItemsResponse_nextToken,+    listCatalogItemsResponse_httpStatus,++    -- ** ListOrders+    listOrders_maxResults,+    listOrders_nextToken,+    listOrders_outpostIdentifierFilter,+    listOrdersResponse_nextToken,+    listOrdersResponse_orders,+    listOrdersResponse_httpStatus,++    -- ** ListOutposts+    listOutposts_availabilityZoneFilter,+    listOutposts_availabilityZoneIdFilter,+    listOutposts_lifeCycleStatusFilter,+    listOutposts_maxResults,+    listOutposts_nextToken,+    listOutpostsResponse_nextToken,+    listOutpostsResponse_outposts,+    listOutpostsResponse_httpStatus,++    -- ** ListSites+    listSites_maxResults,+    listSites_nextToken,+    listSites_operatingAddressCityFilter,+    listSites_operatingAddressCountryCodeFilter,+    listSites_operatingAddressStateOrRegionFilter,+    listSitesResponse_nextToken,+    listSitesResponse_sites,+    listSitesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartConnection+    startConnection_deviceSerialNumber,+    startConnection_assetId,+    startConnection_clientPublicKey,+    startConnection_networkInterfaceDeviceIndex,+    startConnectionResponse_connectionId,+    startConnectionResponse_underlayIpAddress,+    startConnectionResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateOutpost+    updateOutpost_description,+    updateOutpost_name,+    updateOutpost_supportedHardwareType,+    updateOutpost_outpostId,+    updateOutpostResponse_outpost,+    updateOutpostResponse_httpStatus,++    -- ** UpdateSite+    updateSite_description,+    updateSite_name,+    updateSite_notes,+    updateSite_siteId,+    updateSiteResponse_site,+    updateSiteResponse_httpStatus,++    -- ** UpdateSiteAddress+    updateSiteAddress_siteId,+    updateSiteAddress_addressType,+    updateSiteAddress_address,+    updateSiteAddressResponse_address,+    updateSiteAddressResponse_addressType,+    updateSiteAddressResponse_httpStatus,++    -- ** UpdateSiteRackPhysicalProperties+    updateSiteRackPhysicalProperties_fiberOpticCableType,+    updateSiteRackPhysicalProperties_maximumSupportedWeightLbs,+    updateSiteRackPhysicalProperties_opticalStandard,+    updateSiteRackPhysicalProperties_powerConnector,+    updateSiteRackPhysicalProperties_powerDrawKva,+    updateSiteRackPhysicalProperties_powerFeedDrop,+    updateSiteRackPhysicalProperties_powerPhase,+    updateSiteRackPhysicalProperties_uplinkCount,+    updateSiteRackPhysicalProperties_uplinkGbps,+    updateSiteRackPhysicalProperties_siteId,+    updateSiteRackPhysicalPropertiesResponse_site,+    updateSiteRackPhysicalPropertiesResponse_httpStatus,++    -- * Types++    -- ** Address+    address_addressLine2,+    address_addressLine3,+    address_contactName,+    address_contactPhoneNumber,+    address_districtOrCounty,+    address_municipality,+    address_addressLine1,+    address_city,+    address_stateOrRegion,+    address_postalCode,+    address_countryCode,++    -- ** AssetInfo+    assetInfo_assetId,+    assetInfo_assetLocation,+    assetInfo_assetType,+    assetInfo_computeAttributes,+    assetInfo_rackId,++    -- ** AssetLocation+    assetLocation_rackElevation,++    -- ** CatalogItem+    catalogItem_catalogItemId,+    catalogItem_eC2Capacities,+    catalogItem_itemStatus,+    catalogItem_powerKva,+    catalogItem_supportedStorage,+    catalogItem_supportedUplinkGbps,+    catalogItem_weightLbs,++    -- ** ComputeAttributes+    computeAttributes_hostId,+    computeAttributes_state,++    -- ** ConnectionDetails+    connectionDetails_allowedIps,+    connectionDetails_clientPublicKey,+    connectionDetails_clientTunnelAddress,+    connectionDetails_serverEndpoint,+    connectionDetails_serverPublicKey,+    connectionDetails_serverTunnelAddress,++    -- ** EC2Capacity+    eC2Capacity_family,+    eC2Capacity_maxSize,+    eC2Capacity_quantity,++    -- ** InstanceTypeItem+    instanceTypeItem_instanceType,++    -- ** LineItem+    lineItem_assetInformationList,+    lineItem_catalogItemId,+    lineItem_lineItemId,+    lineItem_quantity,+    lineItem_shipmentInformation,+    lineItem_status,++    -- ** LineItemAssetInformation+    lineItemAssetInformation_assetId,+    lineItemAssetInformation_macAddressList,++    -- ** LineItemRequest+    lineItemRequest_catalogItemId,+    lineItemRequest_quantity,++    -- ** Order+    order_lineItems,+    order_orderFulfilledDate,+    order_orderId,+    order_orderSubmissionDate,+    order_outpostId,+    order_paymentOption,+    order_status,++    -- ** OrderSummary+    orderSummary_lineItemCountsByStatus,+    orderSummary_orderFulfilledDate,+    orderSummary_orderId,+    orderSummary_orderSubmissionDate,+    orderSummary_orderType,+    orderSummary_outpostId,+    orderSummary_status,++    -- ** Outpost+    outpost_availabilityZone,+    outpost_availabilityZoneId,+    outpost_description,+    outpost_lifeCycleStatus,+    outpost_name,+    outpost_outpostArn,+    outpost_outpostId,+    outpost_ownerId,+    outpost_siteArn,+    outpost_siteId,+    outpost_supportedHardwareType,+    outpost_tags,++    -- ** RackPhysicalProperties+    rackPhysicalProperties_fiberOpticCableType,+    rackPhysicalProperties_maximumSupportedWeightLbs,+    rackPhysicalProperties_opticalStandard,+    rackPhysicalProperties_powerConnector,+    rackPhysicalProperties_powerDrawKva,+    rackPhysicalProperties_powerFeedDrop,+    rackPhysicalProperties_powerPhase,+    rackPhysicalProperties_uplinkCount,+    rackPhysicalProperties_uplinkGbps,++    -- ** ShipmentInformation+    shipmentInformation_shipmentCarrier,+    shipmentInformation_shipmentTrackingNumber,++    -- ** Site+    site_accountId,+    site_description,+    site_name,+    site_notes,+    site_operatingAddressCity,+    site_operatingAddressCountryCode,+    site_operatingAddressStateOrRegion,+    site_rackPhysicalProperties,+    site_siteArn,+    site_siteId,+    site_tags,+  )+where++import Amazonka.Outposts.CancelOrder+import Amazonka.Outposts.CreateOrder+import Amazonka.Outposts.CreateOutpost+import Amazonka.Outposts.CreateSite+import Amazonka.Outposts.DeleteOutpost+import Amazonka.Outposts.DeleteSite+import Amazonka.Outposts.GetCatalogItem+import Amazonka.Outposts.GetConnection+import Amazonka.Outposts.GetOrder+import Amazonka.Outposts.GetOutpost+import Amazonka.Outposts.GetOutpostInstanceTypes+import Amazonka.Outposts.GetSite+import Amazonka.Outposts.GetSiteAddress+import Amazonka.Outposts.ListAssets+import Amazonka.Outposts.ListCatalogItems+import Amazonka.Outposts.ListOrders+import Amazonka.Outposts.ListOutposts+import Amazonka.Outposts.ListSites+import Amazonka.Outposts.ListTagsForResource+import Amazonka.Outposts.StartConnection+import Amazonka.Outposts.TagResource+import Amazonka.Outposts.Types.Address+import Amazonka.Outposts.Types.AssetInfo+import Amazonka.Outposts.Types.AssetLocation+import Amazonka.Outposts.Types.CatalogItem+import Amazonka.Outposts.Types.ComputeAttributes+import Amazonka.Outposts.Types.ConnectionDetails+import Amazonka.Outposts.Types.EC2Capacity+import Amazonka.Outposts.Types.InstanceTypeItem+import Amazonka.Outposts.Types.LineItem+import Amazonka.Outposts.Types.LineItemAssetInformation+import Amazonka.Outposts.Types.LineItemRequest+import Amazonka.Outposts.Types.Order+import Amazonka.Outposts.Types.OrderSummary+import Amazonka.Outposts.Types.Outpost+import Amazonka.Outposts.Types.RackPhysicalProperties+import Amazonka.Outposts.Types.ShipmentInformation+import Amazonka.Outposts.Types.Site+import Amazonka.Outposts.UntagResource+import Amazonka.Outposts.UpdateOutpost+import Amazonka.Outposts.UpdateSite+import Amazonka.Outposts.UpdateSiteAddress+import Amazonka.Outposts.UpdateSiteRackPhysicalProperties
+ gen/Amazonka/Outposts/ListAssets.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.ListAssets+-- 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 hardware assets for the specified Outpost.+--+-- Use filters to return specific results. If you specify multiple filters,+-- the results include only the resources that match all of the specified+-- filters. For a filter where you can specify multiple values, the results+-- include items that match any of the values that you specify for the+-- filter.+module Amazonka.Outposts.ListAssets+  ( -- * Creating a Request+    ListAssets (..),+    newListAssets,++    -- * Request Lenses+    listAssets_hostIdFilter,+    listAssets_maxResults,+    listAssets_nextToken,+    listAssets_statusFilter,+    listAssets_outpostIdentifier,++    -- * Destructuring the Response+    ListAssetsResponse (..),+    newListAssetsResponse,++    -- * Response Lenses+    listAssetsResponse_assets,+    listAssetsResponse_nextToken,+    listAssetsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAssets' smart constructor.+data ListAssets = ListAssets'+  { -- | Filters the results by the host ID of a Dedicated Host.+    hostIdFilter :: Prelude.Maybe [Prelude.Text],+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Filters the results by state.+    statusFilter :: Prelude.Maybe (Prelude.NonEmpty AssetState),+    -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hostIdFilter', 'listAssets_hostIdFilter' - Filters the results by the host ID of a Dedicated Host.+--+-- 'maxResults', 'listAssets_maxResults' - Undocumented member.+--+-- 'nextToken', 'listAssets_nextToken' - Undocumented member.+--+-- 'statusFilter', 'listAssets_statusFilter' - Filters the results by state.+--+-- 'outpostIdentifier', 'listAssets_outpostIdentifier' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newListAssets ::+  -- | 'outpostIdentifier'+  Prelude.Text ->+  ListAssets+newListAssets pOutpostIdentifier_ =+  ListAssets'+    { hostIdFilter = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      statusFilter = Prelude.Nothing,+      outpostIdentifier = pOutpostIdentifier_+    }++-- | Filters the results by the host ID of a Dedicated Host.+listAssets_hostIdFilter :: Lens.Lens' ListAssets (Prelude.Maybe [Prelude.Text])+listAssets_hostIdFilter = Lens.lens (\ListAssets' {hostIdFilter} -> hostIdFilter) (\s@ListAssets' {} a -> s {hostIdFilter = a} :: ListAssets) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listAssets_maxResults :: Lens.Lens' ListAssets (Prelude.Maybe Prelude.Natural)+listAssets_maxResults = Lens.lens (\ListAssets' {maxResults} -> maxResults) (\s@ListAssets' {} a -> s {maxResults = a} :: ListAssets)++-- | Undocumented member.+listAssets_nextToken :: Lens.Lens' ListAssets (Prelude.Maybe Prelude.Text)+listAssets_nextToken = Lens.lens (\ListAssets' {nextToken} -> nextToken) (\s@ListAssets' {} a -> s {nextToken = a} :: ListAssets)++-- | Filters the results by state.+listAssets_statusFilter :: Lens.Lens' ListAssets (Prelude.Maybe (Prelude.NonEmpty AssetState))+listAssets_statusFilter = Lens.lens (\ListAssets' {statusFilter} -> statusFilter) (\s@ListAssets' {} a -> s {statusFilter = a} :: ListAssets) Prelude.. Lens.mapping Lens.coerced++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+listAssets_outpostIdentifier :: Lens.Lens' ListAssets Prelude.Text+listAssets_outpostIdentifier = Lens.lens (\ListAssets' {outpostIdentifier} -> outpostIdentifier) (\s@ListAssets' {} a -> s {outpostIdentifier = a} :: ListAssets)++instance Core.AWSRequest ListAssets where+  type AWSResponse ListAssets = ListAssetsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAssetsResponse'+            Prelude.<$> (x Data..?> "Assets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAssets where+  hashWithSalt _salt ListAssets' {..} =+    _salt+      `Prelude.hashWithSalt` hostIdFilter+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` statusFilter+      `Prelude.hashWithSalt` outpostIdentifier++instance Prelude.NFData ListAssets where+  rnf ListAssets' {..} =+    Prelude.rnf hostIdFilter+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf statusFilter+      `Prelude.seq` Prelude.rnf outpostIdentifier++instance Data.ToHeaders ListAssets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAssets where+  toPath ListAssets' {..} =+    Prelude.mconcat+      [ "/outposts/",+        Data.toBS outpostIdentifier,+        "/assets"+      ]++instance Data.ToQuery ListAssets where+  toQuery ListAssets' {..} =+    Prelude.mconcat+      [ "HostIdFilter"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> hostIdFilter),+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "StatusFilter"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> statusFilter)+      ]++-- | /See:/ 'newListAssetsResponse' smart constructor.+data ListAssetsResponse = ListAssetsResponse'+  { -- | Information about the hardware assets.+    assets :: Prelude.Maybe [AssetInfo],+    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 'ListAssetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assets', 'listAssetsResponse_assets' - Information about the hardware assets.+--+-- 'nextToken', 'listAssetsResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listAssetsResponse_httpStatus' - The response's http status code.+newListAssetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAssetsResponse+newListAssetsResponse pHttpStatus_ =+  ListAssetsResponse'+    { assets = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the hardware assets.+listAssetsResponse_assets :: Lens.Lens' ListAssetsResponse (Prelude.Maybe [AssetInfo])+listAssetsResponse_assets = Lens.lens (\ListAssetsResponse' {assets} -> assets) (\s@ListAssetsResponse' {} a -> s {assets = a} :: ListAssetsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listAssetsResponse_nextToken :: Lens.Lens' ListAssetsResponse (Prelude.Maybe Prelude.Text)+listAssetsResponse_nextToken = Lens.lens (\ListAssetsResponse' {nextToken} -> nextToken) (\s@ListAssetsResponse' {} a -> s {nextToken = a} :: ListAssetsResponse)++-- | The response's http status code.+listAssetsResponse_httpStatus :: Lens.Lens' ListAssetsResponse Prelude.Int+listAssetsResponse_httpStatus = Lens.lens (\ListAssetsResponse' {httpStatus} -> httpStatus) (\s@ListAssetsResponse' {} a -> s {httpStatus = a} :: ListAssetsResponse)++instance Prelude.NFData ListAssetsResponse where+  rnf ListAssetsResponse' {..} =+    Prelude.rnf assets+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/ListCatalogItems.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.ListCatalogItems+-- 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 items in the catalog.+--+-- Use filters to return specific results. If you specify multiple filters,+-- the results include only the resources that match all of the specified+-- filters. For a filter where you can specify multiple values, the results+-- include items that match any of the values that you specify for the+-- filter.+module Amazonka.Outposts.ListCatalogItems+  ( -- * Creating a Request+    ListCatalogItems (..),+    newListCatalogItems,++    -- * Request Lenses+    listCatalogItems_eC2FamilyFilter,+    listCatalogItems_itemClassFilter,+    listCatalogItems_maxResults,+    listCatalogItems_nextToken,+    listCatalogItems_supportedStorageFilter,++    -- * Destructuring the Response+    ListCatalogItemsResponse (..),+    newListCatalogItemsResponse,++    -- * Response Lenses+    listCatalogItemsResponse_catalogItems,+    listCatalogItemsResponse_nextToken,+    listCatalogItemsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCatalogItems' smart constructor.+data ListCatalogItems = ListCatalogItems'+  { -- | Filters the results by EC2 family (for example, M5).+    eC2FamilyFilter :: Prelude.Maybe [Prelude.Text],+    -- | Filters the results by item class.+    itemClassFilter :: Prelude.Maybe [CatalogItemClass],+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Filters the results by storage option.+    supportedStorageFilter :: Prelude.Maybe [SupportedStorageEnum]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCatalogItems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eC2FamilyFilter', 'listCatalogItems_eC2FamilyFilter' - Filters the results by EC2 family (for example, M5).+--+-- 'itemClassFilter', 'listCatalogItems_itemClassFilter' - Filters the results by item class.+--+-- 'maxResults', 'listCatalogItems_maxResults' - Undocumented member.+--+-- 'nextToken', 'listCatalogItems_nextToken' - Undocumented member.+--+-- 'supportedStorageFilter', 'listCatalogItems_supportedStorageFilter' - Filters the results by storage option.+newListCatalogItems ::+  ListCatalogItems+newListCatalogItems =+  ListCatalogItems'+    { eC2FamilyFilter =+        Prelude.Nothing,+      itemClassFilter = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      supportedStorageFilter = Prelude.Nothing+    }++-- | Filters the results by EC2 family (for example, M5).+listCatalogItems_eC2FamilyFilter :: Lens.Lens' ListCatalogItems (Prelude.Maybe [Prelude.Text])+listCatalogItems_eC2FamilyFilter = Lens.lens (\ListCatalogItems' {eC2FamilyFilter} -> eC2FamilyFilter) (\s@ListCatalogItems' {} a -> s {eC2FamilyFilter = a} :: ListCatalogItems) Prelude.. Lens.mapping Lens.coerced++-- | Filters the results by item class.+listCatalogItems_itemClassFilter :: Lens.Lens' ListCatalogItems (Prelude.Maybe [CatalogItemClass])+listCatalogItems_itemClassFilter = Lens.lens (\ListCatalogItems' {itemClassFilter} -> itemClassFilter) (\s@ListCatalogItems' {} a -> s {itemClassFilter = a} :: ListCatalogItems) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listCatalogItems_maxResults :: Lens.Lens' ListCatalogItems (Prelude.Maybe Prelude.Natural)+listCatalogItems_maxResults = Lens.lens (\ListCatalogItems' {maxResults} -> maxResults) (\s@ListCatalogItems' {} a -> s {maxResults = a} :: ListCatalogItems)++-- | Undocumented member.+listCatalogItems_nextToken :: Lens.Lens' ListCatalogItems (Prelude.Maybe Prelude.Text)+listCatalogItems_nextToken = Lens.lens (\ListCatalogItems' {nextToken} -> nextToken) (\s@ListCatalogItems' {} a -> s {nextToken = a} :: ListCatalogItems)++-- | Filters the results by storage option.+listCatalogItems_supportedStorageFilter :: Lens.Lens' ListCatalogItems (Prelude.Maybe [SupportedStorageEnum])+listCatalogItems_supportedStorageFilter = Lens.lens (\ListCatalogItems' {supportedStorageFilter} -> supportedStorageFilter) (\s@ListCatalogItems' {} a -> s {supportedStorageFilter = a} :: ListCatalogItems) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest ListCatalogItems where+  type+    AWSResponse ListCatalogItems =+      ListCatalogItemsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCatalogItemsResponse'+            Prelude.<$> (x Data..?> "CatalogItems" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCatalogItems where+  hashWithSalt _salt ListCatalogItems' {..} =+    _salt+      `Prelude.hashWithSalt` eC2FamilyFilter+      `Prelude.hashWithSalt` itemClassFilter+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` supportedStorageFilter++instance Prelude.NFData ListCatalogItems where+  rnf ListCatalogItems' {..} =+    Prelude.rnf eC2FamilyFilter+      `Prelude.seq` Prelude.rnf itemClassFilter+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf supportedStorageFilter++instance Data.ToHeaders ListCatalogItems where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCatalogItems where+  toPath = Prelude.const "/catalog/items"++instance Data.ToQuery ListCatalogItems where+  toQuery ListCatalogItems' {..} =+    Prelude.mconcat+      [ "EC2FamilyFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> eC2FamilyFilter+            ),+        "ItemClassFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> itemClassFilter+            ),+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "SupportedStorageFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> supportedStorageFilter+            )+      ]++-- | /See:/ 'newListCatalogItemsResponse' smart constructor.+data ListCatalogItemsResponse = ListCatalogItemsResponse'+  { -- | Information about the catalog items.+    catalogItems :: Prelude.Maybe [CatalogItem],+    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 'ListCatalogItemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogItems', 'listCatalogItemsResponse_catalogItems' - Information about the catalog items.+--+-- 'nextToken', 'listCatalogItemsResponse_nextToken' - Undocumented member.+--+-- 'httpStatus', 'listCatalogItemsResponse_httpStatus' - The response's http status code.+newListCatalogItemsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCatalogItemsResponse+newListCatalogItemsResponse pHttpStatus_ =+  ListCatalogItemsResponse'+    { catalogItems =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the catalog items.+listCatalogItemsResponse_catalogItems :: Lens.Lens' ListCatalogItemsResponse (Prelude.Maybe [CatalogItem])+listCatalogItemsResponse_catalogItems = Lens.lens (\ListCatalogItemsResponse' {catalogItems} -> catalogItems) (\s@ListCatalogItemsResponse' {} a -> s {catalogItems = a} :: ListCatalogItemsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listCatalogItemsResponse_nextToken :: Lens.Lens' ListCatalogItemsResponse (Prelude.Maybe Prelude.Text)+listCatalogItemsResponse_nextToken = Lens.lens (\ListCatalogItemsResponse' {nextToken} -> nextToken) (\s@ListCatalogItemsResponse' {} a -> s {nextToken = a} :: ListCatalogItemsResponse)++-- | The response's http status code.+listCatalogItemsResponse_httpStatus :: Lens.Lens' ListCatalogItemsResponse Prelude.Int+listCatalogItemsResponse_httpStatus = Lens.lens (\ListCatalogItemsResponse' {httpStatus} -> httpStatus) (\s@ListCatalogItemsResponse' {} a -> s {httpStatus = a} :: ListCatalogItemsResponse)++instance Prelude.NFData ListCatalogItemsResponse where+  rnf ListCatalogItemsResponse' {..} =+    Prelude.rnf catalogItems+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/ListOrders.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.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 the Outpost orders for your Amazon Web Services account.+module Amazonka.Outposts.ListOrders+  ( -- * Creating a Request+    ListOrders (..),+    newListOrders,++    -- * Request Lenses+    listOrders_maxResults,+    listOrders_nextToken,+    listOrders_outpostIdentifierFilter,++    -- * 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 Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOrders' smart constructor.+data ListOrders = ListOrders'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostIdentifierFilter :: Prelude.Maybe 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:+--+-- 'maxResults', 'listOrders_maxResults' - Undocumented member.+--+-- 'nextToken', 'listOrders_nextToken' - Undocumented member.+--+-- 'outpostIdentifierFilter', 'listOrders_outpostIdentifierFilter' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newListOrders ::+  ListOrders+newListOrders =+  ListOrders'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      outpostIdentifierFilter = Prelude.Nothing+    }++-- | Undocumented member.+listOrders_maxResults :: Lens.Lens' ListOrders (Prelude.Maybe Prelude.Natural)+listOrders_maxResults = Lens.lens (\ListOrders' {maxResults} -> maxResults) (\s@ListOrders' {} a -> s {maxResults = a} :: ListOrders)++-- | Undocumented member.+listOrders_nextToken :: Lens.Lens' ListOrders (Prelude.Maybe Prelude.Text)+listOrders_nextToken = Lens.lens (\ListOrders' {nextToken} -> nextToken) (\s@ListOrders' {} a -> s {nextToken = a} :: ListOrders)++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+listOrders_outpostIdentifierFilter :: Lens.Lens' ListOrders (Prelude.Maybe Prelude.Text)+listOrders_outpostIdentifierFilter = Lens.lens (\ListOrders' {outpostIdentifierFilter} -> outpostIdentifierFilter) (\s@ListOrders' {} a -> s {outpostIdentifierFilter = a} :: ListOrders)++instance Core.AWSRequest ListOrders where+  type AWSResponse ListOrders = ListOrdersResponse+  request overrides =+    Request.get (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` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` outpostIdentifierFilter++instance Prelude.NFData ListOrders where+  rnf ListOrders' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf outpostIdentifierFilter++instance Data.ToHeaders ListOrders where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListOrders where+  toPath = Prelude.const "/list-orders"++instance Data.ToQuery ListOrders where+  toQuery ListOrders' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "OutpostIdentifierFilter"+          Data.=: outpostIdentifierFilter+      ]++-- | /See:/ 'newListOrdersResponse' smart constructor.+data ListOrdersResponse = ListOrdersResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    -- | Information about the orders.+    orders :: Prelude.Maybe [OrderSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, 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' - Undocumented member.+--+-- '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_+    }++-- | Undocumented member.+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 [OrderSummary])+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/Outposts/ListOutposts.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.ListOutposts+-- 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 Outposts for your Amazon Web Services account.+--+-- Use filters to return specific results. If you specify multiple filters,+-- the results include only the resources that match all of the specified+-- filters. For a filter where you can specify multiple values, the results+-- include items that match any of the values that you specify for the+-- filter.+module Amazonka.Outposts.ListOutposts+  ( -- * Creating a Request+    ListOutposts (..),+    newListOutposts,++    -- * Request Lenses+    listOutposts_availabilityZoneFilter,+    listOutposts_availabilityZoneIdFilter,+    listOutposts_lifeCycleStatusFilter,+    listOutposts_maxResults,+    listOutposts_nextToken,++    -- * Destructuring the Response+    ListOutpostsResponse (..),+    newListOutpostsResponse,++    -- * Response Lenses+    listOutpostsResponse_nextToken,+    listOutpostsResponse_outposts,+    listOutpostsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOutposts' smart constructor.+data ListOutposts = ListOutposts'+  { -- | Filters the results by Availability Zone (for example, @us-east-1a@).+    availabilityZoneFilter :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | Filters the results by AZ ID (for example, @use1-az1@).+    availabilityZoneIdFilter :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | Filters the results by the lifecycle status.+    lifeCycleStatusFilter :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOutposts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZoneFilter', 'listOutposts_availabilityZoneFilter' - Filters the results by Availability Zone (for example, @us-east-1a@).+--+-- 'availabilityZoneIdFilter', 'listOutposts_availabilityZoneIdFilter' - Filters the results by AZ ID (for example, @use1-az1@).+--+-- 'lifeCycleStatusFilter', 'listOutposts_lifeCycleStatusFilter' - Filters the results by the lifecycle status.+--+-- 'maxResults', 'listOutposts_maxResults' - Undocumented member.+--+-- 'nextToken', 'listOutposts_nextToken' - Undocumented member.+newListOutposts ::+  ListOutposts+newListOutposts =+  ListOutposts'+    { availabilityZoneFilter =+        Prelude.Nothing,+      availabilityZoneIdFilter = Prelude.Nothing,+      lifeCycleStatusFilter = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the results by Availability Zone (for example, @us-east-1a@).+listOutposts_availabilityZoneFilter :: Lens.Lens' ListOutposts (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listOutposts_availabilityZoneFilter = Lens.lens (\ListOutposts' {availabilityZoneFilter} -> availabilityZoneFilter) (\s@ListOutposts' {} a -> s {availabilityZoneFilter = a} :: ListOutposts) Prelude.. Lens.mapping Lens.coerced++-- | Filters the results by AZ ID (for example, @use1-az1@).+listOutposts_availabilityZoneIdFilter :: Lens.Lens' ListOutposts (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listOutposts_availabilityZoneIdFilter = Lens.lens (\ListOutposts' {availabilityZoneIdFilter} -> availabilityZoneIdFilter) (\s@ListOutposts' {} a -> s {availabilityZoneIdFilter = a} :: ListOutposts) Prelude.. Lens.mapping Lens.coerced++-- | Filters the results by the lifecycle status.+listOutposts_lifeCycleStatusFilter :: Lens.Lens' ListOutposts (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+listOutposts_lifeCycleStatusFilter = Lens.lens (\ListOutposts' {lifeCycleStatusFilter} -> lifeCycleStatusFilter) (\s@ListOutposts' {} a -> s {lifeCycleStatusFilter = a} :: ListOutposts) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listOutposts_maxResults :: Lens.Lens' ListOutposts (Prelude.Maybe Prelude.Natural)+listOutposts_maxResults = Lens.lens (\ListOutposts' {maxResults} -> maxResults) (\s@ListOutposts' {} a -> s {maxResults = a} :: ListOutposts)++-- | Undocumented member.+listOutposts_nextToken :: Lens.Lens' ListOutposts (Prelude.Maybe Prelude.Text)+listOutposts_nextToken = Lens.lens (\ListOutposts' {nextToken} -> nextToken) (\s@ListOutposts' {} a -> s {nextToken = a} :: ListOutposts)++instance Core.AWSRequest ListOutposts where+  type AWSResponse ListOutposts = ListOutpostsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListOutpostsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Outposts" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListOutposts where+  hashWithSalt _salt ListOutposts' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZoneFilter+      `Prelude.hashWithSalt` availabilityZoneIdFilter+      `Prelude.hashWithSalt` lifeCycleStatusFilter+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListOutposts where+  rnf ListOutposts' {..} =+    Prelude.rnf availabilityZoneFilter+      `Prelude.seq` Prelude.rnf availabilityZoneIdFilter+      `Prelude.seq` Prelude.rnf lifeCycleStatusFilter+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListOutposts where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListOutposts where+  toPath = Prelude.const "/outposts"++instance Data.ToQuery ListOutposts where+  toQuery ListOutposts' {..} =+    Prelude.mconcat+      [ "AvailabilityZoneFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> availabilityZoneFilter+            ),+        "AvailabilityZoneIdFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> availabilityZoneIdFilter+            ),+        "LifeCycleStatusFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> lifeCycleStatusFilter+            ),+        "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListOutpostsResponse' smart constructor.+data ListOutpostsResponse = ListOutpostsResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    outposts :: Prelude.Maybe [Outpost],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOutpostsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOutpostsResponse_nextToken' - Undocumented member.+--+-- 'outposts', 'listOutpostsResponse_outposts' - Undocumented member.+--+-- 'httpStatus', 'listOutpostsResponse_httpStatus' - The response's http status code.+newListOutpostsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListOutpostsResponse+newListOutpostsResponse pHttpStatus_ =+  ListOutpostsResponse'+    { nextToken = Prelude.Nothing,+      outposts = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listOutpostsResponse_nextToken :: Lens.Lens' ListOutpostsResponse (Prelude.Maybe Prelude.Text)+listOutpostsResponse_nextToken = Lens.lens (\ListOutpostsResponse' {nextToken} -> nextToken) (\s@ListOutpostsResponse' {} a -> s {nextToken = a} :: ListOutpostsResponse)++-- | Undocumented member.+listOutpostsResponse_outposts :: Lens.Lens' ListOutpostsResponse (Prelude.Maybe [Outpost])+listOutpostsResponse_outposts = Lens.lens (\ListOutpostsResponse' {outposts} -> outposts) (\s@ListOutpostsResponse' {} a -> s {outposts = a} :: ListOutpostsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listOutpostsResponse_httpStatus :: Lens.Lens' ListOutpostsResponse Prelude.Int+listOutpostsResponse_httpStatus = Lens.lens (\ListOutpostsResponse' {httpStatus} -> httpStatus) (\s@ListOutpostsResponse' {} a -> s {httpStatus = a} :: ListOutpostsResponse)++instance Prelude.NFData ListOutpostsResponse where+  rnf ListOutpostsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf outposts+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/ListSites.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.ListSites+-- 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 Outpost sites for your Amazon Web Services account. Use+-- filters to return specific results.+--+-- Use filters to return specific results. If you specify multiple filters,+-- the results include only the resources that match all of the specified+-- filters. For a filter where you can specify multiple values, the results+-- include items that match any of the values that you specify for the+-- filter.+module Amazonka.Outposts.ListSites+  ( -- * Creating a Request+    ListSites (..),+    newListSites,++    -- * Request Lenses+    listSites_maxResults,+    listSites_nextToken,+    listSites_operatingAddressCityFilter,+    listSites_operatingAddressCountryCodeFilter,+    listSites_operatingAddressStateOrRegionFilter,++    -- * Destructuring the Response+    ListSitesResponse (..),+    newListSitesResponse,++    -- * Response Lenses+    listSitesResponse_nextToken,+    listSitesResponse_sites,+    listSitesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSites' smart constructor.+data ListSites = ListSites'+  { maxResults :: Prelude.Maybe Prelude.Natural,+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Filters the results by city.+    operatingAddressCityFilter :: Prelude.Maybe [Prelude.Text],+    -- | Filters the results by country code.+    operatingAddressCountryCodeFilter :: Prelude.Maybe [Prelude.Text],+    -- | Filters the results by state or region.+    operatingAddressStateOrRegionFilter :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSites' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listSites_maxResults' - Undocumented member.+--+-- 'nextToken', 'listSites_nextToken' - Undocumented member.+--+-- 'operatingAddressCityFilter', 'listSites_operatingAddressCityFilter' - Filters the results by city.+--+-- 'operatingAddressCountryCodeFilter', 'listSites_operatingAddressCountryCodeFilter' - Filters the results by country code.+--+-- 'operatingAddressStateOrRegionFilter', 'listSites_operatingAddressStateOrRegionFilter' - Filters the results by state or region.+newListSites ::+  ListSites+newListSites =+  ListSites'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      operatingAddressCityFilter = Prelude.Nothing,+      operatingAddressCountryCodeFilter = Prelude.Nothing,+      operatingAddressStateOrRegionFilter =+        Prelude.Nothing+    }++-- | Undocumented member.+listSites_maxResults :: Lens.Lens' ListSites (Prelude.Maybe Prelude.Natural)+listSites_maxResults = Lens.lens (\ListSites' {maxResults} -> maxResults) (\s@ListSites' {} a -> s {maxResults = a} :: ListSites)++-- | Undocumented member.+listSites_nextToken :: Lens.Lens' ListSites (Prelude.Maybe Prelude.Text)+listSites_nextToken = Lens.lens (\ListSites' {nextToken} -> nextToken) (\s@ListSites' {} a -> s {nextToken = a} :: ListSites)++-- | Filters the results by city.+listSites_operatingAddressCityFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])+listSites_operatingAddressCityFilter = Lens.lens (\ListSites' {operatingAddressCityFilter} -> operatingAddressCityFilter) (\s@ListSites' {} a -> s {operatingAddressCityFilter = a} :: ListSites) Prelude.. Lens.mapping Lens.coerced++-- | Filters the results by country code.+listSites_operatingAddressCountryCodeFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])+listSites_operatingAddressCountryCodeFilter = Lens.lens (\ListSites' {operatingAddressCountryCodeFilter} -> operatingAddressCountryCodeFilter) (\s@ListSites' {} a -> s {operatingAddressCountryCodeFilter = a} :: ListSites) Prelude.. Lens.mapping Lens.coerced++-- | Filters the results by state or region.+listSites_operatingAddressStateOrRegionFilter :: Lens.Lens' ListSites (Prelude.Maybe [Prelude.Text])+listSites_operatingAddressStateOrRegionFilter = Lens.lens (\ListSites' {operatingAddressStateOrRegionFilter} -> operatingAddressStateOrRegionFilter) (\s@ListSites' {} a -> s {operatingAddressStateOrRegionFilter = a} :: ListSites) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest ListSites where+  type AWSResponse ListSites = ListSitesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSitesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Sites" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSites where+  hashWithSalt _salt ListSites' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` operatingAddressCityFilter+      `Prelude.hashWithSalt` operatingAddressCountryCodeFilter+      `Prelude.hashWithSalt` operatingAddressStateOrRegionFilter++instance Prelude.NFData ListSites where+  rnf ListSites' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf operatingAddressCityFilter+      `Prelude.seq` Prelude.rnf operatingAddressCountryCodeFilter+      `Prelude.seq` Prelude.rnf operatingAddressStateOrRegionFilter++instance Data.ToHeaders ListSites where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSites where+  toPath = Prelude.const "/sites"++instance Data.ToQuery ListSites where+  toQuery ListSites' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken,+        "OperatingAddressCityFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> operatingAddressCityFilter+            ),+        "OperatingAddressCountryCodeFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> operatingAddressCountryCodeFilter+            ),+        "OperatingAddressStateOrRegionFilter"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> operatingAddressStateOrRegionFilter+            )+      ]++-- | /See:/ 'newListSitesResponse' smart constructor.+data ListSitesResponse = ListSitesResponse'+  { nextToken :: Prelude.Maybe Prelude.Text,+    sites :: Prelude.Maybe [Site],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSitesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSitesResponse_nextToken' - Undocumented member.+--+-- 'sites', 'listSitesResponse_sites' - Undocumented member.+--+-- 'httpStatus', 'listSitesResponse_httpStatus' - The response's http status code.+newListSitesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSitesResponse+newListSitesResponse pHttpStatus_ =+  ListSitesResponse'+    { nextToken = Prelude.Nothing,+      sites = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+listSitesResponse_nextToken :: Lens.Lens' ListSitesResponse (Prelude.Maybe Prelude.Text)+listSitesResponse_nextToken = Lens.lens (\ListSitesResponse' {nextToken} -> nextToken) (\s@ListSitesResponse' {} a -> s {nextToken = a} :: ListSitesResponse)++-- | Undocumented member.+listSitesResponse_sites :: Lens.Lens' ListSitesResponse (Prelude.Maybe [Site])+listSitesResponse_sites = Lens.lens (\ListSitesResponse' {sites} -> sites) (\s@ListSitesResponse' {} a -> s {sites = a} :: ListSitesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSitesResponse_httpStatus :: Lens.Lens' ListSitesResponse Prelude.Int+listSitesResponse_httpStatus = Lens.lens (\ListSitesResponse' {httpStatus} -> httpStatus) (\s@ListSitesResponse' {} a -> s {httpStatus = a} :: ListSitesResponse)++instance Prelude.NFData ListSitesResponse where+  rnf ListSitesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sites+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/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.Outposts.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.Outposts.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    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 (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - 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 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/Outposts/StartConnection.hs view
@@ -0,0 +1,247 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.StartConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon Web Services uses this action to install Outpost servers.+--+-- Starts the connection required for Outpost server installation.+--+-- Use CloudTrail to monitor this action or Amazon Web Services managed+-- policy for Amazon Web Services Outposts to secure it. For more+-- information, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html Amazon Web Services managed policies for Amazon Web Services Outposts>+-- and+-- <https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail>+-- in the /Amazon Web Services Outposts User Guide/.+module Amazonka.Outposts.StartConnection+  ( -- * Creating a Request+    StartConnection (..),+    newStartConnection,++    -- * Request Lenses+    startConnection_deviceSerialNumber,+    startConnection_assetId,+    startConnection_clientPublicKey,+    startConnection_networkInterfaceDeviceIndex,++    -- * Destructuring the Response+    StartConnectionResponse (..),+    newStartConnectionResponse,++    -- * Response Lenses+    startConnectionResponse_connectionId,+    startConnectionResponse_underlayIpAddress,+    startConnectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartConnection' smart constructor.+data StartConnection = StartConnection'+  { -- | The serial number of the dongle.+    deviceSerialNumber :: Prelude.Text,+    -- | The ID of the Outpost server.+    assetId :: Prelude.Text,+    -- | The public key of the client.+    clientPublicKey :: Prelude.Text,+    -- | The device index of the network interface on the Outpost server.+    networkInterfaceDeviceIndex :: Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceSerialNumber', 'startConnection_deviceSerialNumber' - The serial number of the dongle.+--+-- 'assetId', 'startConnection_assetId' - The ID of the Outpost server.+--+-- 'clientPublicKey', 'startConnection_clientPublicKey' - The public key of the client.+--+-- 'networkInterfaceDeviceIndex', 'startConnection_networkInterfaceDeviceIndex' - The device index of the network interface on the Outpost server.+newStartConnection ::+  -- | 'deviceSerialNumber'+  Prelude.Text ->+  -- | 'assetId'+  Prelude.Text ->+  -- | 'clientPublicKey'+  Prelude.Text ->+  -- | 'networkInterfaceDeviceIndex'+  Prelude.Natural ->+  StartConnection+newStartConnection+  pDeviceSerialNumber_+  pAssetId_+  pClientPublicKey_+  pNetworkInterfaceDeviceIndex_ =+    StartConnection'+      { deviceSerialNumber =+          pDeviceSerialNumber_,+        assetId = pAssetId_,+        clientPublicKey = pClientPublicKey_,+        networkInterfaceDeviceIndex =+          pNetworkInterfaceDeviceIndex_+      }++-- | The serial number of the dongle.+startConnection_deviceSerialNumber :: Lens.Lens' StartConnection Prelude.Text+startConnection_deviceSerialNumber = Lens.lens (\StartConnection' {deviceSerialNumber} -> deviceSerialNumber) (\s@StartConnection' {} a -> s {deviceSerialNumber = a} :: StartConnection)++-- | The ID of the Outpost server.+startConnection_assetId :: Lens.Lens' StartConnection Prelude.Text+startConnection_assetId = Lens.lens (\StartConnection' {assetId} -> assetId) (\s@StartConnection' {} a -> s {assetId = a} :: StartConnection)++-- | The public key of the client.+startConnection_clientPublicKey :: Lens.Lens' StartConnection Prelude.Text+startConnection_clientPublicKey = Lens.lens (\StartConnection' {clientPublicKey} -> clientPublicKey) (\s@StartConnection' {} a -> s {clientPublicKey = a} :: StartConnection)++-- | The device index of the network interface on the Outpost server.+startConnection_networkInterfaceDeviceIndex :: Lens.Lens' StartConnection Prelude.Natural+startConnection_networkInterfaceDeviceIndex = Lens.lens (\StartConnection' {networkInterfaceDeviceIndex} -> networkInterfaceDeviceIndex) (\s@StartConnection' {} a -> s {networkInterfaceDeviceIndex = a} :: StartConnection)++instance Core.AWSRequest StartConnection where+  type+    AWSResponse StartConnection =+      StartConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartConnectionResponse'+            Prelude.<$> (x Data..?> "ConnectionId")+            Prelude.<*> (x Data..?> "UnderlayIpAddress")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartConnection where+  hashWithSalt _salt StartConnection' {..} =+    _salt+      `Prelude.hashWithSalt` deviceSerialNumber+      `Prelude.hashWithSalt` assetId+      `Prelude.hashWithSalt` clientPublicKey+      `Prelude.hashWithSalt` networkInterfaceDeviceIndex++instance Prelude.NFData StartConnection where+  rnf StartConnection' {..} =+    Prelude.rnf deviceSerialNumber+      `Prelude.seq` Prelude.rnf assetId+      `Prelude.seq` Prelude.rnf clientPublicKey+      `Prelude.seq` Prelude.rnf networkInterfaceDeviceIndex++instance Data.ToHeaders StartConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartConnection where+  toJSON StartConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("DeviceSerialNumber" Data..= deviceSerialNumber),+            Prelude.Just ("AssetId" Data..= assetId),+            Prelude.Just+              ("ClientPublicKey" Data..= clientPublicKey),+            Prelude.Just+              ( "NetworkInterfaceDeviceIndex"+                  Data..= networkInterfaceDeviceIndex+              )+          ]+      )++instance Data.ToPath StartConnection where+  toPath = Prelude.const "/connections"++instance Data.ToQuery StartConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartConnectionResponse' smart constructor.+data StartConnectionResponse = StartConnectionResponse'+  { -- | The ID of the connection.+    connectionId :: Prelude.Maybe Prelude.Text,+    -- | The underlay IP address.+    underlayIpAddress :: 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 'StartConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionId', 'startConnectionResponse_connectionId' - The ID of the connection.+--+-- 'underlayIpAddress', 'startConnectionResponse_underlayIpAddress' - The underlay IP address.+--+-- 'httpStatus', 'startConnectionResponse_httpStatus' - The response's http status code.+newStartConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartConnectionResponse+newStartConnectionResponse pHttpStatus_ =+  StartConnectionResponse'+    { connectionId =+        Prelude.Nothing,+      underlayIpAddress = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the connection.+startConnectionResponse_connectionId :: Lens.Lens' StartConnectionResponse (Prelude.Maybe Prelude.Text)+startConnectionResponse_connectionId = Lens.lens (\StartConnectionResponse' {connectionId} -> connectionId) (\s@StartConnectionResponse' {} a -> s {connectionId = a} :: StartConnectionResponse)++-- | The underlay IP address.+startConnectionResponse_underlayIpAddress :: Lens.Lens' StartConnectionResponse (Prelude.Maybe Prelude.Text)+startConnectionResponse_underlayIpAddress = Lens.lens (\StartConnectionResponse' {underlayIpAddress} -> underlayIpAddress) (\s@StartConnectionResponse' {} a -> s {underlayIpAddress = a} :: StartConnectionResponse)++-- | The response's http status code.+startConnectionResponse_httpStatus :: Lens.Lens' StartConnectionResponse Prelude.Int+startConnectionResponse_httpStatus = Lens.lens (\StartConnectionResponse' {httpStatus} -> httpStatus) (\s@StartConnectionResponse' {} a -> s {httpStatus = a} :: StartConnectionResponse)++instance Prelude.NFData StartConnectionResponse where+  rnf StartConnectionResponse' {..} =+    Prelude.rnf connectionId+      `Prelude.seq` Prelude.rnf underlayIpAddress+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/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.Outposts.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.Outposts.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tags to add to the resource.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The 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.. 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/Outposts/Types.hs view
@@ -0,0 +1,422 @@+{-# 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.Outposts.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.Outposts.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _NotFoundException,+    _ServiceQuotaExceededException,+    _ValidationException,++    -- * AddressType+    AddressType (..),++    -- * AssetState+    AssetState (..),++    -- * AssetType+    AssetType (..),++    -- * CatalogItemClass+    CatalogItemClass (..),++    -- * CatalogItemStatus+    CatalogItemStatus (..),++    -- * ComputeAssetState+    ComputeAssetState (..),++    -- * FiberOpticCableType+    FiberOpticCableType (..),++    -- * LineItemStatus+    LineItemStatus (..),++    -- * MaximumSupportedWeightLbs+    MaximumSupportedWeightLbs (..),++    -- * OpticalStandard+    OpticalStandard (..),++    -- * OrderStatus+    OrderStatus (..),++    -- * OrderType+    OrderType (..),++    -- * PaymentOption+    PaymentOption (..),++    -- * PaymentTerm+    PaymentTerm (..),++    -- * PowerConnector+    PowerConnector (..),++    -- * PowerDrawKva+    PowerDrawKva (..),++    -- * PowerFeedDrop+    PowerFeedDrop (..),++    -- * PowerPhase+    PowerPhase (..),++    -- * ShipmentCarrier+    ShipmentCarrier (..),++    -- * SupportedHardwareType+    SupportedHardwareType (..),++    -- * SupportedStorageEnum+    SupportedStorageEnum (..),++    -- * UplinkCount+    UplinkCount (..),++    -- * UplinkGbps+    UplinkGbps (..),++    -- * Address+    Address (..),+    newAddress,+    address_addressLine2,+    address_addressLine3,+    address_contactName,+    address_contactPhoneNumber,+    address_districtOrCounty,+    address_municipality,+    address_addressLine1,+    address_city,+    address_stateOrRegion,+    address_postalCode,+    address_countryCode,++    -- * AssetInfo+    AssetInfo (..),+    newAssetInfo,+    assetInfo_assetId,+    assetInfo_assetLocation,+    assetInfo_assetType,+    assetInfo_computeAttributes,+    assetInfo_rackId,++    -- * AssetLocation+    AssetLocation (..),+    newAssetLocation,+    assetLocation_rackElevation,++    -- * CatalogItem+    CatalogItem (..),+    newCatalogItem,+    catalogItem_catalogItemId,+    catalogItem_eC2Capacities,+    catalogItem_itemStatus,+    catalogItem_powerKva,+    catalogItem_supportedStorage,+    catalogItem_supportedUplinkGbps,+    catalogItem_weightLbs,++    -- * ComputeAttributes+    ComputeAttributes (..),+    newComputeAttributes,+    computeAttributes_hostId,+    computeAttributes_state,++    -- * ConnectionDetails+    ConnectionDetails (..),+    newConnectionDetails,+    connectionDetails_allowedIps,+    connectionDetails_clientPublicKey,+    connectionDetails_clientTunnelAddress,+    connectionDetails_serverEndpoint,+    connectionDetails_serverPublicKey,+    connectionDetails_serverTunnelAddress,++    -- * EC2Capacity+    EC2Capacity (..),+    newEC2Capacity,+    eC2Capacity_family,+    eC2Capacity_maxSize,+    eC2Capacity_quantity,++    -- * InstanceTypeItem+    InstanceTypeItem (..),+    newInstanceTypeItem,+    instanceTypeItem_instanceType,++    -- * LineItem+    LineItem (..),+    newLineItem,+    lineItem_assetInformationList,+    lineItem_catalogItemId,+    lineItem_lineItemId,+    lineItem_quantity,+    lineItem_shipmentInformation,+    lineItem_status,++    -- * LineItemAssetInformation+    LineItemAssetInformation (..),+    newLineItemAssetInformation,+    lineItemAssetInformation_assetId,+    lineItemAssetInformation_macAddressList,++    -- * LineItemRequest+    LineItemRequest (..),+    newLineItemRequest,+    lineItemRequest_catalogItemId,+    lineItemRequest_quantity,++    -- * Order+    Order (..),+    newOrder,+    order_lineItems,+    order_orderFulfilledDate,+    order_orderId,+    order_orderSubmissionDate,+    order_outpostId,+    order_paymentOption,+    order_status,++    -- * OrderSummary+    OrderSummary (..),+    newOrderSummary,+    orderSummary_lineItemCountsByStatus,+    orderSummary_orderFulfilledDate,+    orderSummary_orderId,+    orderSummary_orderSubmissionDate,+    orderSummary_orderType,+    orderSummary_outpostId,+    orderSummary_status,++    -- * Outpost+    Outpost (..),+    newOutpost,+    outpost_availabilityZone,+    outpost_availabilityZoneId,+    outpost_description,+    outpost_lifeCycleStatus,+    outpost_name,+    outpost_outpostArn,+    outpost_outpostId,+    outpost_ownerId,+    outpost_siteArn,+    outpost_siteId,+    outpost_supportedHardwareType,+    outpost_tags,++    -- * RackPhysicalProperties+    RackPhysicalProperties (..),+    newRackPhysicalProperties,+    rackPhysicalProperties_fiberOpticCableType,+    rackPhysicalProperties_maximumSupportedWeightLbs,+    rackPhysicalProperties_opticalStandard,+    rackPhysicalProperties_powerConnector,+    rackPhysicalProperties_powerDrawKva,+    rackPhysicalProperties_powerFeedDrop,+    rackPhysicalProperties_powerPhase,+    rackPhysicalProperties_uplinkCount,+    rackPhysicalProperties_uplinkGbps,++    -- * ShipmentInformation+    ShipmentInformation (..),+    newShipmentInformation,+    shipmentInformation_shipmentCarrier,+    shipmentInformation_shipmentTrackingNumber,++    -- * Site+    Site (..),+    newSite,+    site_accountId,+    site_description,+    site_name,+    site_notes,+    site_operatingAddressCity,+    site_operatingAddressCountryCode,+    site_operatingAddressStateOrRegion,+    site_rackPhysicalProperties,+    site_siteArn,+    site_siteId,+    site_tags,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.Outposts.Types.Address+import Amazonka.Outposts.Types.AddressType+import Amazonka.Outposts.Types.AssetInfo+import Amazonka.Outposts.Types.AssetLocation+import Amazonka.Outposts.Types.AssetState+import Amazonka.Outposts.Types.AssetType+import Amazonka.Outposts.Types.CatalogItem+import Amazonka.Outposts.Types.CatalogItemClass+import Amazonka.Outposts.Types.CatalogItemStatus+import Amazonka.Outposts.Types.ComputeAssetState+import Amazonka.Outposts.Types.ComputeAttributes+import Amazonka.Outposts.Types.ConnectionDetails+import Amazonka.Outposts.Types.EC2Capacity+import Amazonka.Outposts.Types.FiberOpticCableType+import Amazonka.Outposts.Types.InstanceTypeItem+import Amazonka.Outposts.Types.LineItem+import Amazonka.Outposts.Types.LineItemAssetInformation+import Amazonka.Outposts.Types.LineItemRequest+import Amazonka.Outposts.Types.LineItemStatus+import Amazonka.Outposts.Types.MaximumSupportedWeightLbs+import Amazonka.Outposts.Types.OpticalStandard+import Amazonka.Outposts.Types.Order+import Amazonka.Outposts.Types.OrderStatus+import Amazonka.Outposts.Types.OrderSummary+import Amazonka.Outposts.Types.OrderType+import Amazonka.Outposts.Types.Outpost+import Amazonka.Outposts.Types.PaymentOption+import Amazonka.Outposts.Types.PaymentTerm+import Amazonka.Outposts.Types.PowerConnector+import Amazonka.Outposts.Types.PowerDrawKva+import Amazonka.Outposts.Types.PowerFeedDrop+import Amazonka.Outposts.Types.PowerPhase+import Amazonka.Outposts.Types.RackPhysicalProperties+import Amazonka.Outposts.Types.ShipmentCarrier+import Amazonka.Outposts.Types.ShipmentInformation+import Amazonka.Outposts.Types.Site+import Amazonka.Outposts.Types.SupportedHardwareType+import Amazonka.Outposts.Types.SupportedStorageEnum+import Amazonka.Outposts.Types.UplinkCount+import Amazonka.Outposts.Types.UplinkGbps+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-12-03@ of the Amazon Outposts SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "Outposts",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "outposts",+      Core.signingName = "outposts",+      Core.version = "2019-12-03",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "Outposts",+      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++-- | Updating or deleting this resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An internal error has occurred.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The specified request is not valid.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | You have exceeded a service quota.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | A parameter is not valid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/Outposts/Types/Address.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.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.Outposts.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 second line of the address.+    addressLine2 :: Prelude.Maybe Prelude.Text,+    -- | The third line of the address.+    addressLine3 :: Prelude.Maybe Prelude.Text,+    -- | The name of the contact.+    contactName :: Prelude.Maybe Prelude.Text,+    -- | The phone number of the contact.+    contactPhoneNumber :: Prelude.Maybe Prelude.Text,+    -- | The district or county for the address.+    districtOrCounty :: Prelude.Maybe Prelude.Text,+    -- | The municipality for the address.+    municipality :: Prelude.Maybe Prelude.Text,+    -- | The first line of the address.+    addressLine1 :: Prelude.Text,+    -- | The city for the address.+    city :: Prelude.Text,+    -- | The state for the address.+    stateOrRegion :: Prelude.Text,+    -- | The postal code for the address.+    postalCode :: Prelude.Text,+    -- | The ISO-3166 two-letter country code for the address.+    countryCode :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, 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:+--+-- 'addressLine2', 'address_addressLine2' - The second line of the address.+--+-- 'addressLine3', 'address_addressLine3' - The third line of the address.+--+-- 'contactName', 'address_contactName' - The name of the contact.+--+-- 'contactPhoneNumber', 'address_contactPhoneNumber' - The phone number of the contact.+--+-- 'districtOrCounty', 'address_districtOrCounty' - The district or county for the address.+--+-- 'municipality', 'address_municipality' - The municipality for the address.+--+-- 'addressLine1', 'address_addressLine1' - The first line of the address.+--+-- 'city', 'address_city' - The city for the address.+--+-- 'stateOrRegion', 'address_stateOrRegion' - The state for the address.+--+-- 'postalCode', 'address_postalCode' - The postal code for the address.+--+-- 'countryCode', 'address_countryCode' - The ISO-3166 two-letter country code for the address.+newAddress ::+  -- | 'addressLine1'+  Prelude.Text ->+  -- | 'city'+  Prelude.Text ->+  -- | 'stateOrRegion'+  Prelude.Text ->+  -- | 'postalCode'+  Prelude.Text ->+  -- | 'countryCode'+  Prelude.Text ->+  Address+newAddress+  pAddressLine1_+  pCity_+  pStateOrRegion_+  pPostalCode_+  pCountryCode_ =+    Address'+      { addressLine2 = Prelude.Nothing,+        addressLine3 = Prelude.Nothing,+        contactName = Prelude.Nothing,+        contactPhoneNumber = Prelude.Nothing,+        districtOrCounty = Prelude.Nothing,+        municipality = Prelude.Nothing,+        addressLine1 = pAddressLine1_,+        city = pCity_,+        stateOrRegion = pStateOrRegion_,+        postalCode = pPostalCode_,+        countryCode = pCountryCode_+      }++-- | The second line of the address.+address_addressLine2 :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_addressLine2 = Lens.lens (\Address' {addressLine2} -> addressLine2) (\s@Address' {} a -> s {addressLine2 = a} :: Address)++-- | The third line of the address.+address_addressLine3 :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_addressLine3 = Lens.lens (\Address' {addressLine3} -> addressLine3) (\s@Address' {} a -> s {addressLine3 = a} :: Address)++-- | The name of the contact.+address_contactName :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_contactName = Lens.lens (\Address' {contactName} -> contactName) (\s@Address' {} a -> s {contactName = a} :: Address)++-- | The phone number of the contact.+address_contactPhoneNumber :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_contactPhoneNumber = Lens.lens (\Address' {contactPhoneNumber} -> contactPhoneNumber) (\s@Address' {} a -> s {contactPhoneNumber = a} :: Address)++-- | The district or county for the address.+address_districtOrCounty :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_districtOrCounty = Lens.lens (\Address' {districtOrCounty} -> districtOrCounty) (\s@Address' {} a -> s {districtOrCounty = a} :: Address)++-- | The municipality for the address.+address_municipality :: Lens.Lens' Address (Prelude.Maybe Prelude.Text)+address_municipality = Lens.lens (\Address' {municipality} -> municipality) (\s@Address' {} a -> s {municipality = a} :: Address)++-- | The first line of the address.+address_addressLine1 :: Lens.Lens' Address Prelude.Text+address_addressLine1 = Lens.lens (\Address' {addressLine1} -> addressLine1) (\s@Address' {} a -> s {addressLine1 = a} :: Address)++-- | The city for the address.+address_city :: Lens.Lens' Address Prelude.Text+address_city = Lens.lens (\Address' {city} -> city) (\s@Address' {} a -> s {city = a} :: Address)++-- | The state for the address.+address_stateOrRegion :: Lens.Lens' Address Prelude.Text+address_stateOrRegion = Lens.lens (\Address' {stateOrRegion} -> stateOrRegion) (\s@Address' {} a -> s {stateOrRegion = a} :: Address)++-- | The postal code for the address.+address_postalCode :: Lens.Lens' Address Prelude.Text+address_postalCode = Lens.lens (\Address' {postalCode} -> postalCode) (\s@Address' {} a -> s {postalCode = a} :: Address)++-- | The ISO-3166 two-letter country code for the address.+address_countryCode :: Lens.Lens' Address Prelude.Text+address_countryCode = Lens.lens (\Address' {countryCode} -> countryCode) (\s@Address' {} a -> s {countryCode = a} :: Address)++instance Data.FromJSON Address where+  parseJSON =+    Data.withObject+      "Address"+      ( \x ->+          Address'+            Prelude.<$> (x Data..:? "AddressLine2")+            Prelude.<*> (x Data..:? "AddressLine3")+            Prelude.<*> (x Data..:? "ContactName")+            Prelude.<*> (x Data..:? "ContactPhoneNumber")+            Prelude.<*> (x Data..:? "DistrictOrCounty")+            Prelude.<*> (x Data..:? "Municipality")+            Prelude.<*> (x Data..: "AddressLine1")+            Prelude.<*> (x Data..: "City")+            Prelude.<*> (x Data..: "StateOrRegion")+            Prelude.<*> (x Data..: "PostalCode")+            Prelude.<*> (x Data..: "CountryCode")+      )++instance Prelude.Hashable Address where+  hashWithSalt _salt Address' {..} =+    _salt+      `Prelude.hashWithSalt` addressLine2+      `Prelude.hashWithSalt` addressLine3+      `Prelude.hashWithSalt` contactName+      `Prelude.hashWithSalt` contactPhoneNumber+      `Prelude.hashWithSalt` districtOrCounty+      `Prelude.hashWithSalt` municipality+      `Prelude.hashWithSalt` addressLine1+      `Prelude.hashWithSalt` city+      `Prelude.hashWithSalt` stateOrRegion+      `Prelude.hashWithSalt` postalCode+      `Prelude.hashWithSalt` countryCode++instance Prelude.NFData Address where+  rnf Address' {..} =+    Prelude.rnf addressLine2+      `Prelude.seq` Prelude.rnf addressLine3+      `Prelude.seq` Prelude.rnf contactName+      `Prelude.seq` Prelude.rnf contactPhoneNumber+      `Prelude.seq` Prelude.rnf districtOrCounty+      `Prelude.seq` Prelude.rnf municipality+      `Prelude.seq` Prelude.rnf addressLine1+      `Prelude.seq` Prelude.rnf city+      `Prelude.seq` Prelude.rnf stateOrRegion+      `Prelude.seq` Prelude.rnf postalCode+      `Prelude.seq` Prelude.rnf countryCode++instance Data.ToJSON Address where+  toJSON Address' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AddressLine2" Data..=) Prelude.<$> addressLine2,+            ("AddressLine3" Data..=) Prelude.<$> addressLine3,+            ("ContactName" Data..=) Prelude.<$> contactName,+            ("ContactPhoneNumber" Data..=)+              Prelude.<$> contactPhoneNumber,+            ("DistrictOrCounty" Data..=)+              Prelude.<$> districtOrCounty,+            ("Municipality" Data..=) Prelude.<$> municipality,+            Prelude.Just ("AddressLine1" Data..= addressLine1),+            Prelude.Just ("City" Data..= city),+            Prelude.Just ("StateOrRegion" Data..= stateOrRegion),+            Prelude.Just ("PostalCode" Data..= postalCode),+            Prelude.Just ("CountryCode" Data..= countryCode)+          ]+      )
+ gen/Amazonka/Outposts/Types/AddressType.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.Outposts.Types.AddressType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.AddressType+  ( AddressType+      ( ..,+        AddressType_OPERATING_ADDRESS,+        AddressType_SHIPPING_ADDRESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AddressType = AddressType'+  { fromAddressType ::+      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 AddressType_OPERATING_ADDRESS :: AddressType+pattern AddressType_OPERATING_ADDRESS = AddressType' "OPERATING_ADDRESS"++pattern AddressType_SHIPPING_ADDRESS :: AddressType+pattern AddressType_SHIPPING_ADDRESS = AddressType' "SHIPPING_ADDRESS"++{-# COMPLETE+  AddressType_OPERATING_ADDRESS,+  AddressType_SHIPPING_ADDRESS,+  AddressType'+  #-}
+ gen/Amazonka/Outposts/Types/AssetInfo.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.AssetInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.AssetInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.AssetLocation+import Amazonka.Outposts.Types.AssetType+import Amazonka.Outposts.Types.ComputeAttributes+import qualified Amazonka.Prelude as Prelude++-- | Information about hardware assets.+--+-- /See:/ 'newAssetInfo' smart constructor.+data AssetInfo = AssetInfo'+  { -- | The ID of the asset.+    assetId :: Prelude.Maybe Prelude.Text,+    -- | The position of an asset in a rack.+    assetLocation :: Prelude.Maybe AssetLocation,+    -- | The type of the asset.+    assetType :: Prelude.Maybe AssetType,+    -- | Information about compute hardware assets.+    computeAttributes :: Prelude.Maybe ComputeAttributes,+    -- | The rack ID of the asset.+    rackId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'assetInfo_assetId' - The ID of the asset.+--+-- 'assetLocation', 'assetInfo_assetLocation' - The position of an asset in a rack.+--+-- 'assetType', 'assetInfo_assetType' - The type of the asset.+--+-- 'computeAttributes', 'assetInfo_computeAttributes' - Information about compute hardware assets.+--+-- 'rackId', 'assetInfo_rackId' - The rack ID of the asset.+newAssetInfo ::+  AssetInfo+newAssetInfo =+  AssetInfo'+    { assetId = Prelude.Nothing,+      assetLocation = Prelude.Nothing,+      assetType = Prelude.Nothing,+      computeAttributes = Prelude.Nothing,+      rackId = Prelude.Nothing+    }++-- | The ID of the asset.+assetInfo_assetId :: Lens.Lens' AssetInfo (Prelude.Maybe Prelude.Text)+assetInfo_assetId = Lens.lens (\AssetInfo' {assetId} -> assetId) (\s@AssetInfo' {} a -> s {assetId = a} :: AssetInfo)++-- | The position of an asset in a rack.+assetInfo_assetLocation :: Lens.Lens' AssetInfo (Prelude.Maybe AssetLocation)+assetInfo_assetLocation = Lens.lens (\AssetInfo' {assetLocation} -> assetLocation) (\s@AssetInfo' {} a -> s {assetLocation = a} :: AssetInfo)++-- | The type of the asset.+assetInfo_assetType :: Lens.Lens' AssetInfo (Prelude.Maybe AssetType)+assetInfo_assetType = Lens.lens (\AssetInfo' {assetType} -> assetType) (\s@AssetInfo' {} a -> s {assetType = a} :: AssetInfo)++-- | Information about compute hardware assets.+assetInfo_computeAttributes :: Lens.Lens' AssetInfo (Prelude.Maybe ComputeAttributes)+assetInfo_computeAttributes = Lens.lens (\AssetInfo' {computeAttributes} -> computeAttributes) (\s@AssetInfo' {} a -> s {computeAttributes = a} :: AssetInfo)++-- | The rack ID of the asset.+assetInfo_rackId :: Lens.Lens' AssetInfo (Prelude.Maybe Prelude.Text)+assetInfo_rackId = Lens.lens (\AssetInfo' {rackId} -> rackId) (\s@AssetInfo' {} a -> s {rackId = a} :: AssetInfo)++instance Data.FromJSON AssetInfo where+  parseJSON =+    Data.withObject+      "AssetInfo"+      ( \x ->+          AssetInfo'+            Prelude.<$> (x Data..:? "AssetId")+            Prelude.<*> (x Data..:? "AssetLocation")+            Prelude.<*> (x Data..:? "AssetType")+            Prelude.<*> (x Data..:? "ComputeAttributes")+            Prelude.<*> (x Data..:? "RackId")+      )++instance Prelude.Hashable AssetInfo where+  hashWithSalt _salt AssetInfo' {..} =+    _salt+      `Prelude.hashWithSalt` assetId+      `Prelude.hashWithSalt` assetLocation+      `Prelude.hashWithSalt` assetType+      `Prelude.hashWithSalt` computeAttributes+      `Prelude.hashWithSalt` rackId++instance Prelude.NFData AssetInfo where+  rnf AssetInfo' {..} =+    Prelude.rnf assetId+      `Prelude.seq` Prelude.rnf assetLocation+      `Prelude.seq` Prelude.rnf assetType+      `Prelude.seq` Prelude.rnf computeAttributes+      `Prelude.seq` Prelude.rnf rackId
+ gen/Amazonka/Outposts/Types/AssetLocation.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.AssetLocation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.AssetLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Information about the position of the asset in a rack.+--+-- /See:/ 'newAssetLocation' smart constructor.+data AssetLocation = AssetLocation'+  { -- | The position of an asset in a rack measured in rack units.+    rackElevation :: Prelude.Maybe Prelude.Double+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssetLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rackElevation', 'assetLocation_rackElevation' - The position of an asset in a rack measured in rack units.+newAssetLocation ::+  AssetLocation+newAssetLocation =+  AssetLocation' {rackElevation = Prelude.Nothing}++-- | The position of an asset in a rack measured in rack units.+assetLocation_rackElevation :: Lens.Lens' AssetLocation (Prelude.Maybe Prelude.Double)+assetLocation_rackElevation = Lens.lens (\AssetLocation' {rackElevation} -> rackElevation) (\s@AssetLocation' {} a -> s {rackElevation = a} :: AssetLocation)++instance Data.FromJSON AssetLocation where+  parseJSON =+    Data.withObject+      "AssetLocation"+      ( \x ->+          AssetLocation'+            Prelude.<$> (x Data..:? "RackElevation")+      )++instance Prelude.Hashable AssetLocation where+  hashWithSalt _salt AssetLocation' {..} =+    _salt `Prelude.hashWithSalt` rackElevation++instance Prelude.NFData AssetLocation where+  rnf AssetLocation' {..} = Prelude.rnf rackElevation
+ gen/Amazonka/Outposts/Types/AssetState.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.Outposts.Types.AssetState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.AssetState+  ( AssetState+      ( ..,+        AssetState_ACTIVE,+        AssetState_RETIRING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetState = AssetState'+  { fromAssetState ::+      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 AssetState_ACTIVE :: AssetState+pattern AssetState_ACTIVE = AssetState' "ACTIVE"++pattern AssetState_RETIRING :: AssetState+pattern AssetState_RETIRING = AssetState' "RETIRING"++{-# COMPLETE+  AssetState_ACTIVE,+  AssetState_RETIRING,+  AssetState'+  #-}
+ gen/Amazonka/Outposts/Types/AssetType.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.Outposts.Types.AssetType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.AssetType+  ( AssetType+      ( ..,+        AssetType_COMPUTE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssetType = AssetType'+  { fromAssetType ::+      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 AssetType_COMPUTE :: AssetType+pattern AssetType_COMPUTE = AssetType' "COMPUTE"++{-# COMPLETE+  AssetType_COMPUTE,+  AssetType'+  #-}
+ gen/Amazonka/Outposts/Types/CatalogItem.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.Outposts.Types.CatalogItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.CatalogItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.CatalogItemStatus+import Amazonka.Outposts.Types.EC2Capacity+import Amazonka.Outposts.Types.SupportedStorageEnum+import qualified Amazonka.Prelude as Prelude++-- | Information about a catalog item.+--+-- /See:/ 'newCatalogItem' smart constructor.+data CatalogItem = CatalogItem'+  { -- | The ID of the catalog item.+    catalogItemId :: Prelude.Maybe Prelude.Text,+    -- | Information about the EC2 capacity of an item.+    eC2Capacities :: Prelude.Maybe [EC2Capacity],+    -- | The status of a catalog item.+    itemStatus :: Prelude.Maybe CatalogItemStatus,+    -- | Information about the power draw of an item.+    powerKva :: Prelude.Maybe Prelude.Double,+    -- | The supported storage options for the catalog item.+    supportedStorage :: Prelude.Maybe [SupportedStorageEnum],+    -- | The uplink speed this catalog item requires for the connection to the+    -- Region.+    supportedUplinkGbps :: Prelude.Maybe [Prelude.Int],+    -- | The weight of the item in pounds.+    weightLbs :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CatalogItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogItemId', 'catalogItem_catalogItemId' - The ID of the catalog item.+--+-- 'eC2Capacities', 'catalogItem_eC2Capacities' - Information about the EC2 capacity of an item.+--+-- 'itemStatus', 'catalogItem_itemStatus' - The status of a catalog item.+--+-- 'powerKva', 'catalogItem_powerKva' - Information about the power draw of an item.+--+-- 'supportedStorage', 'catalogItem_supportedStorage' - The supported storage options for the catalog item.+--+-- 'supportedUplinkGbps', 'catalogItem_supportedUplinkGbps' - The uplink speed this catalog item requires for the connection to the+-- Region.+--+-- 'weightLbs', 'catalogItem_weightLbs' - The weight of the item in pounds.+newCatalogItem ::+  CatalogItem+newCatalogItem =+  CatalogItem'+    { catalogItemId = Prelude.Nothing,+      eC2Capacities = Prelude.Nothing,+      itemStatus = Prelude.Nothing,+      powerKva = Prelude.Nothing,+      supportedStorage = Prelude.Nothing,+      supportedUplinkGbps = Prelude.Nothing,+      weightLbs = Prelude.Nothing+    }++-- | The ID of the catalog item.+catalogItem_catalogItemId :: Lens.Lens' CatalogItem (Prelude.Maybe Prelude.Text)+catalogItem_catalogItemId = Lens.lens (\CatalogItem' {catalogItemId} -> catalogItemId) (\s@CatalogItem' {} a -> s {catalogItemId = a} :: CatalogItem)++-- | Information about the EC2 capacity of an item.+catalogItem_eC2Capacities :: Lens.Lens' CatalogItem (Prelude.Maybe [EC2Capacity])+catalogItem_eC2Capacities = Lens.lens (\CatalogItem' {eC2Capacities} -> eC2Capacities) (\s@CatalogItem' {} a -> s {eC2Capacities = a} :: CatalogItem) Prelude.. Lens.mapping Lens.coerced++-- | The status of a catalog item.+catalogItem_itemStatus :: Lens.Lens' CatalogItem (Prelude.Maybe CatalogItemStatus)+catalogItem_itemStatus = Lens.lens (\CatalogItem' {itemStatus} -> itemStatus) (\s@CatalogItem' {} a -> s {itemStatus = a} :: CatalogItem)++-- | Information about the power draw of an item.+catalogItem_powerKva :: Lens.Lens' CatalogItem (Prelude.Maybe Prelude.Double)+catalogItem_powerKva = Lens.lens (\CatalogItem' {powerKva} -> powerKva) (\s@CatalogItem' {} a -> s {powerKva = a} :: CatalogItem)++-- | The supported storage options for the catalog item.+catalogItem_supportedStorage :: Lens.Lens' CatalogItem (Prelude.Maybe [SupportedStorageEnum])+catalogItem_supportedStorage = Lens.lens (\CatalogItem' {supportedStorage} -> supportedStorage) (\s@CatalogItem' {} a -> s {supportedStorage = a} :: CatalogItem) Prelude.. Lens.mapping Lens.coerced++-- | The uplink speed this catalog item requires for the connection to the+-- Region.+catalogItem_supportedUplinkGbps :: Lens.Lens' CatalogItem (Prelude.Maybe [Prelude.Int])+catalogItem_supportedUplinkGbps = Lens.lens (\CatalogItem' {supportedUplinkGbps} -> supportedUplinkGbps) (\s@CatalogItem' {} a -> s {supportedUplinkGbps = a} :: CatalogItem) Prelude.. Lens.mapping Lens.coerced++-- | The weight of the item in pounds.+catalogItem_weightLbs :: Lens.Lens' CatalogItem (Prelude.Maybe Prelude.Int)+catalogItem_weightLbs = Lens.lens (\CatalogItem' {weightLbs} -> weightLbs) (\s@CatalogItem' {} a -> s {weightLbs = a} :: CatalogItem)++instance Data.FromJSON CatalogItem where+  parseJSON =+    Data.withObject+      "CatalogItem"+      ( \x ->+          CatalogItem'+            Prelude.<$> (x Data..:? "CatalogItemId")+            Prelude.<*> (x Data..:? "EC2Capacities" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ItemStatus")+            Prelude.<*> (x Data..:? "PowerKva")+            Prelude.<*> ( x+                            Data..:? "SupportedStorage"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "SupportedUplinkGbps"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "WeightLbs")+      )++instance Prelude.Hashable CatalogItem where+  hashWithSalt _salt CatalogItem' {..} =+    _salt+      `Prelude.hashWithSalt` catalogItemId+      `Prelude.hashWithSalt` eC2Capacities+      `Prelude.hashWithSalt` itemStatus+      `Prelude.hashWithSalt` powerKva+      `Prelude.hashWithSalt` supportedStorage+      `Prelude.hashWithSalt` supportedUplinkGbps+      `Prelude.hashWithSalt` weightLbs++instance Prelude.NFData CatalogItem where+  rnf CatalogItem' {..} =+    Prelude.rnf catalogItemId+      `Prelude.seq` Prelude.rnf eC2Capacities+      `Prelude.seq` Prelude.rnf itemStatus+      `Prelude.seq` Prelude.rnf powerKva+      `Prelude.seq` Prelude.rnf supportedStorage+      `Prelude.seq` Prelude.rnf supportedUplinkGbps+      `Prelude.seq` Prelude.rnf weightLbs
+ gen/Amazonka/Outposts/Types/CatalogItemClass.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.Outposts.Types.CatalogItemClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.CatalogItemClass+  ( CatalogItemClass+      ( ..,+        CatalogItemClass_RACK,+        CatalogItemClass_SERVER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CatalogItemClass = CatalogItemClass'+  { fromCatalogItemClass ::+      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 CatalogItemClass_RACK :: CatalogItemClass+pattern CatalogItemClass_RACK = CatalogItemClass' "RACK"++pattern CatalogItemClass_SERVER :: CatalogItemClass+pattern CatalogItemClass_SERVER = CatalogItemClass' "SERVER"++{-# COMPLETE+  CatalogItemClass_RACK,+  CatalogItemClass_SERVER,+  CatalogItemClass'+  #-}
+ gen/Amazonka/Outposts/Types/CatalogItemStatus.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.Outposts.Types.CatalogItemStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.CatalogItemStatus+  ( CatalogItemStatus+      ( ..,+        CatalogItemStatus_AVAILABLE,+        CatalogItemStatus_DISCONTINUED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CatalogItemStatus = CatalogItemStatus'+  { fromCatalogItemStatus ::+      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 CatalogItemStatus_AVAILABLE :: CatalogItemStatus+pattern CatalogItemStatus_AVAILABLE = CatalogItemStatus' "AVAILABLE"++pattern CatalogItemStatus_DISCONTINUED :: CatalogItemStatus+pattern CatalogItemStatus_DISCONTINUED = CatalogItemStatus' "DISCONTINUED"++{-# COMPLETE+  CatalogItemStatus_AVAILABLE,+  CatalogItemStatus_DISCONTINUED,+  CatalogItemStatus'+  #-}
+ gen/Amazonka/Outposts/Types/ComputeAssetState.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.Outposts.Types.ComputeAssetState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.ComputeAssetState+  ( ComputeAssetState+      ( ..,+        ComputeAssetState_ACTIVE,+        ComputeAssetState_ISOLATED,+        ComputeAssetState_RETIRING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ComputeAssetState = ComputeAssetState'+  { fromComputeAssetState ::+      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 ComputeAssetState_ACTIVE :: ComputeAssetState+pattern ComputeAssetState_ACTIVE = ComputeAssetState' "ACTIVE"++pattern ComputeAssetState_ISOLATED :: ComputeAssetState+pattern ComputeAssetState_ISOLATED = ComputeAssetState' "ISOLATED"++pattern ComputeAssetState_RETIRING :: ComputeAssetState+pattern ComputeAssetState_RETIRING = ComputeAssetState' "RETIRING"++{-# COMPLETE+  ComputeAssetState_ACTIVE,+  ComputeAssetState_ISOLATED,+  ComputeAssetState_RETIRING,+  ComputeAssetState'+  #-}
+ gen/Amazonka/Outposts/Types/ComputeAttributes.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.ComputeAttributes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.ComputeAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.ComputeAssetState+import qualified Amazonka.Prelude as Prelude++-- | Information about compute hardware assets.+--+-- /See:/ 'newComputeAttributes' smart constructor.+data ComputeAttributes = ComputeAttributes'+  { -- | The host ID of the Dedicated Host on the asset.+    hostId :: Prelude.Maybe Prelude.Text,+    -- | The state.+    --+    -- -   ACTIVE - The asset is available and can provide capacity for new+    --     compute resources.+    --+    -- -   ISOLATED - The asset is undergoing maintenance and can\'t provide+    --     capacity for new compute resources. Existing compute resources on+    --     the asset are not affected.+    --+    -- -   RETIRING - The underlying hardware for the asset is degraded.+    --     Capacity for new compute resources is reduced. Amazon Web Services+    --     sends notifications for resources that must be stopped before the+    --     asset can be replaced.+    state :: Prelude.Maybe ComputeAssetState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ComputeAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hostId', 'computeAttributes_hostId' - The host ID of the Dedicated Host on the asset.+--+-- 'state', 'computeAttributes_state' - The state.+--+-- -   ACTIVE - The asset is available and can provide capacity for new+--     compute resources.+--+-- -   ISOLATED - The asset is undergoing maintenance and can\'t provide+--     capacity for new compute resources. Existing compute resources on+--     the asset are not affected.+--+-- -   RETIRING - The underlying hardware for the asset is degraded.+--     Capacity for new compute resources is reduced. Amazon Web Services+--     sends notifications for resources that must be stopped before the+--     asset can be replaced.+newComputeAttributes ::+  ComputeAttributes+newComputeAttributes =+  ComputeAttributes'+    { hostId = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The host ID of the Dedicated Host on the asset.+computeAttributes_hostId :: Lens.Lens' ComputeAttributes (Prelude.Maybe Prelude.Text)+computeAttributes_hostId = Lens.lens (\ComputeAttributes' {hostId} -> hostId) (\s@ComputeAttributes' {} a -> s {hostId = a} :: ComputeAttributes)++-- | The state.+--+-- -   ACTIVE - The asset is available and can provide capacity for new+--     compute resources.+--+-- -   ISOLATED - The asset is undergoing maintenance and can\'t provide+--     capacity for new compute resources. Existing compute resources on+--     the asset are not affected.+--+-- -   RETIRING - The underlying hardware for the asset is degraded.+--     Capacity for new compute resources is reduced. Amazon Web Services+--     sends notifications for resources that must be stopped before the+--     asset can be replaced.+computeAttributes_state :: Lens.Lens' ComputeAttributes (Prelude.Maybe ComputeAssetState)+computeAttributes_state = Lens.lens (\ComputeAttributes' {state} -> state) (\s@ComputeAttributes' {} a -> s {state = a} :: ComputeAttributes)++instance Data.FromJSON ComputeAttributes where+  parseJSON =+    Data.withObject+      "ComputeAttributes"+      ( \x ->+          ComputeAttributes'+            Prelude.<$> (x Data..:? "HostId")+            Prelude.<*> (x Data..:? "State")+      )++instance Prelude.Hashable ComputeAttributes where+  hashWithSalt _salt ComputeAttributes' {..} =+    _salt+      `Prelude.hashWithSalt` hostId+      `Prelude.hashWithSalt` state++instance Prelude.NFData ComputeAttributes where+  rnf ComputeAttributes' {..} =+    Prelude.rnf hostId `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/Outposts/Types/ConnectionDetails.hs view
@@ -0,0 +1,132 @@+{-# 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.Outposts.Types.ConnectionDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.ConnectionDetails 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 connection.+--+-- /See:/ 'newConnectionDetails' smart constructor.+data ConnectionDetails = ConnectionDetails'+  { -- | The allowed IP addresses.+    allowedIps :: Prelude.Maybe [Prelude.Text],+    -- | The public key of the client.+    clientPublicKey :: Prelude.Maybe Prelude.Text,+    -- | The client tunnel address.+    clientTunnelAddress :: Prelude.Maybe Prelude.Text,+    -- | The endpoint for the server.+    serverEndpoint :: Prelude.Maybe Prelude.Text,+    -- | The public key of the server.+    serverPublicKey :: Prelude.Maybe Prelude.Text,+    -- | The server tunnel address.+    serverTunnelAddress :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectionDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedIps', 'connectionDetails_allowedIps' - The allowed IP addresses.+--+-- 'clientPublicKey', 'connectionDetails_clientPublicKey' - The public key of the client.+--+-- 'clientTunnelAddress', 'connectionDetails_clientTunnelAddress' - The client tunnel address.+--+-- 'serverEndpoint', 'connectionDetails_serverEndpoint' - The endpoint for the server.+--+-- 'serverPublicKey', 'connectionDetails_serverPublicKey' - The public key of the server.+--+-- 'serverTunnelAddress', 'connectionDetails_serverTunnelAddress' - The server tunnel address.+newConnectionDetails ::+  ConnectionDetails+newConnectionDetails =+  ConnectionDetails'+    { allowedIps = Prelude.Nothing,+      clientPublicKey = Prelude.Nothing,+      clientTunnelAddress = Prelude.Nothing,+      serverEndpoint = Prelude.Nothing,+      serverPublicKey = Prelude.Nothing,+      serverTunnelAddress = Prelude.Nothing+    }++-- | The allowed IP addresses.+connectionDetails_allowedIps :: Lens.Lens' ConnectionDetails (Prelude.Maybe [Prelude.Text])+connectionDetails_allowedIps = Lens.lens (\ConnectionDetails' {allowedIps} -> allowedIps) (\s@ConnectionDetails' {} a -> s {allowedIps = a} :: ConnectionDetails) Prelude.. Lens.mapping Lens.coerced++-- | The public key of the client.+connectionDetails_clientPublicKey :: Lens.Lens' ConnectionDetails (Prelude.Maybe Prelude.Text)+connectionDetails_clientPublicKey = Lens.lens (\ConnectionDetails' {clientPublicKey} -> clientPublicKey) (\s@ConnectionDetails' {} a -> s {clientPublicKey = a} :: ConnectionDetails)++-- | The client tunnel address.+connectionDetails_clientTunnelAddress :: Lens.Lens' ConnectionDetails (Prelude.Maybe Prelude.Text)+connectionDetails_clientTunnelAddress = Lens.lens (\ConnectionDetails' {clientTunnelAddress} -> clientTunnelAddress) (\s@ConnectionDetails' {} a -> s {clientTunnelAddress = a} :: ConnectionDetails)++-- | The endpoint for the server.+connectionDetails_serverEndpoint :: Lens.Lens' ConnectionDetails (Prelude.Maybe Prelude.Text)+connectionDetails_serverEndpoint = Lens.lens (\ConnectionDetails' {serverEndpoint} -> serverEndpoint) (\s@ConnectionDetails' {} a -> s {serverEndpoint = a} :: ConnectionDetails)++-- | The public key of the server.+connectionDetails_serverPublicKey :: Lens.Lens' ConnectionDetails (Prelude.Maybe Prelude.Text)+connectionDetails_serverPublicKey = Lens.lens (\ConnectionDetails' {serverPublicKey} -> serverPublicKey) (\s@ConnectionDetails' {} a -> s {serverPublicKey = a} :: ConnectionDetails)++-- | The server tunnel address.+connectionDetails_serverTunnelAddress :: Lens.Lens' ConnectionDetails (Prelude.Maybe Prelude.Text)+connectionDetails_serverTunnelAddress = Lens.lens (\ConnectionDetails' {serverTunnelAddress} -> serverTunnelAddress) (\s@ConnectionDetails' {} a -> s {serverTunnelAddress = a} :: ConnectionDetails)++instance Data.FromJSON ConnectionDetails where+  parseJSON =+    Data.withObject+      "ConnectionDetails"+      ( \x ->+          ConnectionDetails'+            Prelude.<$> (x Data..:? "AllowedIps" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ClientPublicKey")+            Prelude.<*> (x Data..:? "ClientTunnelAddress")+            Prelude.<*> (x Data..:? "ServerEndpoint")+            Prelude.<*> (x Data..:? "ServerPublicKey")+            Prelude.<*> (x Data..:? "ServerTunnelAddress")+      )++instance Prelude.Hashable ConnectionDetails where+  hashWithSalt _salt ConnectionDetails' {..} =+    _salt+      `Prelude.hashWithSalt` allowedIps+      `Prelude.hashWithSalt` clientPublicKey+      `Prelude.hashWithSalt` clientTunnelAddress+      `Prelude.hashWithSalt` serverEndpoint+      `Prelude.hashWithSalt` serverPublicKey+      `Prelude.hashWithSalt` serverTunnelAddress++instance Prelude.NFData ConnectionDetails where+  rnf ConnectionDetails' {..} =+    Prelude.rnf allowedIps+      `Prelude.seq` Prelude.rnf clientPublicKey+      `Prelude.seq` Prelude.rnf clientTunnelAddress+      `Prelude.seq` Prelude.rnf serverEndpoint+      `Prelude.seq` Prelude.rnf serverPublicKey+      `Prelude.seq` Prelude.rnf serverTunnelAddress
+ gen/Amazonka/Outposts/Types/EC2Capacity.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.EC2Capacity+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.EC2Capacity 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 EC2 capacity.+--+-- /See:/ 'newEC2Capacity' smart constructor.+data EC2Capacity = EC2Capacity'+  { -- | The family of the EC2 capacity.+    family :: Prelude.Maybe Prelude.Text,+    -- | The maximum size of the EC2 capacity.+    maxSize :: Prelude.Maybe Prelude.Text,+    -- | The quantity of the EC2 capacity.+    quantity :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EC2Capacity' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'family', 'eC2Capacity_family' - The family of the EC2 capacity.+--+-- 'maxSize', 'eC2Capacity_maxSize' - The maximum size of the EC2 capacity.+--+-- 'quantity', 'eC2Capacity_quantity' - The quantity of the EC2 capacity.+newEC2Capacity ::+  EC2Capacity+newEC2Capacity =+  EC2Capacity'+    { family = Prelude.Nothing,+      maxSize = Prelude.Nothing,+      quantity = Prelude.Nothing+    }++-- | The family of the EC2 capacity.+eC2Capacity_family :: Lens.Lens' EC2Capacity (Prelude.Maybe Prelude.Text)+eC2Capacity_family = Lens.lens (\EC2Capacity' {family} -> family) (\s@EC2Capacity' {} a -> s {family = a} :: EC2Capacity)++-- | The maximum size of the EC2 capacity.+eC2Capacity_maxSize :: Lens.Lens' EC2Capacity (Prelude.Maybe Prelude.Text)+eC2Capacity_maxSize = Lens.lens (\EC2Capacity' {maxSize} -> maxSize) (\s@EC2Capacity' {} a -> s {maxSize = a} :: EC2Capacity)++-- | The quantity of the EC2 capacity.+eC2Capacity_quantity :: Lens.Lens' EC2Capacity (Prelude.Maybe Prelude.Text)+eC2Capacity_quantity = Lens.lens (\EC2Capacity' {quantity} -> quantity) (\s@EC2Capacity' {} a -> s {quantity = a} :: EC2Capacity)++instance Data.FromJSON EC2Capacity where+  parseJSON =+    Data.withObject+      "EC2Capacity"+      ( \x ->+          EC2Capacity'+            Prelude.<$> (x Data..:? "Family")+            Prelude.<*> (x Data..:? "MaxSize")+            Prelude.<*> (x Data..:? "Quantity")+      )++instance Prelude.Hashable EC2Capacity where+  hashWithSalt _salt EC2Capacity' {..} =+    _salt+      `Prelude.hashWithSalt` family+      `Prelude.hashWithSalt` maxSize+      `Prelude.hashWithSalt` quantity++instance Prelude.NFData EC2Capacity where+  rnf EC2Capacity' {..} =+    Prelude.rnf family+      `Prelude.seq` Prelude.rnf maxSize+      `Prelude.seq` Prelude.rnf quantity
+ gen/Amazonka/Outposts/Types/FiberOpticCableType.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.Outposts.Types.FiberOpticCableType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.FiberOpticCableType+  ( FiberOpticCableType+      ( ..,+        FiberOpticCableType_MULTI_MODE,+        FiberOpticCableType_SINGLE_MODE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FiberOpticCableType = FiberOpticCableType'+  { fromFiberOpticCableType ::+      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 FiberOpticCableType_MULTI_MODE :: FiberOpticCableType+pattern FiberOpticCableType_MULTI_MODE = FiberOpticCableType' "MULTI_MODE"++pattern FiberOpticCableType_SINGLE_MODE :: FiberOpticCableType+pattern FiberOpticCableType_SINGLE_MODE = FiberOpticCableType' "SINGLE_MODE"++{-# COMPLETE+  FiberOpticCableType_MULTI_MODE,+  FiberOpticCableType_SINGLE_MODE,+  FiberOpticCableType'+  #-}
+ gen/Amazonka/Outposts/Types/InstanceTypeItem.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.InstanceTypeItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.InstanceTypeItem 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 instance type.+--+-- /See:/ 'newInstanceTypeItem' smart constructor.+data InstanceTypeItem = InstanceTypeItem'+  { instanceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InstanceTypeItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'instanceType', 'instanceTypeItem_instanceType' - Undocumented member.+newInstanceTypeItem ::+  InstanceTypeItem+newInstanceTypeItem =+  InstanceTypeItem' {instanceType = Prelude.Nothing}++-- | Undocumented member.+instanceTypeItem_instanceType :: Lens.Lens' InstanceTypeItem (Prelude.Maybe Prelude.Text)+instanceTypeItem_instanceType = Lens.lens (\InstanceTypeItem' {instanceType} -> instanceType) (\s@InstanceTypeItem' {} a -> s {instanceType = a} :: InstanceTypeItem)++instance Data.FromJSON InstanceTypeItem where+  parseJSON =+    Data.withObject+      "InstanceTypeItem"+      ( \x ->+          InstanceTypeItem'+            Prelude.<$> (x Data..:? "InstanceType")+      )++instance Prelude.Hashable InstanceTypeItem where+  hashWithSalt _salt InstanceTypeItem' {..} =+    _salt `Prelude.hashWithSalt` instanceType++instance Prelude.NFData InstanceTypeItem where+  rnf InstanceTypeItem' {..} = Prelude.rnf instanceType
+ gen/Amazonka/Outposts/Types/LineItem.hs view
@@ -0,0 +1,138 @@+{-# 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.Outposts.Types.LineItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.LineItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.LineItemAssetInformation+import Amazonka.Outposts.Types.LineItemStatus+import Amazonka.Outposts.Types.ShipmentInformation+import qualified Amazonka.Prelude as Prelude++-- | Information about a line item.+--+-- /See:/ 'newLineItem' smart constructor.+data LineItem = LineItem'+  { -- | Information about assets.+    assetInformationList :: Prelude.Maybe [LineItemAssetInformation],+    -- | The ID of the catalog item.+    catalogItemId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the line item.+    lineItemId :: Prelude.Maybe Prelude.Text,+    -- | The quantity of the line item.+    quantity :: Prelude.Maybe Prelude.Natural,+    -- | Information about a line item shipment.+    shipmentInformation :: Prelude.Maybe ShipmentInformation,+    -- | The status of the line item.+    status :: Prelude.Maybe LineItemStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetInformationList', 'lineItem_assetInformationList' - Information about assets.+--+-- 'catalogItemId', 'lineItem_catalogItemId' - The ID of the catalog item.+--+-- 'lineItemId', 'lineItem_lineItemId' - The ID of the line item.+--+-- 'quantity', 'lineItem_quantity' - The quantity of the line item.+--+-- 'shipmentInformation', 'lineItem_shipmentInformation' - Information about a line item shipment.+--+-- 'status', 'lineItem_status' - The status of the line item.+newLineItem ::+  LineItem+newLineItem =+  LineItem'+    { assetInformationList = Prelude.Nothing,+      catalogItemId = Prelude.Nothing,+      lineItemId = Prelude.Nothing,+      quantity = Prelude.Nothing,+      shipmentInformation = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Information about assets.+lineItem_assetInformationList :: Lens.Lens' LineItem (Prelude.Maybe [LineItemAssetInformation])+lineItem_assetInformationList = Lens.lens (\LineItem' {assetInformationList} -> assetInformationList) (\s@LineItem' {} a -> s {assetInformationList = a} :: LineItem) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the catalog item.+lineItem_catalogItemId :: Lens.Lens' LineItem (Prelude.Maybe Prelude.Text)+lineItem_catalogItemId = Lens.lens (\LineItem' {catalogItemId} -> catalogItemId) (\s@LineItem' {} a -> s {catalogItemId = a} :: LineItem)++-- | The ID of the line item.+lineItem_lineItemId :: Lens.Lens' LineItem (Prelude.Maybe Prelude.Text)+lineItem_lineItemId = Lens.lens (\LineItem' {lineItemId} -> lineItemId) (\s@LineItem' {} a -> s {lineItemId = a} :: LineItem)++-- | The quantity of the line item.+lineItem_quantity :: Lens.Lens' LineItem (Prelude.Maybe Prelude.Natural)+lineItem_quantity = Lens.lens (\LineItem' {quantity} -> quantity) (\s@LineItem' {} a -> s {quantity = a} :: LineItem)++-- | Information about a line item shipment.+lineItem_shipmentInformation :: Lens.Lens' LineItem (Prelude.Maybe ShipmentInformation)+lineItem_shipmentInformation = Lens.lens (\LineItem' {shipmentInformation} -> shipmentInformation) (\s@LineItem' {} a -> s {shipmentInformation = a} :: LineItem)++-- | The status of the line item.+lineItem_status :: Lens.Lens' LineItem (Prelude.Maybe LineItemStatus)+lineItem_status = Lens.lens (\LineItem' {status} -> status) (\s@LineItem' {} a -> s {status = a} :: LineItem)++instance Data.FromJSON LineItem where+  parseJSON =+    Data.withObject+      "LineItem"+      ( \x ->+          LineItem'+            Prelude.<$> ( x+                            Data..:? "AssetInformationList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CatalogItemId")+            Prelude.<*> (x Data..:? "LineItemId")+            Prelude.<*> (x Data..:? "Quantity")+            Prelude.<*> (x Data..:? "ShipmentInformation")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable LineItem where+  hashWithSalt _salt LineItem' {..} =+    _salt+      `Prelude.hashWithSalt` assetInformationList+      `Prelude.hashWithSalt` catalogItemId+      `Prelude.hashWithSalt` lineItemId+      `Prelude.hashWithSalt` quantity+      `Prelude.hashWithSalt` shipmentInformation+      `Prelude.hashWithSalt` status++instance Prelude.NFData LineItem where+  rnf LineItem' {..} =+    Prelude.rnf assetInformationList+      `Prelude.seq` Prelude.rnf catalogItemId+      `Prelude.seq` Prelude.rnf lineItemId+      `Prelude.seq` Prelude.rnf quantity+      `Prelude.seq` Prelude.rnf shipmentInformation+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Outposts/Types/LineItemAssetInformation.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.LineItemAssetInformation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.LineItemAssetInformation 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 line item asset.+--+-- /See:/ 'newLineItemAssetInformation' smart constructor.+data LineItemAssetInformation = LineItemAssetInformation'+  { -- | The ID of the asset.+    assetId :: Prelude.Maybe Prelude.Text,+    -- | The MAC addresses of the asset.+    macAddressList :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineItemAssetInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'assetId', 'lineItemAssetInformation_assetId' - The ID of the asset.+--+-- 'macAddressList', 'lineItemAssetInformation_macAddressList' - The MAC addresses of the asset.+newLineItemAssetInformation ::+  LineItemAssetInformation+newLineItemAssetInformation =+  LineItemAssetInformation'+    { assetId =+        Prelude.Nothing,+      macAddressList = Prelude.Nothing+    }++-- | The ID of the asset.+lineItemAssetInformation_assetId :: Lens.Lens' LineItemAssetInformation (Prelude.Maybe Prelude.Text)+lineItemAssetInformation_assetId = Lens.lens (\LineItemAssetInformation' {assetId} -> assetId) (\s@LineItemAssetInformation' {} a -> s {assetId = a} :: LineItemAssetInformation)++-- | The MAC addresses of the asset.+lineItemAssetInformation_macAddressList :: Lens.Lens' LineItemAssetInformation (Prelude.Maybe [Prelude.Text])+lineItemAssetInformation_macAddressList = Lens.lens (\LineItemAssetInformation' {macAddressList} -> macAddressList) (\s@LineItemAssetInformation' {} a -> s {macAddressList = a} :: LineItemAssetInformation) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LineItemAssetInformation where+  parseJSON =+    Data.withObject+      "LineItemAssetInformation"+      ( \x ->+          LineItemAssetInformation'+            Prelude.<$> (x Data..:? "AssetId")+            Prelude.<*> ( x+                            Data..:? "MacAddressList"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable LineItemAssetInformation where+  hashWithSalt _salt LineItemAssetInformation' {..} =+    _salt+      `Prelude.hashWithSalt` assetId+      `Prelude.hashWithSalt` macAddressList++instance Prelude.NFData LineItemAssetInformation where+  rnf LineItemAssetInformation' {..} =+    Prelude.rnf assetId+      `Prelude.seq` Prelude.rnf macAddressList
+ gen/Amazonka/Outposts/Types/LineItemRequest.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.LineItemRequest+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.LineItemRequest 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 line item request.+--+-- /See:/ 'newLineItemRequest' smart constructor.+data LineItemRequest = LineItemRequest'+  { -- | The ID of the catalog item.+    catalogItemId :: Prelude.Maybe Prelude.Text,+    -- | The quantity of a line item request.+    quantity :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LineItemRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'catalogItemId', 'lineItemRequest_catalogItemId' - The ID of the catalog item.+--+-- 'quantity', 'lineItemRequest_quantity' - The quantity of a line item request.+newLineItemRequest ::+  LineItemRequest+newLineItemRequest =+  LineItemRequest'+    { catalogItemId = Prelude.Nothing,+      quantity = Prelude.Nothing+    }++-- | The ID of the catalog item.+lineItemRequest_catalogItemId :: Lens.Lens' LineItemRequest (Prelude.Maybe Prelude.Text)+lineItemRequest_catalogItemId = Lens.lens (\LineItemRequest' {catalogItemId} -> catalogItemId) (\s@LineItemRequest' {} a -> s {catalogItemId = a} :: LineItemRequest)++-- | The quantity of a line item request.+lineItemRequest_quantity :: Lens.Lens' LineItemRequest (Prelude.Maybe Prelude.Natural)+lineItemRequest_quantity = Lens.lens (\LineItemRequest' {quantity} -> quantity) (\s@LineItemRequest' {} a -> s {quantity = a} :: LineItemRequest)++instance Prelude.Hashable LineItemRequest where+  hashWithSalt _salt LineItemRequest' {..} =+    _salt+      `Prelude.hashWithSalt` catalogItemId+      `Prelude.hashWithSalt` quantity++instance Prelude.NFData LineItemRequest where+  rnf LineItemRequest' {..} =+    Prelude.rnf catalogItemId+      `Prelude.seq` Prelude.rnf quantity++instance Data.ToJSON LineItemRequest where+  toJSON LineItemRequest' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CatalogItemId" Data..=) Prelude.<$> catalogItemId,+            ("Quantity" Data..=) Prelude.<$> quantity+          ]+      )
+ gen/Amazonka/Outposts/Types/LineItemStatus.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.Outposts.Types.LineItemStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.LineItemStatus+  ( LineItemStatus+      ( ..,+        LineItemStatus_BUILDING,+        LineItemStatus_CANCELLED,+        LineItemStatus_DELIVERED,+        LineItemStatus_ERROR,+        LineItemStatus_INSTALLED,+        LineItemStatus_INSTALLING,+        LineItemStatus_PREPARING,+        LineItemStatus_SHIPPED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LineItemStatus = LineItemStatus'+  { fromLineItemStatus ::+      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 LineItemStatus_BUILDING :: LineItemStatus+pattern LineItemStatus_BUILDING = LineItemStatus' "BUILDING"++pattern LineItemStatus_CANCELLED :: LineItemStatus+pattern LineItemStatus_CANCELLED = LineItemStatus' "CANCELLED"++pattern LineItemStatus_DELIVERED :: LineItemStatus+pattern LineItemStatus_DELIVERED = LineItemStatus' "DELIVERED"++pattern LineItemStatus_ERROR :: LineItemStatus+pattern LineItemStatus_ERROR = LineItemStatus' "ERROR"++pattern LineItemStatus_INSTALLED :: LineItemStatus+pattern LineItemStatus_INSTALLED = LineItemStatus' "INSTALLED"++pattern LineItemStatus_INSTALLING :: LineItemStatus+pattern LineItemStatus_INSTALLING = LineItemStatus' "INSTALLING"++pattern LineItemStatus_PREPARING :: LineItemStatus+pattern LineItemStatus_PREPARING = LineItemStatus' "PREPARING"++pattern LineItemStatus_SHIPPED :: LineItemStatus+pattern LineItemStatus_SHIPPED = LineItemStatus' "SHIPPED"++{-# COMPLETE+  LineItemStatus_BUILDING,+  LineItemStatus_CANCELLED,+  LineItemStatus_DELIVERED,+  LineItemStatus_ERROR,+  LineItemStatus_INSTALLED,+  LineItemStatus_INSTALLING,+  LineItemStatus_PREPARING,+  LineItemStatus_SHIPPED,+  LineItemStatus'+  #-}
+ gen/Amazonka/Outposts/Types/MaximumSupportedWeightLbs.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.Outposts.Types.MaximumSupportedWeightLbs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.MaximumSupportedWeightLbs+  ( MaximumSupportedWeightLbs+      ( ..,+        MaximumSupportedWeightLbs_MAX_1400_LBS,+        MaximumSupportedWeightLbs_MAX_1600_LBS,+        MaximumSupportedWeightLbs_MAX_1800_LBS,+        MaximumSupportedWeightLbs_MAX_2000_LBS,+        MaximumSupportedWeightLbs_NO_LIMIT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MaximumSupportedWeightLbs = MaximumSupportedWeightLbs'+  { fromMaximumSupportedWeightLbs ::+      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 MaximumSupportedWeightLbs_MAX_1400_LBS :: MaximumSupportedWeightLbs+pattern MaximumSupportedWeightLbs_MAX_1400_LBS = MaximumSupportedWeightLbs' "MAX_1400_LBS"++pattern MaximumSupportedWeightLbs_MAX_1600_LBS :: MaximumSupportedWeightLbs+pattern MaximumSupportedWeightLbs_MAX_1600_LBS = MaximumSupportedWeightLbs' "MAX_1600_LBS"++pattern MaximumSupportedWeightLbs_MAX_1800_LBS :: MaximumSupportedWeightLbs+pattern MaximumSupportedWeightLbs_MAX_1800_LBS = MaximumSupportedWeightLbs' "MAX_1800_LBS"++pattern MaximumSupportedWeightLbs_MAX_2000_LBS :: MaximumSupportedWeightLbs+pattern MaximumSupportedWeightLbs_MAX_2000_LBS = MaximumSupportedWeightLbs' "MAX_2000_LBS"++pattern MaximumSupportedWeightLbs_NO_LIMIT :: MaximumSupportedWeightLbs+pattern MaximumSupportedWeightLbs_NO_LIMIT = MaximumSupportedWeightLbs' "NO_LIMIT"++{-# COMPLETE+  MaximumSupportedWeightLbs_MAX_1400_LBS,+  MaximumSupportedWeightLbs_MAX_1600_LBS,+  MaximumSupportedWeightLbs_MAX_1800_LBS,+  MaximumSupportedWeightLbs_MAX_2000_LBS,+  MaximumSupportedWeightLbs_NO_LIMIT,+  MaximumSupportedWeightLbs'+  #-}
+ gen/Amazonka/Outposts/Types/OpticalStandard.hs view
@@ -0,0 +1,126 @@+{-# 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.Outposts.Types.OpticalStandard+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.OpticalStandard+  ( OpticalStandard+      ( ..,+        OpticalStandard_OPTIC_1000BASE_LX,+        OpticalStandard_OPTIC_1000BASE_SX,+        OpticalStandard_OPTIC_100GBASE_CWDM4,+        OpticalStandard_OPTIC_100GBASE_LR4,+        OpticalStandard_OPTIC_100GBASE_SR4,+        OpticalStandard_OPTIC_100G_PSM4_MSA,+        OpticalStandard_OPTIC_10GBASE_IR,+        OpticalStandard_OPTIC_10GBASE_LR,+        OpticalStandard_OPTIC_10GBASE_SR,+        OpticalStandard_OPTIC_40GBASE_ESR,+        OpticalStandard_OPTIC_40GBASE_IR4_LR4L,+        OpticalStandard_OPTIC_40GBASE_LR4,+        OpticalStandard_OPTIC_40GBASE_SR+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OpticalStandard = OpticalStandard'+  { fromOpticalStandard ::+      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 OpticalStandard_OPTIC_1000BASE_LX :: OpticalStandard+pattern OpticalStandard_OPTIC_1000BASE_LX = OpticalStandard' "OPTIC_1000BASE_LX"++pattern OpticalStandard_OPTIC_1000BASE_SX :: OpticalStandard+pattern OpticalStandard_OPTIC_1000BASE_SX = OpticalStandard' "OPTIC_1000BASE_SX"++pattern OpticalStandard_OPTIC_100GBASE_CWDM4 :: OpticalStandard+pattern OpticalStandard_OPTIC_100GBASE_CWDM4 = OpticalStandard' "OPTIC_100GBASE_CWDM4"++pattern OpticalStandard_OPTIC_100GBASE_LR4 :: OpticalStandard+pattern OpticalStandard_OPTIC_100GBASE_LR4 = OpticalStandard' "OPTIC_100GBASE_LR4"++pattern OpticalStandard_OPTIC_100GBASE_SR4 :: OpticalStandard+pattern OpticalStandard_OPTIC_100GBASE_SR4 = OpticalStandard' "OPTIC_100GBASE_SR4"++pattern OpticalStandard_OPTIC_100G_PSM4_MSA :: OpticalStandard+pattern OpticalStandard_OPTIC_100G_PSM4_MSA = OpticalStandard' "OPTIC_100G_PSM4_MSA"++pattern OpticalStandard_OPTIC_10GBASE_IR :: OpticalStandard+pattern OpticalStandard_OPTIC_10GBASE_IR = OpticalStandard' "OPTIC_10GBASE_IR"++pattern OpticalStandard_OPTIC_10GBASE_LR :: OpticalStandard+pattern OpticalStandard_OPTIC_10GBASE_LR = OpticalStandard' "OPTIC_10GBASE_LR"++pattern OpticalStandard_OPTIC_10GBASE_SR :: OpticalStandard+pattern OpticalStandard_OPTIC_10GBASE_SR = OpticalStandard' "OPTIC_10GBASE_SR"++pattern OpticalStandard_OPTIC_40GBASE_ESR :: OpticalStandard+pattern OpticalStandard_OPTIC_40GBASE_ESR = OpticalStandard' "OPTIC_40GBASE_ESR"++pattern OpticalStandard_OPTIC_40GBASE_IR4_LR4L :: OpticalStandard+pattern OpticalStandard_OPTIC_40GBASE_IR4_LR4L = OpticalStandard' "OPTIC_40GBASE_IR4_LR4L"++pattern OpticalStandard_OPTIC_40GBASE_LR4 :: OpticalStandard+pattern OpticalStandard_OPTIC_40GBASE_LR4 = OpticalStandard' "OPTIC_40GBASE_LR4"++pattern OpticalStandard_OPTIC_40GBASE_SR :: OpticalStandard+pattern OpticalStandard_OPTIC_40GBASE_SR = OpticalStandard' "OPTIC_40GBASE_SR"++{-# COMPLETE+  OpticalStandard_OPTIC_1000BASE_LX,+  OpticalStandard_OPTIC_1000BASE_SX,+  OpticalStandard_OPTIC_100GBASE_CWDM4,+  OpticalStandard_OPTIC_100GBASE_LR4,+  OpticalStandard_OPTIC_100GBASE_SR4,+  OpticalStandard_OPTIC_100G_PSM4_MSA,+  OpticalStandard_OPTIC_10GBASE_IR,+  OpticalStandard_OPTIC_10GBASE_LR,+  OpticalStandard_OPTIC_10GBASE_SR,+  OpticalStandard_OPTIC_40GBASE_ESR,+  OpticalStandard_OPTIC_40GBASE_IR4_LR4L,+  OpticalStandard_OPTIC_40GBASE_LR4,+  OpticalStandard_OPTIC_40GBASE_SR,+  OpticalStandard'+  #-}
+ gen/Amazonka/Outposts/Types/Order.hs view
@@ -0,0 +1,189 @@+{-# 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.Outposts.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.Outposts.Types.Order where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.LineItem+import Amazonka.Outposts.Types.OrderStatus+import Amazonka.Outposts.Types.PaymentOption+import qualified Amazonka.Prelude as Prelude++-- | Information about an order.+--+-- /See:/ 'newOrder' smart constructor.+data Order = Order'+  { -- | The line items for the order+    lineItems :: Prelude.Maybe [LineItem],+    -- | The fulfillment date of the order.+    orderFulfilledDate :: Prelude.Maybe Data.POSIX,+    -- | The ID of the order.+    orderId :: Prelude.Maybe Prelude.Text,+    -- | The submission date for the order.+    orderSubmissionDate :: Prelude.Maybe Data.POSIX,+    -- | The ID of the Outpost in the order.+    outpostId :: Prelude.Maybe Prelude.Text,+    -- | The payment option for the order.+    paymentOption :: Prelude.Maybe PaymentOption,+    -- | The status of the order.+    --+    -- -   @PREPARING@ - Order is received and being prepared.+    --+    -- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+    --     To get more details, see the line item status.+    --+    -- -   @COMPLETED@ - Order is complete.+    --+    -- -   @CANCELLED@ - Order is cancelled.+    --+    -- -   @ERROR@ - Customer should contact support.+    --+    -- The following status are deprecated: @RECEIVED@, @PENDING@,+    -- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+    status :: Prelude.Maybe OrderStatus+  }+  deriving (Prelude.Eq, Prelude.Read, 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:+--+-- 'lineItems', 'order_lineItems' - The line items for the order+--+-- 'orderFulfilledDate', 'order_orderFulfilledDate' - The fulfillment date of the order.+--+-- 'orderId', 'order_orderId' - The ID of the order.+--+-- 'orderSubmissionDate', 'order_orderSubmissionDate' - The submission date for the order.+--+-- 'outpostId', 'order_outpostId' - The ID of the Outpost in the order.+--+-- 'paymentOption', 'order_paymentOption' - The payment option for the order.+--+-- 'status', 'order_status' - The status of the order.+--+-- -   @PREPARING@ - Order is received and being prepared.+--+-- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+--     To get more details, see the line item status.+--+-- -   @COMPLETED@ - Order is complete.+--+-- -   @CANCELLED@ - Order is cancelled.+--+-- -   @ERROR@ - Customer should contact support.+--+-- The following status are deprecated: @RECEIVED@, @PENDING@,+-- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+newOrder ::+  Order+newOrder =+  Order'+    { lineItems = Prelude.Nothing,+      orderFulfilledDate = Prelude.Nothing,+      orderId = Prelude.Nothing,+      orderSubmissionDate = Prelude.Nothing,+      outpostId = Prelude.Nothing,+      paymentOption = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The line items for the order+order_lineItems :: Lens.Lens' Order (Prelude.Maybe [LineItem])+order_lineItems = Lens.lens (\Order' {lineItems} -> lineItems) (\s@Order' {} a -> s {lineItems = a} :: Order) Prelude.. Lens.mapping Lens.coerced++-- | The fulfillment date of the order.+order_orderFulfilledDate :: Lens.Lens' Order (Prelude.Maybe Prelude.UTCTime)+order_orderFulfilledDate = Lens.lens (\Order' {orderFulfilledDate} -> orderFulfilledDate) (\s@Order' {} a -> s {orderFulfilledDate = a} :: Order) Prelude.. Lens.mapping Data._Time++-- | The ID of the order.+order_orderId :: Lens.Lens' Order (Prelude.Maybe Prelude.Text)+order_orderId = Lens.lens (\Order' {orderId} -> orderId) (\s@Order' {} a -> s {orderId = a} :: Order)++-- | The submission date for the order.+order_orderSubmissionDate :: Lens.Lens' Order (Prelude.Maybe Prelude.UTCTime)+order_orderSubmissionDate = Lens.lens (\Order' {orderSubmissionDate} -> orderSubmissionDate) (\s@Order' {} a -> s {orderSubmissionDate = a} :: Order) Prelude.. Lens.mapping Data._Time++-- | The ID of the Outpost in the order.+order_outpostId :: Lens.Lens' Order (Prelude.Maybe Prelude.Text)+order_outpostId = Lens.lens (\Order' {outpostId} -> outpostId) (\s@Order' {} a -> s {outpostId = a} :: Order)++-- | The payment option for the order.+order_paymentOption :: Lens.Lens' Order (Prelude.Maybe PaymentOption)+order_paymentOption = Lens.lens (\Order' {paymentOption} -> paymentOption) (\s@Order' {} a -> s {paymentOption = a} :: Order)++-- | The status of the order.+--+-- -   @PREPARING@ - Order is received and being prepared.+--+-- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+--     To get more details, see the line item status.+--+-- -   @COMPLETED@ - Order is complete.+--+-- -   @CANCELLED@ - Order is cancelled.+--+-- -   @ERROR@ - Customer should contact support.+--+-- The following status are deprecated: @RECEIVED@, @PENDING@,+-- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+order_status :: Lens.Lens' Order (Prelude.Maybe OrderStatus)+order_status = Lens.lens (\Order' {status} -> status) (\s@Order' {} a -> s {status = a} :: Order)++instance Data.FromJSON Order where+  parseJSON =+    Data.withObject+      "Order"+      ( \x ->+          Order'+            Prelude.<$> (x Data..:? "LineItems" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "OrderFulfilledDate")+            Prelude.<*> (x Data..:? "OrderId")+            Prelude.<*> (x Data..:? "OrderSubmissionDate")+            Prelude.<*> (x Data..:? "OutpostId")+            Prelude.<*> (x Data..:? "PaymentOption")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable Order where+  hashWithSalt _salt Order' {..} =+    _salt+      `Prelude.hashWithSalt` lineItems+      `Prelude.hashWithSalt` orderFulfilledDate+      `Prelude.hashWithSalt` orderId+      `Prelude.hashWithSalt` orderSubmissionDate+      `Prelude.hashWithSalt` outpostId+      `Prelude.hashWithSalt` paymentOption+      `Prelude.hashWithSalt` status++instance Prelude.NFData Order where+  rnf Order' {..} =+    Prelude.rnf lineItems+      `Prelude.seq` Prelude.rnf orderFulfilledDate+      `Prelude.seq` Prelude.rnf orderId+      `Prelude.seq` Prelude.rnf orderSubmissionDate+      `Prelude.seq` Prelude.rnf outpostId+      `Prelude.seq` Prelude.rnf paymentOption+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Outposts/Types/OrderStatus.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.OrderStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.OrderStatus+  ( OrderStatus+      ( ..,+        OrderStatus_CANCELLED,+        OrderStatus_COMPLETED,+        OrderStatus_ERROR,+        OrderStatus_FULFILLED,+        OrderStatus_INSTALLING,+        OrderStatus_IN_PROGRESS,+        OrderStatus_PENDING,+        OrderStatus_PREPARING,+        OrderStatus_PROCESSING,+        OrderStatus_RECEIVED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrderStatus = OrderStatus'+  { fromOrderStatus ::+      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 OrderStatus_CANCELLED :: OrderStatus+pattern OrderStatus_CANCELLED = OrderStatus' "CANCELLED"++pattern OrderStatus_COMPLETED :: OrderStatus+pattern OrderStatus_COMPLETED = OrderStatus' "COMPLETED"++pattern OrderStatus_ERROR :: OrderStatus+pattern OrderStatus_ERROR = OrderStatus' "ERROR"++pattern OrderStatus_FULFILLED :: OrderStatus+pattern OrderStatus_FULFILLED = OrderStatus' "FULFILLED"++pattern OrderStatus_INSTALLING :: OrderStatus+pattern OrderStatus_INSTALLING = OrderStatus' "INSTALLING"++pattern OrderStatus_IN_PROGRESS :: OrderStatus+pattern OrderStatus_IN_PROGRESS = OrderStatus' "IN_PROGRESS"++pattern OrderStatus_PENDING :: OrderStatus+pattern OrderStatus_PENDING = OrderStatus' "PENDING"++pattern OrderStatus_PREPARING :: OrderStatus+pattern OrderStatus_PREPARING = OrderStatus' "PREPARING"++pattern OrderStatus_PROCESSING :: OrderStatus+pattern OrderStatus_PROCESSING = OrderStatus' "PROCESSING"++pattern OrderStatus_RECEIVED :: OrderStatus+pattern OrderStatus_RECEIVED = OrderStatus' "RECEIVED"++{-# COMPLETE+  OrderStatus_CANCELLED,+  OrderStatus_COMPLETED,+  OrderStatus_ERROR,+  OrderStatus_FULFILLED,+  OrderStatus_INSTALLING,+  OrderStatus_IN_PROGRESS,+  OrderStatus_PENDING,+  OrderStatus_PREPARING,+  OrderStatus_PROCESSING,+  OrderStatus_RECEIVED,+  OrderStatus'+  #-}
+ gen/Amazonka/Outposts/Types/OrderSummary.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.OrderSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.OrderSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.LineItemStatus+import Amazonka.Outposts.Types.OrderStatus+import Amazonka.Outposts.Types.OrderType+import qualified Amazonka.Prelude as Prelude++-- | A summary of line items in your order.+--+-- /See:/ 'newOrderSummary' smart constructor.+data OrderSummary = OrderSummary'+  { -- | The status of all line items in the order.+    lineItemCountsByStatus :: Prelude.Maybe (Prelude.HashMap LineItemStatus Prelude.Natural),+    -- | The fulfilment date for the order.+    orderFulfilledDate :: Prelude.Maybe Data.POSIX,+    -- | The ID of the order.+    orderId :: Prelude.Maybe Prelude.Text,+    -- | The submission date for the order.+    orderSubmissionDate :: Prelude.Maybe Data.POSIX,+    -- | The type of order.+    orderType :: Prelude.Maybe OrderType,+    -- | The ID of the Outpost.+    outpostId :: Prelude.Maybe Prelude.Text,+    -- | The status of the order.+    --+    -- -   @PREPARING@ - Order is received and is being prepared.+    --+    -- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+    --     For more information, see the @LineItem@ status.+    --+    -- -   @COMPLETED@ - Order is complete.+    --+    -- -   @CANCELLED@ - Order is cancelled.+    --+    -- -   @ERROR@ - Customer should contact support.+    --+    -- The following statuses are deprecated: @RECEIVED@, @PENDING@,+    -- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+    status :: Prelude.Maybe OrderStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OrderSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lineItemCountsByStatus', 'orderSummary_lineItemCountsByStatus' - The status of all line items in the order.+--+-- 'orderFulfilledDate', 'orderSummary_orderFulfilledDate' - The fulfilment date for the order.+--+-- 'orderId', 'orderSummary_orderId' - The ID of the order.+--+-- 'orderSubmissionDate', 'orderSummary_orderSubmissionDate' - The submission date for the order.+--+-- 'orderType', 'orderSummary_orderType' - The type of order.+--+-- 'outpostId', 'orderSummary_outpostId' - The ID of the Outpost.+--+-- 'status', 'orderSummary_status' - The status of the order.+--+-- -   @PREPARING@ - Order is received and is being prepared.+--+-- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+--     For more information, see the @LineItem@ status.+--+-- -   @COMPLETED@ - Order is complete.+--+-- -   @CANCELLED@ - Order is cancelled.+--+-- -   @ERROR@ - Customer should contact support.+--+-- The following statuses are deprecated: @RECEIVED@, @PENDING@,+-- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+newOrderSummary ::+  OrderSummary+newOrderSummary =+  OrderSummary'+    { lineItemCountsByStatus =+        Prelude.Nothing,+      orderFulfilledDate = Prelude.Nothing,+      orderId = Prelude.Nothing,+      orderSubmissionDate = Prelude.Nothing,+      orderType = Prelude.Nothing,+      outpostId = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The status of all line items in the order.+orderSummary_lineItemCountsByStatus :: Lens.Lens' OrderSummary (Prelude.Maybe (Prelude.HashMap LineItemStatus Prelude.Natural))+orderSummary_lineItemCountsByStatus = Lens.lens (\OrderSummary' {lineItemCountsByStatus} -> lineItemCountsByStatus) (\s@OrderSummary' {} a -> s {lineItemCountsByStatus = a} :: OrderSummary) Prelude.. Lens.mapping Lens.coerced++-- | The fulfilment date for the order.+orderSummary_orderFulfilledDate :: Lens.Lens' OrderSummary (Prelude.Maybe Prelude.UTCTime)+orderSummary_orderFulfilledDate = Lens.lens (\OrderSummary' {orderFulfilledDate} -> orderFulfilledDate) (\s@OrderSummary' {} a -> s {orderFulfilledDate = a} :: OrderSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the order.+orderSummary_orderId :: Lens.Lens' OrderSummary (Prelude.Maybe Prelude.Text)+orderSummary_orderId = Lens.lens (\OrderSummary' {orderId} -> orderId) (\s@OrderSummary' {} a -> s {orderId = a} :: OrderSummary)++-- | The submission date for the order.+orderSummary_orderSubmissionDate :: Lens.Lens' OrderSummary (Prelude.Maybe Prelude.UTCTime)+orderSummary_orderSubmissionDate = Lens.lens (\OrderSummary' {orderSubmissionDate} -> orderSubmissionDate) (\s@OrderSummary' {} a -> s {orderSubmissionDate = a} :: OrderSummary) Prelude.. Lens.mapping Data._Time++-- | The type of order.+orderSummary_orderType :: Lens.Lens' OrderSummary (Prelude.Maybe OrderType)+orderSummary_orderType = Lens.lens (\OrderSummary' {orderType} -> orderType) (\s@OrderSummary' {} a -> s {orderType = a} :: OrderSummary)++-- | The ID of the Outpost.+orderSummary_outpostId :: Lens.Lens' OrderSummary (Prelude.Maybe Prelude.Text)+orderSummary_outpostId = Lens.lens (\OrderSummary' {outpostId} -> outpostId) (\s@OrderSummary' {} a -> s {outpostId = a} :: OrderSummary)++-- | The status of the order.+--+-- -   @PREPARING@ - Order is received and is being prepared.+--+-- -   @IN_PROGRESS@ - Order is either being built, shipped, or installed.+--     For more information, see the @LineItem@ status.+--+-- -   @COMPLETED@ - Order is complete.+--+-- -   @CANCELLED@ - Order is cancelled.+--+-- -   @ERROR@ - Customer should contact support.+--+-- The following statuses are deprecated: @RECEIVED@, @PENDING@,+-- @PROCESSING@, @INSTALLING@, and @FULFILLED@.+orderSummary_status :: Lens.Lens' OrderSummary (Prelude.Maybe OrderStatus)+orderSummary_status = Lens.lens (\OrderSummary' {status} -> status) (\s@OrderSummary' {} a -> s {status = a} :: OrderSummary)++instance Data.FromJSON OrderSummary where+  parseJSON =+    Data.withObject+      "OrderSummary"+      ( \x ->+          OrderSummary'+            Prelude.<$> ( x+                            Data..:? "LineItemCountsByStatus"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "OrderFulfilledDate")+            Prelude.<*> (x Data..:? "OrderId")+            Prelude.<*> (x Data..:? "OrderSubmissionDate")+            Prelude.<*> (x Data..:? "OrderType")+            Prelude.<*> (x Data..:? "OutpostId")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable OrderSummary where+  hashWithSalt _salt OrderSummary' {..} =+    _salt+      `Prelude.hashWithSalt` lineItemCountsByStatus+      `Prelude.hashWithSalt` orderFulfilledDate+      `Prelude.hashWithSalt` orderId+      `Prelude.hashWithSalt` orderSubmissionDate+      `Prelude.hashWithSalt` orderType+      `Prelude.hashWithSalt` outpostId+      `Prelude.hashWithSalt` status++instance Prelude.NFData OrderSummary where+  rnf OrderSummary' {..} =+    Prelude.rnf lineItemCountsByStatus+      `Prelude.seq` Prelude.rnf orderFulfilledDate+      `Prelude.seq` Prelude.rnf orderId+      `Prelude.seq` Prelude.rnf orderSubmissionDate+      `Prelude.seq` Prelude.rnf orderType+      `Prelude.seq` Prelude.rnf outpostId+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/Outposts/Types/OrderType.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.Outposts.Types.OrderType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.OrderType+  ( OrderType+      ( ..,+        OrderType_OUTPOST,+        OrderType_REPLACEMENT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrderType = OrderType'+  { fromOrderType ::+      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 OrderType_OUTPOST :: OrderType+pattern OrderType_OUTPOST = OrderType' "OUTPOST"++pattern OrderType_REPLACEMENT :: OrderType+pattern OrderType_REPLACEMENT = OrderType' "REPLACEMENT"++{-# COMPLETE+  OrderType_OUTPOST,+  OrderType_REPLACEMENT,+  OrderType'+  #-}
+ gen/Amazonka/Outposts/Types/Outpost.hs view
@@ -0,0 +1,196 @@+{-# 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.Outposts.Types.Outpost+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.Outpost where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.SupportedHardwareType+import qualified Amazonka.Prelude as Prelude++-- | Information about an Outpost.+--+-- /See:/ 'newOutpost' smart constructor.+data Outpost = Outpost'+  { availabilityZone :: Prelude.Maybe Prelude.Text,+    availabilityZoneId :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    lifeCycleStatus :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    outpostArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Outpost.+    outpostId :: Prelude.Maybe Prelude.Text,+    ownerId :: Prelude.Maybe Prelude.Text,+    siteArn :: Prelude.Maybe Prelude.Text,+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The hardware type.+    supportedHardwareType :: Prelude.Maybe SupportedHardwareType,+    -- | The Outpost tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Outpost' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'outpost_availabilityZone' - Undocumented member.+--+-- 'availabilityZoneId', 'outpost_availabilityZoneId' - Undocumented member.+--+-- 'description', 'outpost_description' - Undocumented member.+--+-- 'lifeCycleStatus', 'outpost_lifeCycleStatus' - Undocumented member.+--+-- 'name', 'outpost_name' - Undocumented member.+--+-- 'outpostArn', 'outpost_outpostArn' - Undocumented member.+--+-- 'outpostId', 'outpost_outpostId' - The ID of the Outpost.+--+-- 'ownerId', 'outpost_ownerId' - Undocumented member.+--+-- 'siteArn', 'outpost_siteArn' - Undocumented member.+--+-- 'siteId', 'outpost_siteId' - Undocumented member.+--+-- 'supportedHardwareType', 'outpost_supportedHardwareType' - The hardware type.+--+-- 'tags', 'outpost_tags' - The Outpost tags.+newOutpost ::+  Outpost+newOutpost =+  Outpost'+    { availabilityZone = Prelude.Nothing,+      availabilityZoneId = Prelude.Nothing,+      description = Prelude.Nothing,+      lifeCycleStatus = Prelude.Nothing,+      name = Prelude.Nothing,+      outpostArn = Prelude.Nothing,+      outpostId = Prelude.Nothing,+      ownerId = Prelude.Nothing,+      siteArn = Prelude.Nothing,+      siteId = Prelude.Nothing,+      supportedHardwareType = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Undocumented member.+outpost_availabilityZone :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_availabilityZone = Lens.lens (\Outpost' {availabilityZone} -> availabilityZone) (\s@Outpost' {} a -> s {availabilityZone = a} :: Outpost)++-- | Undocumented member.+outpost_availabilityZoneId :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_availabilityZoneId = Lens.lens (\Outpost' {availabilityZoneId} -> availabilityZoneId) (\s@Outpost' {} a -> s {availabilityZoneId = a} :: Outpost)++-- | Undocumented member.+outpost_description :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_description = Lens.lens (\Outpost' {description} -> description) (\s@Outpost' {} a -> s {description = a} :: Outpost)++-- | Undocumented member.+outpost_lifeCycleStatus :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_lifeCycleStatus = Lens.lens (\Outpost' {lifeCycleStatus} -> lifeCycleStatus) (\s@Outpost' {} a -> s {lifeCycleStatus = a} :: Outpost)++-- | Undocumented member.+outpost_name :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_name = Lens.lens (\Outpost' {name} -> name) (\s@Outpost' {} a -> s {name = a} :: Outpost)++-- | Undocumented member.+outpost_outpostArn :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_outpostArn = Lens.lens (\Outpost' {outpostArn} -> outpostArn) (\s@Outpost' {} a -> s {outpostArn = a} :: Outpost)++-- | The ID of the Outpost.+outpost_outpostId :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_outpostId = Lens.lens (\Outpost' {outpostId} -> outpostId) (\s@Outpost' {} a -> s {outpostId = a} :: Outpost)++-- | Undocumented member.+outpost_ownerId :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_ownerId = Lens.lens (\Outpost' {ownerId} -> ownerId) (\s@Outpost' {} a -> s {ownerId = a} :: Outpost)++-- | Undocumented member.+outpost_siteArn :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_siteArn = Lens.lens (\Outpost' {siteArn} -> siteArn) (\s@Outpost' {} a -> s {siteArn = a} :: Outpost)++-- | Undocumented member.+outpost_siteId :: Lens.Lens' Outpost (Prelude.Maybe Prelude.Text)+outpost_siteId = Lens.lens (\Outpost' {siteId} -> siteId) (\s@Outpost' {} a -> s {siteId = a} :: Outpost)++-- | The hardware type.+outpost_supportedHardwareType :: Lens.Lens' Outpost (Prelude.Maybe SupportedHardwareType)+outpost_supportedHardwareType = Lens.lens (\Outpost' {supportedHardwareType} -> supportedHardwareType) (\s@Outpost' {} a -> s {supportedHardwareType = a} :: Outpost)++-- | The Outpost tags.+outpost_tags :: Lens.Lens' Outpost (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+outpost_tags = Lens.lens (\Outpost' {tags} -> tags) (\s@Outpost' {} a -> s {tags = a} :: Outpost) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Outpost where+  parseJSON =+    Data.withObject+      "Outpost"+      ( \x ->+          Outpost'+            Prelude.<$> (x Data..:? "AvailabilityZone")+            Prelude.<*> (x Data..:? "AvailabilityZoneId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "LifeCycleStatus")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OutpostArn")+            Prelude.<*> (x Data..:? "OutpostId")+            Prelude.<*> (x Data..:? "OwnerId")+            Prelude.<*> (x Data..:? "SiteArn")+            Prelude.<*> (x Data..:? "SiteId")+            Prelude.<*> (x Data..:? "SupportedHardwareType")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Outpost where+  hashWithSalt _salt Outpost' {..} =+    _salt+      `Prelude.hashWithSalt` availabilityZone+      `Prelude.hashWithSalt` availabilityZoneId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lifeCycleStatus+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` outpostArn+      `Prelude.hashWithSalt` outpostId+      `Prelude.hashWithSalt` ownerId+      `Prelude.hashWithSalt` siteArn+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` supportedHardwareType+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Outpost where+  rnf Outpost' {..} =+    Prelude.rnf availabilityZone+      `Prelude.seq` Prelude.rnf availabilityZoneId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf lifeCycleStatus+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf outpostArn+      `Prelude.seq` Prelude.rnf outpostId+      `Prelude.seq` Prelude.rnf ownerId+      `Prelude.seq` Prelude.rnf siteArn+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf supportedHardwareType+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Outposts/Types/PaymentOption.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.Outposts.Types.PaymentOption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PaymentOption+  ( PaymentOption+      ( ..,+        PaymentOption_ALL_UPFRONT,+        PaymentOption_NO_UPFRONT,+        PaymentOption_PARTIAL_UPFRONT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PaymentOption = PaymentOption'+  { fromPaymentOption ::+      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 PaymentOption_ALL_UPFRONT :: PaymentOption+pattern PaymentOption_ALL_UPFRONT = PaymentOption' "ALL_UPFRONT"++pattern PaymentOption_NO_UPFRONT :: PaymentOption+pattern PaymentOption_NO_UPFRONT = PaymentOption' "NO_UPFRONT"++pattern PaymentOption_PARTIAL_UPFRONT :: PaymentOption+pattern PaymentOption_PARTIAL_UPFRONT = PaymentOption' "PARTIAL_UPFRONT"++{-# COMPLETE+  PaymentOption_ALL_UPFRONT,+  PaymentOption_NO_UPFRONT,+  PaymentOption_PARTIAL_UPFRONT,+  PaymentOption'+  #-}
+ gen/Amazonka/Outposts/Types/PaymentTerm.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.Outposts.Types.PaymentTerm+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PaymentTerm+  ( PaymentTerm+      ( ..,+        PaymentTerm_ONE_YEAR,+        PaymentTerm_THREE_YEARS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PaymentTerm = PaymentTerm'+  { fromPaymentTerm ::+      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 PaymentTerm_ONE_YEAR :: PaymentTerm+pattern PaymentTerm_ONE_YEAR = PaymentTerm' "ONE_YEAR"++pattern PaymentTerm_THREE_YEARS :: PaymentTerm+pattern PaymentTerm_THREE_YEARS = PaymentTerm' "THREE_YEARS"++{-# COMPLETE+  PaymentTerm_ONE_YEAR,+  PaymentTerm_THREE_YEARS,+  PaymentTerm'+  #-}
+ gen/Amazonka/Outposts/Types/PowerConnector.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.PowerConnector+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PowerConnector+  ( PowerConnector+      ( ..,+        PowerConnector_AH530P7W,+        PowerConnector_AH532P6W,+        PowerConnector_IEC309,+        PowerConnector_L6_30P+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PowerConnector = PowerConnector'+  { fromPowerConnector ::+      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 PowerConnector_AH530P7W :: PowerConnector+pattern PowerConnector_AH530P7W = PowerConnector' "AH530P7W"++pattern PowerConnector_AH532P6W :: PowerConnector+pattern PowerConnector_AH532P6W = PowerConnector' "AH532P6W"++pattern PowerConnector_IEC309 :: PowerConnector+pattern PowerConnector_IEC309 = PowerConnector' "IEC309"++pattern PowerConnector_L6_30P :: PowerConnector+pattern PowerConnector_L6_30P = PowerConnector' "L6_30P"++{-# COMPLETE+  PowerConnector_AH530P7W,+  PowerConnector_AH532P6W,+  PowerConnector_IEC309,+  PowerConnector_L6_30P,+  PowerConnector'+  #-}
+ gen/Amazonka/Outposts/Types/PowerDrawKva.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.Outposts.Types.PowerDrawKva+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PowerDrawKva+  ( PowerDrawKva+      ( ..,+        PowerDrawKva_POWER_10_KVA,+        PowerDrawKva_POWER_15_KVA,+        PowerDrawKva_POWER_5_KVA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PowerDrawKva = PowerDrawKva'+  { fromPowerDrawKva ::+      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 PowerDrawKva_POWER_10_KVA :: PowerDrawKva+pattern PowerDrawKva_POWER_10_KVA = PowerDrawKva' "POWER_10_KVA"++pattern PowerDrawKva_POWER_15_KVA :: PowerDrawKva+pattern PowerDrawKva_POWER_15_KVA = PowerDrawKva' "POWER_15_KVA"++pattern PowerDrawKva_POWER_5_KVA :: PowerDrawKva+pattern PowerDrawKva_POWER_5_KVA = PowerDrawKva' "POWER_5_KVA"++{-# COMPLETE+  PowerDrawKva_POWER_10_KVA,+  PowerDrawKva_POWER_15_KVA,+  PowerDrawKva_POWER_5_KVA,+  PowerDrawKva'+  #-}
+ gen/Amazonka/Outposts/Types/PowerFeedDrop.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.Outposts.Types.PowerFeedDrop+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PowerFeedDrop+  ( PowerFeedDrop+      ( ..,+        PowerFeedDrop_ABOVE_RACK,+        PowerFeedDrop_BELOW_RACK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PowerFeedDrop = PowerFeedDrop'+  { fromPowerFeedDrop ::+      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 PowerFeedDrop_ABOVE_RACK :: PowerFeedDrop+pattern PowerFeedDrop_ABOVE_RACK = PowerFeedDrop' "ABOVE_RACK"++pattern PowerFeedDrop_BELOW_RACK :: PowerFeedDrop+pattern PowerFeedDrop_BELOW_RACK = PowerFeedDrop' "BELOW_RACK"++{-# COMPLETE+  PowerFeedDrop_ABOVE_RACK,+  PowerFeedDrop_BELOW_RACK,+  PowerFeedDrop'+  #-}
+ gen/Amazonka/Outposts/Types/PowerPhase.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.Outposts.Types.PowerPhase+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.PowerPhase+  ( PowerPhase+      ( ..,+        PowerPhase_SINGLE_PHASE,+        PowerPhase_THREE_PHASE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PowerPhase = PowerPhase'+  { fromPowerPhase ::+      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 PowerPhase_SINGLE_PHASE :: PowerPhase+pattern PowerPhase_SINGLE_PHASE = PowerPhase' "SINGLE_PHASE"++pattern PowerPhase_THREE_PHASE :: PowerPhase+pattern PowerPhase_THREE_PHASE = PowerPhase' "THREE_PHASE"++{-# COMPLETE+  PowerPhase_SINGLE_PHASE,+  PowerPhase_THREE_PHASE,+  PowerPhase'+  #-}
+ gen/Amazonka/Outposts/Types/RackPhysicalProperties.hs view
@@ -0,0 +1,222 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.RackPhysicalProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.RackPhysicalProperties where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.FiberOpticCableType+import Amazonka.Outposts.Types.MaximumSupportedWeightLbs+import Amazonka.Outposts.Types.OpticalStandard+import Amazonka.Outposts.Types.PowerConnector+import Amazonka.Outposts.Types.PowerDrawKva+import Amazonka.Outposts.Types.PowerFeedDrop+import Amazonka.Outposts.Types.PowerPhase+import Amazonka.Outposts.Types.UplinkCount+import Amazonka.Outposts.Types.UplinkGbps+import qualified Amazonka.Prelude as Prelude++-- | Information about the physical and logistical details for racks at+-- sites. For more information about hardware requirements for racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist Network readiness checklist>+-- in the Amazon Web Services Outposts User Guide.+--+-- /See:/ 'newRackPhysicalProperties' smart constructor.+data RackPhysicalProperties = RackPhysicalProperties'+  { -- | The type of fiber used to attach the Outpost to the network.+    fiberOpticCableType :: Prelude.Maybe FiberOpticCableType,+    -- | The maximum rack weight that this site can support. @NO_LIMIT@ is over+    -- 2000 lbs (907 kg).+    maximumSupportedWeightLbs :: Prelude.Maybe MaximumSupportedWeightLbs,+    -- | The type of optical standard used to attach the Outpost to the network.+    -- This field is dependent on uplink speed, fiber type, and distance to the+    -- upstream device. For more information about networking requirements for+    -- racks, see+    -- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+    -- in the Amazon Web Services Outposts User Guide.+    opticalStandard :: Prelude.Maybe OpticalStandard,+    -- | The power connector for the hardware.+    powerConnector :: Prelude.Maybe PowerConnector,+    -- | The power draw available at the hardware placement position for the+    -- rack.+    powerDrawKva :: Prelude.Maybe PowerDrawKva,+    -- | The position of the power feed.+    powerFeedDrop :: Prelude.Maybe PowerFeedDrop,+    -- | The power option that you can provide for hardware.+    powerPhase :: Prelude.Maybe PowerPhase,+    -- | The number of uplinks each Outpost network device.+    uplinkCount :: Prelude.Maybe UplinkCount,+    -- | The uplink speed the rack supports for the connection to the Region.+    uplinkGbps :: Prelude.Maybe UplinkGbps+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RackPhysicalProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fiberOpticCableType', 'rackPhysicalProperties_fiberOpticCableType' - The type of fiber used to attach the Outpost to the network.+--+-- 'maximumSupportedWeightLbs', 'rackPhysicalProperties_maximumSupportedWeightLbs' - The maximum rack weight that this site can support. @NO_LIMIT@ is over+-- 2000 lbs (907 kg).+--+-- 'opticalStandard', 'rackPhysicalProperties_opticalStandard' - The type of optical standard used to attach the Outpost to the network.+-- This field is dependent on uplink speed, fiber type, and distance to the+-- upstream device. For more information about networking requirements for+-- racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+-- in the Amazon Web Services Outposts User Guide.+--+-- 'powerConnector', 'rackPhysicalProperties_powerConnector' - The power connector for the hardware.+--+-- 'powerDrawKva', 'rackPhysicalProperties_powerDrawKva' - The power draw available at the hardware placement position for the+-- rack.+--+-- 'powerFeedDrop', 'rackPhysicalProperties_powerFeedDrop' - The position of the power feed.+--+-- 'powerPhase', 'rackPhysicalProperties_powerPhase' - The power option that you can provide for hardware.+--+-- 'uplinkCount', 'rackPhysicalProperties_uplinkCount' - The number of uplinks each Outpost network device.+--+-- 'uplinkGbps', 'rackPhysicalProperties_uplinkGbps' - The uplink speed the rack supports for the connection to the Region.+newRackPhysicalProperties ::+  RackPhysicalProperties+newRackPhysicalProperties =+  RackPhysicalProperties'+    { fiberOpticCableType =+        Prelude.Nothing,+      maximumSupportedWeightLbs = Prelude.Nothing,+      opticalStandard = Prelude.Nothing,+      powerConnector = Prelude.Nothing,+      powerDrawKva = Prelude.Nothing,+      powerFeedDrop = Prelude.Nothing,+      powerPhase = Prelude.Nothing,+      uplinkCount = Prelude.Nothing,+      uplinkGbps = Prelude.Nothing+    }++-- | The type of fiber used to attach the Outpost to the network.+rackPhysicalProperties_fiberOpticCableType :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe FiberOpticCableType)+rackPhysicalProperties_fiberOpticCableType = Lens.lens (\RackPhysicalProperties' {fiberOpticCableType} -> fiberOpticCableType) (\s@RackPhysicalProperties' {} a -> s {fiberOpticCableType = a} :: RackPhysicalProperties)++-- | The maximum rack weight that this site can support. @NO_LIMIT@ is over+-- 2000 lbs (907 kg).+rackPhysicalProperties_maximumSupportedWeightLbs :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe MaximumSupportedWeightLbs)+rackPhysicalProperties_maximumSupportedWeightLbs = Lens.lens (\RackPhysicalProperties' {maximumSupportedWeightLbs} -> maximumSupportedWeightLbs) (\s@RackPhysicalProperties' {} a -> s {maximumSupportedWeightLbs = a} :: RackPhysicalProperties)++-- | The type of optical standard used to attach the Outpost to the network.+-- This field is dependent on uplink speed, fiber type, and distance to the+-- upstream device. For more information about networking requirements for+-- racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+-- in the Amazon Web Services Outposts User Guide.+rackPhysicalProperties_opticalStandard :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe OpticalStandard)+rackPhysicalProperties_opticalStandard = Lens.lens (\RackPhysicalProperties' {opticalStandard} -> opticalStandard) (\s@RackPhysicalProperties' {} a -> s {opticalStandard = a} :: RackPhysicalProperties)++-- | The power connector for the hardware.+rackPhysicalProperties_powerConnector :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe PowerConnector)+rackPhysicalProperties_powerConnector = Lens.lens (\RackPhysicalProperties' {powerConnector} -> powerConnector) (\s@RackPhysicalProperties' {} a -> s {powerConnector = a} :: RackPhysicalProperties)++-- | The power draw available at the hardware placement position for the+-- rack.+rackPhysicalProperties_powerDrawKva :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe PowerDrawKva)+rackPhysicalProperties_powerDrawKva = Lens.lens (\RackPhysicalProperties' {powerDrawKva} -> powerDrawKva) (\s@RackPhysicalProperties' {} a -> s {powerDrawKva = a} :: RackPhysicalProperties)++-- | The position of the power feed.+rackPhysicalProperties_powerFeedDrop :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe PowerFeedDrop)+rackPhysicalProperties_powerFeedDrop = Lens.lens (\RackPhysicalProperties' {powerFeedDrop} -> powerFeedDrop) (\s@RackPhysicalProperties' {} a -> s {powerFeedDrop = a} :: RackPhysicalProperties)++-- | The power option that you can provide for hardware.+rackPhysicalProperties_powerPhase :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe PowerPhase)+rackPhysicalProperties_powerPhase = Lens.lens (\RackPhysicalProperties' {powerPhase} -> powerPhase) (\s@RackPhysicalProperties' {} a -> s {powerPhase = a} :: RackPhysicalProperties)++-- | The number of uplinks each Outpost network device.+rackPhysicalProperties_uplinkCount :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe UplinkCount)+rackPhysicalProperties_uplinkCount = Lens.lens (\RackPhysicalProperties' {uplinkCount} -> uplinkCount) (\s@RackPhysicalProperties' {} a -> s {uplinkCount = a} :: RackPhysicalProperties)++-- | The uplink speed the rack supports for the connection to the Region.+rackPhysicalProperties_uplinkGbps :: Lens.Lens' RackPhysicalProperties (Prelude.Maybe UplinkGbps)+rackPhysicalProperties_uplinkGbps = Lens.lens (\RackPhysicalProperties' {uplinkGbps} -> uplinkGbps) (\s@RackPhysicalProperties' {} a -> s {uplinkGbps = a} :: RackPhysicalProperties)++instance Data.FromJSON RackPhysicalProperties where+  parseJSON =+    Data.withObject+      "RackPhysicalProperties"+      ( \x ->+          RackPhysicalProperties'+            Prelude.<$> (x Data..:? "FiberOpticCableType")+            Prelude.<*> (x Data..:? "MaximumSupportedWeightLbs")+            Prelude.<*> (x Data..:? "OpticalStandard")+            Prelude.<*> (x Data..:? "PowerConnector")+            Prelude.<*> (x Data..:? "PowerDrawKva")+            Prelude.<*> (x Data..:? "PowerFeedDrop")+            Prelude.<*> (x Data..:? "PowerPhase")+            Prelude.<*> (x Data..:? "UplinkCount")+            Prelude.<*> (x Data..:? "UplinkGbps")+      )++instance Prelude.Hashable RackPhysicalProperties where+  hashWithSalt _salt RackPhysicalProperties' {..} =+    _salt+      `Prelude.hashWithSalt` fiberOpticCableType+      `Prelude.hashWithSalt` maximumSupportedWeightLbs+      `Prelude.hashWithSalt` opticalStandard+      `Prelude.hashWithSalt` powerConnector+      `Prelude.hashWithSalt` powerDrawKva+      `Prelude.hashWithSalt` powerFeedDrop+      `Prelude.hashWithSalt` powerPhase+      `Prelude.hashWithSalt` uplinkCount+      `Prelude.hashWithSalt` uplinkGbps++instance Prelude.NFData RackPhysicalProperties where+  rnf RackPhysicalProperties' {..} =+    Prelude.rnf fiberOpticCableType+      `Prelude.seq` Prelude.rnf maximumSupportedWeightLbs+      `Prelude.seq` Prelude.rnf opticalStandard+      `Prelude.seq` Prelude.rnf powerConnector+      `Prelude.seq` Prelude.rnf powerDrawKva+      `Prelude.seq` Prelude.rnf powerFeedDrop+      `Prelude.seq` Prelude.rnf powerPhase+      `Prelude.seq` Prelude.rnf uplinkCount+      `Prelude.seq` Prelude.rnf uplinkGbps++instance Data.ToJSON RackPhysicalProperties where+  toJSON RackPhysicalProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FiberOpticCableType" Data..=)+              Prelude.<$> fiberOpticCableType,+            ("MaximumSupportedWeightLbs" Data..=)+              Prelude.<$> maximumSupportedWeightLbs,+            ("OpticalStandard" Data..=)+              Prelude.<$> opticalStandard,+            ("PowerConnector" Data..=)+              Prelude.<$> powerConnector,+            ("PowerDrawKva" Data..=) Prelude.<$> powerDrawKva,+            ("PowerFeedDrop" Data..=) Prelude.<$> powerFeedDrop,+            ("PowerPhase" Data..=) Prelude.<$> powerPhase,+            ("UplinkCount" Data..=) Prelude.<$> uplinkCount,+            ("UplinkGbps" Data..=) Prelude.<$> uplinkGbps+          ]+      )
+ gen/Amazonka/Outposts/Types/ShipmentCarrier.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.ShipmentCarrier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.ShipmentCarrier+  ( ShipmentCarrier+      ( ..,+        ShipmentCarrier_DBS,+        ShipmentCarrier_DHL,+        ShipmentCarrier_FEDEX,+        ShipmentCarrier_UPS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShipmentCarrier = ShipmentCarrier'+  { fromShipmentCarrier ::+      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 ShipmentCarrier_DBS :: ShipmentCarrier+pattern ShipmentCarrier_DBS = ShipmentCarrier' "DBS"++pattern ShipmentCarrier_DHL :: ShipmentCarrier+pattern ShipmentCarrier_DHL = ShipmentCarrier' "DHL"++pattern ShipmentCarrier_FEDEX :: ShipmentCarrier+pattern ShipmentCarrier_FEDEX = ShipmentCarrier' "FEDEX"++pattern ShipmentCarrier_UPS :: ShipmentCarrier+pattern ShipmentCarrier_UPS = ShipmentCarrier' "UPS"++{-# COMPLETE+  ShipmentCarrier_DBS,+  ShipmentCarrier_DHL,+  ShipmentCarrier_FEDEX,+  ShipmentCarrier_UPS,+  ShipmentCarrier'+  #-}
+ gen/Amazonka/Outposts/Types/ShipmentInformation.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.ShipmentInformation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.ShipmentInformation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.ShipmentCarrier+import qualified Amazonka.Prelude as Prelude++-- | Information about a line item shipment.+--+-- /See:/ 'newShipmentInformation' smart constructor.+data ShipmentInformation = ShipmentInformation'+  { -- | The carrier of the shipment.+    shipmentCarrier :: Prelude.Maybe ShipmentCarrier,+    -- | The tracking number of the shipment.+    shipmentTrackingNumber :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ShipmentInformation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'shipmentCarrier', 'shipmentInformation_shipmentCarrier' - The carrier of the shipment.+--+-- 'shipmentTrackingNumber', 'shipmentInformation_shipmentTrackingNumber' - The tracking number of the shipment.+newShipmentInformation ::+  ShipmentInformation+newShipmentInformation =+  ShipmentInformation'+    { shipmentCarrier =+        Prelude.Nothing,+      shipmentTrackingNumber = Prelude.Nothing+    }++-- | The carrier of the shipment.+shipmentInformation_shipmentCarrier :: Lens.Lens' ShipmentInformation (Prelude.Maybe ShipmentCarrier)+shipmentInformation_shipmentCarrier = Lens.lens (\ShipmentInformation' {shipmentCarrier} -> shipmentCarrier) (\s@ShipmentInformation' {} a -> s {shipmentCarrier = a} :: ShipmentInformation)++-- | The tracking number of the shipment.+shipmentInformation_shipmentTrackingNumber :: Lens.Lens' ShipmentInformation (Prelude.Maybe Prelude.Text)+shipmentInformation_shipmentTrackingNumber = Lens.lens (\ShipmentInformation' {shipmentTrackingNumber} -> shipmentTrackingNumber) (\s@ShipmentInformation' {} a -> s {shipmentTrackingNumber = a} :: ShipmentInformation)++instance Data.FromJSON ShipmentInformation where+  parseJSON =+    Data.withObject+      "ShipmentInformation"+      ( \x ->+          ShipmentInformation'+            Prelude.<$> (x Data..:? "ShipmentCarrier")+            Prelude.<*> (x Data..:? "ShipmentTrackingNumber")+      )++instance Prelude.Hashable ShipmentInformation where+  hashWithSalt _salt ShipmentInformation' {..} =+    _salt+      `Prelude.hashWithSalt` shipmentCarrier+      `Prelude.hashWithSalt` shipmentTrackingNumber++instance Prelude.NFData ShipmentInformation where+  rnf ShipmentInformation' {..} =+    Prelude.rnf shipmentCarrier+      `Prelude.seq` Prelude.rnf shipmentTrackingNumber
+ gen/Amazonka/Outposts/Types/Site.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.Site+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.Site where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types.RackPhysicalProperties+import qualified Amazonka.Prelude as Prelude++-- | Information about a site.+--+-- /See:/ 'newSite' smart constructor.+data Site = Site'+  { accountId :: Prelude.Maybe Prelude.Text,+    description :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    -- | Notes about a site.+    notes :: Prelude.Maybe Prelude.Text,+    -- | City where the hardware is installed and powered on.+    operatingAddressCity :: Prelude.Maybe Prelude.Text,+    -- | The ISO-3166 two-letter country code where the hardware is installed and+    -- powered on.+    operatingAddressCountryCode :: Prelude.Maybe Prelude.Text,+    -- | State or region where the hardware is installed and powered on.+    operatingAddressStateOrRegion :: Prelude.Maybe Prelude.Text,+    -- | Information about the physical and logistical details for a rack at the+    -- site.+    rackPhysicalProperties :: Prelude.Maybe RackPhysicalProperties,+    siteArn :: Prelude.Maybe Prelude.Text,+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The site tags.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Site' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'site_accountId' - Undocumented member.+--+-- 'description', 'site_description' - Undocumented member.+--+-- 'name', 'site_name' - Undocumented member.+--+-- 'notes', 'site_notes' - Notes about a site.+--+-- 'operatingAddressCity', 'site_operatingAddressCity' - City where the hardware is installed and powered on.+--+-- 'operatingAddressCountryCode', 'site_operatingAddressCountryCode' - The ISO-3166 two-letter country code where the hardware is installed and+-- powered on.+--+-- 'operatingAddressStateOrRegion', 'site_operatingAddressStateOrRegion' - State or region where the hardware is installed and powered on.+--+-- 'rackPhysicalProperties', 'site_rackPhysicalProperties' - Information about the physical and logistical details for a rack at the+-- site.+--+-- 'siteArn', 'site_siteArn' - Undocumented member.+--+-- 'siteId', 'site_siteId' - Undocumented member.+--+-- 'tags', 'site_tags' - The site tags.+newSite ::+  Site+newSite =+  Site'+    { accountId = Prelude.Nothing,+      description = Prelude.Nothing,+      name = Prelude.Nothing,+      notes = Prelude.Nothing,+      operatingAddressCity = Prelude.Nothing,+      operatingAddressCountryCode = Prelude.Nothing,+      operatingAddressStateOrRegion = Prelude.Nothing,+      rackPhysicalProperties = Prelude.Nothing,+      siteArn = Prelude.Nothing,+      siteId = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Undocumented member.+site_accountId :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_accountId = Lens.lens (\Site' {accountId} -> accountId) (\s@Site' {} a -> s {accountId = a} :: Site)++-- | Undocumented member.+site_description :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_description = Lens.lens (\Site' {description} -> description) (\s@Site' {} a -> s {description = a} :: Site)++-- | Undocumented member.+site_name :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_name = Lens.lens (\Site' {name} -> name) (\s@Site' {} a -> s {name = a} :: Site)++-- | Notes about a site.+site_notes :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_notes = Lens.lens (\Site' {notes} -> notes) (\s@Site' {} a -> s {notes = a} :: Site)++-- | City where the hardware is installed and powered on.+site_operatingAddressCity :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_operatingAddressCity = Lens.lens (\Site' {operatingAddressCity} -> operatingAddressCity) (\s@Site' {} a -> s {operatingAddressCity = a} :: Site)++-- | The ISO-3166 two-letter country code where the hardware is installed and+-- powered on.+site_operatingAddressCountryCode :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_operatingAddressCountryCode = Lens.lens (\Site' {operatingAddressCountryCode} -> operatingAddressCountryCode) (\s@Site' {} a -> s {operatingAddressCountryCode = a} :: Site)++-- | State or region where the hardware is installed and powered on.+site_operatingAddressStateOrRegion :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_operatingAddressStateOrRegion = Lens.lens (\Site' {operatingAddressStateOrRegion} -> operatingAddressStateOrRegion) (\s@Site' {} a -> s {operatingAddressStateOrRegion = a} :: Site)++-- | Information about the physical and logistical details for a rack at the+-- site.+site_rackPhysicalProperties :: Lens.Lens' Site (Prelude.Maybe RackPhysicalProperties)+site_rackPhysicalProperties = Lens.lens (\Site' {rackPhysicalProperties} -> rackPhysicalProperties) (\s@Site' {} a -> s {rackPhysicalProperties = a} :: Site)++-- | Undocumented member.+site_siteArn :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_siteArn = Lens.lens (\Site' {siteArn} -> siteArn) (\s@Site' {} a -> s {siteArn = a} :: Site)++-- | Undocumented member.+site_siteId :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_siteId = Lens.lens (\Site' {siteId} -> siteId) (\s@Site' {} a -> s {siteId = a} :: Site)++-- | The site tags.+site_tags :: Lens.Lens' Site (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+site_tags = Lens.lens (\Site' {tags} -> tags) (\s@Site' {} a -> s {tags = a} :: Site) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Site where+  parseJSON =+    Data.withObject+      "Site"+      ( \x ->+          Site'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Notes")+            Prelude.<*> (x Data..:? "OperatingAddressCity")+            Prelude.<*> (x Data..:? "OperatingAddressCountryCode")+            Prelude.<*> (x Data..:? "OperatingAddressStateOrRegion")+            Prelude.<*> (x Data..:? "RackPhysicalProperties")+            Prelude.<*> (x Data..:? "SiteArn")+            Prelude.<*> (x Data..:? "SiteId")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Site where+  hashWithSalt _salt Site' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` operatingAddressCity+      `Prelude.hashWithSalt` operatingAddressCountryCode+      `Prelude.hashWithSalt` operatingAddressStateOrRegion+      `Prelude.hashWithSalt` rackPhysicalProperties+      `Prelude.hashWithSalt` siteArn+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Site where+  rnf Site' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf operatingAddressCity+      `Prelude.seq` Prelude.rnf operatingAddressCountryCode+      `Prelude.seq` Prelude.rnf operatingAddressStateOrRegion+      `Prelude.seq` Prelude.rnf rackPhysicalProperties+      `Prelude.seq` Prelude.rnf siteArn+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/Outposts/Types/SupportedHardwareType.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.Outposts.Types.SupportedHardwareType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.SupportedHardwareType+  ( SupportedHardwareType+      ( ..,+        SupportedHardwareType_RACK,+        SupportedHardwareType_SERVER+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SupportedHardwareType = SupportedHardwareType'+  { fromSupportedHardwareType ::+      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 SupportedHardwareType_RACK :: SupportedHardwareType+pattern SupportedHardwareType_RACK = SupportedHardwareType' "RACK"++pattern SupportedHardwareType_SERVER :: SupportedHardwareType+pattern SupportedHardwareType_SERVER = SupportedHardwareType' "SERVER"++{-# COMPLETE+  SupportedHardwareType_RACK,+  SupportedHardwareType_SERVER,+  SupportedHardwareType'+  #-}
+ gen/Amazonka/Outposts/Types/SupportedStorageEnum.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.Outposts.Types.SupportedStorageEnum+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.SupportedStorageEnum+  ( SupportedStorageEnum+      ( ..,+        SupportedStorageEnum_EBS,+        SupportedStorageEnum_S3+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SupportedStorageEnum = SupportedStorageEnum'+  { fromSupportedStorageEnum ::+      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 SupportedStorageEnum_EBS :: SupportedStorageEnum+pattern SupportedStorageEnum_EBS = SupportedStorageEnum' "EBS"++pattern SupportedStorageEnum_S3 :: SupportedStorageEnum+pattern SupportedStorageEnum_S3 = SupportedStorageEnum' "S3"++{-# COMPLETE+  SupportedStorageEnum_EBS,+  SupportedStorageEnum_S3,+  SupportedStorageEnum'+  #-}
+ gen/Amazonka/Outposts/Types/UplinkCount.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.UplinkCount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.UplinkCount+  ( UplinkCount+      ( ..,+        UplinkCount_UPLINK_COUNT_1,+        UplinkCount_UPLINK_COUNT_12,+        UplinkCount_UPLINK_COUNT_16,+        UplinkCount_UPLINK_COUNT_2,+        UplinkCount_UPLINK_COUNT_3,+        UplinkCount_UPLINK_COUNT_4,+        UplinkCount_UPLINK_COUNT_5,+        UplinkCount_UPLINK_COUNT_6,+        UplinkCount_UPLINK_COUNT_7,+        UplinkCount_UPLINK_COUNT_8+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UplinkCount = UplinkCount'+  { fromUplinkCount ::+      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 UplinkCount_UPLINK_COUNT_1 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_1 = UplinkCount' "UPLINK_COUNT_1"++pattern UplinkCount_UPLINK_COUNT_12 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_12 = UplinkCount' "UPLINK_COUNT_12"++pattern UplinkCount_UPLINK_COUNT_16 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_16 = UplinkCount' "UPLINK_COUNT_16"++pattern UplinkCount_UPLINK_COUNT_2 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_2 = UplinkCount' "UPLINK_COUNT_2"++pattern UplinkCount_UPLINK_COUNT_3 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_3 = UplinkCount' "UPLINK_COUNT_3"++pattern UplinkCount_UPLINK_COUNT_4 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_4 = UplinkCount' "UPLINK_COUNT_4"++pattern UplinkCount_UPLINK_COUNT_5 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_5 = UplinkCount' "UPLINK_COUNT_5"++pattern UplinkCount_UPLINK_COUNT_6 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_6 = UplinkCount' "UPLINK_COUNT_6"++pattern UplinkCount_UPLINK_COUNT_7 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_7 = UplinkCount' "UPLINK_COUNT_7"++pattern UplinkCount_UPLINK_COUNT_8 :: UplinkCount+pattern UplinkCount_UPLINK_COUNT_8 = UplinkCount' "UPLINK_COUNT_8"++{-# COMPLETE+  UplinkCount_UPLINK_COUNT_1,+  UplinkCount_UPLINK_COUNT_12,+  UplinkCount_UPLINK_COUNT_16,+  UplinkCount_UPLINK_COUNT_2,+  UplinkCount_UPLINK_COUNT_3,+  UplinkCount_UPLINK_COUNT_4,+  UplinkCount_UPLINK_COUNT_5,+  UplinkCount_UPLINK_COUNT_6,+  UplinkCount_UPLINK_COUNT_7,+  UplinkCount_UPLINK_COUNT_8,+  UplinkCount'+  #-}
+ gen/Amazonka/Outposts/Types/UplinkGbps.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.Types.UplinkGbps+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.Outposts.Types.UplinkGbps+  ( UplinkGbps+      ( ..,+        UplinkGbps_UPLINK_100G,+        UplinkGbps_UPLINK_10G,+        UplinkGbps_UPLINK_1G,+        UplinkGbps_UPLINK_40G+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype UplinkGbps = UplinkGbps'+  { fromUplinkGbps ::+      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 UplinkGbps_UPLINK_100G :: UplinkGbps+pattern UplinkGbps_UPLINK_100G = UplinkGbps' "UPLINK_100G"++pattern UplinkGbps_UPLINK_10G :: UplinkGbps+pattern UplinkGbps_UPLINK_10G = UplinkGbps' "UPLINK_10G"++pattern UplinkGbps_UPLINK_1G :: UplinkGbps+pattern UplinkGbps_UPLINK_1G = UplinkGbps' "UPLINK_1G"++pattern UplinkGbps_UPLINK_40G :: UplinkGbps+pattern UplinkGbps_UPLINK_40G = UplinkGbps' "UPLINK_40G"++{-# COMPLETE+  UplinkGbps_UPLINK_100G,+  UplinkGbps_UPLINK_10G,+  UplinkGbps_UPLINK_1G,+  UplinkGbps_UPLINK_40G,+  UplinkGbps'+  #-}
+ gen/Amazonka/Outposts/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.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.Outposts.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    resourceArn :: Prelude.Text,+    -- | The tag keys.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource.+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.. 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/Outposts/UpdateOutpost.hs view
@@ -0,0 +1,205 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.UpdateOutpost+-- 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 an Outpost.+module Amazonka.Outposts.UpdateOutpost+  ( -- * Creating a Request+    UpdateOutpost (..),+    newUpdateOutpost,++    -- * Request Lenses+    updateOutpost_description,+    updateOutpost_name,+    updateOutpost_supportedHardwareType,+    updateOutpost_outpostId,++    -- * Destructuring the Response+    UpdateOutpostResponse (..),+    newUpdateOutpostResponse,++    -- * Response Lenses+    updateOutpostResponse_outpost,+    updateOutpostResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateOutpost' smart constructor.+data UpdateOutpost = UpdateOutpost'+  { description :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    -- | The type of hardware for this Outpost.+    supportedHardwareType :: Prelude.Maybe SupportedHardwareType,+    -- | The ID or the Amazon Resource Name (ARN) of the Outpost.+    outpostId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOutpost' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateOutpost_description' - Undocumented member.+--+-- 'name', 'updateOutpost_name' - Undocumented member.+--+-- 'supportedHardwareType', 'updateOutpost_supportedHardwareType' - The type of hardware for this Outpost.+--+-- 'outpostId', 'updateOutpost_outpostId' - The ID or the Amazon Resource Name (ARN) of the Outpost.+newUpdateOutpost ::+  -- | 'outpostId'+  Prelude.Text ->+  UpdateOutpost+newUpdateOutpost pOutpostId_ =+  UpdateOutpost'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      supportedHardwareType = Prelude.Nothing,+      outpostId = pOutpostId_+    }++-- | Undocumented member.+updateOutpost_description :: Lens.Lens' UpdateOutpost (Prelude.Maybe Prelude.Text)+updateOutpost_description = Lens.lens (\UpdateOutpost' {description} -> description) (\s@UpdateOutpost' {} a -> s {description = a} :: UpdateOutpost)++-- | Undocumented member.+updateOutpost_name :: Lens.Lens' UpdateOutpost (Prelude.Maybe Prelude.Text)+updateOutpost_name = Lens.lens (\UpdateOutpost' {name} -> name) (\s@UpdateOutpost' {} a -> s {name = a} :: UpdateOutpost)++-- | The type of hardware for this Outpost.+updateOutpost_supportedHardwareType :: Lens.Lens' UpdateOutpost (Prelude.Maybe SupportedHardwareType)+updateOutpost_supportedHardwareType = Lens.lens (\UpdateOutpost' {supportedHardwareType} -> supportedHardwareType) (\s@UpdateOutpost' {} a -> s {supportedHardwareType = a} :: UpdateOutpost)++-- | The ID or the Amazon Resource Name (ARN) of the Outpost.+updateOutpost_outpostId :: Lens.Lens' UpdateOutpost Prelude.Text+updateOutpost_outpostId = Lens.lens (\UpdateOutpost' {outpostId} -> outpostId) (\s@UpdateOutpost' {} a -> s {outpostId = a} :: UpdateOutpost)++instance Core.AWSRequest UpdateOutpost where+  type+    AWSResponse UpdateOutpost =+      UpdateOutpostResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateOutpostResponse'+            Prelude.<$> (x Data..?> "Outpost")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateOutpost where+  hashWithSalt _salt UpdateOutpost' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` supportedHardwareType+      `Prelude.hashWithSalt` outpostId++instance Prelude.NFData UpdateOutpost where+  rnf UpdateOutpost' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf supportedHardwareType+      `Prelude.seq` Prelude.rnf outpostId++instance Data.ToHeaders UpdateOutpost where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateOutpost where+  toJSON UpdateOutpost' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Name" Data..=) Prelude.<$> name,+            ("SupportedHardwareType" Data..=)+              Prelude.<$> supportedHardwareType+          ]+      )++instance Data.ToPath UpdateOutpost where+  toPath UpdateOutpost' {..} =+    Prelude.mconcat ["/outposts/", Data.toBS outpostId]++instance Data.ToQuery UpdateOutpost where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateOutpostResponse' smart constructor.+data UpdateOutpostResponse = UpdateOutpostResponse'+  { outpost :: Prelude.Maybe Outpost,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOutpostResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outpost', 'updateOutpostResponse_outpost' - Undocumented member.+--+-- 'httpStatus', 'updateOutpostResponse_httpStatus' - The response's http status code.+newUpdateOutpostResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateOutpostResponse+newUpdateOutpostResponse pHttpStatus_ =+  UpdateOutpostResponse'+    { outpost = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateOutpostResponse_outpost :: Lens.Lens' UpdateOutpostResponse (Prelude.Maybe Outpost)+updateOutpostResponse_outpost = Lens.lens (\UpdateOutpostResponse' {outpost} -> outpost) (\s@UpdateOutpostResponse' {} a -> s {outpost = a} :: UpdateOutpostResponse)++-- | The response's http status code.+updateOutpostResponse_httpStatus :: Lens.Lens' UpdateOutpostResponse Prelude.Int+updateOutpostResponse_httpStatus = Lens.lens (\UpdateOutpostResponse' {httpStatus} -> httpStatus) (\s@UpdateOutpostResponse' {} a -> s {httpStatus = a} :: UpdateOutpostResponse)++instance Prelude.NFData UpdateOutpostResponse where+  rnf UpdateOutpostResponse' {..} =+    Prelude.rnf outpost+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/UpdateSite.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.UpdateSite+-- 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 site.+module Amazonka.Outposts.UpdateSite+  ( -- * Creating a Request+    UpdateSite (..),+    newUpdateSite,++    -- * Request Lenses+    updateSite_description,+    updateSite_name,+    updateSite_notes,+    updateSite_siteId,++    -- * Destructuring the Response+    UpdateSiteResponse (..),+    newUpdateSiteResponse,++    -- * Response Lenses+    updateSiteResponse_site,+    updateSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSite' smart constructor.+data UpdateSite = UpdateSite'+  { description :: Prelude.Maybe Prelude.Text,+    name :: Prelude.Maybe Prelude.Text,+    -- | Notes about a site.+    notes :: Prelude.Maybe Prelude.Text,+    -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateSite_description' - Undocumented member.+--+-- 'name', 'updateSite_name' - Undocumented member.+--+-- 'notes', 'updateSite_notes' - Notes about a site.+--+-- 'siteId', 'updateSite_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+newUpdateSite ::+  -- | 'siteId'+  Prelude.Text ->+  UpdateSite+newUpdateSite pSiteId_ =+  UpdateSite'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      notes = Prelude.Nothing,+      siteId = pSiteId_+    }++-- | Undocumented member.+updateSite_description :: Lens.Lens' UpdateSite (Prelude.Maybe Prelude.Text)+updateSite_description = Lens.lens (\UpdateSite' {description} -> description) (\s@UpdateSite' {} a -> s {description = a} :: UpdateSite)++-- | Undocumented member.+updateSite_name :: Lens.Lens' UpdateSite (Prelude.Maybe Prelude.Text)+updateSite_name = Lens.lens (\UpdateSite' {name} -> name) (\s@UpdateSite' {} a -> s {name = a} :: UpdateSite)++-- | Notes about a site.+updateSite_notes :: Lens.Lens' UpdateSite (Prelude.Maybe Prelude.Text)+updateSite_notes = Lens.lens (\UpdateSite' {notes} -> notes) (\s@UpdateSite' {} a -> s {notes = a} :: UpdateSite)++-- | The ID or the Amazon Resource Name (ARN) of the site.+updateSite_siteId :: Lens.Lens' UpdateSite Prelude.Text+updateSite_siteId = Lens.lens (\UpdateSite' {siteId} -> siteId) (\s@UpdateSite' {} a -> s {siteId = a} :: UpdateSite)++instance Core.AWSRequest UpdateSite where+  type AWSResponse UpdateSite = UpdateSiteResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSite where+  hashWithSalt _salt UpdateSite' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` notes+      `Prelude.hashWithSalt` siteId++instance Prelude.NFData UpdateSite where+  rnf UpdateSite' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf notes+      `Prelude.seq` Prelude.rnf siteId++instance Data.ToHeaders UpdateSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSite where+  toJSON UpdateSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Name" Data..=) Prelude.<$> name,+            ("Notes" Data..=) Prelude.<$> notes+          ]+      )++instance Data.ToPath UpdateSite where+  toPath UpdateSite' {..} =+    Prelude.mconcat ["/sites/", Data.toBS siteId]++instance Data.ToQuery UpdateSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSiteResponse' smart constructor.+data UpdateSiteResponse = UpdateSiteResponse'+  { site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'updateSiteResponse_site' - Undocumented member.+--+-- 'httpStatus', 'updateSiteResponse_httpStatus' - The response's http status code.+newUpdateSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSiteResponse+newUpdateSiteResponse pHttpStatus_ =+  UpdateSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+updateSiteResponse_site :: Lens.Lens' UpdateSiteResponse (Prelude.Maybe Site)+updateSiteResponse_site = Lens.lens (\UpdateSiteResponse' {site} -> site) (\s@UpdateSiteResponse' {} a -> s {site = a} :: UpdateSiteResponse)++-- | The response's http status code.+updateSiteResponse_httpStatus :: Lens.Lens' UpdateSiteResponse Prelude.Int+updateSiteResponse_httpStatus = Lens.lens (\UpdateSiteResponse' {httpStatus} -> httpStatus) (\s@UpdateSiteResponse' {} a -> s {httpStatus = a} :: UpdateSiteResponse)++instance Prelude.NFData UpdateSiteResponse where+  rnf UpdateSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/UpdateSiteAddress.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.UpdateSiteAddress+-- 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 address of the specified site.+--+-- You can\'t update a site address if there is an order in progress. You+-- must wait for the order to complete or cancel the order.+--+-- You can update the operating address before you place an order at the+-- site, or after all Outposts that belong to the site have been+-- deactivated.+module Amazonka.Outposts.UpdateSiteAddress+  ( -- * Creating a Request+    UpdateSiteAddress (..),+    newUpdateSiteAddress,++    -- * Request Lenses+    updateSiteAddress_siteId,+    updateSiteAddress_addressType,+    updateSiteAddress_address,++    -- * Destructuring the Response+    UpdateSiteAddressResponse (..),+    newUpdateSiteAddressResponse,++    -- * Response Lenses+    updateSiteAddressResponse_address,+    updateSiteAddressResponse_addressType,+    updateSiteAddressResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSiteAddress' smart constructor.+data UpdateSiteAddress = UpdateSiteAddress'+  { -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text,+    -- | The type of the address.+    addressType :: AddressType,+    -- | The address for the site.+    address :: Address+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteAddress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteId', 'updateSiteAddress_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+--+-- 'addressType', 'updateSiteAddress_addressType' - The type of the address.+--+-- 'address', 'updateSiteAddress_address' - The address for the site.+newUpdateSiteAddress ::+  -- | 'siteId'+  Prelude.Text ->+  -- | 'addressType'+  AddressType ->+  -- | 'address'+  Address ->+  UpdateSiteAddress+newUpdateSiteAddress pSiteId_ pAddressType_ pAddress_ =+  UpdateSiteAddress'+    { siteId = pSiteId_,+      addressType = pAddressType_,+      address = pAddress_+    }++-- | The ID or the Amazon Resource Name (ARN) of the site.+updateSiteAddress_siteId :: Lens.Lens' UpdateSiteAddress Prelude.Text+updateSiteAddress_siteId = Lens.lens (\UpdateSiteAddress' {siteId} -> siteId) (\s@UpdateSiteAddress' {} a -> s {siteId = a} :: UpdateSiteAddress)++-- | The type of the address.+updateSiteAddress_addressType :: Lens.Lens' UpdateSiteAddress AddressType+updateSiteAddress_addressType = Lens.lens (\UpdateSiteAddress' {addressType} -> addressType) (\s@UpdateSiteAddress' {} a -> s {addressType = a} :: UpdateSiteAddress)++-- | The address for the site.+updateSiteAddress_address :: Lens.Lens' UpdateSiteAddress Address+updateSiteAddress_address = Lens.lens (\UpdateSiteAddress' {address} -> address) (\s@UpdateSiteAddress' {} a -> s {address = a} :: UpdateSiteAddress)++instance Core.AWSRequest UpdateSiteAddress where+  type+    AWSResponse UpdateSiteAddress =+      UpdateSiteAddressResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSiteAddressResponse'+            Prelude.<$> (x Data..?> "Address")+            Prelude.<*> (x Data..?> "AddressType")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSiteAddress where+  hashWithSalt _salt UpdateSiteAddress' {..} =+    _salt+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` addressType+      `Prelude.hashWithSalt` address++instance Prelude.NFData UpdateSiteAddress where+  rnf UpdateSiteAddress' {..} =+    Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf addressType+      `Prelude.seq` Prelude.rnf address++instance Data.ToHeaders UpdateSiteAddress where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSiteAddress where+  toJSON UpdateSiteAddress' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("AddressType" Data..= addressType),+            Prelude.Just ("Address" Data..= address)+          ]+      )++instance Data.ToPath UpdateSiteAddress where+  toPath UpdateSiteAddress' {..} =+    Prelude.mconcat+      ["/sites/", Data.toBS siteId, "/address"]++instance Data.ToQuery UpdateSiteAddress where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSiteAddressResponse' smart constructor.+data UpdateSiteAddressResponse = UpdateSiteAddressResponse'+  { -- | Information about an address.+    address :: Prelude.Maybe Address,+    -- | The type of the address.+    addressType :: Prelude.Maybe AddressType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteAddressResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'address', 'updateSiteAddressResponse_address' - Information about an address.+--+-- 'addressType', 'updateSiteAddressResponse_addressType' - The type of the address.+--+-- 'httpStatus', 'updateSiteAddressResponse_httpStatus' - The response's http status code.+newUpdateSiteAddressResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSiteAddressResponse+newUpdateSiteAddressResponse pHttpStatus_ =+  UpdateSiteAddressResponse'+    { address =+        Prelude.Nothing,+      addressType = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about an address.+updateSiteAddressResponse_address :: Lens.Lens' UpdateSiteAddressResponse (Prelude.Maybe Address)+updateSiteAddressResponse_address = Lens.lens (\UpdateSiteAddressResponse' {address} -> address) (\s@UpdateSiteAddressResponse' {} a -> s {address = a} :: UpdateSiteAddressResponse)++-- | The type of the address.+updateSiteAddressResponse_addressType :: Lens.Lens' UpdateSiteAddressResponse (Prelude.Maybe AddressType)+updateSiteAddressResponse_addressType = Lens.lens (\UpdateSiteAddressResponse' {addressType} -> addressType) (\s@UpdateSiteAddressResponse' {} a -> s {addressType = a} :: UpdateSiteAddressResponse)++-- | The response's http status code.+updateSiteAddressResponse_httpStatus :: Lens.Lens' UpdateSiteAddressResponse Prelude.Int+updateSiteAddressResponse_httpStatus = Lens.lens (\UpdateSiteAddressResponse' {httpStatus} -> httpStatus) (\s@UpdateSiteAddressResponse' {} a -> s {httpStatus = a} :: UpdateSiteAddressResponse)++instance Prelude.NFData UpdateSiteAddressResponse where+  rnf UpdateSiteAddressResponse' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf addressType+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/UpdateSiteRackPhysicalProperties.hs view
@@ -0,0 +1,511 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.Outposts.UpdateSiteRackPhysicalProperties+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the physical and logistical details for a rack at a site. For+-- more information about hardware requirements for racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#checklist Network readiness checklist>+-- in the Amazon Web Services Outposts User Guide.+--+-- To update a rack at a site with an order of @IN_PROGRESS@, you must wait+-- for the order to complete or cancel the order.+module Amazonka.Outposts.UpdateSiteRackPhysicalProperties+  ( -- * Creating a Request+    UpdateSiteRackPhysicalProperties (..),+    newUpdateSiteRackPhysicalProperties,++    -- * Request Lenses+    updateSiteRackPhysicalProperties_fiberOpticCableType,+    updateSiteRackPhysicalProperties_maximumSupportedWeightLbs,+    updateSiteRackPhysicalProperties_opticalStandard,+    updateSiteRackPhysicalProperties_powerConnector,+    updateSiteRackPhysicalProperties_powerDrawKva,+    updateSiteRackPhysicalProperties_powerFeedDrop,+    updateSiteRackPhysicalProperties_powerPhase,+    updateSiteRackPhysicalProperties_uplinkCount,+    updateSiteRackPhysicalProperties_uplinkGbps,+    updateSiteRackPhysicalProperties_siteId,++    -- * Destructuring the Response+    UpdateSiteRackPhysicalPropertiesResponse (..),+    newUpdateSiteRackPhysicalPropertiesResponse,++    -- * Response Lenses+    updateSiteRackPhysicalPropertiesResponse_site,+    updateSiteRackPhysicalPropertiesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSiteRackPhysicalProperties' smart constructor.+data UpdateSiteRackPhysicalProperties = UpdateSiteRackPhysicalProperties'+  { -- | The type of fiber that you will use to attach the Outpost to your+    -- network.+    fiberOpticCableType :: Prelude.Maybe FiberOpticCableType,+    -- | The maximum rack weight that this site can support. @NO_LIMIT@ is over+    -- 2000lbs.+    maximumSupportedWeightLbs :: Prelude.Maybe MaximumSupportedWeightLbs,+    -- | The type of optical standard that you will use to attach the Outpost to+    -- your network. This field is dependent on uplink speed, fiber type, and+    -- distance to the upstream device. For more information about networking+    -- requirements for racks, see+    -- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+    -- in the Amazon Web Services Outposts User Guide.+    --+    -- -   @OPTIC_10GBASE_SR@: 10GBASE-SR+    --+    -- -   @OPTIC_10GBASE_IR@: 10GBASE-IR+    --+    -- -   @OPTIC_10GBASE_LR@: 10GBASE-LR+    --+    -- -   @OPTIC_40GBASE_SR@: 40GBASE-SR+    --+    -- -   @OPTIC_40GBASE_ESR@: 40GBASE-ESR+    --+    -- -   @OPTIC_40GBASE_IR4_LR4L@: 40GBASE-IR (LR4L)+    --+    -- -   @OPTIC_40GBASE_LR4@: 40GBASE-LR4+    --+    -- -   @OPTIC_100GBASE_SR4@: 100GBASE-SR4+    --+    -- -   @OPTIC_100GBASE_CWDM4@: 100GBASE-CWDM4+    --+    -- -   @OPTIC_100GBASE_LR4@: 100GBASE-LR4+    --+    -- -   @OPTIC_100G_PSM4_MSA@: 100G PSM4 MSA+    --+    -- -   @OPTIC_1000BASE_LX@: 1000Base-LX+    --+    -- -   @OPTIC_1000BASE_SX@ : 1000Base-SX+    opticalStandard :: Prelude.Maybe OpticalStandard,+    -- | The power connector that Amazon Web Services should plan to provide for+    -- connections to the hardware. Note the correlation between @PowerPhase@+    -- and @PowerConnector@.+    --+    -- -   Single-phase AC feed+    --+    --     -   __L6-30P__ – (common in US); 30A; single phase+    --+    --     -   __IEC309 (blue)__ – P+N+E, 6hr; 32 A; single phase+    --+    -- -   Three-phase AC feed+    --+    --     -   __AH530P7W (red)__ – 3P+N+E, 7hr; 30A; three phase+    --+    --     -   __AH532P6W (red)__ – 3P+N+E, 6hr; 32A; three phase+    powerConnector :: Prelude.Maybe PowerConnector,+    -- | The power draw, in kVA, available at the hardware placement position for+    -- the rack.+    powerDrawKva :: Prelude.Maybe PowerDrawKva,+    -- | Indicates whether the power feed comes above or below the rack.+    powerFeedDrop :: Prelude.Maybe PowerFeedDrop,+    -- | The power option that you can provide for hardware.+    --+    -- -   Single-phase AC feed: 200 V to 277 V, 50 Hz or 60 Hz+    --+    -- -   Three-phase AC feed: 346 V to 480 V, 50 Hz or 60 Hz+    powerPhase :: Prelude.Maybe PowerPhase,+    -- | Racks come with two Outpost network devices. Depending on the supported+    -- uplink speed at the site, the Outpost network devices provide a variable+    -- number of uplinks. Specify the number of uplinks for each Outpost+    -- network device that you intend to use to connect the rack to your+    -- network. Note the correlation between @UplinkGbps@ and @UplinkCount@.+    --+    -- -   1Gbps - Uplinks available: 1, 2, 4, 6, 8+    --+    -- -   10Gbps - Uplinks available: 1, 2, 4, 8, 12, 16+    --+    -- -   40 and 100 Gbps- Uplinks available: 1, 2, 4+    uplinkCount :: Prelude.Maybe UplinkCount,+    -- | The uplink speed the rack should support for the connection to the+    -- Region.+    uplinkGbps :: Prelude.Maybe UplinkGbps,+    -- | The ID or the Amazon Resource Name (ARN) of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteRackPhysicalProperties' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fiberOpticCableType', 'updateSiteRackPhysicalProperties_fiberOpticCableType' - The type of fiber that you will use to attach the Outpost to your+-- network.+--+-- 'maximumSupportedWeightLbs', 'updateSiteRackPhysicalProperties_maximumSupportedWeightLbs' - The maximum rack weight that this site can support. @NO_LIMIT@ is over+-- 2000lbs.+--+-- 'opticalStandard', 'updateSiteRackPhysicalProperties_opticalStandard' - The type of optical standard that you will use to attach the Outpost to+-- your network. This field is dependent on uplink speed, fiber type, and+-- distance to the upstream device. For more information about networking+-- requirements for racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+-- in the Amazon Web Services Outposts User Guide.+--+-- -   @OPTIC_10GBASE_SR@: 10GBASE-SR+--+-- -   @OPTIC_10GBASE_IR@: 10GBASE-IR+--+-- -   @OPTIC_10GBASE_LR@: 10GBASE-LR+--+-- -   @OPTIC_40GBASE_SR@: 40GBASE-SR+--+-- -   @OPTIC_40GBASE_ESR@: 40GBASE-ESR+--+-- -   @OPTIC_40GBASE_IR4_LR4L@: 40GBASE-IR (LR4L)+--+-- -   @OPTIC_40GBASE_LR4@: 40GBASE-LR4+--+-- -   @OPTIC_100GBASE_SR4@: 100GBASE-SR4+--+-- -   @OPTIC_100GBASE_CWDM4@: 100GBASE-CWDM4+--+-- -   @OPTIC_100GBASE_LR4@: 100GBASE-LR4+--+-- -   @OPTIC_100G_PSM4_MSA@: 100G PSM4 MSA+--+-- -   @OPTIC_1000BASE_LX@: 1000Base-LX+--+-- -   @OPTIC_1000BASE_SX@ : 1000Base-SX+--+-- 'powerConnector', 'updateSiteRackPhysicalProperties_powerConnector' - The power connector that Amazon Web Services should plan to provide for+-- connections to the hardware. Note the correlation between @PowerPhase@+-- and @PowerConnector@.+--+-- -   Single-phase AC feed+--+--     -   __L6-30P__ – (common in US); 30A; single phase+--+--     -   __IEC309 (blue)__ – P+N+E, 6hr; 32 A; single phase+--+-- -   Three-phase AC feed+--+--     -   __AH530P7W (red)__ – 3P+N+E, 7hr; 30A; three phase+--+--     -   __AH532P6W (red)__ – 3P+N+E, 6hr; 32A; three phase+--+-- 'powerDrawKva', 'updateSiteRackPhysicalProperties_powerDrawKva' - The power draw, in kVA, available at the hardware placement position for+-- the rack.+--+-- 'powerFeedDrop', 'updateSiteRackPhysicalProperties_powerFeedDrop' - Indicates whether the power feed comes above or below the rack.+--+-- 'powerPhase', 'updateSiteRackPhysicalProperties_powerPhase' - The power option that you can provide for hardware.+--+-- -   Single-phase AC feed: 200 V to 277 V, 50 Hz or 60 Hz+--+-- -   Three-phase AC feed: 346 V to 480 V, 50 Hz or 60 Hz+--+-- 'uplinkCount', 'updateSiteRackPhysicalProperties_uplinkCount' - Racks come with two Outpost network devices. Depending on the supported+-- uplink speed at the site, the Outpost network devices provide a variable+-- number of uplinks. Specify the number of uplinks for each Outpost+-- network device that you intend to use to connect the rack to your+-- network. Note the correlation between @UplinkGbps@ and @UplinkCount@.+--+-- -   1Gbps - Uplinks available: 1, 2, 4, 6, 8+--+-- -   10Gbps - Uplinks available: 1, 2, 4, 8, 12, 16+--+-- -   40 and 100 Gbps- Uplinks available: 1, 2, 4+--+-- 'uplinkGbps', 'updateSiteRackPhysicalProperties_uplinkGbps' - The uplink speed the rack should support for the connection to the+-- Region.+--+-- 'siteId', 'updateSiteRackPhysicalProperties_siteId' - The ID or the Amazon Resource Name (ARN) of the site.+newUpdateSiteRackPhysicalProperties ::+  -- | 'siteId'+  Prelude.Text ->+  UpdateSiteRackPhysicalProperties+newUpdateSiteRackPhysicalProperties pSiteId_ =+  UpdateSiteRackPhysicalProperties'+    { fiberOpticCableType =+        Prelude.Nothing,+      maximumSupportedWeightLbs =+        Prelude.Nothing,+      opticalStandard = Prelude.Nothing,+      powerConnector = Prelude.Nothing,+      powerDrawKva = Prelude.Nothing,+      powerFeedDrop = Prelude.Nothing,+      powerPhase = Prelude.Nothing,+      uplinkCount = Prelude.Nothing,+      uplinkGbps = Prelude.Nothing,+      siteId = pSiteId_+    }++-- | The type of fiber that you will use to attach the Outpost to your+-- network.+updateSiteRackPhysicalProperties_fiberOpticCableType :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe FiberOpticCableType)+updateSiteRackPhysicalProperties_fiberOpticCableType = Lens.lens (\UpdateSiteRackPhysicalProperties' {fiberOpticCableType} -> fiberOpticCableType) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {fiberOpticCableType = a} :: UpdateSiteRackPhysicalProperties)++-- | The maximum rack weight that this site can support. @NO_LIMIT@ is over+-- 2000lbs.+updateSiteRackPhysicalProperties_maximumSupportedWeightLbs :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe MaximumSupportedWeightLbs)+updateSiteRackPhysicalProperties_maximumSupportedWeightLbs = Lens.lens (\UpdateSiteRackPhysicalProperties' {maximumSupportedWeightLbs} -> maximumSupportedWeightLbs) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {maximumSupportedWeightLbs = a} :: UpdateSiteRackPhysicalProperties)++-- | The type of optical standard that you will use to attach the Outpost to+-- your network. This field is dependent on uplink speed, fiber type, and+-- distance to the upstream device. For more information about networking+-- requirements for racks, see+-- <https://docs.aws.amazon.com/outposts/latest/userguide/outposts-requirements.html#facility-networking Network>+-- in the Amazon Web Services Outposts User Guide.+--+-- -   @OPTIC_10GBASE_SR@: 10GBASE-SR+--+-- -   @OPTIC_10GBASE_IR@: 10GBASE-IR+--+-- -   @OPTIC_10GBASE_LR@: 10GBASE-LR+--+-- -   @OPTIC_40GBASE_SR@: 40GBASE-SR+--+-- -   @OPTIC_40GBASE_ESR@: 40GBASE-ESR+--+-- -   @OPTIC_40GBASE_IR4_LR4L@: 40GBASE-IR (LR4L)+--+-- -   @OPTIC_40GBASE_LR4@: 40GBASE-LR4+--+-- -   @OPTIC_100GBASE_SR4@: 100GBASE-SR4+--+-- -   @OPTIC_100GBASE_CWDM4@: 100GBASE-CWDM4+--+-- -   @OPTIC_100GBASE_LR4@: 100GBASE-LR4+--+-- -   @OPTIC_100G_PSM4_MSA@: 100G PSM4 MSA+--+-- -   @OPTIC_1000BASE_LX@: 1000Base-LX+--+-- -   @OPTIC_1000BASE_SX@ : 1000Base-SX+updateSiteRackPhysicalProperties_opticalStandard :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe OpticalStandard)+updateSiteRackPhysicalProperties_opticalStandard = Lens.lens (\UpdateSiteRackPhysicalProperties' {opticalStandard} -> opticalStandard) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {opticalStandard = a} :: UpdateSiteRackPhysicalProperties)++-- | The power connector that Amazon Web Services should plan to provide for+-- connections to the hardware. Note the correlation between @PowerPhase@+-- and @PowerConnector@.+--+-- -   Single-phase AC feed+--+--     -   __L6-30P__ – (common in US); 30A; single phase+--+--     -   __IEC309 (blue)__ – P+N+E, 6hr; 32 A; single phase+--+-- -   Three-phase AC feed+--+--     -   __AH530P7W (red)__ – 3P+N+E, 7hr; 30A; three phase+--+--     -   __AH532P6W (red)__ – 3P+N+E, 6hr; 32A; three phase+updateSiteRackPhysicalProperties_powerConnector :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe PowerConnector)+updateSiteRackPhysicalProperties_powerConnector = Lens.lens (\UpdateSiteRackPhysicalProperties' {powerConnector} -> powerConnector) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {powerConnector = a} :: UpdateSiteRackPhysicalProperties)++-- | The power draw, in kVA, available at the hardware placement position for+-- the rack.+updateSiteRackPhysicalProperties_powerDrawKva :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe PowerDrawKva)+updateSiteRackPhysicalProperties_powerDrawKva = Lens.lens (\UpdateSiteRackPhysicalProperties' {powerDrawKva} -> powerDrawKva) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {powerDrawKva = a} :: UpdateSiteRackPhysicalProperties)++-- | Indicates whether the power feed comes above or below the rack.+updateSiteRackPhysicalProperties_powerFeedDrop :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe PowerFeedDrop)+updateSiteRackPhysicalProperties_powerFeedDrop = Lens.lens (\UpdateSiteRackPhysicalProperties' {powerFeedDrop} -> powerFeedDrop) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {powerFeedDrop = a} :: UpdateSiteRackPhysicalProperties)++-- | The power option that you can provide for hardware.+--+-- -   Single-phase AC feed: 200 V to 277 V, 50 Hz or 60 Hz+--+-- -   Three-phase AC feed: 346 V to 480 V, 50 Hz or 60 Hz+updateSiteRackPhysicalProperties_powerPhase :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe PowerPhase)+updateSiteRackPhysicalProperties_powerPhase = Lens.lens (\UpdateSiteRackPhysicalProperties' {powerPhase} -> powerPhase) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {powerPhase = a} :: UpdateSiteRackPhysicalProperties)++-- | Racks come with two Outpost network devices. Depending on the supported+-- uplink speed at the site, the Outpost network devices provide a variable+-- number of uplinks. Specify the number of uplinks for each Outpost+-- network device that you intend to use to connect the rack to your+-- network. Note the correlation between @UplinkGbps@ and @UplinkCount@.+--+-- -   1Gbps - Uplinks available: 1, 2, 4, 6, 8+--+-- -   10Gbps - Uplinks available: 1, 2, 4, 8, 12, 16+--+-- -   40 and 100 Gbps- Uplinks available: 1, 2, 4+updateSiteRackPhysicalProperties_uplinkCount :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe UplinkCount)+updateSiteRackPhysicalProperties_uplinkCount = Lens.lens (\UpdateSiteRackPhysicalProperties' {uplinkCount} -> uplinkCount) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {uplinkCount = a} :: UpdateSiteRackPhysicalProperties)++-- | The uplink speed the rack should support for the connection to the+-- Region.+updateSiteRackPhysicalProperties_uplinkGbps :: Lens.Lens' UpdateSiteRackPhysicalProperties (Prelude.Maybe UplinkGbps)+updateSiteRackPhysicalProperties_uplinkGbps = Lens.lens (\UpdateSiteRackPhysicalProperties' {uplinkGbps} -> uplinkGbps) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {uplinkGbps = a} :: UpdateSiteRackPhysicalProperties)++-- | The ID or the Amazon Resource Name (ARN) of the site.+updateSiteRackPhysicalProperties_siteId :: Lens.Lens' UpdateSiteRackPhysicalProperties Prelude.Text+updateSiteRackPhysicalProperties_siteId = Lens.lens (\UpdateSiteRackPhysicalProperties' {siteId} -> siteId) (\s@UpdateSiteRackPhysicalProperties' {} a -> s {siteId = a} :: UpdateSiteRackPhysicalProperties)++instance+  Core.AWSRequest+    UpdateSiteRackPhysicalProperties+  where+  type+    AWSResponse UpdateSiteRackPhysicalProperties =+      UpdateSiteRackPhysicalPropertiesResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSiteRackPhysicalPropertiesResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateSiteRackPhysicalProperties+  where+  hashWithSalt+    _salt+    UpdateSiteRackPhysicalProperties' {..} =+      _salt+        `Prelude.hashWithSalt` fiberOpticCableType+        `Prelude.hashWithSalt` maximumSupportedWeightLbs+        `Prelude.hashWithSalt` opticalStandard+        `Prelude.hashWithSalt` powerConnector+        `Prelude.hashWithSalt` powerDrawKva+        `Prelude.hashWithSalt` powerFeedDrop+        `Prelude.hashWithSalt` powerPhase+        `Prelude.hashWithSalt` uplinkCount+        `Prelude.hashWithSalt` uplinkGbps+        `Prelude.hashWithSalt` siteId++instance+  Prelude.NFData+    UpdateSiteRackPhysicalProperties+  where+  rnf UpdateSiteRackPhysicalProperties' {..} =+    Prelude.rnf fiberOpticCableType+      `Prelude.seq` Prelude.rnf maximumSupportedWeightLbs+      `Prelude.seq` Prelude.rnf opticalStandard+      `Prelude.seq` Prelude.rnf powerConnector+      `Prelude.seq` Prelude.rnf powerDrawKva+      `Prelude.seq` Prelude.rnf powerFeedDrop+      `Prelude.seq` Prelude.rnf powerPhase+      `Prelude.seq` Prelude.rnf uplinkCount+      `Prelude.seq` Prelude.rnf uplinkGbps+      `Prelude.seq` Prelude.rnf siteId++instance+  Data.ToHeaders+    UpdateSiteRackPhysicalProperties+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSiteRackPhysicalProperties where+  toJSON UpdateSiteRackPhysicalProperties' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("FiberOpticCableType" Data..=)+              Prelude.<$> fiberOpticCableType,+            ("MaximumSupportedWeightLbs" Data..=)+              Prelude.<$> maximumSupportedWeightLbs,+            ("OpticalStandard" Data..=)+              Prelude.<$> opticalStandard,+            ("PowerConnector" Data..=)+              Prelude.<$> powerConnector,+            ("PowerDrawKva" Data..=) Prelude.<$> powerDrawKva,+            ("PowerFeedDrop" Data..=) Prelude.<$> powerFeedDrop,+            ("PowerPhase" Data..=) Prelude.<$> powerPhase,+            ("UplinkCount" Data..=) Prelude.<$> uplinkCount,+            ("UplinkGbps" Data..=) Prelude.<$> uplinkGbps+          ]+      )++instance Data.ToPath UpdateSiteRackPhysicalProperties where+  toPath UpdateSiteRackPhysicalProperties' {..} =+    Prelude.mconcat+      [ "/sites/",+        Data.toBS siteId,+        "/rackPhysicalProperties"+      ]++instance+  Data.ToQuery+    UpdateSiteRackPhysicalProperties+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSiteRackPhysicalPropertiesResponse' smart constructor.+data UpdateSiteRackPhysicalPropertiesResponse = UpdateSiteRackPhysicalPropertiesResponse'+  { site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteRackPhysicalPropertiesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'updateSiteRackPhysicalPropertiesResponse_site' - Undocumented member.+--+-- 'httpStatus', 'updateSiteRackPhysicalPropertiesResponse_httpStatus' - The response's http status code.+newUpdateSiteRackPhysicalPropertiesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSiteRackPhysicalPropertiesResponse+newUpdateSiteRackPhysicalPropertiesResponse+  pHttpStatus_ =+    UpdateSiteRackPhysicalPropertiesResponse'+      { site =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Undocumented member.+updateSiteRackPhysicalPropertiesResponse_site :: Lens.Lens' UpdateSiteRackPhysicalPropertiesResponse (Prelude.Maybe Site)+updateSiteRackPhysicalPropertiesResponse_site = Lens.lens (\UpdateSiteRackPhysicalPropertiesResponse' {site} -> site) (\s@UpdateSiteRackPhysicalPropertiesResponse' {} a -> s {site = a} :: UpdateSiteRackPhysicalPropertiesResponse)++-- | The response's http status code.+updateSiteRackPhysicalPropertiesResponse_httpStatus :: Lens.Lens' UpdateSiteRackPhysicalPropertiesResponse Prelude.Int+updateSiteRackPhysicalPropertiesResponse_httpStatus = Lens.lens (\UpdateSiteRackPhysicalPropertiesResponse' {httpStatus} -> httpStatus) (\s@UpdateSiteRackPhysicalPropertiesResponse' {} a -> s {httpStatus = a} :: UpdateSiteRackPhysicalPropertiesResponse)++instance+  Prelude.NFData+    UpdateSiteRackPhysicalPropertiesResponse+  where+  rnf UpdateSiteRackPhysicalPropertiesResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/Outposts/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.Outposts.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.Outposts.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.Outposts.Lens+import Amazonka.Outposts.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.Outposts+import Test.Amazonka.Outposts.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "Outposts"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/Outposts.hs view
@@ -0,0 +1,558 @@+{-# 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.Outposts+-- Copyright   : (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.Outposts where++import Amazonka.Outposts+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Outposts.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCancelOrder $+--             newCancelOrder+--+--         , requestCreateOrder $+--             newCreateOrder+--+--         , requestCreateOutpost $+--             newCreateOutpost+--+--         , requestCreateSite $+--             newCreateSite+--+--         , requestDeleteOutpost $+--             newDeleteOutpost+--+--         , requestDeleteSite $+--             newDeleteSite+--+--         , requestGetCatalogItem $+--             newGetCatalogItem+--+--         , requestGetConnection $+--             newGetConnection+--+--         , requestGetOrder $+--             newGetOrder+--+--         , requestGetOutpost $+--             newGetOutpost+--+--         , requestGetOutpostInstanceTypes $+--             newGetOutpostInstanceTypes+--+--         , requestGetSite $+--             newGetSite+--+--         , requestGetSiteAddress $+--             newGetSiteAddress+--+--         , requestListAssets $+--             newListAssets+--+--         , requestListCatalogItems $+--             newListCatalogItems+--+--         , requestListOrders $+--             newListOrders+--+--         , requestListOutposts $+--             newListOutposts+--+--         , requestListSites $+--             newListSites+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartConnection $+--             newStartConnection+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateOutpost $+--             newUpdateOutpost+--+--         , requestUpdateSite $+--             newUpdateSite+--+--         , requestUpdateSiteAddress $+--             newUpdateSiteAddress+--+--         , requestUpdateSiteRackPhysicalProperties $+--             newUpdateSiteRackPhysicalProperties+--+--           ]++--     , testGroup "response"+--         [ responseCancelOrder $+--             newCancelOrderResponse+--+--         , responseCreateOrder $+--             newCreateOrderResponse+--+--         , responseCreateOutpost $+--             newCreateOutpostResponse+--+--         , responseCreateSite $+--             newCreateSiteResponse+--+--         , responseDeleteOutpost $+--             newDeleteOutpostResponse+--+--         , responseDeleteSite $+--             newDeleteSiteResponse+--+--         , responseGetCatalogItem $+--             newGetCatalogItemResponse+--+--         , responseGetConnection $+--             newGetConnectionResponse+--+--         , responseGetOrder $+--             newGetOrderResponse+--+--         , responseGetOutpost $+--             newGetOutpostResponse+--+--         , responseGetOutpostInstanceTypes $+--             newGetOutpostInstanceTypesResponse+--+--         , responseGetSite $+--             newGetSiteResponse+--+--         , responseGetSiteAddress $+--             newGetSiteAddressResponse+--+--         , responseListAssets $+--             newListAssetsResponse+--+--         , responseListCatalogItems $+--             newListCatalogItemsResponse+--+--         , responseListOrders $+--             newListOrdersResponse+--+--         , responseListOutposts $+--             newListOutpostsResponse+--+--         , responseListSites $+--             newListSitesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartConnection $+--             newStartConnectionResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateOutpost $+--             newUpdateOutpostResponse+--+--         , responseUpdateSite $+--             newUpdateSiteResponse+--+--         , responseUpdateSiteAddress $+--             newUpdateSiteAddressResponse+--+--         , responseUpdateSiteRackPhysicalProperties $+--             newUpdateSiteRackPhysicalPropertiesResponse+--+--           ]+--     ]++-- Requests++requestCancelOrder :: CancelOrder -> TestTree+requestCancelOrder =+  req+    "CancelOrder"+    "fixture/CancelOrder.yaml"++requestCreateOrder :: CreateOrder -> TestTree+requestCreateOrder =+  req+    "CreateOrder"+    "fixture/CreateOrder.yaml"++requestCreateOutpost :: CreateOutpost -> TestTree+requestCreateOutpost =+  req+    "CreateOutpost"+    "fixture/CreateOutpost.yaml"++requestCreateSite :: CreateSite -> TestTree+requestCreateSite =+  req+    "CreateSite"+    "fixture/CreateSite.yaml"++requestDeleteOutpost :: DeleteOutpost -> TestTree+requestDeleteOutpost =+  req+    "DeleteOutpost"+    "fixture/DeleteOutpost.yaml"++requestDeleteSite :: DeleteSite -> TestTree+requestDeleteSite =+  req+    "DeleteSite"+    "fixture/DeleteSite.yaml"++requestGetCatalogItem :: GetCatalogItem -> TestTree+requestGetCatalogItem =+  req+    "GetCatalogItem"+    "fixture/GetCatalogItem.yaml"++requestGetConnection :: GetConnection -> TestTree+requestGetConnection =+  req+    "GetConnection"+    "fixture/GetConnection.yaml"++requestGetOrder :: GetOrder -> TestTree+requestGetOrder =+  req+    "GetOrder"+    "fixture/GetOrder.yaml"++requestGetOutpost :: GetOutpost -> TestTree+requestGetOutpost =+  req+    "GetOutpost"+    "fixture/GetOutpost.yaml"++requestGetOutpostInstanceTypes :: GetOutpostInstanceTypes -> TestTree+requestGetOutpostInstanceTypes =+  req+    "GetOutpostInstanceTypes"+    "fixture/GetOutpostInstanceTypes.yaml"++requestGetSite :: GetSite -> TestTree+requestGetSite =+  req+    "GetSite"+    "fixture/GetSite.yaml"++requestGetSiteAddress :: GetSiteAddress -> TestTree+requestGetSiteAddress =+  req+    "GetSiteAddress"+    "fixture/GetSiteAddress.yaml"++requestListAssets :: ListAssets -> TestTree+requestListAssets =+  req+    "ListAssets"+    "fixture/ListAssets.yaml"++requestListCatalogItems :: ListCatalogItems -> TestTree+requestListCatalogItems =+  req+    "ListCatalogItems"+    "fixture/ListCatalogItems.yaml"++requestListOrders :: ListOrders -> TestTree+requestListOrders =+  req+    "ListOrders"+    "fixture/ListOrders.yaml"++requestListOutposts :: ListOutposts -> TestTree+requestListOutposts =+  req+    "ListOutposts"+    "fixture/ListOutposts.yaml"++requestListSites :: ListSites -> TestTree+requestListSites =+  req+    "ListSites"+    "fixture/ListSites.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartConnection :: StartConnection -> TestTree+requestStartConnection =+  req+    "StartConnection"+    "fixture/StartConnection.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateOutpost :: UpdateOutpost -> TestTree+requestUpdateOutpost =+  req+    "UpdateOutpost"+    "fixture/UpdateOutpost.yaml"++requestUpdateSite :: UpdateSite -> TestTree+requestUpdateSite =+  req+    "UpdateSite"+    "fixture/UpdateSite.yaml"++requestUpdateSiteAddress :: UpdateSiteAddress -> TestTree+requestUpdateSiteAddress =+  req+    "UpdateSiteAddress"+    "fixture/UpdateSiteAddress.yaml"++requestUpdateSiteRackPhysicalProperties :: UpdateSiteRackPhysicalProperties -> TestTree+requestUpdateSiteRackPhysicalProperties =+  req+    "UpdateSiteRackPhysicalProperties"+    "fixture/UpdateSiteRackPhysicalProperties.yaml"++-- Responses++responseCancelOrder :: CancelOrderResponse -> TestTree+responseCancelOrder =+  res+    "CancelOrderResponse"+    "fixture/CancelOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CancelOrder)++responseCreateOrder :: CreateOrderResponse -> TestTree+responseCreateOrder =+  res+    "CreateOrderResponse"+    "fixture/CreateOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateOrder)++responseCreateOutpost :: CreateOutpostResponse -> TestTree+responseCreateOutpost =+  res+    "CreateOutpostResponse"+    "fixture/CreateOutpostResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateOutpost)++responseCreateSite :: CreateSiteResponse -> TestTree+responseCreateSite =+  res+    "CreateSiteResponse"+    "fixture/CreateSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSite)++responseDeleteOutpost :: DeleteOutpostResponse -> TestTree+responseDeleteOutpost =+  res+    "DeleteOutpostResponse"+    "fixture/DeleteOutpostResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteOutpost)++responseDeleteSite :: DeleteSiteResponse -> TestTree+responseDeleteSite =+  res+    "DeleteSiteResponse"+    "fixture/DeleteSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSite)++responseGetCatalogItem :: GetCatalogItemResponse -> TestTree+responseGetCatalogItem =+  res+    "GetCatalogItemResponse"+    "fixture/GetCatalogItemResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCatalogItem)++responseGetConnection :: GetConnectionResponse -> TestTree+responseGetConnection =+  res+    "GetConnectionResponse"+    "fixture/GetConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConnection)++responseGetOrder :: GetOrderResponse -> TestTree+responseGetOrder =+  res+    "GetOrderResponse"+    "fixture/GetOrderResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetOrder)++responseGetOutpost :: GetOutpostResponse -> TestTree+responseGetOutpost =+  res+    "GetOutpostResponse"+    "fixture/GetOutpostResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetOutpost)++responseGetOutpostInstanceTypes :: GetOutpostInstanceTypesResponse -> TestTree+responseGetOutpostInstanceTypes =+  res+    "GetOutpostInstanceTypesResponse"+    "fixture/GetOutpostInstanceTypesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetOutpostInstanceTypes)++responseGetSite :: GetSiteResponse -> TestTree+responseGetSite =+  res+    "GetSiteResponse"+    "fixture/GetSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSite)++responseGetSiteAddress :: GetSiteAddressResponse -> TestTree+responseGetSiteAddress =+  res+    "GetSiteAddressResponse"+    "fixture/GetSiteAddressResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSiteAddress)++responseListAssets :: ListAssetsResponse -> TestTree+responseListAssets =+  res+    "ListAssetsResponse"+    "fixture/ListAssetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAssets)++responseListCatalogItems :: ListCatalogItemsResponse -> TestTree+responseListCatalogItems =+  res+    "ListCatalogItemsResponse"+    "fixture/ListCatalogItemsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCatalogItems)++responseListOrders :: ListOrdersResponse -> TestTree+responseListOrders =+  res+    "ListOrdersResponse"+    "fixture/ListOrdersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListOrders)++responseListOutposts :: ListOutpostsResponse -> TestTree+responseListOutposts =+  res+    "ListOutpostsResponse"+    "fixture/ListOutpostsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListOutposts)++responseListSites :: ListSitesResponse -> TestTree+responseListSites =+  res+    "ListSitesResponse"+    "fixture/ListSitesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSites)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartConnection :: StartConnectionResponse -> TestTree+responseStartConnection =+  res+    "StartConnectionResponse"+    "fixture/StartConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartConnection)++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)++responseUpdateOutpost :: UpdateOutpostResponse -> TestTree+responseUpdateOutpost =+  res+    "UpdateOutpostResponse"+    "fixture/UpdateOutpostResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateOutpost)++responseUpdateSite :: UpdateSiteResponse -> TestTree+responseUpdateSite =+  res+    "UpdateSiteResponse"+    "fixture/UpdateSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSite)++responseUpdateSiteAddress :: UpdateSiteAddressResponse -> TestTree+responseUpdateSiteAddress =+  res+    "UpdateSiteAddressResponse"+    "fixture/UpdateSiteAddressResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSiteAddress)++responseUpdateSiteRackPhysicalProperties :: UpdateSiteRackPhysicalPropertiesResponse -> TestTree+responseUpdateSiteRackPhysicalProperties =+  res+    "UpdateSiteRackPhysicalPropertiesResponse"+    "fixture/UpdateSiteRackPhysicalPropertiesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSiteRackPhysicalProperties)
+ test/Test/Amazonka/Outposts.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.Outposts+-- Copyright   : (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.Outposts+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/Outposts/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.Outposts.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.Outposts.Internal where