packages feed

amazonka-gamesparks (empty) → 2.0

raw patch · 137 files changed

+12363/−0 lines, 137 filesdep +amazonka-coredep +amazonka-gamesparksdep +amazonka-test

Dependencies added: amazonka-core, amazonka-gamesparks, 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 GameSparks SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-08-17@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-gamesparks)+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.GamesParks](http://hackage.haskell.org/package/amazonka-gamesparks/docs/Amazonka-GamesParks.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-gamesparks` 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-gamesparks.cabal view
@@ -0,0 +1,142 @@+cabal-version:      2.2+name:               amazonka-gamesparks+version:            2.0+synopsis:           Amazon GameSparks SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2021-08-17@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.GamesParks.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.GamesParks" 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-gamesparks++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.GamesParks+    Amazonka.GamesParks.CreateGame+    Amazonka.GamesParks.CreateSnapshot+    Amazonka.GamesParks.CreateStage+    Amazonka.GamesParks.DeleteGame+    Amazonka.GamesParks.DeleteStage+    Amazonka.GamesParks.DisconnectPlayer+    Amazonka.GamesParks.ExportSnapshot+    Amazonka.GamesParks.GetExtension+    Amazonka.GamesParks.GetExtensionVersion+    Amazonka.GamesParks.GetGame+    Amazonka.GamesParks.GetGameConfiguration+    Amazonka.GamesParks.GetGeneratedCodeJob+    Amazonka.GamesParks.GetPlayerConnectionStatus+    Amazonka.GamesParks.GetSnapshot+    Amazonka.GamesParks.GetStage+    Amazonka.GamesParks.GetStageDeployment+    Amazonka.GamesParks.ImportGameConfiguration+    Amazonka.GamesParks.Lens+    Amazonka.GamesParks.ListExtensions+    Amazonka.GamesParks.ListExtensionVersions+    Amazonka.GamesParks.ListGames+    Amazonka.GamesParks.ListGeneratedCodeJobs+    Amazonka.GamesParks.ListSnapshots+    Amazonka.GamesParks.ListStageDeployments+    Amazonka.GamesParks.ListStages+    Amazonka.GamesParks.ListTagsForResource+    Amazonka.GamesParks.StartGeneratedCodeJob+    Amazonka.GamesParks.StartStageDeployment+    Amazonka.GamesParks.TagResource+    Amazonka.GamesParks.Types+    Amazonka.GamesParks.Types.Connection+    Amazonka.GamesParks.Types.DeploymentAction+    Amazonka.GamesParks.Types.DeploymentResult+    Amazonka.GamesParks.Types.DeploymentState+    Amazonka.GamesParks.Types.Document+    Amazonka.GamesParks.Types.ExtensionDetails+    Amazonka.GamesParks.Types.ExtensionVersionDetails+    Amazonka.GamesParks.Types.GameConfigurationDetails+    Amazonka.GamesParks.Types.GameDetails+    Amazonka.GamesParks.Types.GameState+    Amazonka.GamesParks.Types.GameSummary+    Amazonka.GamesParks.Types.GeneratedCodeJobDetails+    Amazonka.GamesParks.Types.GeneratedCodeJobState+    Amazonka.GamesParks.Types.Generator+    Amazonka.GamesParks.Types.ImportGameConfigurationSource+    Amazonka.GamesParks.Types.Operation+    Amazonka.GamesParks.Types.ResultCode+    Amazonka.GamesParks.Types.Section+    Amazonka.GamesParks.Types.SectionModification+    Amazonka.GamesParks.Types.SnapshotDetails+    Amazonka.GamesParks.Types.SnapshotSummary+    Amazonka.GamesParks.Types.StageDeploymentDetails+    Amazonka.GamesParks.Types.StageDeploymentSummary+    Amazonka.GamesParks.Types.StageDetails+    Amazonka.GamesParks.Types.StageState+    Amazonka.GamesParks.Types.StageSummary+    Amazonka.GamesParks.UntagResource+    Amazonka.GamesParks.UpdateGame+    Amazonka.GamesParks.UpdateGameConfiguration+    Amazonka.GamesParks.UpdateSnapshot+    Amazonka.GamesParks.UpdateStage+    Amazonka.GamesParks.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-gamesparks-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.GamesParks+    Test.Amazonka.GamesParks.Internal+    Test.Amazonka.Gen.GamesParks++  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-gamesparks+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateGame.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/CreateGameResponse.proto view
+ fixture/CreateSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/CreateSnapshotResponse.proto view
+ fixture/CreateStage.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/CreateStageResponse.proto view
+ fixture/DeleteGame.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/DeleteGameResponse.proto view
+ fixture/DeleteStage.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/DeleteStageResponse.proto view
+ fixture/DisconnectPlayer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/DisconnectPlayerResponse.proto view
+ fixture/ExportSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ExportSnapshotResponse.proto view
+ fixture/GetExtension.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetExtensionResponse.proto view
+ fixture/GetExtensionVersion.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetExtensionVersionResponse.proto view
+ fixture/GetGame.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetGameConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetGameConfigurationResponse.proto view
+ fixture/GetGameResponse.proto view
+ fixture/GetGeneratedCodeJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetGeneratedCodeJobResponse.proto view
+ fixture/GetPlayerConnectionStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetPlayerConnectionStatusResponse.proto view
+ fixture/GetSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetSnapshotResponse.proto view
+ fixture/GetStage.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetStageDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/GetStageDeploymentResponse.proto view
+ fixture/GetStageResponse.proto view
+ fixture/ImportGameConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ImportGameConfigurationResponse.proto view
+ fixture/ListExtensionVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListExtensionVersionsResponse.proto view
+ fixture/ListExtensions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListExtensionsResponse.proto view
+ fixture/ListGames.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListGamesResponse.proto view
+ fixture/ListGeneratedCodeJobs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListGeneratedCodeJobsResponse.proto view
+ fixture/ListSnapshots.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListSnapshotsResponse.proto view
+ fixture/ListStageDeployments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListStageDeploymentsResponse.proto view
+ fixture/ListStages.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/ListStagesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/StartGeneratedCodeJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/StartGeneratedCodeJobResponse.proto view
+ fixture/StartStageDeployment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/StartStageDeploymentResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/UpdateGame.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/UpdateGameConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/UpdateGameConfigurationResponse.proto view
+ fixture/UpdateGameResponse.proto view
+ fixture/UpdateSnapshot.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/UpdateSnapshotResponse.proto view
+ fixture/UpdateStage.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamesparks/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  gamesparks.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/UpdateStageResponse.proto view
+ gen/Amazonka/GamesParks.hs view
@@ -0,0 +1,408 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.GamesParks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-08-17@ of the AWS service descriptions, licensed under Apache 2.0.+module Amazonka.GamesParks+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateGame+    CreateGame (CreateGame'),+    newCreateGame,+    CreateGameResponse (CreateGameResponse'),+    newCreateGameResponse,++    -- ** CreateSnapshot+    CreateSnapshot (CreateSnapshot'),+    newCreateSnapshot,+    CreateSnapshotResponse (CreateSnapshotResponse'),+    newCreateSnapshotResponse,++    -- ** CreateStage+    CreateStage (CreateStage'),+    newCreateStage,+    CreateStageResponse (CreateStageResponse'),+    newCreateStageResponse,++    -- ** DeleteGame+    DeleteGame (DeleteGame'),+    newDeleteGame,+    DeleteGameResponse (DeleteGameResponse'),+    newDeleteGameResponse,++    -- ** DeleteStage+    DeleteStage (DeleteStage'),+    newDeleteStage,+    DeleteStageResponse (DeleteStageResponse'),+    newDeleteStageResponse,++    -- ** DisconnectPlayer+    DisconnectPlayer (DisconnectPlayer'),+    newDisconnectPlayer,+    DisconnectPlayerResponse (DisconnectPlayerResponse'),+    newDisconnectPlayerResponse,++    -- ** ExportSnapshot+    ExportSnapshot (ExportSnapshot'),+    newExportSnapshot,+    ExportSnapshotResponse (ExportSnapshotResponse'),+    newExportSnapshotResponse,++    -- ** GetExtension+    GetExtension (GetExtension'),+    newGetExtension,+    GetExtensionResponse (GetExtensionResponse'),+    newGetExtensionResponse,++    -- ** GetExtensionVersion+    GetExtensionVersion (GetExtensionVersion'),+    newGetExtensionVersion,+    GetExtensionVersionResponse (GetExtensionVersionResponse'),+    newGetExtensionVersionResponse,++    -- ** GetGame+    GetGame (GetGame'),+    newGetGame,+    GetGameResponse (GetGameResponse'),+    newGetGameResponse,++    -- ** GetGameConfiguration+    GetGameConfiguration (GetGameConfiguration'),+    newGetGameConfiguration,+    GetGameConfigurationResponse (GetGameConfigurationResponse'),+    newGetGameConfigurationResponse,++    -- ** GetGeneratedCodeJob+    GetGeneratedCodeJob (GetGeneratedCodeJob'),+    newGetGeneratedCodeJob,+    GetGeneratedCodeJobResponse (GetGeneratedCodeJobResponse'),+    newGetGeneratedCodeJobResponse,++    -- ** GetPlayerConnectionStatus+    GetPlayerConnectionStatus (GetPlayerConnectionStatus'),+    newGetPlayerConnectionStatus,+    GetPlayerConnectionStatusResponse (GetPlayerConnectionStatusResponse'),+    newGetPlayerConnectionStatusResponse,++    -- ** GetSnapshot+    GetSnapshot (GetSnapshot'),+    newGetSnapshot,+    GetSnapshotResponse (GetSnapshotResponse'),+    newGetSnapshotResponse,++    -- ** GetStage+    GetStage (GetStage'),+    newGetStage,+    GetStageResponse (GetStageResponse'),+    newGetStageResponse,++    -- ** GetStageDeployment+    GetStageDeployment (GetStageDeployment'),+    newGetStageDeployment,+    GetStageDeploymentResponse (GetStageDeploymentResponse'),+    newGetStageDeploymentResponse,++    -- ** ImportGameConfiguration+    ImportGameConfiguration (ImportGameConfiguration'),+    newImportGameConfiguration,+    ImportGameConfigurationResponse (ImportGameConfigurationResponse'),+    newImportGameConfigurationResponse,++    -- ** ListExtensionVersions (Paginated)+    ListExtensionVersions (ListExtensionVersions'),+    newListExtensionVersions,+    ListExtensionVersionsResponse (ListExtensionVersionsResponse'),+    newListExtensionVersionsResponse,++    -- ** ListExtensions (Paginated)+    ListExtensions (ListExtensions'),+    newListExtensions,+    ListExtensionsResponse (ListExtensionsResponse'),+    newListExtensionsResponse,++    -- ** ListGames (Paginated)+    ListGames (ListGames'),+    newListGames,+    ListGamesResponse (ListGamesResponse'),+    newListGamesResponse,++    -- ** ListGeneratedCodeJobs (Paginated)+    ListGeneratedCodeJobs (ListGeneratedCodeJobs'),+    newListGeneratedCodeJobs,+    ListGeneratedCodeJobsResponse (ListGeneratedCodeJobsResponse'),+    newListGeneratedCodeJobsResponse,++    -- ** ListSnapshots (Paginated)+    ListSnapshots (ListSnapshots'),+    newListSnapshots,+    ListSnapshotsResponse (ListSnapshotsResponse'),+    newListSnapshotsResponse,++    -- ** ListStageDeployments (Paginated)+    ListStageDeployments (ListStageDeployments'),+    newListStageDeployments,+    ListStageDeploymentsResponse (ListStageDeploymentsResponse'),+    newListStageDeploymentsResponse,++    -- ** ListStages (Paginated)+    ListStages (ListStages'),+    newListStages,+    ListStagesResponse (ListStagesResponse'),+    newListStagesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartGeneratedCodeJob+    StartGeneratedCodeJob (StartGeneratedCodeJob'),+    newStartGeneratedCodeJob,+    StartGeneratedCodeJobResponse (StartGeneratedCodeJobResponse'),+    newStartGeneratedCodeJobResponse,++    -- ** StartStageDeployment+    StartStageDeployment (StartStageDeployment'),+    newStartStageDeployment,+    StartStageDeploymentResponse (StartStageDeploymentResponse'),+    newStartStageDeploymentResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateGame+    UpdateGame (UpdateGame'),+    newUpdateGame,+    UpdateGameResponse (UpdateGameResponse'),+    newUpdateGameResponse,++    -- ** UpdateGameConfiguration+    UpdateGameConfiguration (UpdateGameConfiguration'),+    newUpdateGameConfiguration,+    UpdateGameConfigurationResponse (UpdateGameConfigurationResponse'),+    newUpdateGameConfigurationResponse,++    -- ** UpdateSnapshot+    UpdateSnapshot (UpdateSnapshot'),+    newUpdateSnapshot,+    UpdateSnapshotResponse (UpdateSnapshotResponse'),+    newUpdateSnapshotResponse,++    -- ** UpdateStage+    UpdateStage (UpdateStage'),+    newUpdateStage,+    UpdateStageResponse (UpdateStageResponse'),+    newUpdateStageResponse,++    -- * Types++    -- ** DeploymentAction+    DeploymentAction (..),++    -- ** DeploymentState+    DeploymentState (..),++    -- ** GameState+    GameState (..),++    -- ** GeneratedCodeJobState+    GeneratedCodeJobState (..),++    -- ** Operation+    Operation (..),++    -- ** ResultCode+    ResultCode (..),++    -- ** StageState+    StageState (..),++    -- ** Connection+    Connection (Connection'),+    newConnection,++    -- ** DeploymentResult+    DeploymentResult (DeploymentResult'),+    newDeploymentResult,++    -- ** Document+    Document (Document'),+    newDocument,++    -- ** ExtensionDetails+    ExtensionDetails (ExtensionDetails'),+    newExtensionDetails,++    -- ** ExtensionVersionDetails+    ExtensionVersionDetails (ExtensionVersionDetails'),+    newExtensionVersionDetails,++    -- ** GameConfigurationDetails+    GameConfigurationDetails (GameConfigurationDetails'),+    newGameConfigurationDetails,++    -- ** GameDetails+    GameDetails (GameDetails'),+    newGameDetails,++    -- ** GameSummary+    GameSummary (GameSummary'),+    newGameSummary,++    -- ** GeneratedCodeJobDetails+    GeneratedCodeJobDetails (GeneratedCodeJobDetails'),+    newGeneratedCodeJobDetails,++    -- ** Generator+    Generator (Generator'),+    newGenerator,++    -- ** ImportGameConfigurationSource+    ImportGameConfigurationSource (ImportGameConfigurationSource'),+    newImportGameConfigurationSource,++    -- ** Section+    Section (Section'),+    newSection,++    -- ** SectionModification+    SectionModification (SectionModification'),+    newSectionModification,++    -- ** SnapshotDetails+    SnapshotDetails (SnapshotDetails'),+    newSnapshotDetails,++    -- ** SnapshotSummary+    SnapshotSummary (SnapshotSummary'),+    newSnapshotSummary,++    -- ** StageDeploymentDetails+    StageDeploymentDetails (StageDeploymentDetails'),+    newStageDeploymentDetails,++    -- ** StageDeploymentSummary+    StageDeploymentSummary (StageDeploymentSummary'),+    newStageDeploymentSummary,++    -- ** StageDetails+    StageDetails (StageDetails'),+    newStageDetails,++    -- ** StageSummary+    StageSummary (StageSummary'),+    newStageSummary,+  )+where++import Amazonka.GamesParks.CreateGame+import Amazonka.GamesParks.CreateSnapshot+import Amazonka.GamesParks.CreateStage+import Amazonka.GamesParks.DeleteGame+import Amazonka.GamesParks.DeleteStage+import Amazonka.GamesParks.DisconnectPlayer+import Amazonka.GamesParks.ExportSnapshot+import Amazonka.GamesParks.GetExtension+import Amazonka.GamesParks.GetExtensionVersion+import Amazonka.GamesParks.GetGame+import Amazonka.GamesParks.GetGameConfiguration+import Amazonka.GamesParks.GetGeneratedCodeJob+import Amazonka.GamesParks.GetPlayerConnectionStatus+import Amazonka.GamesParks.GetSnapshot+import Amazonka.GamesParks.GetStage+import Amazonka.GamesParks.GetStageDeployment+import Amazonka.GamesParks.ImportGameConfiguration+import Amazonka.GamesParks.Lens+import Amazonka.GamesParks.ListExtensionVersions+import Amazonka.GamesParks.ListExtensions+import Amazonka.GamesParks.ListGames+import Amazonka.GamesParks.ListGeneratedCodeJobs+import Amazonka.GamesParks.ListSnapshots+import Amazonka.GamesParks.ListStageDeployments+import Amazonka.GamesParks.ListStages+import Amazonka.GamesParks.ListTagsForResource+import Amazonka.GamesParks.StartGeneratedCodeJob+import Amazonka.GamesParks.StartStageDeployment+import Amazonka.GamesParks.TagResource+import Amazonka.GamesParks.Types+import Amazonka.GamesParks.UntagResource+import Amazonka.GamesParks.UpdateGame+import Amazonka.GamesParks.UpdateGameConfiguration+import Amazonka.GamesParks.UpdateSnapshot+import Amazonka.GamesParks.UpdateStage+import Amazonka.GamesParks.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 'GamesParks'.++-- $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/GamesParks/CreateGame.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.CreateGame+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new game with an empty configuration. After creating your+-- game, you can update the configuration using @UpdateGameConfiguration@+-- or @ImportGameConfiguration@.+module Amazonka.GamesParks.CreateGame+  ( -- * Creating a Request+    CreateGame (..),+    newCreateGame,++    -- * Request Lenses+    createGame_clientToken,+    createGame_description,+    createGame_tags,+    createGame_gameName,++    -- * Destructuring the Response+    CreateGameResponse (..),+    newCreateGameResponse,++    -- * Response Lenses+    createGameResponse_game,+    createGameResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGame' smart constructor.+data CreateGame = CreateGame'+  { -- | A client-defined token. With an active client token in the request, this+    -- action is idempotent.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the game.+    description :: Prelude.Maybe Prelude.Text,+    -- | The list of tags to apply to the game.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGame' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createGame_clientToken' - A client-defined token. With an active client token in the request, this+-- action is idempotent.+--+-- 'description', 'createGame_description' - The description of the game.+--+-- 'tags', 'createGame_tags' - The list of tags to apply to the game.+--+-- 'gameName', 'createGame_gameName' - The name of the game.+newCreateGame ::+  -- | 'gameName'+  Prelude.Text ->+  CreateGame+newCreateGame pGameName_ =+  CreateGame'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      gameName = pGameName_+    }++-- | A client-defined token. With an active client token in the request, this+-- action is idempotent.+createGame_clientToken :: Lens.Lens' CreateGame (Prelude.Maybe Prelude.Text)+createGame_clientToken = Lens.lens (\CreateGame' {clientToken} -> clientToken) (\s@CreateGame' {} a -> s {clientToken = a} :: CreateGame)++-- | The description of the game.+createGame_description :: Lens.Lens' CreateGame (Prelude.Maybe Prelude.Text)+createGame_description = Lens.lens (\CreateGame' {description} -> description) (\s@CreateGame' {} a -> s {description = a} :: CreateGame)++-- | The list of tags to apply to the game.+createGame_tags :: Lens.Lens' CreateGame (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createGame_tags = Lens.lens (\CreateGame' {tags} -> tags) (\s@CreateGame' {} a -> s {tags = a} :: CreateGame) Prelude.. Lens.mapping Lens.coerced++-- | The name of the game.+createGame_gameName :: Lens.Lens' CreateGame Prelude.Text+createGame_gameName = Lens.lens (\CreateGame' {gameName} -> gameName) (\s@CreateGame' {} a -> s {gameName = a} :: CreateGame)++instance Core.AWSRequest CreateGame where+  type AWSResponse CreateGame = CreateGameResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGameResponse'+            Prelude.<$> (x Data..?> "Game")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGame where+  hashWithSalt _salt CreateGame' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData CreateGame where+  rnf CreateGame' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders CreateGame where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGame where+  toJSON CreateGame' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("GameName" Data..= gameName)+          ]+      )++instance Data.ToPath CreateGame where+  toPath = Prelude.const "/game"++instance Data.ToQuery CreateGame where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGameResponse' smart constructor.+data CreateGameResponse = CreateGameResponse'+  { -- | Details about the game that was created.+    game :: Prelude.Maybe GameDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGameResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'game', 'createGameResponse_game' - Details about the game that was created.+--+-- 'httpStatus', 'createGameResponse_httpStatus' - The response's http status code.+newCreateGameResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateGameResponse+newCreateGameResponse pHttpStatus_ =+  CreateGameResponse'+    { game = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the game that was created.+createGameResponse_game :: Lens.Lens' CreateGameResponse (Prelude.Maybe GameDetails)+createGameResponse_game = Lens.lens (\CreateGameResponse' {game} -> game) (\s@CreateGameResponse' {} a -> s {game = a} :: CreateGameResponse)++-- | The response's http status code.+createGameResponse_httpStatus :: Lens.Lens' CreateGameResponse Prelude.Int+createGameResponse_httpStatus = Lens.lens (\CreateGameResponse' {httpStatus} -> httpStatus) (\s@CreateGameResponse' {} a -> s {httpStatus = a} :: CreateGameResponse)++instance Prelude.NFData CreateGameResponse where+  rnf CreateGameResponse' {..} =+    Prelude.rnf game+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/CreateSnapshot.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.GamesParks.CreateSnapshot+-- 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 snapshot of the game configuration.+module Amazonka.GamesParks.CreateSnapshot+  ( -- * Creating a Request+    CreateSnapshot (..),+    newCreateSnapshot,++    -- * Request Lenses+    createSnapshot_description,+    createSnapshot_gameName,++    -- * Destructuring the Response+    CreateSnapshotResponse (..),+    newCreateSnapshotResponse,++    -- * Response Lenses+    createSnapshotResponse_snapshot,+    createSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSnapshot' smart constructor.+data CreateSnapshot = CreateSnapshot'+  { -- | The description of the snapshot.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createSnapshot_description' - The description of the snapshot.+--+-- 'gameName', 'createSnapshot_gameName' - The name of the game.+newCreateSnapshot ::+  -- | 'gameName'+  Prelude.Text ->+  CreateSnapshot+newCreateSnapshot pGameName_ =+  CreateSnapshot'+    { description = Prelude.Nothing,+      gameName = pGameName_+    }++-- | The description of the snapshot.+createSnapshot_description :: Lens.Lens' CreateSnapshot (Prelude.Maybe Prelude.Text)+createSnapshot_description = Lens.lens (\CreateSnapshot' {description} -> description) (\s@CreateSnapshot' {} a -> s {description = a} :: CreateSnapshot)++-- | The name of the game.+createSnapshot_gameName :: Lens.Lens' CreateSnapshot Prelude.Text+createSnapshot_gameName = Lens.lens (\CreateSnapshot' {gameName} -> gameName) (\s@CreateSnapshot' {} a -> s {gameName = a} :: CreateSnapshot)++instance Core.AWSRequest CreateSnapshot where+  type+    AWSResponse CreateSnapshot =+      CreateSnapshotResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSnapshotResponse'+            Prelude.<$> (x Data..?> "Snapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSnapshot where+  hashWithSalt _salt CreateSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData CreateSnapshot where+  rnf CreateSnapshot' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders CreateSnapshot where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSnapshot where+  toJSON CreateSnapshot' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath CreateSnapshot where+  toPath CreateSnapshot' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/snapshot"]++instance Data.ToQuery CreateSnapshot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSnapshotResponse' smart constructor.+data CreateSnapshotResponse = CreateSnapshotResponse'+  { -- | Properties that provide details of the created snapshot.+    snapshot :: Prelude.Maybe SnapshotDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshot', 'createSnapshotResponse_snapshot' - Properties that provide details of the created snapshot.+--+-- 'httpStatus', 'createSnapshotResponse_httpStatus' - The response's http status code.+newCreateSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSnapshotResponse+newCreateSnapshotResponse pHttpStatus_ =+  CreateSnapshotResponse'+    { snapshot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the created snapshot.+createSnapshotResponse_snapshot :: Lens.Lens' CreateSnapshotResponse (Prelude.Maybe SnapshotDetails)+createSnapshotResponse_snapshot = Lens.lens (\CreateSnapshotResponse' {snapshot} -> snapshot) (\s@CreateSnapshotResponse' {} a -> s {snapshot = a} :: CreateSnapshotResponse)++-- | The response's http status code.+createSnapshotResponse_httpStatus :: Lens.Lens' CreateSnapshotResponse Prelude.Int+createSnapshotResponse_httpStatus = Lens.lens (\CreateSnapshotResponse' {httpStatus} -> httpStatus) (\s@CreateSnapshotResponse' {} a -> s {httpStatus = a} :: CreateSnapshotResponse)++instance Prelude.NFData CreateSnapshotResponse where+  rnf CreateSnapshotResponse' {..} =+    Prelude.rnf snapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/CreateStage.hs view
@@ -0,0 +1,245 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.CreateStage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new stage for stage-by-stage game development and deployment.+module Amazonka.GamesParks.CreateStage+  ( -- * Creating a Request+    CreateStage (..),+    newCreateStage,++    -- * Request Lenses+    createStage_clientToken,+    createStage_description,+    createStage_tags,+    createStage_gameName,+    createStage_role,+    createStage_stageName,++    -- * Destructuring the Response+    CreateStageResponse (..),+    newCreateStageResponse,++    -- * Response Lenses+    createStageResponse_stage,+    createStageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateStage' smart constructor.+data CreateStage = CreateStage'+  { -- | A client-defined token. With an active client token in the request, this+    -- action is idempotent.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the stage.+    description :: Prelude.Maybe Prelude.Text,+    -- | The list of tags to apply to the stage.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the role to run the game with. This+    -- role can be a game-defined role or the default role that GameSparks+    -- created.+    role' :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createStage_clientToken' - A client-defined token. With an active client token in the request, this+-- action is idempotent.+--+-- 'description', 'createStage_description' - The description of the stage.+--+-- 'tags', 'createStage_tags' - The list of tags to apply to the stage.+--+-- 'gameName', 'createStage_gameName' - The name of the game.+--+-- 'role'', 'createStage_role' - The Amazon Resource Name (ARN) of the role to run the game with. This+-- role can be a game-defined role or the default role that GameSparks+-- created.+--+-- 'stageName', 'createStage_stageName' - The name of the stage.+newCreateStage ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'role''+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  CreateStage+newCreateStage pGameName_ pRole_ pStageName_ =+  CreateStage'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      gameName = pGameName_,+      role' = pRole_,+      stageName = pStageName_+    }++-- | A client-defined token. With an active client token in the request, this+-- action is idempotent.+createStage_clientToken :: Lens.Lens' CreateStage (Prelude.Maybe Prelude.Text)+createStage_clientToken = Lens.lens (\CreateStage' {clientToken} -> clientToken) (\s@CreateStage' {} a -> s {clientToken = a} :: CreateStage)++-- | The description of the stage.+createStage_description :: Lens.Lens' CreateStage (Prelude.Maybe Prelude.Text)+createStage_description = Lens.lens (\CreateStage' {description} -> description) (\s@CreateStage' {} a -> s {description = a} :: CreateStage)++-- | The list of tags to apply to the stage.+createStage_tags :: Lens.Lens' CreateStage (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createStage_tags = Lens.lens (\CreateStage' {tags} -> tags) (\s@CreateStage' {} a -> s {tags = a} :: CreateStage) Prelude.. Lens.mapping Lens.coerced++-- | The name of the game.+createStage_gameName :: Lens.Lens' CreateStage Prelude.Text+createStage_gameName = Lens.lens (\CreateStage' {gameName} -> gameName) (\s@CreateStage' {} a -> s {gameName = a} :: CreateStage)++-- | The Amazon Resource Name (ARN) of the role to run the game with. This+-- role can be a game-defined role or the default role that GameSparks+-- created.+createStage_role :: Lens.Lens' CreateStage Prelude.Text+createStage_role = Lens.lens (\CreateStage' {role'} -> role') (\s@CreateStage' {} a -> s {role' = a} :: CreateStage)++-- | The name of the stage.+createStage_stageName :: Lens.Lens' CreateStage Prelude.Text+createStage_stageName = Lens.lens (\CreateStage' {stageName} -> stageName) (\s@CreateStage' {} a -> s {stageName = a} :: CreateStage)++instance Core.AWSRequest CreateStage where+  type AWSResponse CreateStage = CreateStageResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateStageResponse'+            Prelude.<$> (x Data..?> "Stage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateStage where+  hashWithSalt _salt CreateStage' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData CreateStage where+  rnf CreateStage' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders CreateStage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateStage where+  toJSON CreateStage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Role" Data..= role'),+            Prelude.Just ("StageName" Data..= stageName)+          ]+      )++instance Data.ToPath CreateStage where+  toPath CreateStage' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/stage"]++instance Data.ToQuery CreateStage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateStageResponse' smart constructor.+data CreateStageResponse = CreateStageResponse'+  { -- | Properties that describe the stage.+    stage :: Prelude.Maybe StageDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateStageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stage', 'createStageResponse_stage' - Properties that describe the stage.+--+-- 'httpStatus', 'createStageResponse_httpStatus' - The response's http status code.+newCreateStageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateStageResponse+newCreateStageResponse pHttpStatus_ =+  CreateStageResponse'+    { stage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that describe the stage.+createStageResponse_stage :: Lens.Lens' CreateStageResponse (Prelude.Maybe StageDetails)+createStageResponse_stage = Lens.lens (\CreateStageResponse' {stage} -> stage) (\s@CreateStageResponse' {} a -> s {stage = a} :: CreateStageResponse)++-- | The response's http status code.+createStageResponse_httpStatus :: Lens.Lens' CreateStageResponse Prelude.Int+createStageResponse_httpStatus = Lens.lens (\CreateStageResponse' {httpStatus} -> httpStatus) (\s@CreateStageResponse' {} a -> s {httpStatus = a} :: CreateStageResponse)++instance Prelude.NFData CreateStageResponse where+  rnf CreateStageResponse' {..} =+    Prelude.rnf stage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/DeleteGame.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.GamesParks.DeleteGame+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a game.+module Amazonka.GamesParks.DeleteGame+  ( -- * Creating a Request+    DeleteGame (..),+    newDeleteGame,++    -- * Request Lenses+    deleteGame_gameName,++    -- * Destructuring the Response+    DeleteGameResponse (..),+    newDeleteGameResponse,++    -- * Response Lenses+    deleteGameResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGame' smart constructor.+data DeleteGame = DeleteGame'+  { -- | The name of the game to delete.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGame' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'deleteGame_gameName' - The name of the game to delete.+newDeleteGame ::+  -- | 'gameName'+  Prelude.Text ->+  DeleteGame+newDeleteGame pGameName_ =+  DeleteGame' {gameName = pGameName_}++-- | The name of the game to delete.+deleteGame_gameName :: Lens.Lens' DeleteGame Prelude.Text+deleteGame_gameName = Lens.lens (\DeleteGame' {gameName} -> gameName) (\s@DeleteGame' {} a -> s {gameName = a} :: DeleteGame)++instance Core.AWSRequest DeleteGame where+  type AWSResponse DeleteGame = DeleteGameResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteGameResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGame where+  hashWithSalt _salt DeleteGame' {..} =+    _salt `Prelude.hashWithSalt` gameName++instance Prelude.NFData DeleteGame where+  rnf DeleteGame' {..} = Prelude.rnf gameName++instance Data.ToHeaders DeleteGame where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteGame where+  toPath DeleteGame' {..} =+    Prelude.mconcat ["/game/", Data.toBS gameName]++instance Data.ToQuery DeleteGame where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGameResponse' smart constructor.+data DeleteGameResponse = DeleteGameResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGameResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteGameResponse_httpStatus' - The response's http status code.+newDeleteGameResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteGameResponse+newDeleteGameResponse pHttpStatus_ =+  DeleteGameResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteGameResponse_httpStatus :: Lens.Lens' DeleteGameResponse Prelude.Int+deleteGameResponse_httpStatus = Lens.lens (\DeleteGameResponse' {httpStatus} -> httpStatus) (\s@DeleteGameResponse' {} a -> s {httpStatus = a} :: DeleteGameResponse)++instance Prelude.NFData DeleteGameResponse where+  rnf DeleteGameResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/DeleteStage.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.GamesParks.DeleteStage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a stage from a game, along with the associated game runtime.+module Amazonka.GamesParks.DeleteStage+  ( -- * Creating a Request+    DeleteStage (..),+    newDeleteStage,++    -- * Request Lenses+    deleteStage_gameName,+    deleteStage_stageName,++    -- * Destructuring the Response+    DeleteStageResponse (..),+    newDeleteStageResponse,++    -- * Response Lenses+    deleteStageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteStage' smart constructor.+data DeleteStage = DeleteStage'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The name of the stage to delete.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'deleteStage_gameName' - The name of the game.+--+-- 'stageName', 'deleteStage_stageName' - The name of the stage to delete.+newDeleteStage ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  DeleteStage+newDeleteStage pGameName_ pStageName_ =+  DeleteStage'+    { gameName = pGameName_,+      stageName = pStageName_+    }++-- | The name of the game.+deleteStage_gameName :: Lens.Lens' DeleteStage Prelude.Text+deleteStage_gameName = Lens.lens (\DeleteStage' {gameName} -> gameName) (\s@DeleteStage' {} a -> s {gameName = a} :: DeleteStage)++-- | The name of the stage to delete.+deleteStage_stageName :: Lens.Lens' DeleteStage Prelude.Text+deleteStage_stageName = Lens.lens (\DeleteStage' {stageName} -> stageName) (\s@DeleteStage' {} a -> s {stageName = a} :: DeleteStage)++instance Core.AWSRequest DeleteStage where+  type AWSResponse DeleteStage = DeleteStageResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteStageResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteStage where+  hashWithSalt _salt DeleteStage' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData DeleteStage where+  rnf DeleteStage' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders DeleteStage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteStage where+  toPath DeleteStage' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName+      ]++instance Data.ToQuery DeleteStage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteStageResponse' smart constructor.+data DeleteStageResponse = DeleteStageResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteStageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteStageResponse_httpStatus' - The response's http status code.+newDeleteStageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteStageResponse+newDeleteStageResponse pHttpStatus_ =+  DeleteStageResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteStageResponse_httpStatus :: Lens.Lens' DeleteStageResponse Prelude.Int+deleteStageResponse_httpStatus = Lens.lens (\DeleteStageResponse' {httpStatus} -> httpStatus) (\s@DeleteStageResponse' {} a -> s {httpStatus = a} :: DeleteStageResponse)++instance Prelude.NFData DeleteStageResponse where+  rnf DeleteStageResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/DisconnectPlayer.hs view
@@ -0,0 +1,222 @@+{-# 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.GamesParks.DisconnectPlayer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disconnects a player from the game runtime.+--+-- If a player has multiple connections, this operation attempts to close+-- all of them.+module Amazonka.GamesParks.DisconnectPlayer+  ( -- * Creating a Request+    DisconnectPlayer (..),+    newDisconnectPlayer,++    -- * Request Lenses+    disconnectPlayer_gameName,+    disconnectPlayer_playerId,+    disconnectPlayer_stageName,++    -- * Destructuring the Response+    DisconnectPlayerResponse (..),+    newDisconnectPlayerResponse,++    -- * Response Lenses+    disconnectPlayerResponse_disconnectFailures,+    disconnectPlayerResponse_disconnectSuccesses,+    disconnectPlayerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisconnectPlayer' smart constructor.+data DisconnectPlayer = DisconnectPlayer'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The unique identifier representing a player.+    playerId :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisconnectPlayer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'disconnectPlayer_gameName' - The name of the game.+--+-- 'playerId', 'disconnectPlayer_playerId' - The unique identifier representing a player.+--+-- 'stageName', 'disconnectPlayer_stageName' - The name of the stage.+newDisconnectPlayer ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'playerId'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  DisconnectPlayer+newDisconnectPlayer pGameName_ pPlayerId_ pStageName_ =+  DisconnectPlayer'+    { gameName = pGameName_,+      playerId = pPlayerId_,+      stageName = pStageName_+    }++-- | The name of the game.+disconnectPlayer_gameName :: Lens.Lens' DisconnectPlayer Prelude.Text+disconnectPlayer_gameName = Lens.lens (\DisconnectPlayer' {gameName} -> gameName) (\s@DisconnectPlayer' {} a -> s {gameName = a} :: DisconnectPlayer)++-- | The unique identifier representing a player.+disconnectPlayer_playerId :: Lens.Lens' DisconnectPlayer Prelude.Text+disconnectPlayer_playerId = Lens.lens (\DisconnectPlayer' {playerId} -> playerId) (\s@DisconnectPlayer' {} a -> s {playerId = a} :: DisconnectPlayer)++-- | The name of the stage.+disconnectPlayer_stageName :: Lens.Lens' DisconnectPlayer Prelude.Text+disconnectPlayer_stageName = Lens.lens (\DisconnectPlayer' {stageName} -> stageName) (\s@DisconnectPlayer' {} a -> s {stageName = a} :: DisconnectPlayer)++instance Core.AWSRequest DisconnectPlayer where+  type+    AWSResponse DisconnectPlayer =+      DisconnectPlayerResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisconnectPlayerResponse'+            Prelude.<$> ( x+                            Data..?> "DisconnectFailures"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..?> "DisconnectSuccesses"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisconnectPlayer where+  hashWithSalt _salt DisconnectPlayer' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` playerId+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData DisconnectPlayer where+  rnf DisconnectPlayer' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf playerId+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders DisconnectPlayer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DisconnectPlayer where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DisconnectPlayer where+  toPath DisconnectPlayer' {..} =+    Prelude.mconcat+      [ "/runtime/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName,+        "/player/",+        Data.toBS playerId,+        "/disconnect"+      ]++instance Data.ToQuery DisconnectPlayer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisconnectPlayerResponse' smart constructor.+data DisconnectPlayerResponse = DisconnectPlayerResponse'+  { -- | The list of the connection ids that could not be disconnected.+    disconnectFailures :: Prelude.Maybe [Prelude.Text],+    -- | The list of the connection ids that were disconnected.+    disconnectSuccesses :: 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 'DisconnectPlayerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disconnectFailures', 'disconnectPlayerResponse_disconnectFailures' - The list of the connection ids that could not be disconnected.+--+-- 'disconnectSuccesses', 'disconnectPlayerResponse_disconnectSuccesses' - The list of the connection ids that were disconnected.+--+-- 'httpStatus', 'disconnectPlayerResponse_httpStatus' - The response's http status code.+newDisconnectPlayerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisconnectPlayerResponse+newDisconnectPlayerResponse pHttpStatus_ =+  DisconnectPlayerResponse'+    { disconnectFailures =+        Prelude.Nothing,+      disconnectSuccesses = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of the connection ids that could not be disconnected.+disconnectPlayerResponse_disconnectFailures :: Lens.Lens' DisconnectPlayerResponse (Prelude.Maybe [Prelude.Text])+disconnectPlayerResponse_disconnectFailures = Lens.lens (\DisconnectPlayerResponse' {disconnectFailures} -> disconnectFailures) (\s@DisconnectPlayerResponse' {} a -> s {disconnectFailures = a} :: DisconnectPlayerResponse) Prelude.. Lens.mapping Lens.coerced++-- | The list of the connection ids that were disconnected.+disconnectPlayerResponse_disconnectSuccesses :: Lens.Lens' DisconnectPlayerResponse (Prelude.Maybe [Prelude.Text])+disconnectPlayerResponse_disconnectSuccesses = Lens.lens (\DisconnectPlayerResponse' {disconnectSuccesses} -> disconnectSuccesses) (\s@DisconnectPlayerResponse' {} a -> s {disconnectSuccesses = a} :: DisconnectPlayerResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+disconnectPlayerResponse_httpStatus :: Lens.Lens' DisconnectPlayerResponse Prelude.Int+disconnectPlayerResponse_httpStatus = Lens.lens (\DisconnectPlayerResponse' {httpStatus} -> httpStatus) (\s@DisconnectPlayerResponse' {} a -> s {httpStatus = a} :: DisconnectPlayerResponse)++instance Prelude.NFData DisconnectPlayerResponse where+  rnf DisconnectPlayerResponse' {..} =+    Prelude.rnf disconnectFailures+      `Prelude.seq` Prelude.rnf disconnectSuccesses+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ExportSnapshot.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.ExportSnapshot+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Exports a game configuration snapshot.+module Amazonka.GamesParks.ExportSnapshot+  ( -- * Creating a Request+    ExportSnapshot (..),+    newExportSnapshot,++    -- * Request Lenses+    exportSnapshot_gameName,+    exportSnapshot_snapshotId,++    -- * Destructuring the Response+    ExportSnapshotResponse (..),+    newExportSnapshotResponse,++    -- * Response Lenses+    exportSnapshotResponse_s3Url,+    exportSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newExportSnapshot' smart constructor.+data ExportSnapshot = ExportSnapshot'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the snapshot to export.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExportSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'exportSnapshot_gameName' - The name of the game.+--+-- 'snapshotId', 'exportSnapshot_snapshotId' - The identifier of the snapshot to export.+newExportSnapshot ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  ExportSnapshot+newExportSnapshot pGameName_ pSnapshotId_ =+  ExportSnapshot'+    { gameName = pGameName_,+      snapshotId = pSnapshotId_+    }++-- | The name of the game.+exportSnapshot_gameName :: Lens.Lens' ExportSnapshot Prelude.Text+exportSnapshot_gameName = Lens.lens (\ExportSnapshot' {gameName} -> gameName) (\s@ExportSnapshot' {} a -> s {gameName = a} :: ExportSnapshot)++-- | The identifier of the snapshot to export.+exportSnapshot_snapshotId :: Lens.Lens' ExportSnapshot Prelude.Text+exportSnapshot_snapshotId = Lens.lens (\ExportSnapshot' {snapshotId} -> snapshotId) (\s@ExportSnapshot' {} a -> s {snapshotId = a} :: ExportSnapshot)++instance Core.AWSRequest ExportSnapshot where+  type+    AWSResponse ExportSnapshot =+      ExportSnapshotResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ExportSnapshotResponse'+            Prelude.<$> (x Data..?> "S3Url")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ExportSnapshot where+  hashWithSalt _salt ExportSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData ExportSnapshot where+  rnf ExportSnapshot' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders ExportSnapshot where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ExportSnapshot where+  toPath ExportSnapshot' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId,+        "/export"+      ]++instance Data.ToQuery ExportSnapshot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExportSnapshotResponse' smart constructor.+data ExportSnapshotResponse = ExportSnapshotResponse'+  { -- | The presigned URL for the snapshot data.+    --+    -- This URL will be available for 10 minutes, and can be used to download+    -- the snapshot content. If the URL expires, a new one can be requested+    -- using the same operation.+    s3Url :: 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 'ExportSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3Url', 'exportSnapshotResponse_s3Url' - The presigned URL for the snapshot data.+--+-- This URL will be available for 10 minutes, and can be used to download+-- the snapshot content. If the URL expires, a new one can be requested+-- using the same operation.+--+-- 'httpStatus', 'exportSnapshotResponse_httpStatus' - The response's http status code.+newExportSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ExportSnapshotResponse+newExportSnapshotResponse pHttpStatus_ =+  ExportSnapshotResponse'+    { s3Url = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The presigned URL for the snapshot data.+--+-- This URL will be available for 10 minutes, and can be used to download+-- the snapshot content. If the URL expires, a new one can be requested+-- using the same operation.+exportSnapshotResponse_s3Url :: Lens.Lens' ExportSnapshotResponse (Prelude.Maybe Prelude.Text)+exportSnapshotResponse_s3Url = Lens.lens (\ExportSnapshotResponse' {s3Url} -> s3Url) (\s@ExportSnapshotResponse' {} a -> s {s3Url = a} :: ExportSnapshotResponse)++-- | The response's http status code.+exportSnapshotResponse_httpStatus :: Lens.Lens' ExportSnapshotResponse Prelude.Int+exportSnapshotResponse_httpStatus = Lens.lens (\ExportSnapshotResponse' {httpStatus} -> httpStatus) (\s@ExportSnapshotResponse' {} a -> s {httpStatus = a} :: ExportSnapshotResponse)++instance Prelude.NFData ExportSnapshotResponse where+  rnf ExportSnapshotResponse' {..} =+    Prelude.rnf s3Url+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetExtension.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.GetExtension+-- 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 details about a specified extension.+module Amazonka.GamesParks.GetExtension+  ( -- * Creating a Request+    GetExtension (..),+    newGetExtension,++    -- * Request Lenses+    getExtension_name,+    getExtension_namespace,++    -- * Destructuring the Response+    GetExtensionResponse (..),+    newGetExtensionResponse,++    -- * Response Lenses+    getExtensionResponse_extension,+    getExtensionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetExtension' smart constructor.+data GetExtension = GetExtension'+  { -- | The name of the extension.+    name :: Prelude.Text,+    -- | The namespace (qualifier) of the extension.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtension' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'getExtension_name' - The name of the extension.+--+-- 'namespace', 'getExtension_namespace' - The namespace (qualifier) of the extension.+newGetExtension ::+  -- | 'name'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  GetExtension+newGetExtension pName_ pNamespace_ =+  GetExtension'+    { name = pName_,+      namespace = pNamespace_+    }++-- | The name of the extension.+getExtension_name :: Lens.Lens' GetExtension Prelude.Text+getExtension_name = Lens.lens (\GetExtension' {name} -> name) (\s@GetExtension' {} a -> s {name = a} :: GetExtension)++-- | The namespace (qualifier) of the extension.+getExtension_namespace :: Lens.Lens' GetExtension Prelude.Text+getExtension_namespace = Lens.lens (\GetExtension' {namespace} -> namespace) (\s@GetExtension' {} a -> s {namespace = a} :: GetExtension)++instance Core.AWSRequest GetExtension where+  type AWSResponse GetExtension = GetExtensionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetExtensionResponse'+            Prelude.<$> (x Data..?> "Extension")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetExtension where+  hashWithSalt _salt GetExtension' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData GetExtension where+  rnf GetExtension' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders GetExtension where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetExtension where+  toPath GetExtension' {..} =+    Prelude.mconcat+      [ "/extension/",+        Data.toBS namespace,+        "/",+        Data.toBS name+      ]++instance Data.ToQuery GetExtension where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetExtensionResponse' smart constructor.+data GetExtensionResponse = GetExtensionResponse'+  { -- | Details about the extension.+    extension :: Prelude.Maybe ExtensionDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtensionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extension', 'getExtensionResponse_extension' - Details about the extension.+--+-- 'httpStatus', 'getExtensionResponse_httpStatus' - The response's http status code.+newGetExtensionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetExtensionResponse+newGetExtensionResponse pHttpStatus_ =+  GetExtensionResponse'+    { extension = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the extension.+getExtensionResponse_extension :: Lens.Lens' GetExtensionResponse (Prelude.Maybe ExtensionDetails)+getExtensionResponse_extension = Lens.lens (\GetExtensionResponse' {extension} -> extension) (\s@GetExtensionResponse' {} a -> s {extension = a} :: GetExtensionResponse)++-- | The response's http status code.+getExtensionResponse_httpStatus :: Lens.Lens' GetExtensionResponse Prelude.Int+getExtensionResponse_httpStatus = Lens.lens (\GetExtensionResponse' {httpStatus} -> httpStatus) (\s@GetExtensionResponse' {} a -> s {httpStatus = a} :: GetExtensionResponse)++instance Prelude.NFData GetExtensionResponse where+  rnf GetExtensionResponse' {..} =+    Prelude.rnf extension+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetExtensionVersion.hs view
@@ -0,0 +1,201 @@+{-# 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.GamesParks.GetExtensionVersion+-- 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 details about a specified extension version.+module Amazonka.GamesParks.GetExtensionVersion+  ( -- * Creating a Request+    GetExtensionVersion (..),+    newGetExtensionVersion,++    -- * Request Lenses+    getExtensionVersion_extensionVersion,+    getExtensionVersion_name,+    getExtensionVersion_namespace,++    -- * Destructuring the Response+    GetExtensionVersionResponse (..),+    newGetExtensionVersionResponse,++    -- * Response Lenses+    getExtensionVersionResponse_extensionVersion,+    getExtensionVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetExtensionVersion' smart constructor.+data GetExtensionVersion = GetExtensionVersion'+  { -- | The version of the extension.+    extensionVersion :: Prelude.Text,+    -- | The name of the extension.+    name :: Prelude.Text,+    -- | The namespace (qualifier) of the extension.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtensionVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionVersion', 'getExtensionVersion_extensionVersion' - The version of the extension.+--+-- 'name', 'getExtensionVersion_name' - The name of the extension.+--+-- 'namespace', 'getExtensionVersion_namespace' - The namespace (qualifier) of the extension.+newGetExtensionVersion ::+  -- | 'extensionVersion'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  GetExtensionVersion+newGetExtensionVersion+  pExtensionVersion_+  pName_+  pNamespace_ =+    GetExtensionVersion'+      { extensionVersion =+          pExtensionVersion_,+        name = pName_,+        namespace = pNamespace_+      }++-- | The version of the extension.+getExtensionVersion_extensionVersion :: Lens.Lens' GetExtensionVersion Prelude.Text+getExtensionVersion_extensionVersion = Lens.lens (\GetExtensionVersion' {extensionVersion} -> extensionVersion) (\s@GetExtensionVersion' {} a -> s {extensionVersion = a} :: GetExtensionVersion)++-- | The name of the extension.+getExtensionVersion_name :: Lens.Lens' GetExtensionVersion Prelude.Text+getExtensionVersion_name = Lens.lens (\GetExtensionVersion' {name} -> name) (\s@GetExtensionVersion' {} a -> s {name = a} :: GetExtensionVersion)++-- | The namespace (qualifier) of the extension.+getExtensionVersion_namespace :: Lens.Lens' GetExtensionVersion Prelude.Text+getExtensionVersion_namespace = Lens.lens (\GetExtensionVersion' {namespace} -> namespace) (\s@GetExtensionVersion' {} a -> s {namespace = a} :: GetExtensionVersion)++instance Core.AWSRequest GetExtensionVersion where+  type+    AWSResponse GetExtensionVersion =+      GetExtensionVersionResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetExtensionVersionResponse'+            Prelude.<$> (x Data..?> "ExtensionVersion")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetExtensionVersion where+  hashWithSalt _salt GetExtensionVersion' {..} =+    _salt+      `Prelude.hashWithSalt` extensionVersion+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData GetExtensionVersion where+  rnf GetExtensionVersion' {..} =+    Prelude.rnf extensionVersion+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders GetExtensionVersion where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetExtensionVersion where+  toPath GetExtensionVersion' {..} =+    Prelude.mconcat+      [ "/extension/",+        Data.toBS namespace,+        "/",+        Data.toBS name,+        "/version/",+        Data.toBS extensionVersion+      ]++instance Data.ToQuery GetExtensionVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetExtensionVersionResponse' smart constructor.+data GetExtensionVersionResponse = GetExtensionVersionResponse'+  { -- | The version of the extension.+    extensionVersion :: Prelude.Maybe ExtensionVersionDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetExtensionVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionVersion', 'getExtensionVersionResponse_extensionVersion' - The version of the extension.+--+-- 'httpStatus', 'getExtensionVersionResponse_httpStatus' - The response's http status code.+newGetExtensionVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetExtensionVersionResponse+newGetExtensionVersionResponse pHttpStatus_ =+  GetExtensionVersionResponse'+    { extensionVersion =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The version of the extension.+getExtensionVersionResponse_extensionVersion :: Lens.Lens' GetExtensionVersionResponse (Prelude.Maybe ExtensionVersionDetails)+getExtensionVersionResponse_extensionVersion = Lens.lens (\GetExtensionVersionResponse' {extensionVersion} -> extensionVersion) (\s@GetExtensionVersionResponse' {} a -> s {extensionVersion = a} :: GetExtensionVersionResponse)++-- | The response's http status code.+getExtensionVersionResponse_httpStatus :: Lens.Lens' GetExtensionVersionResponse Prelude.Int+getExtensionVersionResponse_httpStatus = Lens.lens (\GetExtensionVersionResponse' {httpStatus} -> httpStatus) (\s@GetExtensionVersionResponse' {} a -> s {httpStatus = a} :: GetExtensionVersionResponse)++instance Prelude.NFData GetExtensionVersionResponse where+  rnf GetExtensionVersionResponse' {..} =+    Prelude.rnf extensionVersion+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetGame.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.GetGame+-- 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 details about a game.+module Amazonka.GamesParks.GetGame+  ( -- * Creating a Request+    GetGame (..),+    newGetGame,++    -- * Request Lenses+    getGame_gameName,++    -- * Destructuring the Response+    GetGameResponse (..),+    newGetGameResponse,++    -- * Response Lenses+    getGameResponse_game,+    getGameResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGame' smart constructor.+data GetGame = GetGame'+  { -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGame' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'getGame_gameName' - The name of the game.+newGetGame ::+  -- | 'gameName'+  Prelude.Text ->+  GetGame+newGetGame pGameName_ =+  GetGame' {gameName = pGameName_}++-- | The name of the game.+getGame_gameName :: Lens.Lens' GetGame Prelude.Text+getGame_gameName = Lens.lens (\GetGame' {gameName} -> gameName) (\s@GetGame' {} a -> s {gameName = a} :: GetGame)++instance Core.AWSRequest GetGame where+  type AWSResponse GetGame = GetGameResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetGameResponse'+            Prelude.<$> (x Data..?> "Game")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetGame where+  hashWithSalt _salt GetGame' {..} =+    _salt `Prelude.hashWithSalt` gameName++instance Prelude.NFData GetGame where+  rnf GetGame' {..} = Prelude.rnf gameName++instance Data.ToHeaders GetGame where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetGame where+  toPath GetGame' {..} =+    Prelude.mconcat ["/game/", Data.toBS gameName]++instance Data.ToQuery GetGame where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGameResponse' smart constructor.+data GetGameResponse = GetGameResponse'+  { -- | The details of the game.+    game :: Prelude.Maybe GameDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGameResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'game', 'getGameResponse_game' - The details of the game.+--+-- 'httpStatus', 'getGameResponse_httpStatus' - The response's http status code.+newGetGameResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetGameResponse+newGetGameResponse pHttpStatus_ =+  GetGameResponse'+    { game = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the game.+getGameResponse_game :: Lens.Lens' GetGameResponse (Prelude.Maybe GameDetails)+getGameResponse_game = Lens.lens (\GetGameResponse' {game} -> game) (\s@GetGameResponse' {} a -> s {game = a} :: GetGameResponse)++-- | The response's http status code.+getGameResponse_httpStatus :: Lens.Lens' GetGameResponse Prelude.Int+getGameResponse_httpStatus = Lens.lens (\GetGameResponse' {httpStatus} -> httpStatus) (\s@GetGameResponse' {} a -> s {httpStatus = a} :: GetGameResponse)++instance Prelude.NFData GetGameResponse where+  rnf GetGameResponse' {..} =+    Prelude.rnf game+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetGameConfiguration.hs view
@@ -0,0 +1,180 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.GetGameConfiguration+-- 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 configuration of the game.+module Amazonka.GamesParks.GetGameConfiguration+  ( -- * Creating a Request+    GetGameConfiguration (..),+    newGetGameConfiguration,++    -- * Request Lenses+    getGameConfiguration_sections,+    getGameConfiguration_gameName,++    -- * Destructuring the Response+    GetGameConfigurationResponse (..),+    newGetGameConfigurationResponse,++    -- * Response Lenses+    getGameConfigurationResponse_gameConfiguration,+    getGameConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGameConfiguration' smart constructor.+data GetGameConfiguration = GetGameConfiguration'+  { -- | The list of sections to return.+    sections :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGameConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sections', 'getGameConfiguration_sections' - The list of sections to return.+--+-- 'gameName', 'getGameConfiguration_gameName' - The name of the game.+newGetGameConfiguration ::+  -- | 'gameName'+  Prelude.Text ->+  GetGameConfiguration+newGetGameConfiguration pGameName_ =+  GetGameConfiguration'+    { sections = Prelude.Nothing,+      gameName = pGameName_+    }++-- | The list of sections to return.+getGameConfiguration_sections :: Lens.Lens' GetGameConfiguration (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+getGameConfiguration_sections = Lens.lens (\GetGameConfiguration' {sections} -> sections) (\s@GetGameConfiguration' {} a -> s {sections = a} :: GetGameConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The name of the game.+getGameConfiguration_gameName :: Lens.Lens' GetGameConfiguration Prelude.Text+getGameConfiguration_gameName = Lens.lens (\GetGameConfiguration' {gameName} -> gameName) (\s@GetGameConfiguration' {} a -> s {gameName = a} :: GetGameConfiguration)++instance Core.AWSRequest GetGameConfiguration where+  type+    AWSResponse GetGameConfiguration =+      GetGameConfigurationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetGameConfigurationResponse'+            Prelude.<$> (x Data..?> "GameConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetGameConfiguration where+  hashWithSalt _salt GetGameConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` sections+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData GetGameConfiguration where+  rnf GetGameConfiguration' {..} =+    Prelude.rnf sections+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders GetGameConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetGameConfiguration where+  toPath GetGameConfiguration' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/configuration"]++instance Data.ToQuery GetGameConfiguration where+  toQuery GetGameConfiguration' {..} =+    Prelude.mconcat+      [ "Sections"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> sections)+      ]++-- | /See:/ 'newGetGameConfigurationResponse' smart constructor.+data GetGameConfigurationResponse = GetGameConfigurationResponse'+  { -- | Details about the game configuration.+    gameConfiguration :: Prelude.Maybe GameConfigurationDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGameConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameConfiguration', 'getGameConfigurationResponse_gameConfiguration' - Details about the game configuration.+--+-- 'httpStatus', 'getGameConfigurationResponse_httpStatus' - The response's http status code.+newGetGameConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetGameConfigurationResponse+newGetGameConfigurationResponse pHttpStatus_ =+  GetGameConfigurationResponse'+    { gameConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the game configuration.+getGameConfigurationResponse_gameConfiguration :: Lens.Lens' GetGameConfigurationResponse (Prelude.Maybe GameConfigurationDetails)+getGameConfigurationResponse_gameConfiguration = Lens.lens (\GetGameConfigurationResponse' {gameConfiguration} -> gameConfiguration) (\s@GetGameConfigurationResponse' {} a -> s {gameConfiguration = a} :: GetGameConfigurationResponse)++-- | The response's http status code.+getGameConfigurationResponse_httpStatus :: Lens.Lens' GetGameConfigurationResponse Prelude.Int+getGameConfigurationResponse_httpStatus = Lens.lens (\GetGameConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetGameConfigurationResponse' {} a -> s {httpStatus = a} :: GetGameConfigurationResponse)++instance Prelude.NFData GetGameConfigurationResponse where+  rnf GetGameConfigurationResponse' {..} =+    Prelude.rnf gameConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetGeneratedCodeJob.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.GamesParks.GetGeneratedCodeJob+-- 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 details about a job that is generating code for a snapshot.+module Amazonka.GamesParks.GetGeneratedCodeJob+  ( -- * Creating a Request+    GetGeneratedCodeJob (..),+    newGetGeneratedCodeJob,++    -- * Request Lenses+    getGeneratedCodeJob_gameName,+    getGeneratedCodeJob_jobId,+    getGeneratedCodeJob_snapshotId,++    -- * Destructuring the Response+    GetGeneratedCodeJobResponse (..),+    newGetGeneratedCodeJobResponse,++    -- * Response Lenses+    getGeneratedCodeJobResponse_generatedCodeJob,+    getGeneratedCodeJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetGeneratedCodeJob' smart constructor.+data GetGeneratedCodeJob = GetGeneratedCodeJob'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the code generation job.+    jobId :: Prelude.Text,+    -- | The identifier of the snapshot for the code generation job.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeneratedCodeJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'getGeneratedCodeJob_gameName' - The name of the game.+--+-- 'jobId', 'getGeneratedCodeJob_jobId' - The identifier of the code generation job.+--+-- 'snapshotId', 'getGeneratedCodeJob_snapshotId' - The identifier of the snapshot for the code generation job.+newGetGeneratedCodeJob ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'jobId'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  GetGeneratedCodeJob+newGetGeneratedCodeJob+  pGameName_+  pJobId_+  pSnapshotId_ =+    GetGeneratedCodeJob'+      { gameName = pGameName_,+        jobId = pJobId_,+        snapshotId = pSnapshotId_+      }++-- | The name of the game.+getGeneratedCodeJob_gameName :: Lens.Lens' GetGeneratedCodeJob Prelude.Text+getGeneratedCodeJob_gameName = Lens.lens (\GetGeneratedCodeJob' {gameName} -> gameName) (\s@GetGeneratedCodeJob' {} a -> s {gameName = a} :: GetGeneratedCodeJob)++-- | The identifier of the code generation job.+getGeneratedCodeJob_jobId :: Lens.Lens' GetGeneratedCodeJob Prelude.Text+getGeneratedCodeJob_jobId = Lens.lens (\GetGeneratedCodeJob' {jobId} -> jobId) (\s@GetGeneratedCodeJob' {} a -> s {jobId = a} :: GetGeneratedCodeJob)++-- | The identifier of the snapshot for the code generation job.+getGeneratedCodeJob_snapshotId :: Lens.Lens' GetGeneratedCodeJob Prelude.Text+getGeneratedCodeJob_snapshotId = Lens.lens (\GetGeneratedCodeJob' {snapshotId} -> snapshotId) (\s@GetGeneratedCodeJob' {} a -> s {snapshotId = a} :: GetGeneratedCodeJob)++instance Core.AWSRequest GetGeneratedCodeJob where+  type+    AWSResponse GetGeneratedCodeJob =+      GetGeneratedCodeJobResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetGeneratedCodeJobResponse'+            Prelude.<$> (x Data..?> "GeneratedCodeJob")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetGeneratedCodeJob where+  hashWithSalt _salt GetGeneratedCodeJob' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` jobId+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData GetGeneratedCodeJob where+  rnf GetGeneratedCodeJob' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf jobId+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders GetGeneratedCodeJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetGeneratedCodeJob where+  toPath GetGeneratedCodeJob' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId,+        "/generated-sdk-code-job/",+        Data.toBS jobId+      ]++instance Data.ToQuery GetGeneratedCodeJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetGeneratedCodeJobResponse' smart constructor.+data GetGeneratedCodeJobResponse = GetGeneratedCodeJobResponse'+  { -- | Details about the generated code job.+    generatedCodeJob :: Prelude.Maybe GeneratedCodeJobDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetGeneratedCodeJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'generatedCodeJob', 'getGeneratedCodeJobResponse_generatedCodeJob' - Details about the generated code job.+--+-- 'httpStatus', 'getGeneratedCodeJobResponse_httpStatus' - The response's http status code.+newGetGeneratedCodeJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetGeneratedCodeJobResponse+newGetGeneratedCodeJobResponse pHttpStatus_ =+  GetGeneratedCodeJobResponse'+    { generatedCodeJob =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the generated code job.+getGeneratedCodeJobResponse_generatedCodeJob :: Lens.Lens' GetGeneratedCodeJobResponse (Prelude.Maybe GeneratedCodeJobDetails)+getGeneratedCodeJobResponse_generatedCodeJob = Lens.lens (\GetGeneratedCodeJobResponse' {generatedCodeJob} -> generatedCodeJob) (\s@GetGeneratedCodeJobResponse' {} a -> s {generatedCodeJob = a} :: GetGeneratedCodeJobResponse)++-- | The response's http status code.+getGeneratedCodeJobResponse_httpStatus :: Lens.Lens' GetGeneratedCodeJobResponse Prelude.Int+getGeneratedCodeJobResponse_httpStatus = Lens.lens (\GetGeneratedCodeJobResponse' {httpStatus} -> httpStatus) (\s@GetGeneratedCodeJobResponse' {} a -> s {httpStatus = a} :: GetGeneratedCodeJobResponse)++instance Prelude.NFData GetGeneratedCodeJobResponse where+  rnf GetGeneratedCodeJobResponse' {..} =+    Prelude.rnf generatedCodeJob+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetPlayerConnectionStatus.hs view
@@ -0,0 +1,211 @@+{-# 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.GamesParks.GetPlayerConnectionStatus+-- 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 status of a player\'s connection to the game runtime.+--+-- It\'s possible for a single player to have multiple connections to the+-- game runtime. If a player is not connected, this operation returns an+-- empty list.+module Amazonka.GamesParks.GetPlayerConnectionStatus+  ( -- * Creating a Request+    GetPlayerConnectionStatus (..),+    newGetPlayerConnectionStatus,++    -- * Request Lenses+    getPlayerConnectionStatus_gameName,+    getPlayerConnectionStatus_playerId,+    getPlayerConnectionStatus_stageName,++    -- * Destructuring the Response+    GetPlayerConnectionStatusResponse (..),+    newGetPlayerConnectionStatusResponse,++    -- * Response Lenses+    getPlayerConnectionStatusResponse_connections,+    getPlayerConnectionStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPlayerConnectionStatus' smart constructor.+data GetPlayerConnectionStatus = GetPlayerConnectionStatus'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The unique identifier representing a player.+    playerId :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPlayerConnectionStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'getPlayerConnectionStatus_gameName' - The name of the game.+--+-- 'playerId', 'getPlayerConnectionStatus_playerId' - The unique identifier representing a player.+--+-- 'stageName', 'getPlayerConnectionStatus_stageName' - The name of the stage.+newGetPlayerConnectionStatus ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'playerId'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  GetPlayerConnectionStatus+newGetPlayerConnectionStatus+  pGameName_+  pPlayerId_+  pStageName_ =+    GetPlayerConnectionStatus'+      { gameName = pGameName_,+        playerId = pPlayerId_,+        stageName = pStageName_+      }++-- | The name of the game.+getPlayerConnectionStatus_gameName :: Lens.Lens' GetPlayerConnectionStatus Prelude.Text+getPlayerConnectionStatus_gameName = Lens.lens (\GetPlayerConnectionStatus' {gameName} -> gameName) (\s@GetPlayerConnectionStatus' {} a -> s {gameName = a} :: GetPlayerConnectionStatus)++-- | The unique identifier representing a player.+getPlayerConnectionStatus_playerId :: Lens.Lens' GetPlayerConnectionStatus Prelude.Text+getPlayerConnectionStatus_playerId = Lens.lens (\GetPlayerConnectionStatus' {playerId} -> playerId) (\s@GetPlayerConnectionStatus' {} a -> s {playerId = a} :: GetPlayerConnectionStatus)++-- | The name of the stage.+getPlayerConnectionStatus_stageName :: Lens.Lens' GetPlayerConnectionStatus Prelude.Text+getPlayerConnectionStatus_stageName = Lens.lens (\GetPlayerConnectionStatus' {stageName} -> stageName) (\s@GetPlayerConnectionStatus' {} a -> s {stageName = a} :: GetPlayerConnectionStatus)++instance Core.AWSRequest GetPlayerConnectionStatus where+  type+    AWSResponse GetPlayerConnectionStatus =+      GetPlayerConnectionStatusResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetPlayerConnectionStatusResponse'+            Prelude.<$> (x Data..?> "Connections" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPlayerConnectionStatus where+  hashWithSalt _salt GetPlayerConnectionStatus' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` playerId+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData GetPlayerConnectionStatus where+  rnf GetPlayerConnectionStatus' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf playerId+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders GetPlayerConnectionStatus where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetPlayerConnectionStatus where+  toPath GetPlayerConnectionStatus' {..} =+    Prelude.mconcat+      [ "/runtime/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName,+        "/player/",+        Data.toBS playerId,+        "/connection"+      ]++instance Data.ToQuery GetPlayerConnectionStatus where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPlayerConnectionStatusResponse' smart constructor.+data GetPlayerConnectionStatusResponse = GetPlayerConnectionStatusResponse'+  { -- | The list of connection ids, one for each connection in use by the+    -- player.+    connections :: Prelude.Maybe [Connection],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPlayerConnectionStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connections', 'getPlayerConnectionStatusResponse_connections' - The list of connection ids, one for each connection in use by the+-- player.+--+-- 'httpStatus', 'getPlayerConnectionStatusResponse_httpStatus' - The response's http status code.+newGetPlayerConnectionStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPlayerConnectionStatusResponse+newGetPlayerConnectionStatusResponse pHttpStatus_ =+  GetPlayerConnectionStatusResponse'+    { connections =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of connection ids, one for each connection in use by the+-- player.+getPlayerConnectionStatusResponse_connections :: Lens.Lens' GetPlayerConnectionStatusResponse (Prelude.Maybe [Connection])+getPlayerConnectionStatusResponse_connections = Lens.lens (\GetPlayerConnectionStatusResponse' {connections} -> connections) (\s@GetPlayerConnectionStatusResponse' {} a -> s {connections = a} :: GetPlayerConnectionStatusResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getPlayerConnectionStatusResponse_httpStatus :: Lens.Lens' GetPlayerConnectionStatusResponse Prelude.Int+getPlayerConnectionStatusResponse_httpStatus = Lens.lens (\GetPlayerConnectionStatusResponse' {httpStatus} -> httpStatus) (\s@GetPlayerConnectionStatusResponse' {} a -> s {httpStatus = a} :: GetPlayerConnectionStatusResponse)++instance+  Prelude.NFData+    GetPlayerConnectionStatusResponse+  where+  rnf GetPlayerConnectionStatusResponse' {..} =+    Prelude.rnf connections+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetSnapshot.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.GamesParks.GetSnapshot+-- 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 a copy of the game configuration in a snapshot.+module Amazonka.GamesParks.GetSnapshot+  ( -- * Creating a Request+    GetSnapshot (..),+    newGetSnapshot,++    -- * Request Lenses+    getSnapshot_sections,+    getSnapshot_gameName,+    getSnapshot_snapshotId,++    -- * Destructuring the Response+    GetSnapshotResponse (..),+    newGetSnapshotResponse,++    -- * Response Lenses+    getSnapshotResponse_snapshot,+    getSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSnapshot' smart constructor.+data GetSnapshot = GetSnapshot'+  { -- | The list of game configuration sections to be described.+    sections :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the snapshot.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sections', 'getSnapshot_sections' - The list of game configuration sections to be described.+--+-- 'gameName', 'getSnapshot_gameName' - The name of the game.+--+-- 'snapshotId', 'getSnapshot_snapshotId' - The identifier of the snapshot.+newGetSnapshot ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  GetSnapshot+newGetSnapshot pGameName_ pSnapshotId_ =+  GetSnapshot'+    { sections = Prelude.Nothing,+      gameName = pGameName_,+      snapshotId = pSnapshotId_+    }++-- | The list of game configuration sections to be described.+getSnapshot_sections :: Lens.Lens' GetSnapshot (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+getSnapshot_sections = Lens.lens (\GetSnapshot' {sections} -> sections) (\s@GetSnapshot' {} a -> s {sections = a} :: GetSnapshot) Prelude.. Lens.mapping Lens.coerced++-- | The name of the game.+getSnapshot_gameName :: Lens.Lens' GetSnapshot Prelude.Text+getSnapshot_gameName = Lens.lens (\GetSnapshot' {gameName} -> gameName) (\s@GetSnapshot' {} a -> s {gameName = a} :: GetSnapshot)++-- | The identifier of the snapshot.+getSnapshot_snapshotId :: Lens.Lens' GetSnapshot Prelude.Text+getSnapshot_snapshotId = Lens.lens (\GetSnapshot' {snapshotId} -> snapshotId) (\s@GetSnapshot' {} a -> s {snapshotId = a} :: GetSnapshot)++instance Core.AWSRequest GetSnapshot where+  type AWSResponse GetSnapshot = GetSnapshotResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSnapshotResponse'+            Prelude.<$> (x Data..?> "Snapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSnapshot where+  hashWithSalt _salt GetSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` sections+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData GetSnapshot where+  rnf GetSnapshot' {..} =+    Prelude.rnf sections+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders GetSnapshot where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSnapshot where+  toPath GetSnapshot' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId+      ]++instance Data.ToQuery GetSnapshot where+  toQuery GetSnapshot' {..} =+    Prelude.mconcat+      [ "Sections"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> sections)+      ]++-- | /See:/ 'newGetSnapshotResponse' smart constructor.+data GetSnapshotResponse = GetSnapshotResponse'+  { -- | Properties that provide details of the snapshot.+    snapshot :: Prelude.Maybe SnapshotDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshot', 'getSnapshotResponse_snapshot' - Properties that provide details of the snapshot.+--+-- 'httpStatus', 'getSnapshotResponse_httpStatus' - The response's http status code.+newGetSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSnapshotResponse+newGetSnapshotResponse pHttpStatus_ =+  GetSnapshotResponse'+    { snapshot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the snapshot.+getSnapshotResponse_snapshot :: Lens.Lens' GetSnapshotResponse (Prelude.Maybe SnapshotDetails)+getSnapshotResponse_snapshot = Lens.lens (\GetSnapshotResponse' {snapshot} -> snapshot) (\s@GetSnapshotResponse' {} a -> s {snapshot = a} :: GetSnapshotResponse)++-- | The response's http status code.+getSnapshotResponse_httpStatus :: Lens.Lens' GetSnapshotResponse Prelude.Int+getSnapshotResponse_httpStatus = Lens.lens (\GetSnapshotResponse' {httpStatus} -> httpStatus) (\s@GetSnapshotResponse' {} a -> s {httpStatus = a} :: GetSnapshotResponse)++instance Prelude.NFData GetSnapshotResponse where+  rnf GetSnapshotResponse' {..} =+    Prelude.rnf snapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetStage.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.GetStage+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a stage.+module Amazonka.GamesParks.GetStage+  ( -- * Creating a Request+    GetStage (..),+    newGetStage,++    -- * Request Lenses+    getStage_gameName,+    getStage_stageName,++    -- * Destructuring the Response+    GetStageResponse (..),+    newGetStageResponse,++    -- * Response Lenses+    getStageResponse_stage,+    getStageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStage' smart constructor.+data GetStage = GetStage'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'getStage_gameName' - The name of the game.+--+-- 'stageName', 'getStage_stageName' - The name of the stage.+newGetStage ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  GetStage+newGetStage pGameName_ pStageName_ =+  GetStage'+    { gameName = pGameName_,+      stageName = pStageName_+    }++-- | The name of the game.+getStage_gameName :: Lens.Lens' GetStage Prelude.Text+getStage_gameName = Lens.lens (\GetStage' {gameName} -> gameName) (\s@GetStage' {} a -> s {gameName = a} :: GetStage)++-- | The name of the stage.+getStage_stageName :: Lens.Lens' GetStage Prelude.Text+getStage_stageName = Lens.lens (\GetStage' {stageName} -> stageName) (\s@GetStage' {} a -> s {stageName = a} :: GetStage)++instance Core.AWSRequest GetStage where+  type AWSResponse GetStage = GetStageResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetStageResponse'+            Prelude.<$> (x Data..?> "Stage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetStage where+  hashWithSalt _salt GetStage' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData GetStage where+  rnf GetStage' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders GetStage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetStage where+  toPath GetStage' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName+      ]++instance Data.ToQuery GetStage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetStageResponse' smart constructor.+data GetStageResponse = GetStageResponse'+  { -- | Properties that provide details of the stage.+    stage :: Prelude.Maybe StageDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stage', 'getStageResponse_stage' - Properties that provide details of the stage.+--+-- 'httpStatus', 'getStageResponse_httpStatus' - The response's http status code.+newGetStageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetStageResponse+newGetStageResponse pHttpStatus_ =+  GetStageResponse'+    { stage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the stage.+getStageResponse_stage :: Lens.Lens' GetStageResponse (Prelude.Maybe StageDetails)+getStageResponse_stage = Lens.lens (\GetStageResponse' {stage} -> stage) (\s@GetStageResponse' {} a -> s {stage = a} :: GetStageResponse)++-- | The response's http status code.+getStageResponse_httpStatus :: Lens.Lens' GetStageResponse Prelude.Int+getStageResponse_httpStatus = Lens.lens (\GetStageResponse' {httpStatus} -> httpStatus) (\s@GetStageResponse' {} a -> s {httpStatus = a} :: GetStageResponse)++instance Prelude.NFData GetStageResponse where+  rnf GetStageResponse' {..} =+    Prelude.rnf stage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/GetStageDeployment.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.GetStageDeployment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets information about a stage deployment.+module Amazonka.GamesParks.GetStageDeployment+  ( -- * Creating a Request+    GetStageDeployment (..),+    newGetStageDeployment,++    -- * Request Lenses+    getStageDeployment_deploymentId,+    getStageDeployment_gameName,+    getStageDeployment_stageName,++    -- * Destructuring the Response+    GetStageDeploymentResponse (..),+    newGetStageDeploymentResponse,++    -- * Response Lenses+    getStageDeploymentResponse_stageDeployment,+    getStageDeploymentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetStageDeployment' smart constructor.+data GetStageDeployment = GetStageDeployment'+  { -- | The identifier of the stage deployment. @StartStageDeployment@ returns+    -- the identifier that you use here.+    deploymentId :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStageDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentId', 'getStageDeployment_deploymentId' - The identifier of the stage deployment. @StartStageDeployment@ returns+-- the identifier that you use here.+--+-- 'gameName', 'getStageDeployment_gameName' - The name of the game.+--+-- 'stageName', 'getStageDeployment_stageName' - The name of the stage.+newGetStageDeployment ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  GetStageDeployment+newGetStageDeployment pGameName_ pStageName_ =+  GetStageDeployment'+    { deploymentId = Prelude.Nothing,+      gameName = pGameName_,+      stageName = pStageName_+    }++-- | The identifier of the stage deployment. @StartStageDeployment@ returns+-- the identifier that you use here.+getStageDeployment_deploymentId :: Lens.Lens' GetStageDeployment (Prelude.Maybe Prelude.Text)+getStageDeployment_deploymentId = Lens.lens (\GetStageDeployment' {deploymentId} -> deploymentId) (\s@GetStageDeployment' {} a -> s {deploymentId = a} :: GetStageDeployment)++-- | The name of the game.+getStageDeployment_gameName :: Lens.Lens' GetStageDeployment Prelude.Text+getStageDeployment_gameName = Lens.lens (\GetStageDeployment' {gameName} -> gameName) (\s@GetStageDeployment' {} a -> s {gameName = a} :: GetStageDeployment)++-- | The name of the stage.+getStageDeployment_stageName :: Lens.Lens' GetStageDeployment Prelude.Text+getStageDeployment_stageName = Lens.lens (\GetStageDeployment' {stageName} -> stageName) (\s@GetStageDeployment' {} a -> s {stageName = a} :: GetStageDeployment)++instance Core.AWSRequest GetStageDeployment where+  type+    AWSResponse GetStageDeployment =+      GetStageDeploymentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetStageDeploymentResponse'+            Prelude.<$> (x Data..?> "StageDeployment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetStageDeployment where+  hashWithSalt _salt GetStageDeployment' {..} =+    _salt+      `Prelude.hashWithSalt` deploymentId+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData GetStageDeployment where+  rnf GetStageDeployment' {..} =+    Prelude.rnf deploymentId+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders GetStageDeployment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetStageDeployment where+  toPath GetStageDeployment' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName,+        "/deployment"+      ]++instance Data.ToQuery GetStageDeployment where+  toQuery GetStageDeployment' {..} =+    Prelude.mconcat+      ["DeploymentId" Data.=: deploymentId]++-- | /See:/ 'newGetStageDeploymentResponse' smart constructor.+data GetStageDeploymentResponse = GetStageDeploymentResponse'+  { -- | Properties that provide details of the stage deployment.+    stageDeployment :: Prelude.Maybe StageDeploymentDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetStageDeploymentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stageDeployment', 'getStageDeploymentResponse_stageDeployment' - Properties that provide details of the stage deployment.+--+-- 'httpStatus', 'getStageDeploymentResponse_httpStatus' - The response's http status code.+newGetStageDeploymentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetStageDeploymentResponse+newGetStageDeploymentResponse pHttpStatus_ =+  GetStageDeploymentResponse'+    { stageDeployment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the stage deployment.+getStageDeploymentResponse_stageDeployment :: Lens.Lens' GetStageDeploymentResponse (Prelude.Maybe StageDeploymentDetails)+getStageDeploymentResponse_stageDeployment = Lens.lens (\GetStageDeploymentResponse' {stageDeployment} -> stageDeployment) (\s@GetStageDeploymentResponse' {} a -> s {stageDeployment = a} :: GetStageDeploymentResponse)++-- | The response's http status code.+getStageDeploymentResponse_httpStatus :: Lens.Lens' GetStageDeploymentResponse Prelude.Int+getStageDeploymentResponse_httpStatus = Lens.lens (\GetStageDeploymentResponse' {httpStatus} -> httpStatus) (\s@GetStageDeploymentResponse' {} a -> s {httpStatus = a} :: GetStageDeploymentResponse)++instance Prelude.NFData GetStageDeploymentResponse where+  rnf GetStageDeploymentResponse' {..} =+    Prelude.rnf stageDeployment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ImportGameConfiguration.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.ImportGameConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Imports a game configuration.+--+-- This operation replaces the current configuration of the game with the+-- provided input. This is not a reversible operation. If you want to+-- preserve the previous configuration, use @CreateSnapshot@ to make a new+-- snapshot before importing.+module Amazonka.GamesParks.ImportGameConfiguration+  ( -- * Creating a Request+    ImportGameConfiguration (..),+    newImportGameConfiguration,++    -- * Request Lenses+    importGameConfiguration_gameName,+    importGameConfiguration_importSource,++    -- * Destructuring the Response+    ImportGameConfigurationResponse (..),+    newImportGameConfigurationResponse,++    -- * Response Lenses+    importGameConfigurationResponse_gameConfiguration,+    importGameConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newImportGameConfiguration' smart constructor.+data ImportGameConfiguration = ImportGameConfiguration'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The source used to import configuration sections.+    importSource :: ImportGameConfigurationSource+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportGameConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'importGameConfiguration_gameName' - The name of the game.+--+-- 'importSource', 'importGameConfiguration_importSource' - The source used to import configuration sections.+newImportGameConfiguration ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'importSource'+  ImportGameConfigurationSource ->+  ImportGameConfiguration+newImportGameConfiguration pGameName_ pImportSource_ =+  ImportGameConfiguration'+    { gameName = pGameName_,+      importSource = pImportSource_+    }++-- | The name of the game.+importGameConfiguration_gameName :: Lens.Lens' ImportGameConfiguration Prelude.Text+importGameConfiguration_gameName = Lens.lens (\ImportGameConfiguration' {gameName} -> gameName) (\s@ImportGameConfiguration' {} a -> s {gameName = a} :: ImportGameConfiguration)++-- | The source used to import configuration sections.+importGameConfiguration_importSource :: Lens.Lens' ImportGameConfiguration ImportGameConfigurationSource+importGameConfiguration_importSource = Lens.lens (\ImportGameConfiguration' {importSource} -> importSource) (\s@ImportGameConfiguration' {} a -> s {importSource = a} :: ImportGameConfiguration)++instance Core.AWSRequest ImportGameConfiguration where+  type+    AWSResponse ImportGameConfiguration =+      ImportGameConfigurationResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ImportGameConfigurationResponse'+            Prelude.<$> (x Data..?> "GameConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ImportGameConfiguration where+  hashWithSalt _salt ImportGameConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` importSource++instance Prelude.NFData ImportGameConfiguration where+  rnf ImportGameConfiguration' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf importSource++instance Data.ToHeaders ImportGameConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ImportGameConfiguration where+  toJSON ImportGameConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("ImportSource" Data..= importSource)]+      )++instance Data.ToPath ImportGameConfiguration where+  toPath ImportGameConfiguration' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/configuration"]++instance Data.ToQuery ImportGameConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newImportGameConfigurationResponse' smart constructor.+data ImportGameConfigurationResponse = ImportGameConfigurationResponse'+  { -- | Details about the game configuration.+    gameConfiguration :: Prelude.Maybe GameConfigurationDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportGameConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameConfiguration', 'importGameConfigurationResponse_gameConfiguration' - Details about the game configuration.+--+-- 'httpStatus', 'importGameConfigurationResponse_httpStatus' - The response's http status code.+newImportGameConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ImportGameConfigurationResponse+newImportGameConfigurationResponse pHttpStatus_ =+  ImportGameConfigurationResponse'+    { gameConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the game configuration.+importGameConfigurationResponse_gameConfiguration :: Lens.Lens' ImportGameConfigurationResponse (Prelude.Maybe GameConfigurationDetails)+importGameConfigurationResponse_gameConfiguration = Lens.lens (\ImportGameConfigurationResponse' {gameConfiguration} -> gameConfiguration) (\s@ImportGameConfigurationResponse' {} a -> s {gameConfiguration = a} :: ImportGameConfigurationResponse)++-- | The response's http status code.+importGameConfigurationResponse_httpStatus :: Lens.Lens' ImportGameConfigurationResponse Prelude.Int+importGameConfigurationResponse_httpStatus = Lens.lens (\ImportGameConfigurationResponse' {httpStatus} -> httpStatus) (\s@ImportGameConfigurationResponse' {} a -> s {httpStatus = a} :: ImportGameConfigurationResponse)++instance+  Prelude.NFData+    ImportGameConfigurationResponse+  where+  rnf ImportGameConfigurationResponse' {..} =+    Prelude.rnf gameConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/Lens.hs view
@@ -0,0 +1,414 @@+{-# 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.GamesParks.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.GamesParks.Lens+  ( -- * Operations++    -- ** CreateGame+    createGame_clientToken,+    createGame_description,+    createGame_tags,+    createGame_gameName,+    createGameResponse_game,+    createGameResponse_httpStatus,++    -- ** CreateSnapshot+    createSnapshot_description,+    createSnapshot_gameName,+    createSnapshotResponse_snapshot,+    createSnapshotResponse_httpStatus,++    -- ** CreateStage+    createStage_clientToken,+    createStage_description,+    createStage_tags,+    createStage_gameName,+    createStage_role,+    createStage_stageName,+    createStageResponse_stage,+    createStageResponse_httpStatus,++    -- ** DeleteGame+    deleteGame_gameName,+    deleteGameResponse_httpStatus,++    -- ** DeleteStage+    deleteStage_gameName,+    deleteStage_stageName,+    deleteStageResponse_httpStatus,++    -- ** DisconnectPlayer+    disconnectPlayer_gameName,+    disconnectPlayer_playerId,+    disconnectPlayer_stageName,+    disconnectPlayerResponse_disconnectFailures,+    disconnectPlayerResponse_disconnectSuccesses,+    disconnectPlayerResponse_httpStatus,++    -- ** ExportSnapshot+    exportSnapshot_gameName,+    exportSnapshot_snapshotId,+    exportSnapshotResponse_s3Url,+    exportSnapshotResponse_httpStatus,++    -- ** GetExtension+    getExtension_name,+    getExtension_namespace,+    getExtensionResponse_extension,+    getExtensionResponse_httpStatus,++    -- ** GetExtensionVersion+    getExtensionVersion_extensionVersion,+    getExtensionVersion_name,+    getExtensionVersion_namespace,+    getExtensionVersionResponse_extensionVersion,+    getExtensionVersionResponse_httpStatus,++    -- ** GetGame+    getGame_gameName,+    getGameResponse_game,+    getGameResponse_httpStatus,++    -- ** GetGameConfiguration+    getGameConfiguration_sections,+    getGameConfiguration_gameName,+    getGameConfigurationResponse_gameConfiguration,+    getGameConfigurationResponse_httpStatus,++    -- ** GetGeneratedCodeJob+    getGeneratedCodeJob_gameName,+    getGeneratedCodeJob_jobId,+    getGeneratedCodeJob_snapshotId,+    getGeneratedCodeJobResponse_generatedCodeJob,+    getGeneratedCodeJobResponse_httpStatus,++    -- ** GetPlayerConnectionStatus+    getPlayerConnectionStatus_gameName,+    getPlayerConnectionStatus_playerId,+    getPlayerConnectionStatus_stageName,+    getPlayerConnectionStatusResponse_connections,+    getPlayerConnectionStatusResponse_httpStatus,++    -- ** GetSnapshot+    getSnapshot_sections,+    getSnapshot_gameName,+    getSnapshot_snapshotId,+    getSnapshotResponse_snapshot,+    getSnapshotResponse_httpStatus,++    -- ** GetStage+    getStage_gameName,+    getStage_stageName,+    getStageResponse_stage,+    getStageResponse_httpStatus,++    -- ** GetStageDeployment+    getStageDeployment_deploymentId,+    getStageDeployment_gameName,+    getStageDeployment_stageName,+    getStageDeploymentResponse_stageDeployment,+    getStageDeploymentResponse_httpStatus,++    -- ** ImportGameConfiguration+    importGameConfiguration_gameName,+    importGameConfiguration_importSource,+    importGameConfigurationResponse_gameConfiguration,+    importGameConfigurationResponse_httpStatus,++    -- ** ListExtensionVersions+    listExtensionVersions_maxResults,+    listExtensionVersions_nextToken,+    listExtensionVersions_name,+    listExtensionVersions_namespace,+    listExtensionVersionsResponse_extensionVersions,+    listExtensionVersionsResponse_nextToken,+    listExtensionVersionsResponse_httpStatus,++    -- ** ListExtensions+    listExtensions_maxResults,+    listExtensions_nextToken,+    listExtensionsResponse_extensions,+    listExtensionsResponse_nextToken,+    listExtensionsResponse_httpStatus,++    -- ** ListGames+    listGames_maxResults,+    listGames_nextToken,+    listGamesResponse_games,+    listGamesResponse_nextToken,+    listGamesResponse_httpStatus,++    -- ** ListGeneratedCodeJobs+    listGeneratedCodeJobs_maxResults,+    listGeneratedCodeJobs_nextToken,+    listGeneratedCodeJobs_gameName,+    listGeneratedCodeJobs_snapshotId,+    listGeneratedCodeJobsResponse_generatedCodeJobs,+    listGeneratedCodeJobsResponse_nextToken,+    listGeneratedCodeJobsResponse_httpStatus,++    -- ** ListSnapshots+    listSnapshots_maxResults,+    listSnapshots_nextToken,+    listSnapshots_gameName,+    listSnapshotsResponse_nextToken,+    listSnapshotsResponse_snapshots,+    listSnapshotsResponse_httpStatus,++    -- ** ListStageDeployments+    listStageDeployments_maxResults,+    listStageDeployments_nextToken,+    listStageDeployments_gameName,+    listStageDeployments_stageName,+    listStageDeploymentsResponse_nextToken,+    listStageDeploymentsResponse_stageDeployments,+    listStageDeploymentsResponse_httpStatus,++    -- ** ListStages+    listStages_maxResults,+    listStages_nextToken,+    listStages_gameName,+    listStagesResponse_nextToken,+    listStagesResponse_stages,+    listStagesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartGeneratedCodeJob+    startGeneratedCodeJob_gameName,+    startGeneratedCodeJob_generator,+    startGeneratedCodeJob_snapshotId,+    startGeneratedCodeJobResponse_generatedCodeJobId,+    startGeneratedCodeJobResponse_httpStatus,++    -- ** StartStageDeployment+    startStageDeployment_clientToken,+    startStageDeployment_gameName,+    startStageDeployment_snapshotId,+    startStageDeployment_stageName,+    startStageDeploymentResponse_stageDeployment,+    startStageDeploymentResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateGame+    updateGame_description,+    updateGame_gameName,+    updateGameResponse_game,+    updateGameResponse_httpStatus,++    -- ** UpdateGameConfiguration+    updateGameConfiguration_gameName,+    updateGameConfiguration_modifications,+    updateGameConfigurationResponse_gameConfiguration,+    updateGameConfigurationResponse_httpStatus,++    -- ** UpdateSnapshot+    updateSnapshot_description,+    updateSnapshot_gameName,+    updateSnapshot_snapshotId,+    updateSnapshotResponse_snapshot,+    updateSnapshotResponse_httpStatus,++    -- ** UpdateStage+    updateStage_description,+    updateStage_role,+    updateStage_gameName,+    updateStage_stageName,+    updateStageResponse_stage,+    updateStageResponse_httpStatus,++    -- * Types++    -- ** Connection+    connection_created,+    connection_id,++    -- ** DeploymentResult+    deploymentResult_message,+    deploymentResult_resultCode,++    -- ** Document++    -- ** ExtensionDetails+    extensionDetails_description,+    extensionDetails_name,+    extensionDetails_namespace,++    -- ** ExtensionVersionDetails+    extensionVersionDetails_name,+    extensionVersionDetails_namespace,+    extensionVersionDetails_schema,+    extensionVersionDetails_version,++    -- ** GameConfigurationDetails+    gameConfigurationDetails_created,+    gameConfigurationDetails_lastUpdated,+    gameConfigurationDetails_sections,++    -- ** GameDetails+    gameDetails_arn,+    gameDetails_created,+    gameDetails_description,+    gameDetails_enableTerminationProtection,+    gameDetails_lastUpdated,+    gameDetails_name,+    gameDetails_state,+    gameDetails_tags,++    -- ** GameSummary+    gameSummary_description,+    gameSummary_name,+    gameSummary_state,+    gameSummary_tags,++    -- ** GeneratedCodeJobDetails+    generatedCodeJobDetails_description,+    generatedCodeJobDetails_expirationTime,+    generatedCodeJobDetails_generatedCodeJobId,+    generatedCodeJobDetails_s3Url,+    generatedCodeJobDetails_status,++    -- ** Generator+    generator_gameSdkVersion,+    generator_language,+    generator_targetPlatform,++    -- ** ImportGameConfigurationSource+    importGameConfigurationSource_file,++    -- ** Section+    section_attributes,+    section_name,+    section_size,++    -- ** SectionModification+    sectionModification_value,+    sectionModification_operation,+    sectionModification_path,+    sectionModification_section,++    -- ** SnapshotDetails+    snapshotDetails_created,+    snapshotDetails_description,+    snapshotDetails_id,+    snapshotDetails_lastUpdated,+    snapshotDetails_sections,++    -- ** SnapshotSummary+    snapshotSummary_created,+    snapshotSummary_description,+    snapshotSummary_id,+    snapshotSummary_lastUpdated,++    -- ** StageDeploymentDetails+    stageDeploymentDetails_created,+    stageDeploymentDetails_deploymentAction,+    stageDeploymentDetails_deploymentId,+    stageDeploymentDetails_deploymentResult,+    stageDeploymentDetails_deploymentState,+    stageDeploymentDetails_lastUpdated,+    stageDeploymentDetails_snapshotId,++    -- ** StageDeploymentSummary+    stageDeploymentSummary_deploymentAction,+    stageDeploymentSummary_deploymentId,+    stageDeploymentSummary_deploymentResult,+    stageDeploymentSummary_deploymentState,+    stageDeploymentSummary_lastUpdated,+    stageDeploymentSummary_snapshotId,++    -- ** StageDetails+    stageDetails_arn,+    stageDetails_created,+    stageDetails_description,+    stageDetails_gameKey,+    stageDetails_lastUpdated,+    stageDetails_logGroup,+    stageDetails_name,+    stageDetails_role,+    stageDetails_state,+    stageDetails_tags,++    -- ** StageSummary+    stageSummary_description,+    stageSummary_gameKey,+    stageSummary_name,+    stageSummary_state,+    stageSummary_tags,+  )+where++import Amazonka.GamesParks.CreateGame+import Amazonka.GamesParks.CreateSnapshot+import Amazonka.GamesParks.CreateStage+import Amazonka.GamesParks.DeleteGame+import Amazonka.GamesParks.DeleteStage+import Amazonka.GamesParks.DisconnectPlayer+import Amazonka.GamesParks.ExportSnapshot+import Amazonka.GamesParks.GetExtension+import Amazonka.GamesParks.GetExtensionVersion+import Amazonka.GamesParks.GetGame+import Amazonka.GamesParks.GetGameConfiguration+import Amazonka.GamesParks.GetGeneratedCodeJob+import Amazonka.GamesParks.GetPlayerConnectionStatus+import Amazonka.GamesParks.GetSnapshot+import Amazonka.GamesParks.GetStage+import Amazonka.GamesParks.GetStageDeployment+import Amazonka.GamesParks.ImportGameConfiguration+import Amazonka.GamesParks.ListExtensionVersions+import Amazonka.GamesParks.ListExtensions+import Amazonka.GamesParks.ListGames+import Amazonka.GamesParks.ListGeneratedCodeJobs+import Amazonka.GamesParks.ListSnapshots+import Amazonka.GamesParks.ListStageDeployments+import Amazonka.GamesParks.ListStages+import Amazonka.GamesParks.ListTagsForResource+import Amazonka.GamesParks.StartGeneratedCodeJob+import Amazonka.GamesParks.StartStageDeployment+import Amazonka.GamesParks.TagResource+import Amazonka.GamesParks.Types.Connection+import Amazonka.GamesParks.Types.DeploymentResult+import Amazonka.GamesParks.Types.Document+import Amazonka.GamesParks.Types.ExtensionDetails+import Amazonka.GamesParks.Types.ExtensionVersionDetails+import Amazonka.GamesParks.Types.GameConfigurationDetails+import Amazonka.GamesParks.Types.GameDetails+import Amazonka.GamesParks.Types.GameSummary+import Amazonka.GamesParks.Types.GeneratedCodeJobDetails+import Amazonka.GamesParks.Types.Generator+import Amazonka.GamesParks.Types.ImportGameConfigurationSource+import Amazonka.GamesParks.Types.Section+import Amazonka.GamesParks.Types.SectionModification+import Amazonka.GamesParks.Types.SnapshotDetails+import Amazonka.GamesParks.Types.SnapshotSummary+import Amazonka.GamesParks.Types.StageDeploymentDetails+import Amazonka.GamesParks.Types.StageDeploymentSummary+import Amazonka.GamesParks.Types.StageDetails+import Amazonka.GamesParks.Types.StageSummary+import Amazonka.GamesParks.UntagResource+import Amazonka.GamesParks.UpdateGame+import Amazonka.GamesParks.UpdateGameConfiguration+import Amazonka.GamesParks.UpdateSnapshot+import Amazonka.GamesParks.UpdateStage
+ gen/Amazonka/GamesParks/ListExtensionVersions.hs view
@@ -0,0 +1,287 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.ListExtensionVersions+-- 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 a paginated list of available versions for the extension.+--+-- Each time an API change is made to an extension, the version is+-- incremented. The list retrieved by this operation shows the versions+-- that are currently available.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListExtensionVersions+  ( -- * Creating a Request+    ListExtensionVersions (..),+    newListExtensionVersions,++    -- * Request Lenses+    listExtensionVersions_maxResults,+    listExtensionVersions_nextToken,+    listExtensionVersions_name,+    listExtensionVersions_namespace,++    -- * Destructuring the Response+    ListExtensionVersionsResponse (..),+    newListExtensionVersionsResponse,++    -- * Response Lenses+    listExtensionVersionsResponse_extensionVersions,+    listExtensionVersionsResponse_nextToken,+    listExtensionVersionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExtensionVersions' smart constructor.+data ListExtensionVersions = ListExtensionVersions'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the extension.+    name :: Prelude.Text,+    -- | The namespace (qualifier) of the extension.+    namespace :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensionVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listExtensionVersions_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listExtensionVersions_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+--+-- 'name', 'listExtensionVersions_name' - The name of the extension.+--+-- 'namespace', 'listExtensionVersions_namespace' - The namespace (qualifier) of the extension.+newListExtensionVersions ::+  -- | 'name'+  Prelude.Text ->+  -- | 'namespace'+  Prelude.Text ->+  ListExtensionVersions+newListExtensionVersions pName_ pNamespace_ =+  ListExtensionVersions'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      name = pName_,+      namespace = pNamespace_+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listExtensionVersions_maxResults :: Lens.Lens' ListExtensionVersions (Prelude.Maybe Prelude.Natural)+listExtensionVersions_maxResults = Lens.lens (\ListExtensionVersions' {maxResults} -> maxResults) (\s@ListExtensionVersions' {} a -> s {maxResults = a} :: ListExtensionVersions)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listExtensionVersions_nextToken :: Lens.Lens' ListExtensionVersions (Prelude.Maybe Prelude.Text)+listExtensionVersions_nextToken = Lens.lens (\ListExtensionVersions' {nextToken} -> nextToken) (\s@ListExtensionVersions' {} a -> s {nextToken = a} :: ListExtensionVersions)++-- | The name of the extension.+listExtensionVersions_name :: Lens.Lens' ListExtensionVersions Prelude.Text+listExtensionVersions_name = Lens.lens (\ListExtensionVersions' {name} -> name) (\s@ListExtensionVersions' {} a -> s {name = a} :: ListExtensionVersions)++-- | The namespace (qualifier) of the extension.+listExtensionVersions_namespace :: Lens.Lens' ListExtensionVersions Prelude.Text+listExtensionVersions_namespace = Lens.lens (\ListExtensionVersions' {namespace} -> namespace) (\s@ListExtensionVersions' {} a -> s {namespace = a} :: ListExtensionVersions)++instance Core.AWSPager ListExtensionVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listExtensionVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listExtensionVersionsResponse_extensionVersions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listExtensionVersions_nextToken+          Lens..~ rs+          Lens.^? listExtensionVersionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListExtensionVersions where+  type+    AWSResponse ListExtensionVersions =+      ListExtensionVersionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListExtensionVersionsResponse'+            Prelude.<$> ( x+                            Data..?> "ExtensionVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListExtensionVersions where+  hashWithSalt _salt ListExtensionVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ListExtensionVersions where+  rnf ListExtensionVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace++instance Data.ToHeaders ListExtensionVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListExtensionVersions where+  toPath ListExtensionVersions' {..} =+    Prelude.mconcat+      [ "/extension/",+        Data.toBS namespace,+        "/",+        Data.toBS name,+        "/version"+      ]++instance Data.ToQuery ListExtensionVersions where+  toQuery ListExtensionVersions' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListExtensionVersionsResponse' smart constructor.+data ListExtensionVersionsResponse = ListExtensionVersionsResponse'+  { -- | The list of extension versions.+    extensionVersions :: Prelude.Maybe [ExtensionVersionDetails],+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    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 'ListExtensionVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensionVersions', 'listExtensionVersionsResponse_extensionVersions' - The list of extension versions.+--+-- 'nextToken', 'listExtensionVersionsResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'httpStatus', 'listExtensionVersionsResponse_httpStatus' - The response's http status code.+newListExtensionVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListExtensionVersionsResponse+newListExtensionVersionsResponse pHttpStatus_ =+  ListExtensionVersionsResponse'+    { extensionVersions =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of extension versions.+listExtensionVersionsResponse_extensionVersions :: Lens.Lens' ListExtensionVersionsResponse (Prelude.Maybe [ExtensionVersionDetails])+listExtensionVersionsResponse_extensionVersions = Lens.lens (\ListExtensionVersionsResponse' {extensionVersions} -> extensionVersions) (\s@ListExtensionVersionsResponse' {} a -> s {extensionVersions = a} :: ListExtensionVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listExtensionVersionsResponse_nextToken :: Lens.Lens' ListExtensionVersionsResponse (Prelude.Maybe Prelude.Text)+listExtensionVersionsResponse_nextToken = Lens.lens (\ListExtensionVersionsResponse' {nextToken} -> nextToken) (\s@ListExtensionVersionsResponse' {} a -> s {nextToken = a} :: ListExtensionVersionsResponse)++-- | The response's http status code.+listExtensionVersionsResponse_httpStatus :: Lens.Lens' ListExtensionVersionsResponse Prelude.Int+listExtensionVersionsResponse_httpStatus = Lens.lens (\ListExtensionVersionsResponse' {httpStatus} -> httpStatus) (\s@ListExtensionVersionsResponse' {} a -> s {httpStatus = a} :: ListExtensionVersionsResponse)++instance Prelude.NFData ListExtensionVersionsResponse where+  rnf ListExtensionVersionsResponse' {..} =+    Prelude.rnf extensionVersions+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListExtensions.hs view
@@ -0,0 +1,246 @@+{-# 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.GamesParks.ListExtensions+-- 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 a paginated list of available extensions.+--+-- Extensions provide features that games can use from scripts.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListExtensions+  ( -- * Creating a Request+    ListExtensions (..),+    newListExtensions,++    -- * Request Lenses+    listExtensions_maxResults,+    listExtensions_nextToken,++    -- * Destructuring the Response+    ListExtensionsResponse (..),+    newListExtensionsResponse,++    -- * Response Lenses+    listExtensionsResponse_extensions,+    listExtensionsResponse_nextToken,+    listExtensionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListExtensions' smart constructor.+data ListExtensions = ListExtensions'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListExtensions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listExtensions_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listExtensions_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+newListExtensions ::+  ListExtensions+newListExtensions =+  ListExtensions'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listExtensions_maxResults :: Lens.Lens' ListExtensions (Prelude.Maybe Prelude.Natural)+listExtensions_maxResults = Lens.lens (\ListExtensions' {maxResults} -> maxResults) (\s@ListExtensions' {} a -> s {maxResults = a} :: ListExtensions)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listExtensions_nextToken :: Lens.Lens' ListExtensions (Prelude.Maybe Prelude.Text)+listExtensions_nextToken = Lens.lens (\ListExtensions' {nextToken} -> nextToken) (\s@ListExtensions' {} a -> s {nextToken = a} :: ListExtensions)++instance Core.AWSPager ListExtensions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listExtensionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listExtensionsResponse_extensions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listExtensions_nextToken+          Lens..~ rs+          Lens.^? listExtensionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListExtensions where+  type+    AWSResponse ListExtensions =+      ListExtensionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListExtensionsResponse'+            Prelude.<$> (x Data..?> "Extensions" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListExtensions where+  hashWithSalt _salt ListExtensions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListExtensions where+  rnf ListExtensions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListExtensions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListExtensions where+  toPath = Prelude.const "/extension"++instance Data.ToQuery ListExtensions where+  toQuery ListExtensions' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListExtensionsResponse' smart constructor.+data ListExtensionsResponse = ListExtensionsResponse'+  { -- | The list of extensions.+    extensions :: Prelude.Maybe [ExtensionDetails],+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    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 'ListExtensionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'extensions', 'listExtensionsResponse_extensions' - The list of extensions.+--+-- 'nextToken', 'listExtensionsResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'httpStatus', 'listExtensionsResponse_httpStatus' - The response's http status code.+newListExtensionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListExtensionsResponse+newListExtensionsResponse pHttpStatus_ =+  ListExtensionsResponse'+    { extensions =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of extensions.+listExtensionsResponse_extensions :: Lens.Lens' ListExtensionsResponse (Prelude.Maybe [ExtensionDetails])+listExtensionsResponse_extensions = Lens.lens (\ListExtensionsResponse' {extensions} -> extensions) (\s@ListExtensionsResponse' {} a -> s {extensions = a} :: ListExtensionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listExtensionsResponse_nextToken :: Lens.Lens' ListExtensionsResponse (Prelude.Maybe Prelude.Text)+listExtensionsResponse_nextToken = Lens.lens (\ListExtensionsResponse' {nextToken} -> nextToken) (\s@ListExtensionsResponse' {} a -> s {nextToken = a} :: ListExtensionsResponse)++-- | The response's http status code.+listExtensionsResponse_httpStatus :: Lens.Lens' ListExtensionsResponse Prelude.Int+listExtensionsResponse_httpStatus = Lens.lens (\ListExtensionsResponse' {httpStatus} -> httpStatus) (\s@ListExtensionsResponse' {} a -> s {httpStatus = a} :: ListExtensionsResponse)++instance Prelude.NFData ListExtensionsResponse where+  rnf ListExtensionsResponse' {..} =+    Prelude.rnf extensions+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListGames.hs view
@@ -0,0 +1,241 @@+{-# 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.GamesParks.ListGames+-- 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 a paginated list of games.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListGames+  ( -- * Creating a Request+    ListGames (..),+    newListGames,++    -- * Request Lenses+    listGames_maxResults,+    listGames_nextToken,++    -- * Destructuring the Response+    ListGamesResponse (..),+    newListGamesResponse,++    -- * Response Lenses+    listGamesResponse_games,+    listGamesResponse_nextToken,+    listGamesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGames' smart constructor.+data ListGames = ListGames'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGames' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGames_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listGames_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+newListGames ::+  ListGames+newListGames =+  ListGames'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listGames_maxResults :: Lens.Lens' ListGames (Prelude.Maybe Prelude.Natural)+listGames_maxResults = Lens.lens (\ListGames' {maxResults} -> maxResults) (\s@ListGames' {} a -> s {maxResults = a} :: ListGames)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listGames_nextToken :: Lens.Lens' ListGames (Prelude.Maybe Prelude.Text)+listGames_nextToken = Lens.lens (\ListGames' {nextToken} -> nextToken) (\s@ListGames' {} a -> s {nextToken = a} :: ListGames)++instance Core.AWSPager ListGames where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listGamesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listGamesResponse_games+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listGames_nextToken+          Lens..~ rs+          Lens.^? listGamesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListGames where+  type AWSResponse ListGames = ListGamesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListGamesResponse'+            Prelude.<$> (x Data..?> "Games" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListGames where+  hashWithSalt _salt ListGames' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListGames where+  rnf ListGames' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListGames where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListGames where+  toPath = Prelude.const "/game"++instance Data.ToQuery ListGames where+  toQuery ListGames' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListGamesResponse' smart constructor.+data ListGamesResponse = ListGamesResponse'+  { -- | The list of games.+    games :: Prelude.Maybe [GameSummary],+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    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 'ListGamesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'games', 'listGamesResponse_games' - The list of games.+--+-- 'nextToken', 'listGamesResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'httpStatus', 'listGamesResponse_httpStatus' - The response's http status code.+newListGamesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListGamesResponse+newListGamesResponse pHttpStatus_ =+  ListGamesResponse'+    { games = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of games.+listGamesResponse_games :: Lens.Lens' ListGamesResponse (Prelude.Maybe [GameSummary])+listGamesResponse_games = Lens.lens (\ListGamesResponse' {games} -> games) (\s@ListGamesResponse' {} a -> s {games = a} :: ListGamesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listGamesResponse_nextToken :: Lens.Lens' ListGamesResponse (Prelude.Maybe Prelude.Text)+listGamesResponse_nextToken = Lens.lens (\ListGamesResponse' {nextToken} -> nextToken) (\s@ListGamesResponse' {} a -> s {nextToken = a} :: ListGamesResponse)++-- | The response's http status code.+listGamesResponse_httpStatus :: Lens.Lens' ListGamesResponse Prelude.Int+listGamesResponse_httpStatus = Lens.lens (\ListGamesResponse' {httpStatus} -> httpStatus) (\s@ListGamesResponse' {} a -> s {httpStatus = a} :: ListGamesResponse)++instance Prelude.NFData ListGamesResponse where+  rnf ListGamesResponse' {..} =+    Prelude.rnf games+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListGeneratedCodeJobs.hs view
@@ -0,0 +1,283 @@+{-# 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.GamesParks.ListGeneratedCodeJobs+-- 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 a paginated list of code generation jobs for a snapshot.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListGeneratedCodeJobs+  ( -- * Creating a Request+    ListGeneratedCodeJobs (..),+    newListGeneratedCodeJobs,++    -- * Request Lenses+    listGeneratedCodeJobs_maxResults,+    listGeneratedCodeJobs_nextToken,+    listGeneratedCodeJobs_gameName,+    listGeneratedCodeJobs_snapshotId,++    -- * Destructuring the Response+    ListGeneratedCodeJobsResponse (..),+    newListGeneratedCodeJobsResponse,++    -- * Response Lenses+    listGeneratedCodeJobsResponse_generatedCodeJobs,+    listGeneratedCodeJobsResponse_nextToken,+    listGeneratedCodeJobsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListGeneratedCodeJobs' smart constructor.+data ListGeneratedCodeJobs = ListGeneratedCodeJobs'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the snapshot.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListGeneratedCodeJobs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listGeneratedCodeJobs_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listGeneratedCodeJobs_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+--+-- 'gameName', 'listGeneratedCodeJobs_gameName' - The name of the game.+--+-- 'snapshotId', 'listGeneratedCodeJobs_snapshotId' - The identifier of the snapshot.+newListGeneratedCodeJobs ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  ListGeneratedCodeJobs+newListGeneratedCodeJobs pGameName_ pSnapshotId_ =+  ListGeneratedCodeJobs'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      gameName = pGameName_,+      snapshotId = pSnapshotId_+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listGeneratedCodeJobs_maxResults :: Lens.Lens' ListGeneratedCodeJobs (Prelude.Maybe Prelude.Natural)+listGeneratedCodeJobs_maxResults = Lens.lens (\ListGeneratedCodeJobs' {maxResults} -> maxResults) (\s@ListGeneratedCodeJobs' {} a -> s {maxResults = a} :: ListGeneratedCodeJobs)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listGeneratedCodeJobs_nextToken :: Lens.Lens' ListGeneratedCodeJobs (Prelude.Maybe Prelude.Text)+listGeneratedCodeJobs_nextToken = Lens.lens (\ListGeneratedCodeJobs' {nextToken} -> nextToken) (\s@ListGeneratedCodeJobs' {} a -> s {nextToken = a} :: ListGeneratedCodeJobs)++-- | The name of the game.+listGeneratedCodeJobs_gameName :: Lens.Lens' ListGeneratedCodeJobs Prelude.Text+listGeneratedCodeJobs_gameName = Lens.lens (\ListGeneratedCodeJobs' {gameName} -> gameName) (\s@ListGeneratedCodeJobs' {} a -> s {gameName = a} :: ListGeneratedCodeJobs)++-- | The identifier of the snapshot.+listGeneratedCodeJobs_snapshotId :: Lens.Lens' ListGeneratedCodeJobs Prelude.Text+listGeneratedCodeJobs_snapshotId = Lens.lens (\ListGeneratedCodeJobs' {snapshotId} -> snapshotId) (\s@ListGeneratedCodeJobs' {} a -> s {snapshotId = a} :: ListGeneratedCodeJobs)++instance Core.AWSPager ListGeneratedCodeJobs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listGeneratedCodeJobsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listGeneratedCodeJobsResponse_generatedCodeJobs+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listGeneratedCodeJobs_nextToken+          Lens..~ rs+          Lens.^? listGeneratedCodeJobsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListGeneratedCodeJobs where+  type+    AWSResponse ListGeneratedCodeJobs =+      ListGeneratedCodeJobsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListGeneratedCodeJobsResponse'+            Prelude.<$> ( x+                            Data..?> "GeneratedCodeJobs"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListGeneratedCodeJobs where+  hashWithSalt _salt ListGeneratedCodeJobs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData ListGeneratedCodeJobs where+  rnf ListGeneratedCodeJobs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders ListGeneratedCodeJobs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListGeneratedCodeJobs where+  toPath ListGeneratedCodeJobs' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId,+        "/generated-sdk-code-jobs"+      ]++instance Data.ToQuery ListGeneratedCodeJobs where+  toQuery ListGeneratedCodeJobs' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListGeneratedCodeJobsResponse' smart constructor.+data ListGeneratedCodeJobsResponse = ListGeneratedCodeJobsResponse'+  { -- | The list of generated code jobs.+    generatedCodeJobs :: Prelude.Maybe [GeneratedCodeJobDetails],+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    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 'ListGeneratedCodeJobsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'generatedCodeJobs', 'listGeneratedCodeJobsResponse_generatedCodeJobs' - The list of generated code jobs.+--+-- 'nextToken', 'listGeneratedCodeJobsResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'httpStatus', 'listGeneratedCodeJobsResponse_httpStatus' - The response's http status code.+newListGeneratedCodeJobsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListGeneratedCodeJobsResponse+newListGeneratedCodeJobsResponse pHttpStatus_ =+  ListGeneratedCodeJobsResponse'+    { generatedCodeJobs =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of generated code jobs.+listGeneratedCodeJobsResponse_generatedCodeJobs :: Lens.Lens' ListGeneratedCodeJobsResponse (Prelude.Maybe [GeneratedCodeJobDetails])+listGeneratedCodeJobsResponse_generatedCodeJobs = Lens.lens (\ListGeneratedCodeJobsResponse' {generatedCodeJobs} -> generatedCodeJobs) (\s@ListGeneratedCodeJobsResponse' {} a -> s {generatedCodeJobs = a} :: ListGeneratedCodeJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listGeneratedCodeJobsResponse_nextToken :: Lens.Lens' ListGeneratedCodeJobsResponse (Prelude.Maybe Prelude.Text)+listGeneratedCodeJobsResponse_nextToken = Lens.lens (\ListGeneratedCodeJobsResponse' {nextToken} -> nextToken) (\s@ListGeneratedCodeJobsResponse' {} a -> s {nextToken = a} :: ListGeneratedCodeJobsResponse)++-- | The response's http status code.+listGeneratedCodeJobsResponse_httpStatus :: Lens.Lens' ListGeneratedCodeJobsResponse Prelude.Int+listGeneratedCodeJobsResponse_httpStatus = Lens.lens (\ListGeneratedCodeJobsResponse' {httpStatus} -> httpStatus) (\s@ListGeneratedCodeJobsResponse' {} a -> s {httpStatus = a} :: ListGeneratedCodeJobsResponse)++instance Prelude.NFData ListGeneratedCodeJobsResponse where+  rnf ListGeneratedCodeJobsResponse' {..} =+    Prelude.rnf generatedCodeJobs+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListSnapshots.hs view
@@ -0,0 +1,262 @@+{-# 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.GamesParks.ListSnapshots+-- 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 a paginated list of snapshot summaries from the game.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListSnapshots+  ( -- * Creating a Request+    ListSnapshots (..),+    newListSnapshots,++    -- * Request Lenses+    listSnapshots_maxResults,+    listSnapshots_nextToken,+    listSnapshots_gameName,++    -- * Destructuring the Response+    ListSnapshotsResponse (..),+    newListSnapshotsResponse,++    -- * Response Lenses+    listSnapshotsResponse_nextToken,+    listSnapshotsResponse_snapshots,+    listSnapshotsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSnapshots' smart constructor.+data ListSnapshots = ListSnapshots'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSnapshots' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSnapshots_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listSnapshots_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+--+-- 'gameName', 'listSnapshots_gameName' - The name of the game.+newListSnapshots ::+  -- | 'gameName'+  Prelude.Text ->+  ListSnapshots+newListSnapshots pGameName_ =+  ListSnapshots'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      gameName = pGameName_+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listSnapshots_maxResults :: Lens.Lens' ListSnapshots (Prelude.Maybe Prelude.Natural)+listSnapshots_maxResults = Lens.lens (\ListSnapshots' {maxResults} -> maxResults) (\s@ListSnapshots' {} a -> s {maxResults = a} :: ListSnapshots)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listSnapshots_nextToken :: Lens.Lens' ListSnapshots (Prelude.Maybe Prelude.Text)+listSnapshots_nextToken = Lens.lens (\ListSnapshots' {nextToken} -> nextToken) (\s@ListSnapshots' {} a -> s {nextToken = a} :: ListSnapshots)++-- | The name of the game.+listSnapshots_gameName :: Lens.Lens' ListSnapshots Prelude.Text+listSnapshots_gameName = Lens.lens (\ListSnapshots' {gameName} -> gameName) (\s@ListSnapshots' {} a -> s {gameName = a} :: ListSnapshots)++instance Core.AWSPager ListSnapshots where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listSnapshotsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listSnapshotsResponse_snapshots+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listSnapshots_nextToken+          Lens..~ rs+          Lens.^? listSnapshotsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListSnapshots where+  type+    AWSResponse ListSnapshots =+      ListSnapshotsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSnapshotsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Snapshots" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSnapshots where+  hashWithSalt _salt ListSnapshots' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData ListSnapshots where+  rnf ListSnapshots' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders ListSnapshots where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSnapshots where+  toPath ListSnapshots' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/snapshot"]++instance Data.ToQuery ListSnapshots where+  toQuery ListSnapshots' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListSnapshotsResponse' smart constructor.+data ListSnapshotsResponse = ListSnapshotsResponse'+  { -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of snapshot summaries. You can use the returned snapshot IDs in+    -- the @UpdateSnapshot@ and @GetSnapshot@ operations.+    snapshots :: Prelude.Maybe [SnapshotSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSnapshotsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSnapshotsResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'snapshots', 'listSnapshotsResponse_snapshots' - A list of snapshot summaries. You can use the returned snapshot IDs in+-- the @UpdateSnapshot@ and @GetSnapshot@ operations.+--+-- 'httpStatus', 'listSnapshotsResponse_httpStatus' - The response's http status code.+newListSnapshotsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSnapshotsResponse+newListSnapshotsResponse pHttpStatus_ =+  ListSnapshotsResponse'+    { nextToken = Prelude.Nothing,+      snapshots = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listSnapshotsResponse_nextToken :: Lens.Lens' ListSnapshotsResponse (Prelude.Maybe Prelude.Text)+listSnapshotsResponse_nextToken = Lens.lens (\ListSnapshotsResponse' {nextToken} -> nextToken) (\s@ListSnapshotsResponse' {} a -> s {nextToken = a} :: ListSnapshotsResponse)++-- | A list of snapshot summaries. You can use the returned snapshot IDs in+-- the @UpdateSnapshot@ and @GetSnapshot@ operations.+listSnapshotsResponse_snapshots :: Lens.Lens' ListSnapshotsResponse (Prelude.Maybe [SnapshotSummary])+listSnapshotsResponse_snapshots = Lens.lens (\ListSnapshotsResponse' {snapshots} -> snapshots) (\s@ListSnapshotsResponse' {} a -> s {snapshots = a} :: ListSnapshotsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSnapshotsResponse_httpStatus :: Lens.Lens' ListSnapshotsResponse Prelude.Int+listSnapshotsResponse_httpStatus = Lens.lens (\ListSnapshotsResponse' {httpStatus} -> httpStatus) (\s@ListSnapshotsResponse' {} a -> s {httpStatus = a} :: ListSnapshotsResponse)++instance Prelude.NFData ListSnapshotsResponse where+  rnf ListSnapshotsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf snapshots+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListStageDeployments.hs view
@@ -0,0 +1,285 @@+{-# 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.GamesParks.ListStageDeployments+-- 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 a paginated list of stage deployment summaries from the game.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListStageDeployments+  ( -- * Creating a Request+    ListStageDeployments (..),+    newListStageDeployments,++    -- * Request Lenses+    listStageDeployments_maxResults,+    listStageDeployments_nextToken,+    listStageDeployments_gameName,+    listStageDeployments_stageName,++    -- * Destructuring the Response+    ListStageDeploymentsResponse (..),+    newListStageDeploymentsResponse,++    -- * Response Lenses+    listStageDeploymentsResponse_nextToken,+    listStageDeploymentsResponse_stageDeployments,+    listStageDeploymentsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStageDeployments' smart constructor.+data ListStageDeployments = ListStageDeployments'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStageDeployments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStageDeployments_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listStageDeployments_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+--+-- 'gameName', 'listStageDeployments_gameName' - The name of the game.+--+-- 'stageName', 'listStageDeployments_stageName' - The name of the stage.+newListStageDeployments ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  ListStageDeployments+newListStageDeployments pGameName_ pStageName_ =+  ListStageDeployments'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      gameName = pGameName_,+      stageName = pStageName_+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listStageDeployments_maxResults :: Lens.Lens' ListStageDeployments (Prelude.Maybe Prelude.Natural)+listStageDeployments_maxResults = Lens.lens (\ListStageDeployments' {maxResults} -> maxResults) (\s@ListStageDeployments' {} a -> s {maxResults = a} :: ListStageDeployments)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listStageDeployments_nextToken :: Lens.Lens' ListStageDeployments (Prelude.Maybe Prelude.Text)+listStageDeployments_nextToken = Lens.lens (\ListStageDeployments' {nextToken} -> nextToken) (\s@ListStageDeployments' {} a -> s {nextToken = a} :: ListStageDeployments)++-- | The name of the game.+listStageDeployments_gameName :: Lens.Lens' ListStageDeployments Prelude.Text+listStageDeployments_gameName = Lens.lens (\ListStageDeployments' {gameName} -> gameName) (\s@ListStageDeployments' {} a -> s {gameName = a} :: ListStageDeployments)++-- | The name of the stage.+listStageDeployments_stageName :: Lens.Lens' ListStageDeployments Prelude.Text+listStageDeployments_stageName = Lens.lens (\ListStageDeployments' {stageName} -> stageName) (\s@ListStageDeployments' {} a -> s {stageName = a} :: ListStageDeployments)++instance Core.AWSPager ListStageDeployments where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listStageDeploymentsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listStageDeploymentsResponse_stageDeployments+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listStageDeployments_nextToken+          Lens..~ rs+          Lens.^? listStageDeploymentsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListStageDeployments where+  type+    AWSResponse ListStageDeployments =+      ListStageDeploymentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListStageDeploymentsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "StageDeployments"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListStageDeployments where+  hashWithSalt _salt ListStageDeployments' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData ListStageDeployments where+  rnf ListStageDeployments' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders ListStageDeployments where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListStageDeployments where+  toPath ListStageDeployments' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName,+        "/deployments"+      ]++instance Data.ToQuery ListStageDeployments where+  toQuery ListStageDeployments' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListStageDeploymentsResponse' smart constructor.+data ListStageDeploymentsResponse = ListStageDeploymentsResponse'+  { -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of stage deployment summaries. You can use the deployment IDs in+    -- the @UpdateStageDeployment@ and @GetStageDeployment@ actions.+    stageDeployments :: Prelude.Maybe [StageDeploymentSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStageDeploymentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStageDeploymentsResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'stageDeployments', 'listStageDeploymentsResponse_stageDeployments' - A list of stage deployment summaries. You can use the deployment IDs in+-- the @UpdateStageDeployment@ and @GetStageDeployment@ actions.+--+-- 'httpStatus', 'listStageDeploymentsResponse_httpStatus' - The response's http status code.+newListStageDeploymentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListStageDeploymentsResponse+newListStageDeploymentsResponse pHttpStatus_ =+  ListStageDeploymentsResponse'+    { nextToken =+        Prelude.Nothing,+      stageDeployments = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listStageDeploymentsResponse_nextToken :: Lens.Lens' ListStageDeploymentsResponse (Prelude.Maybe Prelude.Text)+listStageDeploymentsResponse_nextToken = Lens.lens (\ListStageDeploymentsResponse' {nextToken} -> nextToken) (\s@ListStageDeploymentsResponse' {} a -> s {nextToken = a} :: ListStageDeploymentsResponse)++-- | A list of stage deployment summaries. You can use the deployment IDs in+-- the @UpdateStageDeployment@ and @GetStageDeployment@ actions.+listStageDeploymentsResponse_stageDeployments :: Lens.Lens' ListStageDeploymentsResponse (Prelude.Maybe [StageDeploymentSummary])+listStageDeploymentsResponse_stageDeployments = Lens.lens (\ListStageDeploymentsResponse' {stageDeployments} -> stageDeployments) (\s@ListStageDeploymentsResponse' {} a -> s {stageDeployments = a} :: ListStageDeploymentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStageDeploymentsResponse_httpStatus :: Lens.Lens' ListStageDeploymentsResponse Prelude.Int+listStageDeploymentsResponse_httpStatus = Lens.lens (\ListStageDeploymentsResponse' {httpStatus} -> httpStatus) (\s@ListStageDeploymentsResponse' {} a -> s {httpStatus = a} :: ListStageDeploymentsResponse)++instance Prelude.NFData ListStageDeploymentsResponse where+  rnf ListStageDeploymentsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf stageDeployments+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/ListStages.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.ListStages+-- 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 a paginated list of stage summaries from the game.+--+-- This operation returns paginated results.+module Amazonka.GamesParks.ListStages+  ( -- * Creating a Request+    ListStages (..),+    newListStages,++    -- * Request Lenses+    listStages_maxResults,+    listStages_nextToken,+    listStages_gameName,++    -- * Destructuring the Response+    ListStagesResponse (..),+    newListStagesResponse,++    -- * Response Lenses+    listStagesResponse_nextToken,+    listStagesResponse_stages,+    listStagesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListStages' smart constructor.+data ListStages = ListStages'+  { -- | The maximum number of results to return.+    --+    -- Use this parameter with NextToken to get results as a set of sequential+    -- pages.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use the token that is returned with a previous call to this operation.+    -- To start at the beginning of the result set, do not specify a value.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStages_maxResults' - The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+--+-- 'nextToken', 'listStages_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+--+-- 'gameName', 'listStages_gameName' - The name of the game.+newListStages ::+  -- | 'gameName'+  Prelude.Text ->+  ListStages+newListStages pGameName_ =+  ListStages'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      gameName = pGameName_+    }++-- | The maximum number of results to return.+--+-- Use this parameter with NextToken to get results as a set of sequential+-- pages.+listStages_maxResults :: Lens.Lens' ListStages (Prelude.Maybe Prelude.Natural)+listStages_maxResults = Lens.lens (\ListStages' {maxResults} -> maxResults) (\s@ListStages' {} a -> s {maxResults = a} :: ListStages)++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use the token that is returned with a previous call to this operation.+-- To start at the beginning of the result set, do not specify a value.+listStages_nextToken :: Lens.Lens' ListStages (Prelude.Maybe Prelude.Text)+listStages_nextToken = Lens.lens (\ListStages' {nextToken} -> nextToken) (\s@ListStages' {} a -> s {nextToken = a} :: ListStages)++-- | The name of the game.+listStages_gameName :: Lens.Lens' ListStages Prelude.Text+listStages_gameName = Lens.lens (\ListStages' {gameName} -> gameName) (\s@ListStages' {} a -> s {gameName = a} :: ListStages)++instance Core.AWSPager ListStages where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listStagesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listStagesResponse_stages+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listStages_nextToken+          Lens..~ rs+          Lens.^? listStagesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListStages where+  type AWSResponse ListStages = ListStagesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListStagesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Stages" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListStages where+  hashWithSalt _salt ListStages' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData ListStages where+  rnf ListStages' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders ListStages where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListStages where+  toPath ListStages' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/stage"]++instance Data.ToQuery ListStages where+  toQuery ListStages' {..} =+    Prelude.mconcat+      [ "MaxResults" Data.=: maxResults,+        "NextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListStagesResponse' smart constructor.+data ListStagesResponse = ListStagesResponse'+  { -- | The token that indicates the start of the next sequential page of+    -- results.+    --+    -- Use this value when making the next call to this operation to continue+    -- where the last one finished.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | A list of stage summaries. You can use the stage names in the+    -- @UpdateStage@ and @GetStage@ actions.+    stages :: Prelude.Maybe [StageSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListStagesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listStagesResponse_nextToken' - The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+--+-- 'stages', 'listStagesResponse_stages' - A list of stage summaries. You can use the stage names in the+-- @UpdateStage@ and @GetStage@ actions.+--+-- 'httpStatus', 'listStagesResponse_httpStatus' - The response's http status code.+newListStagesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListStagesResponse+newListStagesResponse pHttpStatus_ =+  ListStagesResponse'+    { nextToken = Prelude.Nothing,+      stages = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token that indicates the start of the next sequential page of+-- results.+--+-- Use this value when making the next call to this operation to continue+-- where the last one finished.+listStagesResponse_nextToken :: Lens.Lens' ListStagesResponse (Prelude.Maybe Prelude.Text)+listStagesResponse_nextToken = Lens.lens (\ListStagesResponse' {nextToken} -> nextToken) (\s@ListStagesResponse' {} a -> s {nextToken = a} :: ListStagesResponse)++-- | A list of stage summaries. You can use the stage names in the+-- @UpdateStage@ and @GetStage@ actions.+listStagesResponse_stages :: Lens.Lens' ListStagesResponse (Prelude.Maybe [StageSummary])+listStagesResponse_stages = Lens.lens (\ListStagesResponse' {stages} -> stages) (\s@ListStagesResponse' {} a -> s {stages = a} :: ListStagesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listStagesResponse_httpStatus :: Lens.Lens' ListStagesResponse Prelude.Int+listStagesResponse_httpStatus = Lens.lens (\ListStagesResponse' {httpStatus} -> httpStatus) (\s@ListStagesResponse' {} a -> s {httpStatus = a} :: ListStagesResponse)++instance Prelude.NFData ListStagesResponse where+  rnf ListStagesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf stages+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/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.GamesParks.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 associated with a GameSparks resource.+module Amazonka.GamesParks.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.GamesParks.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 GameSparks 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 GameSparks resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the GameSparks 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 tags associated with the resource.+    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 tags associated with the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags associated with the resource.+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/GamesParks/StartGeneratedCodeJob.hs view
@@ -0,0 +1,211 @@+{-# 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.GamesParks.StartGeneratedCodeJob+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts an asynchronous process that generates client code for+-- system-defined and custom messages. The resulting code is collected as a+-- .zip file and uploaded to a pre-signed Amazon S3 URL.+module Amazonka.GamesParks.StartGeneratedCodeJob+  ( -- * Creating a Request+    StartGeneratedCodeJob (..),+    newStartGeneratedCodeJob,++    -- * Request Lenses+    startGeneratedCodeJob_gameName,+    startGeneratedCodeJob_generator,+    startGeneratedCodeJob_snapshotId,++    -- * Destructuring the Response+    StartGeneratedCodeJobResponse (..),+    newStartGeneratedCodeJobResponse,++    -- * Response Lenses+    startGeneratedCodeJobResponse_generatedCodeJobId,+    startGeneratedCodeJobResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartGeneratedCodeJob' smart constructor.+data StartGeneratedCodeJob = StartGeneratedCodeJob'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | Properties of the generator to use for the job.+    generator :: Generator,+    -- | The identifier of the snapshot for which to generate code.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartGeneratedCodeJob' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'startGeneratedCodeJob_gameName' - The name of the game.+--+-- 'generator', 'startGeneratedCodeJob_generator' - Properties of the generator to use for the job.+--+-- 'snapshotId', 'startGeneratedCodeJob_snapshotId' - The identifier of the snapshot for which to generate code.+newStartGeneratedCodeJob ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'generator'+  Generator ->+  -- | 'snapshotId'+  Prelude.Text ->+  StartGeneratedCodeJob+newStartGeneratedCodeJob+  pGameName_+  pGenerator_+  pSnapshotId_ =+    StartGeneratedCodeJob'+      { gameName = pGameName_,+        generator = pGenerator_,+        snapshotId = pSnapshotId_+      }++-- | The name of the game.+startGeneratedCodeJob_gameName :: Lens.Lens' StartGeneratedCodeJob Prelude.Text+startGeneratedCodeJob_gameName = Lens.lens (\StartGeneratedCodeJob' {gameName} -> gameName) (\s@StartGeneratedCodeJob' {} a -> s {gameName = a} :: StartGeneratedCodeJob)++-- | Properties of the generator to use for the job.+startGeneratedCodeJob_generator :: Lens.Lens' StartGeneratedCodeJob Generator+startGeneratedCodeJob_generator = Lens.lens (\StartGeneratedCodeJob' {generator} -> generator) (\s@StartGeneratedCodeJob' {} a -> s {generator = a} :: StartGeneratedCodeJob)++-- | The identifier of the snapshot for which to generate code.+startGeneratedCodeJob_snapshotId :: Lens.Lens' StartGeneratedCodeJob Prelude.Text+startGeneratedCodeJob_snapshotId = Lens.lens (\StartGeneratedCodeJob' {snapshotId} -> snapshotId) (\s@StartGeneratedCodeJob' {} a -> s {snapshotId = a} :: StartGeneratedCodeJob)++instance Core.AWSRequest StartGeneratedCodeJob where+  type+    AWSResponse StartGeneratedCodeJob =+      StartGeneratedCodeJobResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartGeneratedCodeJobResponse'+            Prelude.<$> (x Data..?> "GeneratedCodeJobId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartGeneratedCodeJob where+  hashWithSalt _salt StartGeneratedCodeJob' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` generator+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData StartGeneratedCodeJob where+  rnf StartGeneratedCodeJob' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf generator+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders StartGeneratedCodeJob where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartGeneratedCodeJob where+  toJSON StartGeneratedCodeJob' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Generator" Data..= generator)]+      )++instance Data.ToPath StartGeneratedCodeJob where+  toPath StartGeneratedCodeJob' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId,+        "/generated-sdk-code-job"+      ]++instance Data.ToQuery StartGeneratedCodeJob where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartGeneratedCodeJobResponse' smart constructor.+data StartGeneratedCodeJobResponse = StartGeneratedCodeJobResponse'+  { -- | The identifier of the code generation job. You can use this identifier+    -- in the @GetGeneratedCodeJob@ operation.+    generatedCodeJobId :: 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 'StartGeneratedCodeJobResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'generatedCodeJobId', 'startGeneratedCodeJobResponse_generatedCodeJobId' - The identifier of the code generation job. You can use this identifier+-- in the @GetGeneratedCodeJob@ operation.+--+-- 'httpStatus', 'startGeneratedCodeJobResponse_httpStatus' - The response's http status code.+newStartGeneratedCodeJobResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartGeneratedCodeJobResponse+newStartGeneratedCodeJobResponse pHttpStatus_ =+  StartGeneratedCodeJobResponse'+    { generatedCodeJobId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The identifier of the code generation job. You can use this identifier+-- in the @GetGeneratedCodeJob@ operation.+startGeneratedCodeJobResponse_generatedCodeJobId :: Lens.Lens' StartGeneratedCodeJobResponse (Prelude.Maybe Prelude.Text)+startGeneratedCodeJobResponse_generatedCodeJobId = Lens.lens (\StartGeneratedCodeJobResponse' {generatedCodeJobId} -> generatedCodeJobId) (\s@StartGeneratedCodeJobResponse' {} a -> s {generatedCodeJobId = a} :: StartGeneratedCodeJobResponse)++-- | The response's http status code.+startGeneratedCodeJobResponse_httpStatus :: Lens.Lens' StartGeneratedCodeJobResponse Prelude.Int+startGeneratedCodeJobResponse_httpStatus = Lens.lens (\StartGeneratedCodeJobResponse' {httpStatus} -> httpStatus) (\s@StartGeneratedCodeJobResponse' {} a -> s {httpStatus = a} :: StartGeneratedCodeJobResponse)++instance Prelude.NFData StartGeneratedCodeJobResponse where+  rnf StartGeneratedCodeJobResponse' {..} =+    Prelude.rnf generatedCodeJobId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/StartStageDeployment.hs view
@@ -0,0 +1,233 @@+{-# 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.GamesParks.StartStageDeployment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deploys a snapshot to the stage and creates a new game runtime.+--+-- After you call this operation, you can check the deployment status by+-- using @GetStageDeployment@.+--+-- If there are any players connected to the previous game runtime, then+-- both runtimes persist. Existing connections to the previous runtime are+-- maintained. When players disconnect and reconnect, they connect to the+-- new runtime. After there are no connections to the previous game+-- runtime, it is deleted.+module Amazonka.GamesParks.StartStageDeployment+  ( -- * Creating a Request+    StartStageDeployment (..),+    newStartStageDeployment,++    -- * Request Lenses+    startStageDeployment_clientToken,+    startStageDeployment_gameName,+    startStageDeployment_snapshotId,+    startStageDeployment_stageName,++    -- * Destructuring the Response+    StartStageDeploymentResponse (..),+    newStartStageDeploymentResponse,++    -- * Response Lenses+    startStageDeploymentResponse_stageDeployment,+    startStageDeploymentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartStageDeployment' smart constructor.+data StartStageDeployment = StartStageDeployment'+  { -- | A client-defined token. With an active client token in the request, this+    -- action is idempotent.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the snapshot to deploy.+    snapshotId :: Prelude.Text,+    -- | The name of the stage to deploy the snapshot onto.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStageDeployment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startStageDeployment_clientToken' - A client-defined token. With an active client token in the request, this+-- action is idempotent.+--+-- 'gameName', 'startStageDeployment_gameName' - The name of the game.+--+-- 'snapshotId', 'startStageDeployment_snapshotId' - The identifier of the snapshot to deploy.+--+-- 'stageName', 'startStageDeployment_stageName' - The name of the stage to deploy the snapshot onto.+newStartStageDeployment ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  StartStageDeployment+newStartStageDeployment+  pGameName_+  pSnapshotId_+  pStageName_ =+    StartStageDeployment'+      { clientToken =+          Prelude.Nothing,+        gameName = pGameName_,+        snapshotId = pSnapshotId_,+        stageName = pStageName_+      }++-- | A client-defined token. With an active client token in the request, this+-- action is idempotent.+startStageDeployment_clientToken :: Lens.Lens' StartStageDeployment (Prelude.Maybe Prelude.Text)+startStageDeployment_clientToken = Lens.lens (\StartStageDeployment' {clientToken} -> clientToken) (\s@StartStageDeployment' {} a -> s {clientToken = a} :: StartStageDeployment)++-- | The name of the game.+startStageDeployment_gameName :: Lens.Lens' StartStageDeployment Prelude.Text+startStageDeployment_gameName = Lens.lens (\StartStageDeployment' {gameName} -> gameName) (\s@StartStageDeployment' {} a -> s {gameName = a} :: StartStageDeployment)++-- | The identifier of the snapshot to deploy.+startStageDeployment_snapshotId :: Lens.Lens' StartStageDeployment Prelude.Text+startStageDeployment_snapshotId = Lens.lens (\StartStageDeployment' {snapshotId} -> snapshotId) (\s@StartStageDeployment' {} a -> s {snapshotId = a} :: StartStageDeployment)++-- | The name of the stage to deploy the snapshot onto.+startStageDeployment_stageName :: Lens.Lens' StartStageDeployment Prelude.Text+startStageDeployment_stageName = Lens.lens (\StartStageDeployment' {stageName} -> stageName) (\s@StartStageDeployment' {} a -> s {stageName = a} :: StartStageDeployment)++instance Core.AWSRequest StartStageDeployment where+  type+    AWSResponse StartStageDeployment =+      StartStageDeploymentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartStageDeploymentResponse'+            Prelude.<$> (x Data..?> "StageDeployment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartStageDeployment where+  hashWithSalt _salt StartStageDeployment' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` snapshotId+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData StartStageDeployment where+  rnf StartStageDeployment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf snapshotId+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders StartStageDeployment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartStageDeployment where+  toJSON StartStageDeployment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("SnapshotId" Data..= snapshotId)+          ]+      )++instance Data.ToPath StartStageDeployment where+  toPath StartStageDeployment' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName,+        "/deployment"+      ]++instance Data.ToQuery StartStageDeployment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartStageDeploymentResponse' smart constructor.+data StartStageDeploymentResponse = StartStageDeploymentResponse'+  { -- | Properties that describe the stage deployment.+    stageDeployment :: Prelude.Maybe StageDeploymentDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartStageDeploymentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stageDeployment', 'startStageDeploymentResponse_stageDeployment' - Properties that describe the stage deployment.+--+-- 'httpStatus', 'startStageDeploymentResponse_httpStatus' - The response's http status code.+newStartStageDeploymentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartStageDeploymentResponse+newStartStageDeploymentResponse pHttpStatus_ =+  StartStageDeploymentResponse'+    { stageDeployment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that describe the stage deployment.+startStageDeploymentResponse_stageDeployment :: Lens.Lens' StartStageDeploymentResponse (Prelude.Maybe StageDeploymentDetails)+startStageDeploymentResponse_stageDeployment = Lens.lens (\StartStageDeploymentResponse' {stageDeployment} -> stageDeployment) (\s@StartStageDeploymentResponse' {} a -> s {stageDeployment = a} :: StartStageDeploymentResponse)++-- | The response's http status code.+startStageDeploymentResponse_httpStatus :: Lens.Lens' StartStageDeploymentResponse Prelude.Int+startStageDeploymentResponse_httpStatus = Lens.lens (\StartStageDeploymentResponse' {httpStatus} -> httpStatus) (\s@StartStageDeploymentResponse' {} a -> s {httpStatus = a} :: StartStageDeploymentResponse)++instance Prelude.NFData StartStageDeploymentResponse where+  rnf StartStageDeploymentResponse' {..} =+    Prelude.rnf stageDeployment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/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.GamesParks.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 a GameSparks resource.+module Amazonka.GamesParks.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.GamesParks.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 to add the tags to.+    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 to add the tags to.+--+-- '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 to add the tags to.+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/GamesParks/Types.hs view
@@ -0,0 +1,362 @@+{-# 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.GamesParks.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.GamesParks.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * DeploymentAction+    DeploymentAction (..),++    -- * DeploymentState+    DeploymentState (..),++    -- * GameState+    GameState (..),++    -- * GeneratedCodeJobState+    GeneratedCodeJobState (..),++    -- * Operation+    Operation (..),++    -- * ResultCode+    ResultCode (..),++    -- * StageState+    StageState (..),++    -- * Connection+    Connection (..),+    newConnection,+    connection_created,+    connection_id,++    -- * DeploymentResult+    DeploymentResult (..),+    newDeploymentResult,+    deploymentResult_message,+    deploymentResult_resultCode,++    -- * Document+    Document (..),+    newDocument,++    -- * ExtensionDetails+    ExtensionDetails (..),+    newExtensionDetails,+    extensionDetails_description,+    extensionDetails_name,+    extensionDetails_namespace,++    -- * ExtensionVersionDetails+    ExtensionVersionDetails (..),+    newExtensionVersionDetails,+    extensionVersionDetails_name,+    extensionVersionDetails_namespace,+    extensionVersionDetails_schema,+    extensionVersionDetails_version,++    -- * GameConfigurationDetails+    GameConfigurationDetails (..),+    newGameConfigurationDetails,+    gameConfigurationDetails_created,+    gameConfigurationDetails_lastUpdated,+    gameConfigurationDetails_sections,++    -- * GameDetails+    GameDetails (..),+    newGameDetails,+    gameDetails_arn,+    gameDetails_created,+    gameDetails_description,+    gameDetails_enableTerminationProtection,+    gameDetails_lastUpdated,+    gameDetails_name,+    gameDetails_state,+    gameDetails_tags,++    -- * GameSummary+    GameSummary (..),+    newGameSummary,+    gameSummary_description,+    gameSummary_name,+    gameSummary_state,+    gameSummary_tags,++    -- * GeneratedCodeJobDetails+    GeneratedCodeJobDetails (..),+    newGeneratedCodeJobDetails,+    generatedCodeJobDetails_description,+    generatedCodeJobDetails_expirationTime,+    generatedCodeJobDetails_generatedCodeJobId,+    generatedCodeJobDetails_s3Url,+    generatedCodeJobDetails_status,++    -- * Generator+    Generator (..),+    newGenerator,+    generator_gameSdkVersion,+    generator_language,+    generator_targetPlatform,++    -- * ImportGameConfigurationSource+    ImportGameConfigurationSource (..),+    newImportGameConfigurationSource,+    importGameConfigurationSource_file,++    -- * Section+    Section (..),+    newSection,+    section_attributes,+    section_name,+    section_size,++    -- * SectionModification+    SectionModification (..),+    newSectionModification,+    sectionModification_value,+    sectionModification_operation,+    sectionModification_path,+    sectionModification_section,++    -- * SnapshotDetails+    SnapshotDetails (..),+    newSnapshotDetails,+    snapshotDetails_created,+    snapshotDetails_description,+    snapshotDetails_id,+    snapshotDetails_lastUpdated,+    snapshotDetails_sections,++    -- * SnapshotSummary+    SnapshotSummary (..),+    newSnapshotSummary,+    snapshotSummary_created,+    snapshotSummary_description,+    snapshotSummary_id,+    snapshotSummary_lastUpdated,++    -- * StageDeploymentDetails+    StageDeploymentDetails (..),+    newStageDeploymentDetails,+    stageDeploymentDetails_created,+    stageDeploymentDetails_deploymentAction,+    stageDeploymentDetails_deploymentId,+    stageDeploymentDetails_deploymentResult,+    stageDeploymentDetails_deploymentState,+    stageDeploymentDetails_lastUpdated,+    stageDeploymentDetails_snapshotId,++    -- * StageDeploymentSummary+    StageDeploymentSummary (..),+    newStageDeploymentSummary,+    stageDeploymentSummary_deploymentAction,+    stageDeploymentSummary_deploymentId,+    stageDeploymentSummary_deploymentResult,+    stageDeploymentSummary_deploymentState,+    stageDeploymentSummary_lastUpdated,+    stageDeploymentSummary_snapshotId,++    -- * StageDetails+    StageDetails (..),+    newStageDetails,+    stageDetails_arn,+    stageDetails_created,+    stageDetails_description,+    stageDetails_gameKey,+    stageDetails_lastUpdated,+    stageDetails_logGroup,+    stageDetails_name,+    stageDetails_role,+    stageDetails_state,+    stageDetails_tags,++    -- * StageSummary+    StageSummary (..),+    newStageSummary,+    stageSummary_description,+    stageSummary_gameKey,+    stageSummary_name,+    stageSummary_state,+    stageSummary_tags,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.GamesParks.Types.Connection+import Amazonka.GamesParks.Types.DeploymentAction+import Amazonka.GamesParks.Types.DeploymentResult+import Amazonka.GamesParks.Types.DeploymentState+import Amazonka.GamesParks.Types.Document+import Amazonka.GamesParks.Types.ExtensionDetails+import Amazonka.GamesParks.Types.ExtensionVersionDetails+import Amazonka.GamesParks.Types.GameConfigurationDetails+import Amazonka.GamesParks.Types.GameDetails+import Amazonka.GamesParks.Types.GameState+import Amazonka.GamesParks.Types.GameSummary+import Amazonka.GamesParks.Types.GeneratedCodeJobDetails+import Amazonka.GamesParks.Types.GeneratedCodeJobState+import Amazonka.GamesParks.Types.Generator+import Amazonka.GamesParks.Types.ImportGameConfigurationSource+import Amazonka.GamesParks.Types.Operation+import Amazonka.GamesParks.Types.ResultCode+import Amazonka.GamesParks.Types.Section+import Amazonka.GamesParks.Types.SectionModification+import Amazonka.GamesParks.Types.SnapshotDetails+import Amazonka.GamesParks.Types.SnapshotSummary+import Amazonka.GamesParks.Types.StageDeploymentDetails+import Amazonka.GamesParks.Types.StageDeploymentSummary+import Amazonka.GamesParks.Types.StageDetails+import Amazonka.GamesParks.Types.StageState+import Amazonka.GamesParks.Types.StageSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-08-17@ of the Amazon GameSparks SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "GamesParks",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "gamesparks",+      Core.signingName = "gamesparks",+      Core.version = "2021-08-17",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "GamesParks",+      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 sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | The resource already exists, or another operation is in progress.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The service encountered an internal error.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The resource specified in the request does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request would result in exceeding service quota.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request throughput limit was exceeded.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | One of the parameters in the request is invalid.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/GamesParks/Types/Connection.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.GamesParks.Types.Connection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.Connection where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about a WebSocket connection.+--+-- /See:/ 'newConnection' smart constructor.+data Connection = Connection'+  { -- | The date and time when the connection was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The identifier used to indicate a specific WebSocket connection.+    id :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Connection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'created', 'connection_created' - The date and time when the connection was created.+--+-- 'id', 'connection_id' - The identifier used to indicate a specific WebSocket connection.+newConnection ::+  Connection+newConnection =+  Connection'+    { created = Prelude.Nothing,+      id = Prelude.Nothing+    }++-- | The date and time when the connection was created.+connection_created :: Lens.Lens' Connection (Prelude.Maybe Prelude.UTCTime)+connection_created = Lens.lens (\Connection' {created} -> created) (\s@Connection' {} a -> s {created = a} :: Connection) Prelude.. Lens.mapping Data._Time++-- | The identifier used to indicate a specific WebSocket connection.+connection_id :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_id = Lens.lens (\Connection' {id} -> id) (\s@Connection' {} a -> s {id = a} :: Connection)++instance Data.FromJSON Connection where+  parseJSON =+    Data.withObject+      "Connection"+      ( \x ->+          Connection'+            Prelude.<$> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "Id")+      )++instance Prelude.Hashable Connection where+  hashWithSalt _salt Connection' {..} =+    _salt+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` id++instance Prelude.NFData Connection where+  rnf Connection' {..} =+    Prelude.rnf created `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/GamesParks/Types/DeploymentAction.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.GamesParks.Types.DeploymentAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.DeploymentAction+  ( DeploymentAction+      ( ..,+        DeploymentAction_DEPLOY,+        DeploymentAction_UNDEPLOY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeploymentAction = DeploymentAction'+  { fromDeploymentAction ::+      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 DeploymentAction_DEPLOY :: DeploymentAction+pattern DeploymentAction_DEPLOY = DeploymentAction' "DEPLOY"++pattern DeploymentAction_UNDEPLOY :: DeploymentAction+pattern DeploymentAction_UNDEPLOY = DeploymentAction' "UNDEPLOY"++{-# COMPLETE+  DeploymentAction_DEPLOY,+  DeploymentAction_UNDEPLOY,+  DeploymentAction'+  #-}
+ gen/Amazonka/GamesParks/Types/DeploymentResult.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.DeploymentResult+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.DeploymentResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.ResultCode+import qualified Amazonka.Prelude as Prelude++-- | The result of the deployment.+--+-- /See:/ 'newDeploymentResult' smart constructor.+data DeploymentResult = DeploymentResult'+  { -- | Details about the deployment result.+    message :: Prelude.Maybe Prelude.Text,+    -- | The type of deployment result.+    resultCode :: Prelude.Maybe ResultCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeploymentResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'message', 'deploymentResult_message' - Details about the deployment result.+--+-- 'resultCode', 'deploymentResult_resultCode' - The type of deployment result.+newDeploymentResult ::+  DeploymentResult+newDeploymentResult =+  DeploymentResult'+    { message = Prelude.Nothing,+      resultCode = Prelude.Nothing+    }++-- | Details about the deployment result.+deploymentResult_message :: Lens.Lens' DeploymentResult (Prelude.Maybe Prelude.Text)+deploymentResult_message = Lens.lens (\DeploymentResult' {message} -> message) (\s@DeploymentResult' {} a -> s {message = a} :: DeploymentResult)++-- | The type of deployment result.+deploymentResult_resultCode :: Lens.Lens' DeploymentResult (Prelude.Maybe ResultCode)+deploymentResult_resultCode = Lens.lens (\DeploymentResult' {resultCode} -> resultCode) (\s@DeploymentResult' {} a -> s {resultCode = a} :: DeploymentResult)++instance Data.FromJSON DeploymentResult where+  parseJSON =+    Data.withObject+      "DeploymentResult"+      ( \x ->+          DeploymentResult'+            Prelude.<$> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "ResultCode")+      )++instance Prelude.Hashable DeploymentResult where+  hashWithSalt _salt DeploymentResult' {..} =+    _salt+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` resultCode++instance Prelude.NFData DeploymentResult where+  rnf DeploymentResult' {..} =+    Prelude.rnf message+      `Prelude.seq` Prelude.rnf resultCode
+ gen/Amazonka/GamesParks/Types/DeploymentState.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.GamesParks.Types.DeploymentState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.DeploymentState+  ( DeploymentState+      ( ..,+        DeploymentState_COMPLETED,+        DeploymentState_FAILED,+        DeploymentState_IN_PROGRESS,+        DeploymentState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeploymentState = DeploymentState'+  { fromDeploymentState ::+      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 DeploymentState_COMPLETED :: DeploymentState+pattern DeploymentState_COMPLETED = DeploymentState' "COMPLETED"++pattern DeploymentState_FAILED :: DeploymentState+pattern DeploymentState_FAILED = DeploymentState' "FAILED"++pattern DeploymentState_IN_PROGRESS :: DeploymentState+pattern DeploymentState_IN_PROGRESS = DeploymentState' "IN_PROGRESS"++pattern DeploymentState_PENDING :: DeploymentState+pattern DeploymentState_PENDING = DeploymentState' "PENDING"++{-# COMPLETE+  DeploymentState_COMPLETED,+  DeploymentState_FAILED,+  DeploymentState_IN_PROGRESS,+  DeploymentState_PENDING,+  DeploymentState'+  #-}
+ gen/Amazonka/GamesParks/Types/Document.hs view
@@ -0,0 +1,57 @@+{-# 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.GamesParks.Types.Document+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.Document 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++-- |+--+-- /See:/ 'newDocument' smart constructor.+data Document = Document'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Document' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDocument ::+  Document+newDocument = Document'++instance Data.FromJSON Document where+  parseJSON =+    Data.withObject+      "Document"+      (\x -> Prelude.pure Document')++instance Prelude.Hashable Document where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData Document where+  rnf _ = ()++instance Data.ToJSON Document where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/GamesParks/Types/ExtensionDetails.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.GamesParks.Types.ExtensionDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.ExtensionDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the extension.+--+-- /See:/ 'newExtensionDetails' smart constructor.+data ExtensionDetails = ExtensionDetails'+  { -- | The description of the extension.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the extension.+    name :: Prelude.Maybe Prelude.Text,+    -- | The namespace (qualifier) of the extension.+    namespace :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtensionDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'extensionDetails_description' - The description of the extension.+--+-- 'name', 'extensionDetails_name' - The name of the extension.+--+-- 'namespace', 'extensionDetails_namespace' - The namespace (qualifier) of the extension.+newExtensionDetails ::+  ExtensionDetails+newExtensionDetails =+  ExtensionDetails'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      namespace = Prelude.Nothing+    }++-- | The description of the extension.+extensionDetails_description :: Lens.Lens' ExtensionDetails (Prelude.Maybe Prelude.Text)+extensionDetails_description = Lens.lens (\ExtensionDetails' {description} -> description) (\s@ExtensionDetails' {} a -> s {description = a} :: ExtensionDetails)++-- | The name of the extension.+extensionDetails_name :: Lens.Lens' ExtensionDetails (Prelude.Maybe Prelude.Text)+extensionDetails_name = Lens.lens (\ExtensionDetails' {name} -> name) (\s@ExtensionDetails' {} a -> s {name = a} :: ExtensionDetails)++-- | The namespace (qualifier) of the extension.+extensionDetails_namespace :: Lens.Lens' ExtensionDetails (Prelude.Maybe Prelude.Text)+extensionDetails_namespace = Lens.lens (\ExtensionDetails' {namespace} -> namespace) (\s@ExtensionDetails' {} a -> s {namespace = a} :: ExtensionDetails)++instance Data.FromJSON ExtensionDetails where+  parseJSON =+    Data.withObject+      "ExtensionDetails"+      ( \x ->+          ExtensionDetails'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Namespace")+      )++instance Prelude.Hashable ExtensionDetails where+  hashWithSalt _salt ExtensionDetails' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace++instance Prelude.NFData ExtensionDetails where+  rnf ExtensionDetails' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace
+ gen/Amazonka/GamesParks/Types/ExtensionVersionDetails.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.ExtensionVersionDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.ExtensionVersionDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the extension version.+--+-- /See:/ 'newExtensionVersionDetails' smart constructor.+data ExtensionVersionDetails = ExtensionVersionDetails'+  { -- | The name of the extension.+    name :: Prelude.Maybe Prelude.Text,+    -- | The namespace (qualifier) of the extension.+    namespace :: Prelude.Maybe Prelude.Text,+    -- | The model that defines the interface for this extension version.+    schema :: Prelude.Maybe Prelude.Text,+    -- | The version of the extension.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExtensionVersionDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'extensionVersionDetails_name' - The name of the extension.+--+-- 'namespace', 'extensionVersionDetails_namespace' - The namespace (qualifier) of the extension.+--+-- 'schema', 'extensionVersionDetails_schema' - The model that defines the interface for this extension version.+--+-- 'version', 'extensionVersionDetails_version' - The version of the extension.+newExtensionVersionDetails ::+  ExtensionVersionDetails+newExtensionVersionDetails =+  ExtensionVersionDetails'+    { name = Prelude.Nothing,+      namespace = Prelude.Nothing,+      schema = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The name of the extension.+extensionVersionDetails_name :: Lens.Lens' ExtensionVersionDetails (Prelude.Maybe Prelude.Text)+extensionVersionDetails_name = Lens.lens (\ExtensionVersionDetails' {name} -> name) (\s@ExtensionVersionDetails' {} a -> s {name = a} :: ExtensionVersionDetails)++-- | The namespace (qualifier) of the extension.+extensionVersionDetails_namespace :: Lens.Lens' ExtensionVersionDetails (Prelude.Maybe Prelude.Text)+extensionVersionDetails_namespace = Lens.lens (\ExtensionVersionDetails' {namespace} -> namespace) (\s@ExtensionVersionDetails' {} a -> s {namespace = a} :: ExtensionVersionDetails)++-- | The model that defines the interface for this extension version.+extensionVersionDetails_schema :: Lens.Lens' ExtensionVersionDetails (Prelude.Maybe Prelude.Text)+extensionVersionDetails_schema = Lens.lens (\ExtensionVersionDetails' {schema} -> schema) (\s@ExtensionVersionDetails' {} a -> s {schema = a} :: ExtensionVersionDetails)++-- | The version of the extension.+extensionVersionDetails_version :: Lens.Lens' ExtensionVersionDetails (Prelude.Maybe Prelude.Text)+extensionVersionDetails_version = Lens.lens (\ExtensionVersionDetails' {version} -> version) (\s@ExtensionVersionDetails' {} a -> s {version = a} :: ExtensionVersionDetails)++instance Data.FromJSON ExtensionVersionDetails where+  parseJSON =+    Data.withObject+      "ExtensionVersionDetails"+      ( \x ->+          ExtensionVersionDetails'+            Prelude.<$> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Namespace")+            Prelude.<*> (x Data..:? "Schema")+            Prelude.<*> (x Data..:? "Version")+      )++instance Prelude.Hashable ExtensionVersionDetails where+  hashWithSalt _salt ExtensionVersionDetails' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` namespace+      `Prelude.hashWithSalt` schema+      `Prelude.hashWithSalt` version++instance Prelude.NFData ExtensionVersionDetails where+  rnf ExtensionVersionDetails' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf namespace+      `Prelude.seq` Prelude.rnf schema+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/GamesParks/Types/GameConfigurationDetails.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.GameConfigurationDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GameConfigurationDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.Section+import qualified Amazonka.Prelude as Prelude++-- | Details about the game configuration.+--+-- The game configuration is organized into named sections, where the+-- schema of each section is defined by an extension. The schema for these+-- sections can be retrieved using the @GetExtensionVersion@ operation.+--+-- /See:/ 'newGameConfigurationDetails' smart constructor.+data GameConfigurationDetails = GameConfigurationDetails'+  { -- | The date when the game was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The date when the game was last modified.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | Configuration data, organized by section name.+    sections :: Prelude.Maybe (Prelude.HashMap Prelude.Text Section)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GameConfigurationDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'created', 'gameConfigurationDetails_created' - The date when the game was created.+--+-- 'lastUpdated', 'gameConfigurationDetails_lastUpdated' - The date when the game was last modified.+--+-- 'sections', 'gameConfigurationDetails_sections' - Configuration data, organized by section name.+newGameConfigurationDetails ::+  GameConfigurationDetails+newGameConfigurationDetails =+  GameConfigurationDetails'+    { created =+        Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      sections = Prelude.Nothing+    }++-- | The date when the game was created.+gameConfigurationDetails_created :: Lens.Lens' GameConfigurationDetails (Prelude.Maybe Prelude.UTCTime)+gameConfigurationDetails_created = Lens.lens (\GameConfigurationDetails' {created} -> created) (\s@GameConfigurationDetails' {} a -> s {created = a} :: GameConfigurationDetails) Prelude.. Lens.mapping Data._Time++-- | The date when the game was last modified.+gameConfigurationDetails_lastUpdated :: Lens.Lens' GameConfigurationDetails (Prelude.Maybe Prelude.UTCTime)+gameConfigurationDetails_lastUpdated = Lens.lens (\GameConfigurationDetails' {lastUpdated} -> lastUpdated) (\s@GameConfigurationDetails' {} a -> s {lastUpdated = a} :: GameConfigurationDetails) Prelude.. Lens.mapping Data._Time++-- | Configuration data, organized by section name.+gameConfigurationDetails_sections :: Lens.Lens' GameConfigurationDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Section))+gameConfigurationDetails_sections = Lens.lens (\GameConfigurationDetails' {sections} -> sections) (\s@GameConfigurationDetails' {} a -> s {sections = a} :: GameConfigurationDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GameConfigurationDetails where+  parseJSON =+    Data.withObject+      "GameConfigurationDetails"+      ( \x ->+          GameConfigurationDetails'+            Prelude.<$> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "Sections" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GameConfigurationDetails where+  hashWithSalt _salt GameConfigurationDetails' {..} =+    _salt+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` sections++instance Prelude.NFData GameConfigurationDetails where+  rnf GameConfigurationDetails' {..} =+    Prelude.rnf created+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf sections
+ gen/Amazonka/GamesParks/Types/GameDetails.hs view
@@ -0,0 +1,157 @@+{-# 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.GamesParks.Types.GameDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GameDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.GameState+import qualified Amazonka.Prelude as Prelude++-- | Details about a game.+--+-- /See:/ 'newGameDetails' smart constructor.+data GameDetails = GameDetails'+  { -- | The Amazon Resource Name (ARN) of this game.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The date when the game was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The description of the game.+    description :: Prelude.Maybe Prelude.Text,+    -- | Determines if the game can be deleted.+    enableTerminationProtection :: Prelude.Maybe Prelude.Bool,+    -- | The date when the game was last modified.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | The name of the game.+    name :: Prelude.Maybe Prelude.Text,+    -- | The state of the game.+    state :: Prelude.Maybe GameState,+    -- | The tags associated with the game.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GameDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'gameDetails_arn' - The Amazon Resource Name (ARN) of this game.+--+-- 'created', 'gameDetails_created' - The date when the game was created.+--+-- 'description', 'gameDetails_description' - The description of the game.+--+-- 'enableTerminationProtection', 'gameDetails_enableTerminationProtection' - Determines if the game can be deleted.+--+-- 'lastUpdated', 'gameDetails_lastUpdated' - The date when the game was last modified.+--+-- 'name', 'gameDetails_name' - The name of the game.+--+-- 'state', 'gameDetails_state' - The state of the game.+--+-- 'tags', 'gameDetails_tags' - The tags associated with the game.+newGameDetails ::+  GameDetails+newGameDetails =+  GameDetails'+    { arn = Prelude.Nothing,+      created = Prelude.Nothing,+      description = Prelude.Nothing,+      enableTerminationProtection = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      name = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of this game.+gameDetails_arn :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.Text)+gameDetails_arn = Lens.lens (\GameDetails' {arn} -> arn) (\s@GameDetails' {} a -> s {arn = a} :: GameDetails)++-- | The date when the game was created.+gameDetails_created :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.UTCTime)+gameDetails_created = Lens.lens (\GameDetails' {created} -> created) (\s@GameDetails' {} a -> s {created = a} :: GameDetails) Prelude.. Lens.mapping Data._Time++-- | The description of the game.+gameDetails_description :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.Text)+gameDetails_description = Lens.lens (\GameDetails' {description} -> description) (\s@GameDetails' {} a -> s {description = a} :: GameDetails)++-- | Determines if the game can be deleted.+gameDetails_enableTerminationProtection :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.Bool)+gameDetails_enableTerminationProtection = Lens.lens (\GameDetails' {enableTerminationProtection} -> enableTerminationProtection) (\s@GameDetails' {} a -> s {enableTerminationProtection = a} :: GameDetails)++-- | The date when the game was last modified.+gameDetails_lastUpdated :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.UTCTime)+gameDetails_lastUpdated = Lens.lens (\GameDetails' {lastUpdated} -> lastUpdated) (\s@GameDetails' {} a -> s {lastUpdated = a} :: GameDetails) Prelude.. Lens.mapping Data._Time++-- | The name of the game.+gameDetails_name :: Lens.Lens' GameDetails (Prelude.Maybe Prelude.Text)+gameDetails_name = Lens.lens (\GameDetails' {name} -> name) (\s@GameDetails' {} a -> s {name = a} :: GameDetails)++-- | The state of the game.+gameDetails_state :: Lens.Lens' GameDetails (Prelude.Maybe GameState)+gameDetails_state = Lens.lens (\GameDetails' {state} -> state) (\s@GameDetails' {} a -> s {state = a} :: GameDetails)++-- | The tags associated with the game.+gameDetails_tags :: Lens.Lens' GameDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+gameDetails_tags = Lens.lens (\GameDetails' {tags} -> tags) (\s@GameDetails' {} a -> s {tags = a} :: GameDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GameDetails where+  parseJSON =+    Data.withObject+      "GameDetails"+      ( \x ->+          GameDetails'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "EnableTerminationProtection")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GameDetails where+  hashWithSalt _salt GameDetails' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` enableTerminationProtection+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData GameDetails where+  rnf GameDetails' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf created+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf enableTerminationProtection+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/GamesParks/Types/GameState.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.GamesParks.Types.GameState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GameState+  ( GameState+      ( ..,+        GameState_ACTIVE,+        GameState_DELETING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GameState = GameState'+  { fromGameState ::+      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 GameState_ACTIVE :: GameState+pattern GameState_ACTIVE = GameState' "ACTIVE"++pattern GameState_DELETING :: GameState+pattern GameState_DELETING = GameState' "DELETING"++{-# COMPLETE+  GameState_ACTIVE,+  GameState_DELETING,+  GameState'+  #-}
+ gen/Amazonka/GamesParks/Types/GameSummary.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.GameSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GameSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.GameState+import qualified Amazonka.Prelude as Prelude++-- | The summary of the properties of a game.+--+-- /See:/ 'newGameSummary' smart constructor.+data GameSummary = GameSummary'+  { -- | The description of the game.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    name :: Prelude.Maybe Prelude.Text,+    -- | The state of the game.+    state :: Prelude.Maybe GameState,+    -- | The tags associated with the game.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GameSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'gameSummary_description' - The description of the game.+--+-- 'name', 'gameSummary_name' - The name of the game.+--+-- 'state', 'gameSummary_state' - The state of the game.+--+-- 'tags', 'gameSummary_tags' - The tags associated with the game.+newGameSummary ::+  GameSummary+newGameSummary =+  GameSummary'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The description of the game.+gameSummary_description :: Lens.Lens' GameSummary (Prelude.Maybe Prelude.Text)+gameSummary_description = Lens.lens (\GameSummary' {description} -> description) (\s@GameSummary' {} a -> s {description = a} :: GameSummary)++-- | The name of the game.+gameSummary_name :: Lens.Lens' GameSummary (Prelude.Maybe Prelude.Text)+gameSummary_name = Lens.lens (\GameSummary' {name} -> name) (\s@GameSummary' {} a -> s {name = a} :: GameSummary)++-- | The state of the game.+gameSummary_state :: Lens.Lens' GameSummary (Prelude.Maybe GameState)+gameSummary_state = Lens.lens (\GameSummary' {state} -> state) (\s@GameSummary' {} a -> s {state = a} :: GameSummary)++-- | The tags associated with the game.+gameSummary_tags :: Lens.Lens' GameSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+gameSummary_tags = Lens.lens (\GameSummary' {tags} -> tags) (\s@GameSummary' {} a -> s {tags = a} :: GameSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GameSummary where+  parseJSON =+    Data.withObject+      "GameSummary"+      ( \x ->+          GameSummary'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GameSummary where+  hashWithSalt _salt GameSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData GameSummary where+  rnf GameSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/GamesParks/Types/GeneratedCodeJobDetails.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.GeneratedCodeJobDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GeneratedCodeJobDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.GeneratedCodeJobState+import qualified Amazonka.Prelude as Prelude++-- | Details about a generated code job.+--+-- /See:/ 'newGeneratedCodeJobDetails' smart constructor.+data GeneratedCodeJobDetails = GeneratedCodeJobDetails'+  { -- | The description of the generated code job.+    description :: Prelude.Maybe Prelude.Text,+    -- | The expiration date and time for the download URL.+    --+    -- The download URL us guaranteed to be available until at least this time.+    expirationTime :: Prelude.Maybe Data.ISO8601,+    -- | The identifier for the generated code job.+    generatedCodeJobId :: Prelude.Maybe Prelude.Text,+    -- | A presigned URL that can be used to download the generated code.+    s3Url :: Prelude.Maybe Prelude.Text,+    -- | The status of the generated code job+    status :: Prelude.Maybe GeneratedCodeJobState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GeneratedCodeJobDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'generatedCodeJobDetails_description' - The description of the generated code job.+--+-- 'expirationTime', 'generatedCodeJobDetails_expirationTime' - The expiration date and time for the download URL.+--+-- The download URL us guaranteed to be available until at least this time.+--+-- 'generatedCodeJobId', 'generatedCodeJobDetails_generatedCodeJobId' - The identifier for the generated code job.+--+-- 's3Url', 'generatedCodeJobDetails_s3Url' - A presigned URL that can be used to download the generated code.+--+-- 'status', 'generatedCodeJobDetails_status' - The status of the generated code job+newGeneratedCodeJobDetails ::+  GeneratedCodeJobDetails+newGeneratedCodeJobDetails =+  GeneratedCodeJobDetails'+    { description =+        Prelude.Nothing,+      expirationTime = Prelude.Nothing,+      generatedCodeJobId = Prelude.Nothing,+      s3Url = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The description of the generated code job.+generatedCodeJobDetails_description :: Lens.Lens' GeneratedCodeJobDetails (Prelude.Maybe Prelude.Text)+generatedCodeJobDetails_description = Lens.lens (\GeneratedCodeJobDetails' {description} -> description) (\s@GeneratedCodeJobDetails' {} a -> s {description = a} :: GeneratedCodeJobDetails)++-- | The expiration date and time for the download URL.+--+-- The download URL us guaranteed to be available until at least this time.+generatedCodeJobDetails_expirationTime :: Lens.Lens' GeneratedCodeJobDetails (Prelude.Maybe Prelude.UTCTime)+generatedCodeJobDetails_expirationTime = Lens.lens (\GeneratedCodeJobDetails' {expirationTime} -> expirationTime) (\s@GeneratedCodeJobDetails' {} a -> s {expirationTime = a} :: GeneratedCodeJobDetails) Prelude.. Lens.mapping Data._Time++-- | The identifier for the generated code job.+generatedCodeJobDetails_generatedCodeJobId :: Lens.Lens' GeneratedCodeJobDetails (Prelude.Maybe Prelude.Text)+generatedCodeJobDetails_generatedCodeJobId = Lens.lens (\GeneratedCodeJobDetails' {generatedCodeJobId} -> generatedCodeJobId) (\s@GeneratedCodeJobDetails' {} a -> s {generatedCodeJobId = a} :: GeneratedCodeJobDetails)++-- | A presigned URL that can be used to download the generated code.+generatedCodeJobDetails_s3Url :: Lens.Lens' GeneratedCodeJobDetails (Prelude.Maybe Prelude.Text)+generatedCodeJobDetails_s3Url = Lens.lens (\GeneratedCodeJobDetails' {s3Url} -> s3Url) (\s@GeneratedCodeJobDetails' {} a -> s {s3Url = a} :: GeneratedCodeJobDetails)++-- | The status of the generated code job+generatedCodeJobDetails_status :: Lens.Lens' GeneratedCodeJobDetails (Prelude.Maybe GeneratedCodeJobState)+generatedCodeJobDetails_status = Lens.lens (\GeneratedCodeJobDetails' {status} -> status) (\s@GeneratedCodeJobDetails' {} a -> s {status = a} :: GeneratedCodeJobDetails)++instance Data.FromJSON GeneratedCodeJobDetails where+  parseJSON =+    Data.withObject+      "GeneratedCodeJobDetails"+      ( \x ->+          GeneratedCodeJobDetails'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "ExpirationTime")+            Prelude.<*> (x Data..:? "GeneratedCodeJobId")+            Prelude.<*> (x Data..:? "S3Url")+            Prelude.<*> (x Data..:? "Status")+      )++instance Prelude.Hashable GeneratedCodeJobDetails where+  hashWithSalt _salt GeneratedCodeJobDetails' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` expirationTime+      `Prelude.hashWithSalt` generatedCodeJobId+      `Prelude.hashWithSalt` s3Url+      `Prelude.hashWithSalt` status++instance Prelude.NFData GeneratedCodeJobDetails where+  rnf GeneratedCodeJobDetails' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf expirationTime+      `Prelude.seq` Prelude.rnf generatedCodeJobId+      `Prelude.seq` Prelude.rnf s3Url+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/GamesParks/Types/GeneratedCodeJobState.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.GamesParks.Types.GeneratedCodeJobState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.GeneratedCodeJobState+  ( GeneratedCodeJobState+      ( ..,+        GeneratedCodeJobState_COMPLETED,+        GeneratedCodeJobState_FAILED,+        GeneratedCodeJobState_IN_PROGRESS,+        GeneratedCodeJobState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GeneratedCodeJobState = GeneratedCodeJobState'+  { fromGeneratedCodeJobState ::+      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 GeneratedCodeJobState_COMPLETED :: GeneratedCodeJobState+pattern GeneratedCodeJobState_COMPLETED = GeneratedCodeJobState' "COMPLETED"++pattern GeneratedCodeJobState_FAILED :: GeneratedCodeJobState+pattern GeneratedCodeJobState_FAILED = GeneratedCodeJobState' "FAILED"++pattern GeneratedCodeJobState_IN_PROGRESS :: GeneratedCodeJobState+pattern GeneratedCodeJobState_IN_PROGRESS = GeneratedCodeJobState' "IN_PROGRESS"++pattern GeneratedCodeJobState_PENDING :: GeneratedCodeJobState+pattern GeneratedCodeJobState_PENDING = GeneratedCodeJobState' "PENDING"++{-# COMPLETE+  GeneratedCodeJobState_COMPLETED,+  GeneratedCodeJobState_FAILED,+  GeneratedCodeJobState_IN_PROGRESS,+  GeneratedCodeJobState_PENDING,+  GeneratedCodeJobState'+  #-}
+ gen/Amazonka/GamesParks/Types/Generator.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.Generator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.Generator 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++-- | Properties that specify the code generator for a generated code job.+--+-- /See:/ 'newGenerator' smart constructor.+data Generator = Generator'+  { -- | The target version of the GameSparks Game SDK.+    gameSdkVersion :: Prelude.Maybe Prelude.Text,+    -- | The programming language for the generated code.+    --+    -- Not all languages are supported for each platform. For cases where+    -- multiple languages are supported, this parameter specifies the language+    -- to be used. If this value is omitted, the default language for the+    -- target platform will be used.+    language :: Prelude.Maybe Prelude.Text,+    -- | The platform that will be used to run the generated code.+    targetPlatform :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Generator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameSdkVersion', 'generator_gameSdkVersion' - The target version of the GameSparks Game SDK.+--+-- 'language', 'generator_language' - The programming language for the generated code.+--+-- Not all languages are supported for each platform. For cases where+-- multiple languages are supported, this parameter specifies the language+-- to be used. If this value is omitted, the default language for the+-- target platform will be used.+--+-- 'targetPlatform', 'generator_targetPlatform' - The platform that will be used to run the generated code.+newGenerator ::+  Generator+newGenerator =+  Generator'+    { gameSdkVersion = Prelude.Nothing,+      language = Prelude.Nothing,+      targetPlatform = Prelude.Nothing+    }++-- | The target version of the GameSparks Game SDK.+generator_gameSdkVersion :: Lens.Lens' Generator (Prelude.Maybe Prelude.Text)+generator_gameSdkVersion = Lens.lens (\Generator' {gameSdkVersion} -> gameSdkVersion) (\s@Generator' {} a -> s {gameSdkVersion = a} :: Generator)++-- | The programming language for the generated code.+--+-- Not all languages are supported for each platform. For cases where+-- multiple languages are supported, this parameter specifies the language+-- to be used. If this value is omitted, the default language for the+-- target platform will be used.+generator_language :: Lens.Lens' Generator (Prelude.Maybe Prelude.Text)+generator_language = Lens.lens (\Generator' {language} -> language) (\s@Generator' {} a -> s {language = a} :: Generator)++-- | The platform that will be used to run the generated code.+generator_targetPlatform :: Lens.Lens' Generator (Prelude.Maybe Prelude.Text)+generator_targetPlatform = Lens.lens (\Generator' {targetPlatform} -> targetPlatform) (\s@Generator' {} a -> s {targetPlatform = a} :: Generator)++instance Prelude.Hashable Generator where+  hashWithSalt _salt Generator' {..} =+    _salt+      `Prelude.hashWithSalt` gameSdkVersion+      `Prelude.hashWithSalt` language+      `Prelude.hashWithSalt` targetPlatform++instance Prelude.NFData Generator where+  rnf Generator' {..} =+    Prelude.rnf gameSdkVersion+      `Prelude.seq` Prelude.rnf language+      `Prelude.seq` Prelude.rnf targetPlatform++instance Data.ToJSON Generator where+  toJSON Generator' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("GameSdkVersion" Data..=)+              Prelude.<$> gameSdkVersion,+            ("Language" Data..=) Prelude.<$> language,+            ("TargetPlatform" Data..=)+              Prelude.<$> targetPlatform+          ]+      )
+ gen/Amazonka/GamesParks/Types/ImportGameConfigurationSource.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.GamesParks.Types.ImportGameConfigurationSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.ImportGameConfigurationSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The source used to import configuration sections.+--+-- /See:/ 'newImportGameConfigurationSource' smart constructor.+data ImportGameConfigurationSource = ImportGameConfigurationSource'+  { -- | The JSON string containing the configuration sections.+    file :: Data.Base64+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ImportGameConfigurationSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'file', 'importGameConfigurationSource_file' - The JSON string containing the configuration sections.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newImportGameConfigurationSource ::+  -- | 'file'+  Prelude.ByteString ->+  ImportGameConfigurationSource+newImportGameConfigurationSource pFile_ =+  ImportGameConfigurationSource'+    { file =+        Data._Base64 Lens.# pFile_+    }++-- | The JSON string containing the configuration sections.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+importGameConfigurationSource_file :: Lens.Lens' ImportGameConfigurationSource Prelude.ByteString+importGameConfigurationSource_file = Lens.lens (\ImportGameConfigurationSource' {file} -> file) (\s@ImportGameConfigurationSource' {} a -> s {file = a} :: ImportGameConfigurationSource) Prelude.. Data._Base64++instance+  Prelude.Hashable+    ImportGameConfigurationSource+  where+  hashWithSalt _salt ImportGameConfigurationSource' {..} =+    _salt `Prelude.hashWithSalt` file++instance Prelude.NFData ImportGameConfigurationSource where+  rnf ImportGameConfigurationSource' {..} =+    Prelude.rnf file++instance Data.ToJSON ImportGameConfigurationSource where+  toJSON ImportGameConfigurationSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("File" Data..= file)]+      )
+ gen/Amazonka/GamesParks/Types/Operation.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.GamesParks.Types.Operation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.Operation+  ( Operation+      ( ..,+        Operation_ADD,+        Operation_REMOVE,+        Operation_REPLACE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operation = Operation'+  { fromOperation ::+      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 Operation_ADD :: Operation+pattern Operation_ADD = Operation' "ADD"++pattern Operation_REMOVE :: Operation+pattern Operation_REMOVE = Operation' "REMOVE"++pattern Operation_REPLACE :: Operation+pattern Operation_REPLACE = Operation' "REPLACE"++{-# COMPLETE+  Operation_ADD,+  Operation_REMOVE,+  Operation_REPLACE,+  Operation'+  #-}
+ gen/Amazonka/GamesParks/Types/ResultCode.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.GamesParks.Types.ResultCode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.ResultCode+  ( ResultCode+      ( ..,+        ResultCode_INVALID_ROLE_FAILURE,+        ResultCode_SUCCESS,+        ResultCode_UNSPECIFIED_FAILURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResultCode = ResultCode'+  { fromResultCode ::+      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 ResultCode_INVALID_ROLE_FAILURE :: ResultCode+pattern ResultCode_INVALID_ROLE_FAILURE = ResultCode' "INVALID_ROLE_FAILURE"++pattern ResultCode_SUCCESS :: ResultCode+pattern ResultCode_SUCCESS = ResultCode' "SUCCESS"++pattern ResultCode_UNSPECIFIED_FAILURE :: ResultCode+pattern ResultCode_UNSPECIFIED_FAILURE = ResultCode' "UNSPECIFIED_FAILURE"++{-# COMPLETE+  ResultCode_INVALID_ROLE_FAILURE,+  ResultCode_SUCCESS,+  ResultCode_UNSPECIFIED_FAILURE,+  ResultCode'+  #-}
+ gen/Amazonka/GamesParks/Types/Section.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.Section+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.Section where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.Document+import qualified Amazonka.Prelude as Prelude++-- | The configuration section.+--+-- /See:/ 'newSection' smart constructor.+data Section = Section'+  { -- | The content of a configuration section.+    attributes :: Prelude.Maybe Document,+    -- | The name of the section.+    name :: Prelude.Maybe Prelude.Text,+    -- | The size, in bytes, of the section contents.+    size :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Section' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'section_attributes' - The content of a configuration section.+--+-- 'name', 'section_name' - The name of the section.+--+-- 'size', 'section_size' - The size, in bytes, of the section contents.+newSection ::+  Section+newSection =+  Section'+    { attributes = Prelude.Nothing,+      name = Prelude.Nothing,+      size = Prelude.Nothing+    }++-- | The content of a configuration section.+section_attributes :: Lens.Lens' Section (Prelude.Maybe Document)+section_attributes = Lens.lens (\Section' {attributes} -> attributes) (\s@Section' {} a -> s {attributes = a} :: Section)++-- | The name of the section.+section_name :: Lens.Lens' Section (Prelude.Maybe Prelude.Text)+section_name = Lens.lens (\Section' {name} -> name) (\s@Section' {} a -> s {name = a} :: Section)++-- | The size, in bytes, of the section contents.+section_size :: Lens.Lens' Section (Prelude.Maybe Prelude.Natural)+section_size = Lens.lens (\Section' {size} -> size) (\s@Section' {} a -> s {size = a} :: Section)++instance Data.FromJSON Section where+  parseJSON =+    Data.withObject+      "Section"+      ( \x ->+          Section'+            Prelude.<$> (x Data..:? "Attributes")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Size")+      )++instance Prelude.Hashable Section where+  hashWithSalt _salt Section' {..} =+    _salt+      `Prelude.hashWithSalt` attributes+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` size++instance Prelude.NFData Section where+  rnf Section' {..} =+    Prelude.rnf attributes+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf size
+ gen/Amazonka/GamesParks/Types/SectionModification.hs view
@@ -0,0 +1,127 @@+{-# 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.GamesParks.Types.SectionModification+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.SectionModification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.Document+import Amazonka.GamesParks.Types.Operation+import qualified Amazonka.Prelude as Prelude++-- | A single modification to the configuration section.+--+-- /See:/ 'newSectionModification' smart constructor.+data SectionModification = SectionModification'+  { -- | For add and replace operations, this is the value that will be used.+    --+    -- This field should be omitted for delete operations.+    value :: Prelude.Maybe Document,+    -- | The operation to be performed on a configuration section.+    --+    -- Content can be added, deleted, or replaced within a section.+    operation :: Operation,+    -- | The path within the section content to be modified.+    path :: Prelude.Text,+    -- | The name of the section to be modified.+    section :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SectionModification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'value', 'sectionModification_value' - For add and replace operations, this is the value that will be used.+--+-- This field should be omitted for delete operations.+--+-- 'operation', 'sectionModification_operation' - The operation to be performed on a configuration section.+--+-- Content can be added, deleted, or replaced within a section.+--+-- 'path', 'sectionModification_path' - The path within the section content to be modified.+--+-- 'section', 'sectionModification_section' - The name of the section to be modified.+newSectionModification ::+  -- | 'operation'+  Operation ->+  -- | 'path'+  Prelude.Text ->+  -- | 'section'+  Prelude.Text ->+  SectionModification+newSectionModification pOperation_ pPath_ pSection_ =+  SectionModification'+    { value = Prelude.Nothing,+      operation = pOperation_,+      path = pPath_,+      section = pSection_+    }++-- | For add and replace operations, this is the value that will be used.+--+-- This field should be omitted for delete operations.+sectionModification_value :: Lens.Lens' SectionModification (Prelude.Maybe Document)+sectionModification_value = Lens.lens (\SectionModification' {value} -> value) (\s@SectionModification' {} a -> s {value = a} :: SectionModification)++-- | The operation to be performed on a configuration section.+--+-- Content can be added, deleted, or replaced within a section.+sectionModification_operation :: Lens.Lens' SectionModification Operation+sectionModification_operation = Lens.lens (\SectionModification' {operation} -> operation) (\s@SectionModification' {} a -> s {operation = a} :: SectionModification)++-- | The path within the section content to be modified.+sectionModification_path :: Lens.Lens' SectionModification Prelude.Text+sectionModification_path = Lens.lens (\SectionModification' {path} -> path) (\s@SectionModification' {} a -> s {path = a} :: SectionModification)++-- | The name of the section to be modified.+sectionModification_section :: Lens.Lens' SectionModification Prelude.Text+sectionModification_section = Lens.lens (\SectionModification' {section} -> section) (\s@SectionModification' {} a -> s {section = a} :: SectionModification)++instance Prelude.Hashable SectionModification where+  hashWithSalt _salt SectionModification' {..} =+    _salt+      `Prelude.hashWithSalt` value+      `Prelude.hashWithSalt` operation+      `Prelude.hashWithSalt` path+      `Prelude.hashWithSalt` section++instance Prelude.NFData SectionModification where+  rnf SectionModification' {..} =+    Prelude.rnf value+      `Prelude.seq` Prelude.rnf operation+      `Prelude.seq` Prelude.rnf path+      `Prelude.seq` Prelude.rnf section++instance Data.ToJSON SectionModification where+  toJSON SectionModification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Value" Data..=) Prelude.<$> value,+            Prelude.Just ("Operation" Data..= operation),+            Prelude.Just ("Path" Data..= path),+            Prelude.Just ("Section" Data..= section)+          ]+      )
+ gen/Amazonka/GamesParks/Types/SnapshotDetails.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.SnapshotDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.SnapshotDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.Section+import qualified Amazonka.Prelude as Prelude++-- | Properties that provide details of a snapshot.+--+-- /See:/ 'newSnapshotDetails' smart constructor.+data SnapshotDetails = SnapshotDetails'+  { -- | The timestamp of when the snapshot was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The description of the snapshot.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the snapshot.+    id :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of when the snapshot was last updated.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | The sections in the snapshot.+    sections :: Prelude.Maybe (Prelude.HashMap Prelude.Text Section)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnapshotDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'created', 'snapshotDetails_created' - The timestamp of when the snapshot was created.+--+-- 'description', 'snapshotDetails_description' - The description of the snapshot.+--+-- 'id', 'snapshotDetails_id' - The identifier of the snapshot.+--+-- 'lastUpdated', 'snapshotDetails_lastUpdated' - The timestamp of when the snapshot was last updated.+--+-- 'sections', 'snapshotDetails_sections' - The sections in the snapshot.+newSnapshotDetails ::+  SnapshotDetails+newSnapshotDetails =+  SnapshotDetails'+    { created = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      sections = Prelude.Nothing+    }++-- | The timestamp of when the snapshot was created.+snapshotDetails_created :: Lens.Lens' SnapshotDetails (Prelude.Maybe Prelude.UTCTime)+snapshotDetails_created = Lens.lens (\SnapshotDetails' {created} -> created) (\s@SnapshotDetails' {} a -> s {created = a} :: SnapshotDetails) Prelude.. Lens.mapping Data._Time++-- | The description of the snapshot.+snapshotDetails_description :: Lens.Lens' SnapshotDetails (Prelude.Maybe Prelude.Text)+snapshotDetails_description = Lens.lens (\SnapshotDetails' {description} -> description) (\s@SnapshotDetails' {} a -> s {description = a} :: SnapshotDetails)++-- | The identifier of the snapshot.+snapshotDetails_id :: Lens.Lens' SnapshotDetails (Prelude.Maybe Prelude.Text)+snapshotDetails_id = Lens.lens (\SnapshotDetails' {id} -> id) (\s@SnapshotDetails' {} a -> s {id = a} :: SnapshotDetails)++-- | The timestamp of when the snapshot was last updated.+snapshotDetails_lastUpdated :: Lens.Lens' SnapshotDetails (Prelude.Maybe Prelude.UTCTime)+snapshotDetails_lastUpdated = Lens.lens (\SnapshotDetails' {lastUpdated} -> lastUpdated) (\s@SnapshotDetails' {} a -> s {lastUpdated = a} :: SnapshotDetails) Prelude.. Lens.mapping Data._Time++-- | The sections in the snapshot.+snapshotDetails_sections :: Lens.Lens' SnapshotDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Section))+snapshotDetails_sections = Lens.lens (\SnapshotDetails' {sections} -> sections) (\s@SnapshotDetails' {} a -> s {sections = a} :: SnapshotDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SnapshotDetails where+  parseJSON =+    Data.withObject+      "SnapshotDetails"+      ( \x ->+          SnapshotDetails'+            Prelude.<$> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "Sections" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable SnapshotDetails where+  hashWithSalt _salt SnapshotDetails' {..} =+    _salt+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` sections++instance Prelude.NFData SnapshotDetails where+  rnf SnapshotDetails' {..} =+    Prelude.rnf created+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf sections
+ gen/Amazonka/GamesParks/Types/SnapshotSummary.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.SnapshotSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.SnapshotSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The summary of the properties of a snapshot.+--+-- /See:/ 'newSnapshotSummary' smart constructor.+data SnapshotSummary = SnapshotSummary'+  { -- | The timestamp of when the snapshot was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The description of the snapshot.+    description :: Prelude.Maybe Prelude.Text,+    -- | The identifier of the snapshot.+    id :: Prelude.Maybe Prelude.Text,+    -- | Then timestamp of when the snapshot was last updated.+    lastUpdated :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SnapshotSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'created', 'snapshotSummary_created' - The timestamp of when the snapshot was created.+--+-- 'description', 'snapshotSummary_description' - The description of the snapshot.+--+-- 'id', 'snapshotSummary_id' - The identifier of the snapshot.+--+-- 'lastUpdated', 'snapshotSummary_lastUpdated' - Then timestamp of when the snapshot was last updated.+newSnapshotSummary ::+  SnapshotSummary+newSnapshotSummary =+  SnapshotSummary'+    { created = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastUpdated = Prelude.Nothing+    }++-- | The timestamp of when the snapshot was created.+snapshotSummary_created :: Lens.Lens' SnapshotSummary (Prelude.Maybe Prelude.UTCTime)+snapshotSummary_created = Lens.lens (\SnapshotSummary' {created} -> created) (\s@SnapshotSummary' {} a -> s {created = a} :: SnapshotSummary) Prelude.. Lens.mapping Data._Time++-- | The description of the snapshot.+snapshotSummary_description :: Lens.Lens' SnapshotSummary (Prelude.Maybe Prelude.Text)+snapshotSummary_description = Lens.lens (\SnapshotSummary' {description} -> description) (\s@SnapshotSummary' {} a -> s {description = a} :: SnapshotSummary)++-- | The identifier of the snapshot.+snapshotSummary_id :: Lens.Lens' SnapshotSummary (Prelude.Maybe Prelude.Text)+snapshotSummary_id = Lens.lens (\SnapshotSummary' {id} -> id) (\s@SnapshotSummary' {} a -> s {id = a} :: SnapshotSummary)++-- | Then timestamp of when the snapshot was last updated.+snapshotSummary_lastUpdated :: Lens.Lens' SnapshotSummary (Prelude.Maybe Prelude.UTCTime)+snapshotSummary_lastUpdated = Lens.lens (\SnapshotSummary' {lastUpdated} -> lastUpdated) (\s@SnapshotSummary' {} a -> s {lastUpdated = a} :: SnapshotSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON SnapshotSummary where+  parseJSON =+    Data.withObject+      "SnapshotSummary"+      ( \x ->+          SnapshotSummary'+            Prelude.<$> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Id")+            Prelude.<*> (x Data..:? "LastUpdated")+      )++instance Prelude.Hashable SnapshotSummary where+  hashWithSalt _salt SnapshotSummary' {..} =+    _salt+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lastUpdated++instance Prelude.NFData SnapshotSummary where+  rnf SnapshotSummary' {..} =+    Prelude.rnf created+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastUpdated
+ gen/Amazonka/GamesParks/Types/StageDeploymentDetails.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.StageDeploymentDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.StageDeploymentDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.DeploymentAction+import Amazonka.GamesParks.Types.DeploymentResult+import Amazonka.GamesParks.Types.DeploymentState+import qualified Amazonka.Prelude as Prelude++-- | Properties that provide details of a stage deployment.+--+-- /See:/ 'newStageDeploymentDetails' smart constructor.+data StageDeploymentDetails = StageDeploymentDetails'+  { -- | The timestamp of when the stage deployment was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The type of action of the stage deployment.+    deploymentAction :: Prelude.Maybe DeploymentAction,+    -- | The identifier of the deployment.+    deploymentId :: Prelude.Maybe Prelude.Text,+    -- | The result of the deployment.+    deploymentResult :: Prelude.Maybe DeploymentResult,+    -- | The state of the deployment.+    deploymentState :: Prelude.Maybe DeploymentState,+    -- | The timestamp of when the deployment was last updated.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | The identifier of the snapshot associated with the stage deployment.+    snapshotId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StageDeploymentDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'created', 'stageDeploymentDetails_created' - The timestamp of when the stage deployment was created.+--+-- 'deploymentAction', 'stageDeploymentDetails_deploymentAction' - The type of action of the stage deployment.+--+-- 'deploymentId', 'stageDeploymentDetails_deploymentId' - The identifier of the deployment.+--+-- 'deploymentResult', 'stageDeploymentDetails_deploymentResult' - The result of the deployment.+--+-- 'deploymentState', 'stageDeploymentDetails_deploymentState' - The state of the deployment.+--+-- 'lastUpdated', 'stageDeploymentDetails_lastUpdated' - The timestamp of when the deployment was last updated.+--+-- 'snapshotId', 'stageDeploymentDetails_snapshotId' - The identifier of the snapshot associated with the stage deployment.+newStageDeploymentDetails ::+  StageDeploymentDetails+newStageDeploymentDetails =+  StageDeploymentDetails'+    { created = Prelude.Nothing,+      deploymentAction = Prelude.Nothing,+      deploymentId = Prelude.Nothing,+      deploymentResult = Prelude.Nothing,+      deploymentState = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      snapshotId = Prelude.Nothing+    }++-- | The timestamp of when the stage deployment was created.+stageDeploymentDetails_created :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe Prelude.UTCTime)+stageDeploymentDetails_created = Lens.lens (\StageDeploymentDetails' {created} -> created) (\s@StageDeploymentDetails' {} a -> s {created = a} :: StageDeploymentDetails) Prelude.. Lens.mapping Data._Time++-- | The type of action of the stage deployment.+stageDeploymentDetails_deploymentAction :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe DeploymentAction)+stageDeploymentDetails_deploymentAction = Lens.lens (\StageDeploymentDetails' {deploymentAction} -> deploymentAction) (\s@StageDeploymentDetails' {} a -> s {deploymentAction = a} :: StageDeploymentDetails)++-- | The identifier of the deployment.+stageDeploymentDetails_deploymentId :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe Prelude.Text)+stageDeploymentDetails_deploymentId = Lens.lens (\StageDeploymentDetails' {deploymentId} -> deploymentId) (\s@StageDeploymentDetails' {} a -> s {deploymentId = a} :: StageDeploymentDetails)++-- | The result of the deployment.+stageDeploymentDetails_deploymentResult :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe DeploymentResult)+stageDeploymentDetails_deploymentResult = Lens.lens (\StageDeploymentDetails' {deploymentResult} -> deploymentResult) (\s@StageDeploymentDetails' {} a -> s {deploymentResult = a} :: StageDeploymentDetails)++-- | The state of the deployment.+stageDeploymentDetails_deploymentState :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe DeploymentState)+stageDeploymentDetails_deploymentState = Lens.lens (\StageDeploymentDetails' {deploymentState} -> deploymentState) (\s@StageDeploymentDetails' {} a -> s {deploymentState = a} :: StageDeploymentDetails)++-- | The timestamp of when the deployment was last updated.+stageDeploymentDetails_lastUpdated :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe Prelude.UTCTime)+stageDeploymentDetails_lastUpdated = Lens.lens (\StageDeploymentDetails' {lastUpdated} -> lastUpdated) (\s@StageDeploymentDetails' {} a -> s {lastUpdated = a} :: StageDeploymentDetails) Prelude.. Lens.mapping Data._Time++-- | The identifier of the snapshot associated with the stage deployment.+stageDeploymentDetails_snapshotId :: Lens.Lens' StageDeploymentDetails (Prelude.Maybe Prelude.Text)+stageDeploymentDetails_snapshotId = Lens.lens (\StageDeploymentDetails' {snapshotId} -> snapshotId) (\s@StageDeploymentDetails' {} a -> s {snapshotId = a} :: StageDeploymentDetails)++instance Data.FromJSON StageDeploymentDetails where+  parseJSON =+    Data.withObject+      "StageDeploymentDetails"+      ( \x ->+          StageDeploymentDetails'+            Prelude.<$> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "DeploymentAction")+            Prelude.<*> (x Data..:? "DeploymentId")+            Prelude.<*> (x Data..:? "DeploymentResult")+            Prelude.<*> (x Data..:? "DeploymentState")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "SnapshotId")+      )++instance Prelude.Hashable StageDeploymentDetails where+  hashWithSalt _salt StageDeploymentDetails' {..} =+    _salt+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` deploymentAction+      `Prelude.hashWithSalt` deploymentId+      `Prelude.hashWithSalt` deploymentResult+      `Prelude.hashWithSalt` deploymentState+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData StageDeploymentDetails where+  rnf StageDeploymentDetails' {..} =+    Prelude.rnf created+      `Prelude.seq` Prelude.rnf deploymentAction+      `Prelude.seq` Prelude.rnf deploymentId+      `Prelude.seq` Prelude.rnf deploymentResult+      `Prelude.seq` Prelude.rnf deploymentState+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf snapshotId
+ gen/Amazonka/GamesParks/Types/StageDeploymentSummary.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.StageDeploymentSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.StageDeploymentSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.DeploymentAction+import Amazonka.GamesParks.Types.DeploymentResult+import Amazonka.GamesParks.Types.DeploymentState+import qualified Amazonka.Prelude as Prelude++-- | The summary of the properties of a stage deployment.+--+-- /See:/ 'newStageDeploymentSummary' smart constructor.+data StageDeploymentSummary = StageDeploymentSummary'+  { -- | The type of action of the deployment.+    deploymentAction :: Prelude.Maybe DeploymentAction,+    -- | The identifier of the deployment.+    deploymentId :: Prelude.Maybe Prelude.Text,+    -- | The result of the deployment.+    deploymentResult :: Prelude.Maybe DeploymentResult,+    -- | The state of the deployment.+    deploymentState :: Prelude.Maybe DeploymentState,+    -- | The timestamp of when the deployment was last updated.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | The identifier of the snapshot associated with the stage deployment.+    snapshotId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StageDeploymentSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deploymentAction', 'stageDeploymentSummary_deploymentAction' - The type of action of the deployment.+--+-- 'deploymentId', 'stageDeploymentSummary_deploymentId' - The identifier of the deployment.+--+-- 'deploymentResult', 'stageDeploymentSummary_deploymentResult' - The result of the deployment.+--+-- 'deploymentState', 'stageDeploymentSummary_deploymentState' - The state of the deployment.+--+-- 'lastUpdated', 'stageDeploymentSummary_lastUpdated' - The timestamp of when the deployment was last updated.+--+-- 'snapshotId', 'stageDeploymentSummary_snapshotId' - The identifier of the snapshot associated with the stage deployment.+newStageDeploymentSummary ::+  StageDeploymentSummary+newStageDeploymentSummary =+  StageDeploymentSummary'+    { deploymentAction =+        Prelude.Nothing,+      deploymentId = Prelude.Nothing,+      deploymentResult = Prelude.Nothing,+      deploymentState = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      snapshotId = Prelude.Nothing+    }++-- | The type of action of the deployment.+stageDeploymentSummary_deploymentAction :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe DeploymentAction)+stageDeploymentSummary_deploymentAction = Lens.lens (\StageDeploymentSummary' {deploymentAction} -> deploymentAction) (\s@StageDeploymentSummary' {} a -> s {deploymentAction = a} :: StageDeploymentSummary)++-- | The identifier of the deployment.+stageDeploymentSummary_deploymentId :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe Prelude.Text)+stageDeploymentSummary_deploymentId = Lens.lens (\StageDeploymentSummary' {deploymentId} -> deploymentId) (\s@StageDeploymentSummary' {} a -> s {deploymentId = a} :: StageDeploymentSummary)++-- | The result of the deployment.+stageDeploymentSummary_deploymentResult :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe DeploymentResult)+stageDeploymentSummary_deploymentResult = Lens.lens (\StageDeploymentSummary' {deploymentResult} -> deploymentResult) (\s@StageDeploymentSummary' {} a -> s {deploymentResult = a} :: StageDeploymentSummary)++-- | The state of the deployment.+stageDeploymentSummary_deploymentState :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe DeploymentState)+stageDeploymentSummary_deploymentState = Lens.lens (\StageDeploymentSummary' {deploymentState} -> deploymentState) (\s@StageDeploymentSummary' {} a -> s {deploymentState = a} :: StageDeploymentSummary)++-- | The timestamp of when the deployment was last updated.+stageDeploymentSummary_lastUpdated :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe Prelude.UTCTime)+stageDeploymentSummary_lastUpdated = Lens.lens (\StageDeploymentSummary' {lastUpdated} -> lastUpdated) (\s@StageDeploymentSummary' {} a -> s {lastUpdated = a} :: StageDeploymentSummary) Prelude.. Lens.mapping Data._Time++-- | The identifier of the snapshot associated with the stage deployment.+stageDeploymentSummary_snapshotId :: Lens.Lens' StageDeploymentSummary (Prelude.Maybe Prelude.Text)+stageDeploymentSummary_snapshotId = Lens.lens (\StageDeploymentSummary' {snapshotId} -> snapshotId) (\s@StageDeploymentSummary' {} a -> s {snapshotId = a} :: StageDeploymentSummary)++instance Data.FromJSON StageDeploymentSummary where+  parseJSON =+    Data.withObject+      "StageDeploymentSummary"+      ( \x ->+          StageDeploymentSummary'+            Prelude.<$> (x Data..:? "DeploymentAction")+            Prelude.<*> (x Data..:? "DeploymentId")+            Prelude.<*> (x Data..:? "DeploymentResult")+            Prelude.<*> (x Data..:? "DeploymentState")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "SnapshotId")+      )++instance Prelude.Hashable StageDeploymentSummary where+  hashWithSalt _salt StageDeploymentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` deploymentAction+      `Prelude.hashWithSalt` deploymentId+      `Prelude.hashWithSalt` deploymentResult+      `Prelude.hashWithSalt` deploymentState+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData StageDeploymentSummary where+  rnf StageDeploymentSummary' {..} =+    Prelude.rnf deploymentAction+      `Prelude.seq` Prelude.rnf deploymentId+      `Prelude.seq` Prelude.rnf deploymentResult+      `Prelude.seq` Prelude.rnf deploymentState+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf snapshotId
+ gen/Amazonka/GamesParks/Types/StageDetails.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.GamesParks.Types.StageDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.StageDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.StageState+import qualified Amazonka.Prelude as Prelude++-- | Properties that provide details of a stage.+--+-- /See:/ 'newStageDetails' smart constructor.+data StageDetails = StageDetails'+  { -- | The Amazon Resource Name (ARN) of the stage.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of when the stage was created.+    created :: Prelude.Maybe Data.ISO8601,+    -- | The description of the stage.+    description :: Prelude.Maybe Prelude.Text,+    -- | The game key associated with the stage.+    --+    -- The game key is a unique identifier that the game client uses to connect+    -- to the GameSparks backend.+    gameKey :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of when the stage was last updated.+    lastUpdated :: Prelude.Maybe Data.ISO8601,+    -- | The Amazon CloudWatch log group for game runtimes deployed to the stage.+    logGroup :: Prelude.Maybe Prelude.Text,+    -- | The name of the stage.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the role used to run the game runtimes+    -- deployed to the stage.+    role' :: Prelude.Maybe Prelude.Text,+    -- | The state of the stage.+    state :: Prelude.Maybe StageState,+    -- | The tags associated with the stage.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StageDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'stageDetails_arn' - The Amazon Resource Name (ARN) of the stage.+--+-- 'created', 'stageDetails_created' - The timestamp of when the stage was created.+--+-- 'description', 'stageDetails_description' - The description of the stage.+--+-- 'gameKey', 'stageDetails_gameKey' - The game key associated with the stage.+--+-- The game key is a unique identifier that the game client uses to connect+-- to the GameSparks backend.+--+-- 'lastUpdated', 'stageDetails_lastUpdated' - The timestamp of when the stage was last updated.+--+-- 'logGroup', 'stageDetails_logGroup' - The Amazon CloudWatch log group for game runtimes deployed to the stage.+--+-- 'name', 'stageDetails_name' - The name of the stage.+--+-- 'role'', 'stageDetails_role' - The Amazon Resource Name (ARN) of the role used to run the game runtimes+-- deployed to the stage.+--+-- 'state', 'stageDetails_state' - The state of the stage.+--+-- 'tags', 'stageDetails_tags' - The tags associated with the stage.+newStageDetails ::+  StageDetails+newStageDetails =+  StageDetails'+    { arn = Prelude.Nothing,+      created = Prelude.Nothing,+      description = Prelude.Nothing,+      gameKey = Prelude.Nothing,+      lastUpdated = Prelude.Nothing,+      logGroup = Prelude.Nothing,+      name = Prelude.Nothing,+      role' = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the stage.+stageDetails_arn :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_arn = Lens.lens (\StageDetails' {arn} -> arn) (\s@StageDetails' {} a -> s {arn = a} :: StageDetails)++-- | The timestamp of when the stage was created.+stageDetails_created :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.UTCTime)+stageDetails_created = Lens.lens (\StageDetails' {created} -> created) (\s@StageDetails' {} a -> s {created = a} :: StageDetails) Prelude.. Lens.mapping Data._Time++-- | The description of the stage.+stageDetails_description :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_description = Lens.lens (\StageDetails' {description} -> description) (\s@StageDetails' {} a -> s {description = a} :: StageDetails)++-- | The game key associated with the stage.+--+-- The game key is a unique identifier that the game client uses to connect+-- to the GameSparks backend.+stageDetails_gameKey :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_gameKey = Lens.lens (\StageDetails' {gameKey} -> gameKey) (\s@StageDetails' {} a -> s {gameKey = a} :: StageDetails)++-- | The timestamp of when the stage was last updated.+stageDetails_lastUpdated :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.UTCTime)+stageDetails_lastUpdated = Lens.lens (\StageDetails' {lastUpdated} -> lastUpdated) (\s@StageDetails' {} a -> s {lastUpdated = a} :: StageDetails) Prelude.. Lens.mapping Data._Time++-- | The Amazon CloudWatch log group for game runtimes deployed to the stage.+stageDetails_logGroup :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_logGroup = Lens.lens (\StageDetails' {logGroup} -> logGroup) (\s@StageDetails' {} a -> s {logGroup = a} :: StageDetails)++-- | The name of the stage.+stageDetails_name :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_name = Lens.lens (\StageDetails' {name} -> name) (\s@StageDetails' {} a -> s {name = a} :: StageDetails)++-- | The Amazon Resource Name (ARN) of the role used to run the game runtimes+-- deployed to the stage.+stageDetails_role :: Lens.Lens' StageDetails (Prelude.Maybe Prelude.Text)+stageDetails_role = Lens.lens (\StageDetails' {role'} -> role') (\s@StageDetails' {} a -> s {role' = a} :: StageDetails)++-- | The state of the stage.+stageDetails_state :: Lens.Lens' StageDetails (Prelude.Maybe StageState)+stageDetails_state = Lens.lens (\StageDetails' {state} -> state) (\s@StageDetails' {} a -> s {state = a} :: StageDetails)++-- | The tags associated with the stage.+stageDetails_tags :: Lens.Lens' StageDetails (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+stageDetails_tags = Lens.lens (\StageDetails' {tags} -> tags) (\s@StageDetails' {} a -> s {tags = a} :: StageDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StageDetails where+  parseJSON =+    Data.withObject+      "StageDetails"+      ( \x ->+          StageDetails'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "Created")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GameKey")+            Prelude.<*> (x Data..:? "LastUpdated")+            Prelude.<*> (x Data..:? "LogGroup")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Role")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable StageDetails where+  hashWithSalt _salt StageDetails' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` created+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gameKey+      `Prelude.hashWithSalt` lastUpdated+      `Prelude.hashWithSalt` logGroup+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData StageDetails where+  rnf StageDetails' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf created+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf gameKey+      `Prelude.seq` Prelude.rnf lastUpdated+      `Prelude.seq` Prelude.rnf logGroup+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/GamesParks/Types/StageState.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.GamesParks.Types.StageState+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.StageState+  ( StageState+      ( ..,+        StageState_ACTIVE,+        StageState_DELETING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StageState = StageState'+  { fromStageState ::+      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 StageState_ACTIVE :: StageState+pattern StageState_ACTIVE = StageState' "ACTIVE"++pattern StageState_DELETING :: StageState+pattern StageState_DELETING = StageState' "DELETING"++{-# COMPLETE+  StageState_ACTIVE,+  StageState_DELETING,+  StageState'+  #-}
+ gen/Amazonka/GamesParks/Types/StageSummary.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.Types.StageSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.GamesParks.Types.StageSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types.StageState+import qualified Amazonka.Prelude as Prelude++-- | The summary of the properties of a stage.+--+-- /See:/ 'newStageSummary' smart constructor.+data StageSummary = StageSummary'+  { -- | The description of the stage.+    description :: Prelude.Maybe Prelude.Text,+    -- | The game key associated with the stage.+    --+    -- The game key is a unique identifier that the game client uses to connect+    -- to the GameSparks backend.+    gameKey :: Prelude.Maybe Prelude.Text,+    -- | The name of the stage.+    name :: Prelude.Maybe Prelude.Text,+    -- | The state of the stage.+    state :: Prelude.Maybe StageState,+    -- | The tags associated with the stage.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StageSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stageSummary_description' - The description of the stage.+--+-- 'gameKey', 'stageSummary_gameKey' - The game key associated with the stage.+--+-- The game key is a unique identifier that the game client uses to connect+-- to the GameSparks backend.+--+-- 'name', 'stageSummary_name' - The name of the stage.+--+-- 'state', 'stageSummary_state' - The state of the stage.+--+-- 'tags', 'stageSummary_tags' - The tags associated with the stage.+newStageSummary ::+  StageSummary+newStageSummary =+  StageSummary'+    { description = Prelude.Nothing,+      gameKey = Prelude.Nothing,+      name = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The description of the stage.+stageSummary_description :: Lens.Lens' StageSummary (Prelude.Maybe Prelude.Text)+stageSummary_description = Lens.lens (\StageSummary' {description} -> description) (\s@StageSummary' {} a -> s {description = a} :: StageSummary)++-- | The game key associated with the stage.+--+-- The game key is a unique identifier that the game client uses to connect+-- to the GameSparks backend.+stageSummary_gameKey :: Lens.Lens' StageSummary (Prelude.Maybe Prelude.Text)+stageSummary_gameKey = Lens.lens (\StageSummary' {gameKey} -> gameKey) (\s@StageSummary' {} a -> s {gameKey = a} :: StageSummary)++-- | The name of the stage.+stageSummary_name :: Lens.Lens' StageSummary (Prelude.Maybe Prelude.Text)+stageSummary_name = Lens.lens (\StageSummary' {name} -> name) (\s@StageSummary' {} a -> s {name = a} :: StageSummary)++-- | The state of the stage.+stageSummary_state :: Lens.Lens' StageSummary (Prelude.Maybe StageState)+stageSummary_state = Lens.lens (\StageSummary' {state} -> state) (\s@StageSummary' {} a -> s {state = a} :: StageSummary)++-- | The tags associated with the stage.+stageSummary_tags :: Lens.Lens' StageSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+stageSummary_tags = Lens.lens (\StageSummary' {tags} -> tags) (\s@StageSummary' {} a -> s {tags = a} :: StageSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON StageSummary where+  parseJSON =+    Data.withObject+      "StageSummary"+      ( \x ->+          StageSummary'+            Prelude.<$> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GameKey")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable StageSummary where+  hashWithSalt _salt StageSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gameKey+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData StageSummary where+  rnf StageSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf gameKey+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/GamesParks/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.GamesParks.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes tags from a GameSparks resource.+module Amazonka.GamesParks.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.GamesParks.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 to remove the tags from.+    resourceArn :: Prelude.Text,+    -- | The keys of the tags to remove.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to remove the tags from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the tags to remove.+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 to remove the tags from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The keys of the tags to remove.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/UpdateGame.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.UpdateGame+-- 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 details of the game.+module Amazonka.GamesParks.UpdateGame+  ( -- * Creating a Request+    UpdateGame (..),+    newUpdateGame,++    -- * Request Lenses+    updateGame_description,+    updateGame_gameName,++    -- * Destructuring the Response+    UpdateGameResponse (..),+    newUpdateGameResponse,++    -- * Response Lenses+    updateGameResponse_game,+    updateGameResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGame' smart constructor.+data UpdateGame = UpdateGame'+  { -- | The description of the game.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGame' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateGame_description' - The description of the game.+--+-- 'gameName', 'updateGame_gameName' - The name of the game.+newUpdateGame ::+  -- | 'gameName'+  Prelude.Text ->+  UpdateGame+newUpdateGame pGameName_ =+  UpdateGame'+    { description = Prelude.Nothing,+      gameName = pGameName_+    }++-- | The description of the game.+updateGame_description :: Lens.Lens' UpdateGame (Prelude.Maybe Prelude.Text)+updateGame_description = Lens.lens (\UpdateGame' {description} -> description) (\s@UpdateGame' {} a -> s {description = a} :: UpdateGame)++-- | The name of the game.+updateGame_gameName :: Lens.Lens' UpdateGame Prelude.Text+updateGame_gameName = Lens.lens (\UpdateGame' {gameName} -> gameName) (\s@UpdateGame' {} a -> s {gameName = a} :: UpdateGame)++instance Core.AWSRequest UpdateGame where+  type AWSResponse UpdateGame = UpdateGameResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateGameResponse'+            Prelude.<$> (x Data..?> "Game")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateGame where+  hashWithSalt _salt UpdateGame' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gameName++instance Prelude.NFData UpdateGame where+  rnf UpdateGame' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf gameName++instance Data.ToHeaders UpdateGame where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateGame where+  toJSON UpdateGame' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateGame where+  toPath UpdateGame' {..} =+    Prelude.mconcat ["/game/", Data.toBS gameName]++instance Data.ToQuery UpdateGame where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGameResponse' smart constructor.+data UpdateGameResponse = UpdateGameResponse'+  { -- | The details of the game.+    game :: Prelude.Maybe GameDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGameResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'game', 'updateGameResponse_game' - The details of the game.+--+-- 'httpStatus', 'updateGameResponse_httpStatus' - The response's http status code.+newUpdateGameResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateGameResponse+newUpdateGameResponse pHttpStatus_ =+  UpdateGameResponse'+    { game = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details of the game.+updateGameResponse_game :: Lens.Lens' UpdateGameResponse (Prelude.Maybe GameDetails)+updateGameResponse_game = Lens.lens (\UpdateGameResponse' {game} -> game) (\s@UpdateGameResponse' {} a -> s {game = a} :: UpdateGameResponse)++-- | The response's http status code.+updateGameResponse_httpStatus :: Lens.Lens' UpdateGameResponse Prelude.Int+updateGameResponse_httpStatus = Lens.lens (\UpdateGameResponse' {httpStatus} -> httpStatus) (\s@UpdateGameResponse' {} a -> s {httpStatus = a} :: UpdateGameResponse)++instance Prelude.NFData UpdateGameResponse where+  rnf UpdateGameResponse' {..} =+    Prelude.rnf game+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/UpdateGameConfiguration.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.UpdateGameConfiguration+-- 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 one or more sections of the game configuration.+module Amazonka.GamesParks.UpdateGameConfiguration+  ( -- * Creating a Request+    UpdateGameConfiguration (..),+    newUpdateGameConfiguration,++    -- * Request Lenses+    updateGameConfiguration_gameName,+    updateGameConfiguration_modifications,++    -- * Destructuring the Response+    UpdateGameConfigurationResponse (..),+    newUpdateGameConfigurationResponse,++    -- * Response Lenses+    updateGameConfigurationResponse_gameConfiguration,+    updateGameConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGameConfiguration' smart constructor.+data UpdateGameConfiguration = UpdateGameConfiguration'+  { -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The list of modifications to make.+    modifications :: Prelude.NonEmpty SectionModification+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGameConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameName', 'updateGameConfiguration_gameName' - The name of the game.+--+-- 'modifications', 'updateGameConfiguration_modifications' - The list of modifications to make.+newUpdateGameConfiguration ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'modifications'+  Prelude.NonEmpty SectionModification ->+  UpdateGameConfiguration+newUpdateGameConfiguration pGameName_ pModifications_ =+  UpdateGameConfiguration'+    { gameName = pGameName_,+      modifications =+        Lens.coerced Lens.# pModifications_+    }++-- | The name of the game.+updateGameConfiguration_gameName :: Lens.Lens' UpdateGameConfiguration Prelude.Text+updateGameConfiguration_gameName = Lens.lens (\UpdateGameConfiguration' {gameName} -> gameName) (\s@UpdateGameConfiguration' {} a -> s {gameName = a} :: UpdateGameConfiguration)++-- | The list of modifications to make.+updateGameConfiguration_modifications :: Lens.Lens' UpdateGameConfiguration (Prelude.NonEmpty SectionModification)+updateGameConfiguration_modifications = Lens.lens (\UpdateGameConfiguration' {modifications} -> modifications) (\s@UpdateGameConfiguration' {} a -> s {modifications = a} :: UpdateGameConfiguration) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateGameConfiguration where+  type+    AWSResponse UpdateGameConfiguration =+      UpdateGameConfigurationResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateGameConfigurationResponse'+            Prelude.<$> (x Data..?> "GameConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateGameConfiguration where+  hashWithSalt _salt UpdateGameConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` modifications++instance Prelude.NFData UpdateGameConfiguration where+  rnf UpdateGameConfiguration' {..} =+    Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf modifications++instance Data.ToHeaders UpdateGameConfiguration where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateGameConfiguration where+  toJSON UpdateGameConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("Modifications" Data..= modifications)+          ]+      )++instance Data.ToPath UpdateGameConfiguration where+  toPath UpdateGameConfiguration' {..} =+    Prelude.mconcat+      ["/game/", Data.toBS gameName, "/configuration"]++instance Data.ToQuery UpdateGameConfiguration where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGameConfigurationResponse' smart constructor.+data UpdateGameConfigurationResponse = UpdateGameConfigurationResponse'+  { -- | Details about the game configuration.+    gameConfiguration :: Prelude.Maybe GameConfigurationDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGameConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'gameConfiguration', 'updateGameConfigurationResponse_gameConfiguration' - Details about the game configuration.+--+-- 'httpStatus', 'updateGameConfigurationResponse_httpStatus' - The response's http status code.+newUpdateGameConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateGameConfigurationResponse+newUpdateGameConfigurationResponse pHttpStatus_ =+  UpdateGameConfigurationResponse'+    { gameConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the game configuration.+updateGameConfigurationResponse_gameConfiguration :: Lens.Lens' UpdateGameConfigurationResponse (Prelude.Maybe GameConfigurationDetails)+updateGameConfigurationResponse_gameConfiguration = Lens.lens (\UpdateGameConfigurationResponse' {gameConfiguration} -> gameConfiguration) (\s@UpdateGameConfigurationResponse' {} a -> s {gameConfiguration = a} :: UpdateGameConfigurationResponse)++-- | The response's http status code.+updateGameConfigurationResponse_httpStatus :: Lens.Lens' UpdateGameConfigurationResponse Prelude.Int+updateGameConfigurationResponse_httpStatus = Lens.lens (\UpdateGameConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateGameConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateGameConfigurationResponse)++instance+  Prelude.NFData+    UpdateGameConfigurationResponse+  where+  rnf UpdateGameConfigurationResponse' {..} =+    Prelude.rnf gameConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/UpdateSnapshot.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.GamesParks.UpdateSnapshot+-- 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 metadata of a GameSparks snapshot.+module Amazonka.GamesParks.UpdateSnapshot+  ( -- * Creating a Request+    UpdateSnapshot (..),+    newUpdateSnapshot,++    -- * Request Lenses+    updateSnapshot_description,+    updateSnapshot_gameName,+    updateSnapshot_snapshotId,++    -- * Destructuring the Response+    UpdateSnapshotResponse (..),+    newUpdateSnapshotResponse,++    -- * Response Lenses+    updateSnapshotResponse_snapshot,+    updateSnapshotResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSnapshot' smart constructor.+data UpdateSnapshot = UpdateSnapshot'+  { -- | The description of the snapshot.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The identifier of the snapshot.+    snapshotId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSnapshot' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateSnapshot_description' - The description of the snapshot.+--+-- 'gameName', 'updateSnapshot_gameName' - The name of the game.+--+-- 'snapshotId', 'updateSnapshot_snapshotId' - The identifier of the snapshot.+newUpdateSnapshot ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'snapshotId'+  Prelude.Text ->+  UpdateSnapshot+newUpdateSnapshot pGameName_ pSnapshotId_ =+  UpdateSnapshot'+    { description = Prelude.Nothing,+      gameName = pGameName_,+      snapshotId = pSnapshotId_+    }++-- | The description of the snapshot.+updateSnapshot_description :: Lens.Lens' UpdateSnapshot (Prelude.Maybe Prelude.Text)+updateSnapshot_description = Lens.lens (\UpdateSnapshot' {description} -> description) (\s@UpdateSnapshot' {} a -> s {description = a} :: UpdateSnapshot)++-- | The name of the game.+updateSnapshot_gameName :: Lens.Lens' UpdateSnapshot Prelude.Text+updateSnapshot_gameName = Lens.lens (\UpdateSnapshot' {gameName} -> gameName) (\s@UpdateSnapshot' {} a -> s {gameName = a} :: UpdateSnapshot)++-- | The identifier of the snapshot.+updateSnapshot_snapshotId :: Lens.Lens' UpdateSnapshot Prelude.Text+updateSnapshot_snapshotId = Lens.lens (\UpdateSnapshot' {snapshotId} -> snapshotId) (\s@UpdateSnapshot' {} a -> s {snapshotId = a} :: UpdateSnapshot)++instance Core.AWSRequest UpdateSnapshot where+  type+    AWSResponse UpdateSnapshot =+      UpdateSnapshotResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSnapshotResponse'+            Prelude.<$> (x Data..?> "Snapshot")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSnapshot where+  hashWithSalt _salt UpdateSnapshot' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` snapshotId++instance Prelude.NFData UpdateSnapshot where+  rnf UpdateSnapshot' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf snapshotId++instance Data.ToHeaders UpdateSnapshot where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSnapshot where+  toJSON UpdateSnapshot' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateSnapshot where+  toPath UpdateSnapshot' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/snapshot/",+        Data.toBS snapshotId+      ]++instance Data.ToQuery UpdateSnapshot where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSnapshotResponse' smart constructor.+data UpdateSnapshotResponse = UpdateSnapshotResponse'+  { -- | Properties that provide details of the updated snapshot.+    snapshot :: Prelude.Maybe SnapshotDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSnapshotResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snapshot', 'updateSnapshotResponse_snapshot' - Properties that provide details of the updated snapshot.+--+-- 'httpStatus', 'updateSnapshotResponse_httpStatus' - The response's http status code.+newUpdateSnapshotResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSnapshotResponse+newUpdateSnapshotResponse pHttpStatus_ =+  UpdateSnapshotResponse'+    { snapshot = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the updated snapshot.+updateSnapshotResponse_snapshot :: Lens.Lens' UpdateSnapshotResponse (Prelude.Maybe SnapshotDetails)+updateSnapshotResponse_snapshot = Lens.lens (\UpdateSnapshotResponse' {snapshot} -> snapshot) (\s@UpdateSnapshotResponse' {} a -> s {snapshot = a} :: UpdateSnapshotResponse)++-- | The response's http status code.+updateSnapshotResponse_httpStatus :: Lens.Lens' UpdateSnapshotResponse Prelude.Int+updateSnapshotResponse_httpStatus = Lens.lens (\UpdateSnapshotResponse' {httpStatus} -> httpStatus) (\s@UpdateSnapshotResponse' {} a -> s {httpStatus = a} :: UpdateSnapshotResponse)++instance Prelude.NFData UpdateSnapshotResponse where+  rnf UpdateSnapshotResponse' {..} =+    Prelude.rnf snapshot+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/UpdateStage.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.GamesParks.UpdateStage+-- 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 metadata of a stage.+module Amazonka.GamesParks.UpdateStage+  ( -- * Creating a Request+    UpdateStage (..),+    newUpdateStage,++    -- * Request Lenses+    updateStage_description,+    updateStage_role,+    updateStage_gameName,+    updateStage_stageName,++    -- * Destructuring the Response+    UpdateStageResponse (..),+    newUpdateStageResponse,++    -- * Response Lenses+    updateStageResponse_stage,+    updateStageResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateStage' smart constructor.+data UpdateStage = UpdateStage'+  { -- | The description of the stage.+    description :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the role to use for the game snapshots+    -- deployed to this stage.+    role' :: Prelude.Maybe Prelude.Text,+    -- | The name of the game.+    gameName :: Prelude.Text,+    -- | The name of the stage.+    stageName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'updateStage_description' - The description of the stage.+--+-- 'role'', 'updateStage_role' - The Amazon Resource Name (ARN) of the role to use for the game snapshots+-- deployed to this stage.+--+-- 'gameName', 'updateStage_gameName' - The name of the game.+--+-- 'stageName', 'updateStage_stageName' - The name of the stage.+newUpdateStage ::+  -- | 'gameName'+  Prelude.Text ->+  -- | 'stageName'+  Prelude.Text ->+  UpdateStage+newUpdateStage pGameName_ pStageName_ =+  UpdateStage'+    { description = Prelude.Nothing,+      role' = Prelude.Nothing,+      gameName = pGameName_,+      stageName = pStageName_+    }++-- | The description of the stage.+updateStage_description :: Lens.Lens' UpdateStage (Prelude.Maybe Prelude.Text)+updateStage_description = Lens.lens (\UpdateStage' {description} -> description) (\s@UpdateStage' {} a -> s {description = a} :: UpdateStage)++-- | The Amazon Resource Name (ARN) of the role to use for the game snapshots+-- deployed to this stage.+updateStage_role :: Lens.Lens' UpdateStage (Prelude.Maybe Prelude.Text)+updateStage_role = Lens.lens (\UpdateStage' {role'} -> role') (\s@UpdateStage' {} a -> s {role' = a} :: UpdateStage)++-- | The name of the game.+updateStage_gameName :: Lens.Lens' UpdateStage Prelude.Text+updateStage_gameName = Lens.lens (\UpdateStage' {gameName} -> gameName) (\s@UpdateStage' {} a -> s {gameName = a} :: UpdateStage)++-- | The name of the stage.+updateStage_stageName :: Lens.Lens' UpdateStage Prelude.Text+updateStage_stageName = Lens.lens (\UpdateStage' {stageName} -> stageName) (\s@UpdateStage' {} a -> s {stageName = a} :: UpdateStage)++instance Core.AWSRequest UpdateStage where+  type AWSResponse UpdateStage = UpdateStageResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateStageResponse'+            Prelude.<$> (x Data..?> "Stage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateStage where+  hashWithSalt _salt UpdateStage' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` gameName+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData UpdateStage where+  rnf UpdateStage' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf role'+      `Prelude.seq` Prelude.rnf gameName+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToHeaders UpdateStage where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateStage where+  toJSON UpdateStage' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Role" Data..=) Prelude.<$> role'+          ]+      )++instance Data.ToPath UpdateStage where+  toPath UpdateStage' {..} =+    Prelude.mconcat+      [ "/game/",+        Data.toBS gameName,+        "/stage/",+        Data.toBS stageName+      ]++instance Data.ToQuery UpdateStage where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateStageResponse' smart constructor.+data UpdateStageResponse = UpdateStageResponse'+  { -- | Properties that provide details of the updated stage.+    stage :: Prelude.Maybe StageDetails,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateStageResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'stage', 'updateStageResponse_stage' - Properties that provide details of the updated stage.+--+-- 'httpStatus', 'updateStageResponse_httpStatus' - The response's http status code.+newUpdateStageResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateStageResponse+newUpdateStageResponse pHttpStatus_ =+  UpdateStageResponse'+    { stage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Properties that provide details of the updated stage.+updateStageResponse_stage :: Lens.Lens' UpdateStageResponse (Prelude.Maybe StageDetails)+updateStageResponse_stage = Lens.lens (\UpdateStageResponse' {stage} -> stage) (\s@UpdateStageResponse' {} a -> s {stage = a} :: UpdateStageResponse)++-- | The response's http status code.+updateStageResponse_httpStatus :: Lens.Lens' UpdateStageResponse Prelude.Int+updateStageResponse_httpStatus = Lens.lens (\UpdateStageResponse' {httpStatus} -> httpStatus) (\s@UpdateStageResponse' {} a -> s {httpStatus = a} :: UpdateStageResponse)++instance Prelude.NFData UpdateStageResponse where+  rnf UpdateStageResponse' {..} =+    Prelude.rnf stage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/GamesParks/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.GamesParks.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.GamesParks.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.GamesParks.Lens+import Amazonka.GamesParks.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.GamesParks+import Test.Amazonka.GamesParks.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "GamesParks"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/GamesParks.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.GamesParks+-- Copyright   : (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.GamesParks+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/GamesParks/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.GamesParks.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.GamesParks.Internal where
+ test/Test/Amazonka/Gen/GamesParks.hs view
@@ -0,0 +1,698 @@+{-# 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.GamesParks+-- Copyright   : (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.GamesParks where++import Amazonka.GamesParks+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.GamesParks.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"+--         [ requestCreateGame $+--             newCreateGame+--+--         , requestCreateSnapshot $+--             newCreateSnapshot+--+--         , requestCreateStage $+--             newCreateStage+--+--         , requestDeleteGame $+--             newDeleteGame+--+--         , requestDeleteStage $+--             newDeleteStage+--+--         , requestDisconnectPlayer $+--             newDisconnectPlayer+--+--         , requestExportSnapshot $+--             newExportSnapshot+--+--         , requestGetExtension $+--             newGetExtension+--+--         , requestGetExtensionVersion $+--             newGetExtensionVersion+--+--         , requestGetGame $+--             newGetGame+--+--         , requestGetGameConfiguration $+--             newGetGameConfiguration+--+--         , requestGetGeneratedCodeJob $+--             newGetGeneratedCodeJob+--+--         , requestGetPlayerConnectionStatus $+--             newGetPlayerConnectionStatus+--+--         , requestGetSnapshot $+--             newGetSnapshot+--+--         , requestGetStage $+--             newGetStage+--+--         , requestGetStageDeployment $+--             newGetStageDeployment+--+--         , requestImportGameConfiguration $+--             newImportGameConfiguration+--+--         , requestListExtensionVersions $+--             newListExtensionVersions+--+--         , requestListExtensions $+--             newListExtensions+--+--         , requestListGames $+--             newListGames+--+--         , requestListGeneratedCodeJobs $+--             newListGeneratedCodeJobs+--+--         , requestListSnapshots $+--             newListSnapshots+--+--         , requestListStageDeployments $+--             newListStageDeployments+--+--         , requestListStages $+--             newListStages+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartGeneratedCodeJob $+--             newStartGeneratedCodeJob+--+--         , requestStartStageDeployment $+--             newStartStageDeployment+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateGame $+--             newUpdateGame+--+--         , requestUpdateGameConfiguration $+--             newUpdateGameConfiguration+--+--         , requestUpdateSnapshot $+--             newUpdateSnapshot+--+--         , requestUpdateStage $+--             newUpdateStage+--+--           ]++--     , testGroup "response"+--         [ responseCreateGame $+--             newCreateGameResponse+--+--         , responseCreateSnapshot $+--             newCreateSnapshotResponse+--+--         , responseCreateStage $+--             newCreateStageResponse+--+--         , responseDeleteGame $+--             newDeleteGameResponse+--+--         , responseDeleteStage $+--             newDeleteStageResponse+--+--         , responseDisconnectPlayer $+--             newDisconnectPlayerResponse+--+--         , responseExportSnapshot $+--             newExportSnapshotResponse+--+--         , responseGetExtension $+--             newGetExtensionResponse+--+--         , responseGetExtensionVersion $+--             newGetExtensionVersionResponse+--+--         , responseGetGame $+--             newGetGameResponse+--+--         , responseGetGameConfiguration $+--             newGetGameConfigurationResponse+--+--         , responseGetGeneratedCodeJob $+--             newGetGeneratedCodeJobResponse+--+--         , responseGetPlayerConnectionStatus $+--             newGetPlayerConnectionStatusResponse+--+--         , responseGetSnapshot $+--             newGetSnapshotResponse+--+--         , responseGetStage $+--             newGetStageResponse+--+--         , responseGetStageDeployment $+--             newGetStageDeploymentResponse+--+--         , responseImportGameConfiguration $+--             newImportGameConfigurationResponse+--+--         , responseListExtensionVersions $+--             newListExtensionVersionsResponse+--+--         , responseListExtensions $+--             newListExtensionsResponse+--+--         , responseListGames $+--             newListGamesResponse+--+--         , responseListGeneratedCodeJobs $+--             newListGeneratedCodeJobsResponse+--+--         , responseListSnapshots $+--             newListSnapshotsResponse+--+--         , responseListStageDeployments $+--             newListStageDeploymentsResponse+--+--         , responseListStages $+--             newListStagesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartGeneratedCodeJob $+--             newStartGeneratedCodeJobResponse+--+--         , responseStartStageDeployment $+--             newStartStageDeploymentResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateGame $+--             newUpdateGameResponse+--+--         , responseUpdateGameConfiguration $+--             newUpdateGameConfigurationResponse+--+--         , responseUpdateSnapshot $+--             newUpdateSnapshotResponse+--+--         , responseUpdateStage $+--             newUpdateStageResponse+--+--           ]+--     ]++-- Requests++requestCreateGame :: CreateGame -> TestTree+requestCreateGame =+  req+    "CreateGame"+    "fixture/CreateGame.yaml"++requestCreateSnapshot :: CreateSnapshot -> TestTree+requestCreateSnapshot =+  req+    "CreateSnapshot"+    "fixture/CreateSnapshot.yaml"++requestCreateStage :: CreateStage -> TestTree+requestCreateStage =+  req+    "CreateStage"+    "fixture/CreateStage.yaml"++requestDeleteGame :: DeleteGame -> TestTree+requestDeleteGame =+  req+    "DeleteGame"+    "fixture/DeleteGame.yaml"++requestDeleteStage :: DeleteStage -> TestTree+requestDeleteStage =+  req+    "DeleteStage"+    "fixture/DeleteStage.yaml"++requestDisconnectPlayer :: DisconnectPlayer -> TestTree+requestDisconnectPlayer =+  req+    "DisconnectPlayer"+    "fixture/DisconnectPlayer.yaml"++requestExportSnapshot :: ExportSnapshot -> TestTree+requestExportSnapshot =+  req+    "ExportSnapshot"+    "fixture/ExportSnapshot.yaml"++requestGetExtension :: GetExtension -> TestTree+requestGetExtension =+  req+    "GetExtension"+    "fixture/GetExtension.yaml"++requestGetExtensionVersion :: GetExtensionVersion -> TestTree+requestGetExtensionVersion =+  req+    "GetExtensionVersion"+    "fixture/GetExtensionVersion.yaml"++requestGetGame :: GetGame -> TestTree+requestGetGame =+  req+    "GetGame"+    "fixture/GetGame.yaml"++requestGetGameConfiguration :: GetGameConfiguration -> TestTree+requestGetGameConfiguration =+  req+    "GetGameConfiguration"+    "fixture/GetGameConfiguration.yaml"++requestGetGeneratedCodeJob :: GetGeneratedCodeJob -> TestTree+requestGetGeneratedCodeJob =+  req+    "GetGeneratedCodeJob"+    "fixture/GetGeneratedCodeJob.yaml"++requestGetPlayerConnectionStatus :: GetPlayerConnectionStatus -> TestTree+requestGetPlayerConnectionStatus =+  req+    "GetPlayerConnectionStatus"+    "fixture/GetPlayerConnectionStatus.yaml"++requestGetSnapshot :: GetSnapshot -> TestTree+requestGetSnapshot =+  req+    "GetSnapshot"+    "fixture/GetSnapshot.yaml"++requestGetStage :: GetStage -> TestTree+requestGetStage =+  req+    "GetStage"+    "fixture/GetStage.yaml"++requestGetStageDeployment :: GetStageDeployment -> TestTree+requestGetStageDeployment =+  req+    "GetStageDeployment"+    "fixture/GetStageDeployment.yaml"++requestImportGameConfiguration :: ImportGameConfiguration -> TestTree+requestImportGameConfiguration =+  req+    "ImportGameConfiguration"+    "fixture/ImportGameConfiguration.yaml"++requestListExtensionVersions :: ListExtensionVersions -> TestTree+requestListExtensionVersions =+  req+    "ListExtensionVersions"+    "fixture/ListExtensionVersions.yaml"++requestListExtensions :: ListExtensions -> TestTree+requestListExtensions =+  req+    "ListExtensions"+    "fixture/ListExtensions.yaml"++requestListGames :: ListGames -> TestTree+requestListGames =+  req+    "ListGames"+    "fixture/ListGames.yaml"++requestListGeneratedCodeJobs :: ListGeneratedCodeJobs -> TestTree+requestListGeneratedCodeJobs =+  req+    "ListGeneratedCodeJobs"+    "fixture/ListGeneratedCodeJobs.yaml"++requestListSnapshots :: ListSnapshots -> TestTree+requestListSnapshots =+  req+    "ListSnapshots"+    "fixture/ListSnapshots.yaml"++requestListStageDeployments :: ListStageDeployments -> TestTree+requestListStageDeployments =+  req+    "ListStageDeployments"+    "fixture/ListStageDeployments.yaml"++requestListStages :: ListStages -> TestTree+requestListStages =+  req+    "ListStages"+    "fixture/ListStages.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartGeneratedCodeJob :: StartGeneratedCodeJob -> TestTree+requestStartGeneratedCodeJob =+  req+    "StartGeneratedCodeJob"+    "fixture/StartGeneratedCodeJob.yaml"++requestStartStageDeployment :: StartStageDeployment -> TestTree+requestStartStageDeployment =+  req+    "StartStageDeployment"+    "fixture/StartStageDeployment.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateGame :: UpdateGame -> TestTree+requestUpdateGame =+  req+    "UpdateGame"+    "fixture/UpdateGame.yaml"++requestUpdateGameConfiguration :: UpdateGameConfiguration -> TestTree+requestUpdateGameConfiguration =+  req+    "UpdateGameConfiguration"+    "fixture/UpdateGameConfiguration.yaml"++requestUpdateSnapshot :: UpdateSnapshot -> TestTree+requestUpdateSnapshot =+  req+    "UpdateSnapshot"+    "fixture/UpdateSnapshot.yaml"++requestUpdateStage :: UpdateStage -> TestTree+requestUpdateStage =+  req+    "UpdateStage"+    "fixture/UpdateStage.yaml"++-- Responses++responseCreateGame :: CreateGameResponse -> TestTree+responseCreateGame =+  res+    "CreateGameResponse"+    "fixture/CreateGameResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGame)++responseCreateSnapshot :: CreateSnapshotResponse -> TestTree+responseCreateSnapshot =+  res+    "CreateSnapshotResponse"+    "fixture/CreateSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSnapshot)++responseCreateStage :: CreateStageResponse -> TestTree+responseCreateStage =+  res+    "CreateStageResponse"+    "fixture/CreateStageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateStage)++responseDeleteGame :: DeleteGameResponse -> TestTree+responseDeleteGame =+  res+    "DeleteGameResponse"+    "fixture/DeleteGameResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGame)++responseDeleteStage :: DeleteStageResponse -> TestTree+responseDeleteStage =+  res+    "DeleteStageResponse"+    "fixture/DeleteStageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteStage)++responseDisconnectPlayer :: DisconnectPlayerResponse -> TestTree+responseDisconnectPlayer =+  res+    "DisconnectPlayerResponse"+    "fixture/DisconnectPlayerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisconnectPlayer)++responseExportSnapshot :: ExportSnapshotResponse -> TestTree+responseExportSnapshot =+  res+    "ExportSnapshotResponse"+    "fixture/ExportSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExportSnapshot)++responseGetExtension :: GetExtensionResponse -> TestTree+responseGetExtension =+  res+    "GetExtensionResponse"+    "fixture/GetExtensionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetExtension)++responseGetExtensionVersion :: GetExtensionVersionResponse -> TestTree+responseGetExtensionVersion =+  res+    "GetExtensionVersionResponse"+    "fixture/GetExtensionVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetExtensionVersion)++responseGetGame :: GetGameResponse -> TestTree+responseGetGame =+  res+    "GetGameResponse"+    "fixture/GetGameResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetGame)++responseGetGameConfiguration :: GetGameConfigurationResponse -> TestTree+responseGetGameConfiguration =+  res+    "GetGameConfigurationResponse"+    "fixture/GetGameConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetGameConfiguration)++responseGetGeneratedCodeJob :: GetGeneratedCodeJobResponse -> TestTree+responseGetGeneratedCodeJob =+  res+    "GetGeneratedCodeJobResponse"+    "fixture/GetGeneratedCodeJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetGeneratedCodeJob)++responseGetPlayerConnectionStatus :: GetPlayerConnectionStatusResponse -> TestTree+responseGetPlayerConnectionStatus =+  res+    "GetPlayerConnectionStatusResponse"+    "fixture/GetPlayerConnectionStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPlayerConnectionStatus)++responseGetSnapshot :: GetSnapshotResponse -> TestTree+responseGetSnapshot =+  res+    "GetSnapshotResponse"+    "fixture/GetSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSnapshot)++responseGetStage :: GetStageResponse -> TestTree+responseGetStage =+  res+    "GetStageResponse"+    "fixture/GetStageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetStage)++responseGetStageDeployment :: GetStageDeploymentResponse -> TestTree+responseGetStageDeployment =+  res+    "GetStageDeploymentResponse"+    "fixture/GetStageDeploymentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetStageDeployment)++responseImportGameConfiguration :: ImportGameConfigurationResponse -> TestTree+responseImportGameConfiguration =+  res+    "ImportGameConfigurationResponse"+    "fixture/ImportGameConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ImportGameConfiguration)++responseListExtensionVersions :: ListExtensionVersionsResponse -> TestTree+responseListExtensionVersions =+  res+    "ListExtensionVersionsResponse"+    "fixture/ListExtensionVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListExtensionVersions)++responseListExtensions :: ListExtensionsResponse -> TestTree+responseListExtensions =+  res+    "ListExtensionsResponse"+    "fixture/ListExtensionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListExtensions)++responseListGames :: ListGamesResponse -> TestTree+responseListGames =+  res+    "ListGamesResponse"+    "fixture/ListGamesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListGames)++responseListGeneratedCodeJobs :: ListGeneratedCodeJobsResponse -> TestTree+responseListGeneratedCodeJobs =+  res+    "ListGeneratedCodeJobsResponse"+    "fixture/ListGeneratedCodeJobsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListGeneratedCodeJobs)++responseListSnapshots :: ListSnapshotsResponse -> TestTree+responseListSnapshots =+  res+    "ListSnapshotsResponse"+    "fixture/ListSnapshotsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSnapshots)++responseListStageDeployments :: ListStageDeploymentsResponse -> TestTree+responseListStageDeployments =+  res+    "ListStageDeploymentsResponse"+    "fixture/ListStageDeploymentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListStageDeployments)++responseListStages :: ListStagesResponse -> TestTree+responseListStages =+  res+    "ListStagesResponse"+    "fixture/ListStagesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListStages)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartGeneratedCodeJob :: StartGeneratedCodeJobResponse -> TestTree+responseStartGeneratedCodeJob =+  res+    "StartGeneratedCodeJobResponse"+    "fixture/StartGeneratedCodeJobResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartGeneratedCodeJob)++responseStartStageDeployment :: StartStageDeploymentResponse -> TestTree+responseStartStageDeployment =+  res+    "StartStageDeploymentResponse"+    "fixture/StartStageDeploymentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartStageDeployment)++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)++responseUpdateGame :: UpdateGameResponse -> TestTree+responseUpdateGame =+  res+    "UpdateGameResponse"+    "fixture/UpdateGameResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGame)++responseUpdateGameConfiguration :: UpdateGameConfigurationResponse -> TestTree+responseUpdateGameConfiguration =+  res+    "UpdateGameConfigurationResponse"+    "fixture/UpdateGameConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGameConfiguration)++responseUpdateSnapshot :: UpdateSnapshotResponse -> TestTree+responseUpdateSnapshot =+  res+    "UpdateSnapshotResponse"+    "fixture/UpdateSnapshotResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSnapshot)++responseUpdateStage :: UpdateStageResponse -> TestTree+responseUpdateStage =+  res+    "UpdateStageResponse"+    "fixture/UpdateStageResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateStage)