packages feed

amazonka-gamelift (empty) → 1.4.0

raw patch · 118 files changed

+10296/−0 lines, 118 filesdep +amazonka-coredep +amazonka-gameliftdep +amazonka-testsetup-changed

Dependencies added: amazonka-core, amazonka-gamelift, amazonka-test, base, bytestring, 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,118 @@+# Amazon GameLift SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.4.0`+++## Description++Amazon GameLift Service++Welcome to the /Amazon GameLift API Reference/. Amazon GameLift is a+managed Amazon Web Services (AWS) service for developers who need a+scalable, server-based solution for multiplayer games. Amazon GameLift+provides setup and deployment of game servers, and handles+infrastructure scaling and session management. For more information+about the GameLift service, including a feature overview, getting+started guide, and tutorial, see the accompanying+<http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide>.++This reference describes the low-level service API for GameLift. You can+call this API directly or use the+<https://aws.amazon.com/tools/ AWS SDK> for your preferred language. The+AWS SDK includes a set of high-level GameLift actions multiplayer game+sessions. Alternatively, you can use the+<https://aws.amazon.com/cli/ AWS command-line interface> (CLI) tool,+which includes commands for GameLift. For administrative actions, you+can use the Amazon GameLift console.++__Managing Game and Player Sessions Through GameLift__++Call these actions from your game clients and\/or services to create and+manage multiplayer game sessions.++-   __Game sessions__+    -   < CreateGameSession>+    -   < DescribeGameSessions>+    -   < DescribeGameSessionDetails>+    -   < UpdateGameSession>+-   __Player sessions__+    -   < CreatePlayerSession>+    -   < CreatePlayerSessions>+    -   < DescribePlayerSessions>+-   __Other actions:__+    -   < GetGameSessionLogUrl>++__Setting Up Game Servers__++Use these administrative actions to configure GameLift to host your game+servers. When configuring GameLift, you\'ll need to (1) configure a+build for your game and provide build files, and (2) set up one or more+fleets to host game sessions.++-   __Build actions:__+    -   < ListBuilds>+    -   < CreateBuild>+    -   < DescribeBuild>+    -   < UpdateBuild>+    -   < DeleteBuild>+    -   < RequestUploadCredentials>+-   __Fleet actions:__+    -   < ListFleets>+    -   < CreateFleet>+    -   Describe fleet actions:+        -   < DescribeFleetAttributes>+        -   < DescribeFleetCapacity>+        -   < DescribeFleetPortSettings>+        -   < DescribeFleetUtilization>+        -   < DescribeEC2InstanceLimits>+        -   < DescribeFleetEvents>+    -   Update fleet actions:+        -   < UpdateFleetAttributes>+        -   < UpdateFleetCapacity>+        -   < UpdateFleetPortSettings>+    -   < DeleteFleet>+-   __Alias actions:__+    -   < ListAliases>+    -   < CreateAlias>+    -   < DescribeAlias>+    -   < UpdateAlias>+    -   < DeleteAlias>+    -   < ResolveAlias>+-   __Scaling policy actions:__+    -   < PutScalingPolicy>+    -   < DescribeScalingPolicies>+    -   < DeleteScalingPolicy>++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-gamelift)+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 and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount 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).++## 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-gamelift` 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.
+ Setup.hs view
@@ -0,0 +1,2 @@+import           Distribution.Simple+main = defaultMain
+ amazonka-gamelift.cabal view
@@ -0,0 +1,192 @@+name:                  amazonka-gamelift+version:               1.4.0+synopsis:              Amazon GameLift SDK.+homepage:              https://github.com/brendanhay/amazonka+bug-reports:           https://github.com/brendanhay/amazonka/issues+license:               OtherLicense+license-file:          LICENSE+author:                Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay@gmail.com>+copyright:             Copyright (c) 2013-2016 Brendan Hay+category:              Network, AWS, Cloud, Distributed Computing+build-type:            Simple+cabal-version:         >= 1.10+extra-source-files:    README.md fixture/*.yaml fixture/*.proto+description:+    Amazon GameLift Service++    Welcome to the /Amazon GameLift API Reference/. Amazon GameLift is a+    managed Amazon Web Services (AWS) service for developers who need a+    scalable, server-based solution for multiplayer games. Amazon GameLift+    provides setup and deployment of game servers, and handles+    infrastructure scaling and session management. For more information+    about the GameLift service, including a feature overview, getting+    started guide, and tutorial, see the accompanying+    <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide>.++    This reference describes the low-level service API for GameLift. You can+    call this API directly or use the+    <https://aws.amazon.com/tools/ AWS SDK> for your preferred language. The+    AWS SDK includes a set of high-level GameLift actions multiplayer game+    sessions. Alternatively, you can use the+    <https://aws.amazon.com/cli/ AWS command-line interface> (CLI) tool,+    which includes commands for GameLift. For administrative actions, you+    can use the Amazon GameLift console.++    __Managing Game and Player Sessions Through GameLift__++    Call these actions from your game clients and\/or services to create and+    manage multiplayer game sessions.++    -   __Game sessions__+        -   < CreateGameSession>+        -   < DescribeGameSessions>+        -   < DescribeGameSessionDetails>+        -   < UpdateGameSession>+    -   __Player sessions__+        -   < CreatePlayerSession>+        -   < CreatePlayerSessions>+        -   < DescribePlayerSessions>+    -   __Other actions:__+        -   < GetGameSessionLogUrl>++    __Setting Up Game Servers__++    Use these administrative actions to configure GameLift to host your game+    servers. When configuring GameLift, you\'ll need to (1) configure a+    build for your game and provide build files, and (2) set up one or more+    fleets to host game sessions.++    -   __Build actions:__+        -   < ListBuilds>+        -   < CreateBuild>+        -   < DescribeBuild>+        -   < UpdateBuild>+        -   < DeleteBuild>+        -   < RequestUploadCredentials>+    -   __Fleet actions:__+        -   < ListFleets>+        -   < CreateFleet>+        -   Describe fleet actions:+            -   < DescribeFleetAttributes>+            -   < DescribeFleetCapacity>+            -   < DescribeFleetPortSettings>+            -   < DescribeFleetUtilization>+            -   < DescribeEC2InstanceLimits>+            -   < DescribeFleetEvents>+        -   Update fleet actions:+            -   < UpdateFleetAttributes>+            -   < UpdateFleetCapacity>+            -   < UpdateFleetPortSettings>+        -   < DeleteFleet>+    -   __Alias actions:__+        -   < ListAliases>+        -   < CreateAlias>+        -   < DescribeAlias>+        -   < UpdateAlias>+        -   < DeleteAlias>+        -   < ResolveAlias>+    -   __Scaling policy actions:__+        -   < PutScalingPolicy>+        -   < DescribeScalingPolicies>+        -   < DeleteScalingPolicy>+    .+    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 and sending requests.+    .+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount 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+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.GameLift" or <https://aws.amazon.com/documentation/ the AWS Documentation>+    to get started.++source-repository head+    type:     git+    location: git://github.com/brendanhay/amazonka.git++library+    default-language:  Haskell2010+    hs-source-dirs:    src gen++    ghc-options:       -Wall++    exposed-modules:+          Network.AWS.GameLift+        , Network.AWS.GameLift.CreateAlias+        , Network.AWS.GameLift.CreateBuild+        , Network.AWS.GameLift.CreateFleet+        , Network.AWS.GameLift.CreateGameSession+        , Network.AWS.GameLift.CreatePlayerSession+        , Network.AWS.GameLift.CreatePlayerSessions+        , Network.AWS.GameLift.DeleteAlias+        , Network.AWS.GameLift.DeleteBuild+        , Network.AWS.GameLift.DeleteFleet+        , Network.AWS.GameLift.DeleteScalingPolicy+        , Network.AWS.GameLift.DescribeAlias+        , Network.AWS.GameLift.DescribeBuild+        , Network.AWS.GameLift.DescribeEC2InstanceLimits+        , Network.AWS.GameLift.DescribeFleetAttributes+        , Network.AWS.GameLift.DescribeFleetCapacity+        , Network.AWS.GameLift.DescribeFleetEvents+        , Network.AWS.GameLift.DescribeFleetPortSettings+        , Network.AWS.GameLift.DescribeFleetUtilization+        , Network.AWS.GameLift.DescribeGameSessionDetails+        , Network.AWS.GameLift.DescribeGameSessions+        , Network.AWS.GameLift.DescribePlayerSessions+        , Network.AWS.GameLift.DescribeScalingPolicies+        , Network.AWS.GameLift.GetGameSessionLogURL+        , Network.AWS.GameLift.ListAliases+        , Network.AWS.GameLift.ListBuilds+        , Network.AWS.GameLift.ListFleets+        , Network.AWS.GameLift.PutScalingPolicy+        , Network.AWS.GameLift.RequestUploadCredentials+        , Network.AWS.GameLift.ResolveAlias+        , Network.AWS.GameLift.Types+        , Network.AWS.GameLift.UpdateAlias+        , Network.AWS.GameLift.UpdateBuild+        , Network.AWS.GameLift.UpdateFleetAttributes+        , Network.AWS.GameLift.UpdateFleetCapacity+        , Network.AWS.GameLift.UpdateFleetPortSettings+        , Network.AWS.GameLift.UpdateGameSession+        , Network.AWS.GameLift.Waiters++    other-modules:+          Network.AWS.GameLift.Types.Product+        , Network.AWS.GameLift.Types.Sum++    build-depends:+          amazonka-core == 1.4.0.*+        , base          >= 4.7     && < 5++test-suite amazonka-gamelift-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.AWS.GameLift+        , Test.AWS.Gen.GameLift+        , Test.AWS.GameLift.Internal++    build-depends:+          amazonka-core == 1.4.0.*+        , amazonka-test == 1.4.0.*+        , amazonka-gamelift == 1.4.0.*+        , base+        , bytestring+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
+ fixture/CreateAlias.yaml view
+ fixture/CreateAliasResponse.proto view
+ fixture/CreateBuild.yaml view
+ fixture/CreateBuildResponse.proto view
+ fixture/CreateFleet.yaml view
+ fixture/CreateFleetResponse.proto view
+ fixture/CreateGameSession.yaml view
+ fixture/CreateGameSessionResponse.proto view
+ fixture/CreatePlayerSession.yaml view
+ fixture/CreatePlayerSessionResponse.proto view
+ fixture/CreatePlayerSessions.yaml view
+ fixture/CreatePlayerSessionsResponse.proto view
+ fixture/DeleteAlias.yaml view
+ fixture/DeleteAliasResponse.proto view
+ fixture/DeleteBuild.yaml view
+ fixture/DeleteBuildResponse.proto view
+ fixture/DeleteFleet.yaml view
+ fixture/DeleteFleetResponse.proto view
+ fixture/DeleteScalingPolicy.yaml view
+ fixture/DeleteScalingPolicyResponse.proto view
+ fixture/DescribeAlias.yaml view
+ fixture/DescribeAliasResponse.proto view
+ fixture/DescribeBuild.yaml view
+ fixture/DescribeBuildResponse.proto view
+ fixture/DescribeEC2InstanceLimits.yaml view
+ fixture/DescribeEC2InstanceLimitsResponse.proto view
+ fixture/DescribeFleetAttributes.yaml view
+ fixture/DescribeFleetAttributesResponse.proto view
+ fixture/DescribeFleetCapacity.yaml view
+ fixture/DescribeFleetCapacityResponse.proto view
+ fixture/DescribeFleetEvents.yaml view
+ fixture/DescribeFleetEventsResponse.proto view
+ fixture/DescribeFleetPortSettings.yaml view
+ fixture/DescribeFleetPortSettingsResponse.proto view
+ fixture/DescribeFleetUtilization.yaml view
+ fixture/DescribeFleetUtilizationResponse.proto view
+ fixture/DescribeGameSessionDetails.yaml view
+ fixture/DescribeGameSessionDetailsResponse.proto view
+ fixture/DescribeGameSessions.yaml view
+ fixture/DescribeGameSessionsResponse.proto view
+ fixture/DescribePlayerSessions.yaml view
+ fixture/DescribePlayerSessionsResponse.proto view
+ fixture/DescribeScalingPolicies.yaml view
+ fixture/DescribeScalingPoliciesResponse.proto view
+ fixture/GetGameSessionLogURL.yaml view
+ fixture/GetGameSessionLogURLResponse.proto view
+ fixture/ListAliases.yaml view
+ fixture/ListAliasesResponse.proto view
+ fixture/ListBuilds.yaml view
+ fixture/ListBuildsResponse.proto view
+ fixture/ListFleets.yaml view
+ fixture/ListFleetsResponse.proto view
+ fixture/PutScalingPolicy.yaml view
+ fixture/PutScalingPolicyResponse.proto view
+ fixture/RequestUploadCredentials.yaml view
+ fixture/RequestUploadCredentialsResponse.proto view
+ fixture/ResolveAlias.yaml view
+ fixture/ResolveAliasResponse.proto view
+ fixture/UpdateAlias.yaml view
+ fixture/UpdateAliasResponse.proto view
+ fixture/UpdateBuild.yaml view
+ fixture/UpdateBuildResponse.proto view
+ fixture/UpdateFleetAttributes.yaml view
+ fixture/UpdateFleetAttributesResponse.proto view
+ fixture/UpdateFleetCapacity.yaml view
+ fixture/UpdateFleetCapacityResponse.proto view
+ fixture/UpdateFleetPortSettings.yaml view
+ fixture/UpdateFleetPortSettingsResponse.proto view
+ fixture/UpdateGameSession.yaml view
+ fixture/UpdateGameSessionResponse.proto view
+ gen/Network/AWS/GameLift.hs view
@@ -0,0 +1,512 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon GameLift Service+--+-- Welcome to the /Amazon GameLift API Reference/. Amazon GameLift is a+-- managed Amazon Web Services (AWS) service for developers who need a+-- scalable, server-based solution for multiplayer games. Amazon GameLift+-- provides setup and deployment of game servers, and handles+-- infrastructure scaling and session management. For more information+-- about the GameLift service, including a feature overview, getting+-- started guide, and tutorial, see the accompanying+-- <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide>.+--+-- This reference describes the low-level service API for GameLift. You can+-- call this API directly or use the+-- <https://aws.amazon.com/tools/ AWS SDK> for your preferred language. The+-- AWS SDK includes a set of high-level GameLift actions multiplayer game+-- sessions. Alternatively, you can use the+-- <https://aws.amazon.com/cli/ AWS command-line interface> (CLI) tool,+-- which includes commands for GameLift. For administrative actions, you+-- can use the Amazon GameLift console.+--+-- __Managing Game and Player Sessions Through GameLift__+--+-- Call these actions from your game clients and\/or services to create and+-- manage multiplayer game sessions.+--+-- -   __Game sessions__+--     -   < CreateGameSession>+--     -   < DescribeGameSessions>+--     -   < DescribeGameSessionDetails>+--     -   < UpdateGameSession>+-- -   __Player sessions__+--     -   < CreatePlayerSession>+--     -   < CreatePlayerSessions>+--     -   < DescribePlayerSessions>+-- -   __Other actions:__+--     -   < GetGameSessionLogUrl>+--+-- __Setting Up Game Servers__+--+-- Use these administrative actions to configure GameLift to host your game+-- servers. When configuring GameLift, you\'ll need to (1) configure a+-- build for your game and provide build files, and (2) set up one or more+-- fleets to host game sessions.+--+-- -   __Build actions:__+--     -   < ListBuilds>+--     -   < CreateBuild>+--     -   < DescribeBuild>+--     -   < UpdateBuild>+--     -   < DeleteBuild>+--     -   < RequestUploadCredentials>+-- -   __Fleet actions:__+--     -   < ListFleets>+--     -   < CreateFleet>+--     -   Describe fleet actions:+--         -   < DescribeFleetAttributes>+--         -   < DescribeFleetCapacity>+--         -   < DescribeFleetPortSettings>+--         -   < DescribeFleetUtilization>+--         -   < DescribeEC2InstanceLimits>+--         -   < DescribeFleetEvents>+--     -   Update fleet actions:+--         -   < UpdateFleetAttributes>+--         -   < UpdateFleetCapacity>+--         -   < UpdateFleetPortSettings>+--     -   < DeleteFleet>+-- -   __Alias actions:__+--     -   < ListAliases>+--     -   < CreateAlias>+--     -   < DescribeAlias>+--     -   < UpdateAlias>+--     -   < DeleteAlias>+--     -   < ResolveAlias>+-- -   __Scaling policy actions:__+--     -   < PutScalingPolicy>+--     -   < DescribeScalingPolicies>+--     -   < DeleteScalingPolicy>+module Network.AWS.GameLift+    (+    -- * Service Configuration+      gameLift++    -- * Errors+    -- $errors++    -- ** InvalidFleetStatusException+    , _InvalidFleetStatusException++    -- ** InvalidRequestException+    , _InvalidRequestException++    -- ** ConflictException+    , _ConflictException++    -- ** TerminalRoutingStrategyException+    , _TerminalRoutingStrategyException++    -- ** NotFoundException+    , _NotFoundException++    -- ** GameSessionFullException+    , _GameSessionFullException++    -- ** InvalidGameSessionStatusException+    , _InvalidGameSessionStatusException++    -- ** InternalServiceException+    , _InternalServiceException++    -- ** UnauthorizedException+    , _UnauthorizedException++    -- ** FleetCapacityExceededException+    , _FleetCapacityExceededException++    -- ** LimitExceededException+    , _LimitExceededException++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateGameSession+    , module Network.AWS.GameLift.CreateGameSession++    -- ** DeleteScalingPolicy+    , module Network.AWS.GameLift.DeleteScalingPolicy++    -- ** PutScalingPolicy+    , module Network.AWS.GameLift.PutScalingPolicy++    -- ** ListBuilds+    , module Network.AWS.GameLift.ListBuilds++    -- ** DeleteFleet+    , module Network.AWS.GameLift.DeleteFleet++    -- ** CreateBuild+    , module Network.AWS.GameLift.CreateBuild++    -- ** RequestUploadCredentials+    , module Network.AWS.GameLift.RequestUploadCredentials++    -- ** CreateAlias+    , module Network.AWS.GameLift.CreateAlias++    -- ** ResolveAlias+    , module Network.AWS.GameLift.ResolveAlias++    -- ** ListAliases+    , module Network.AWS.GameLift.ListAliases++    -- ** DescribeScalingPolicies+    , module Network.AWS.GameLift.DescribeScalingPolicies++    -- ** DescribeGameSessions+    , module Network.AWS.GameLift.DescribeGameSessions++    -- ** DescribeFleetUtilization+    , module Network.AWS.GameLift.DescribeFleetUtilization++    -- ** GetGameSessionLogURL+    , module Network.AWS.GameLift.GetGameSessionLogURL++    -- ** DescribeFleetAttributes+    , module Network.AWS.GameLift.DescribeFleetAttributes++    -- ** DescribeFleetEvents+    , module Network.AWS.GameLift.DescribeFleetEvents++    -- ** DescribeFleetCapacity+    , module Network.AWS.GameLift.DescribeFleetCapacity++    -- ** DeleteBuild+    , module Network.AWS.GameLift.DeleteBuild++    -- ** UpdateBuild+    , module Network.AWS.GameLift.UpdateBuild++    -- ** ListFleets+    , module Network.AWS.GameLift.ListFleets++    -- ** DeleteAlias+    , module Network.AWS.GameLift.DeleteAlias++    -- ** UpdateAlias+    , module Network.AWS.GameLift.UpdateAlias++    -- ** DescribeGameSessionDetails+    , module Network.AWS.GameLift.DescribeGameSessionDetails++    -- ** DescribeFleetPortSettings+    , module Network.AWS.GameLift.DescribeFleetPortSettings++    -- ** CreatePlayerSessions+    , module Network.AWS.GameLift.CreatePlayerSessions++    -- ** CreateFleet+    , module Network.AWS.GameLift.CreateFleet++    -- ** UpdateFleetAttributes+    , module Network.AWS.GameLift.UpdateFleetAttributes++    -- ** DescribePlayerSessions+    , module Network.AWS.GameLift.DescribePlayerSessions++    -- ** DescribeBuild+    , module Network.AWS.GameLift.DescribeBuild++    -- ** UpdateFleetPortSettings+    , module Network.AWS.GameLift.UpdateFleetPortSettings++    -- ** UpdateFleetCapacity+    , module Network.AWS.GameLift.UpdateFleetCapacity++    -- ** DescribeAlias+    , module Network.AWS.GameLift.DescribeAlias++    -- ** DescribeEC2InstanceLimits+    , module Network.AWS.GameLift.DescribeEC2InstanceLimits++    -- ** UpdateGameSession+    , module Network.AWS.GameLift.UpdateGameSession++    -- ** CreatePlayerSession+    , module Network.AWS.GameLift.CreatePlayerSession++    -- * Types++    -- ** BuildStatus+    , BuildStatus (..)++    -- ** ComparisonOperatorType+    , ComparisonOperatorType (..)++    -- ** EC2InstanceType+    , EC2InstanceType (..)++    -- ** EventCode+    , EventCode (..)++    -- ** FleetStatus+    , FleetStatus (..)++    -- ** GameSessionStatus+    , GameSessionStatus (..)++    -- ** IPProtocol+    , IPProtocol (..)++    -- ** MetricName+    , MetricName (..)++    -- ** PlayerSessionCreationPolicy+    , PlayerSessionCreationPolicy (..)++    -- ** PlayerSessionStatus+    , PlayerSessionStatus (..)++    -- ** ProtectionPolicy+    , ProtectionPolicy (..)++    -- ** RoutingStrategyType+    , RoutingStrategyType (..)++    -- ** ScalingAdjustmentType+    , ScalingAdjustmentType (..)++    -- ** ScalingStatusType+    , ScalingStatusType (..)++    -- ** AWSCredentials+    , AWSCredentials+    , awsCredentials+    , acSecretAccessKey+    , acSessionToken+    , acAccessKeyId++    -- ** Alias+    , Alias+    , alias+    , aCreationTime+    , aLastUpdatedTime+    , aAliasId+    , aRoutingStrategy+    , aName+    , aDescription++    -- ** Build+    , Build+    , build+    , bCreationTime+    , bStatus+    , bBuildId+    , bName+    , bVersion+    , bSizeOnDisk++    -- ** EC2InstanceCounts+    , EC2InstanceCounts+    , ec2InstanceCounts+    , eicIdLE+    , eicTERMINATING+    , eicPENDING+    , eicMAXIMUM+    , eicDESIRED+    , eicMINIMUM+    , eicACTIVE++    -- ** EC2InstanceLimit+    , EC2InstanceLimit+    , ec2InstanceLimit+    , eilEC2InstanceType+    , eilCurrentInstances+    , eilInstanceLimit++    -- ** Event+    , Event+    , event+    , eResourceId+    , eEventTime+    , eMessage+    , eEventCode+    , eEventId++    -- ** FleetAttributes+    , FleetAttributes+    , fleetAttributes+    , faCreationTime+    , faStatus+    , faServerLaunchParameters+    , faLogPaths+    , faBuildId+    , faTerminationTime+    , faNewGameSessionProtectionPolicy+    , faName+    , faServerLaunchPath+    , faFleetId+    , faDescription++    -- ** FleetCapacity+    , FleetCapacity+    , fleetCapacity+    , fcInstanceType+    , fcFleetId+    , fcInstanceCounts++    -- ** FleetUtilization+    , FleetUtilization+    , fleetUtilization+    , fuActiveGameSessionCount+    , fuMaximumPlayerSessionCount+    , fuCurrentPlayerSessionCount+    , fuFleetId++    -- ** GameProperty+    , GameProperty+    , gameProperty+    , gpKey+    , gpValue++    -- ** GameSession+    , GameSession+    , gameSession+    , gsCreationTime+    , gsStatus+    , gsGameProperties+    , gsIPAddress+    , gsGameSessionId+    , gsMaximumPlayerSessionCount+    , gsTerminationTime+    , gsPlayerSessionCreationPolicy+    , gsName+    , gsCurrentPlayerSessionCount+    , gsFleetId++    -- ** GameSessionDetail+    , GameSessionDetail+    , gameSessionDetail+    , gsdGameSession+    , gsdProtectionPolicy++    -- ** IPPermission+    , IPPermission+    , ipPermission+    , ipFromPort+    , ipToPort+    , ipIPRange+    , ipProtocol++    -- ** PlayerSession+    , PlayerSession+    , playerSession+    , psCreationTime+    , psStatus+    , psIPAddress+    , psGameSessionId+    , psTerminationTime+    , psPlayerSessionId+    , psFleetId+    , psPlayerId++    -- ** RoutingStrategy+    , RoutingStrategy+    , routingStrategy+    , rsType+    , rsMessage+    , rsFleetId++    -- ** S3Location+    , S3Location+    , s3Location+    , slBucket+    , slKey+    , slRoleARN++    -- ** ScalingPolicy+    , ScalingPolicy+    , scalingPolicy+    , spStatus+    , spScalingAdjustmentType+    , spEvaluationPeriods+    , spMetricName+    , spComparisonOperator+    , spName+    , spThreshold+    , spScalingAdjustment+    , spFleetId+    ) where++import           Network.AWS.GameLift.CreateAlias+import           Network.AWS.GameLift.CreateBuild+import           Network.AWS.GameLift.CreateFleet+import           Network.AWS.GameLift.CreateGameSession+import           Network.AWS.GameLift.CreatePlayerSession+import           Network.AWS.GameLift.CreatePlayerSessions+import           Network.AWS.GameLift.DeleteAlias+import           Network.AWS.GameLift.DeleteBuild+import           Network.AWS.GameLift.DeleteFleet+import           Network.AWS.GameLift.DeleteScalingPolicy+import           Network.AWS.GameLift.DescribeAlias+import           Network.AWS.GameLift.DescribeBuild+import           Network.AWS.GameLift.DescribeEC2InstanceLimits+import           Network.AWS.GameLift.DescribeFleetAttributes+import           Network.AWS.GameLift.DescribeFleetCapacity+import           Network.AWS.GameLift.DescribeFleetEvents+import           Network.AWS.GameLift.DescribeFleetPortSettings+import           Network.AWS.GameLift.DescribeFleetUtilization+import           Network.AWS.GameLift.DescribeGameSessionDetails+import           Network.AWS.GameLift.DescribeGameSessions+import           Network.AWS.GameLift.DescribePlayerSessions+import           Network.AWS.GameLift.DescribeScalingPolicies+import           Network.AWS.GameLift.GetGameSessionLogURL+import           Network.AWS.GameLift.ListAliases+import           Network.AWS.GameLift.ListBuilds+import           Network.AWS.GameLift.ListFleets+import           Network.AWS.GameLift.PutScalingPolicy+import           Network.AWS.GameLift.RequestUploadCredentials+import           Network.AWS.GameLift.ResolveAlias+import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.UpdateAlias+import           Network.AWS.GameLift.UpdateBuild+import           Network.AWS.GameLift.UpdateFleetAttributes+import           Network.AWS.GameLift.UpdateFleetCapacity+import           Network.AWS.GameLift.UpdateFleetPortSettings+import           Network.AWS.GameLift.UpdateGameSession+import           Network.AWS.GameLift.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 'GameLift'.+-}++{- $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/Network/AWS/GameLift/CreateAlias.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreateAlias+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an alias for a fleet. You can use an alias to anonymize your+-- fleet by referencing an alias instead of a specific fleet when you+-- create game sessions. Amazon GameLift supports two types of routing+-- strategies for aliases: simple and terminal. Use a simple alias to point+-- to an active fleet. Use a terminal alias to display a message to+-- incoming traffic instead of routing players to an active fleet. This+-- option is useful when a game server is no longer supported but you want+-- to provide better messaging than a standard 404 error.+--+-- To create a fleet alias, specify an alias name, routing strategy, and+-- optional description. If successful, a new alias record is returned,+-- including an alias ID, which you can reference when creating a game+-- session. To reassign the alias to another fleet ID, call < UpdateAlias>.+module Network.AWS.GameLift.CreateAlias+    (+    -- * Creating a Request+      createAlias+    , CreateAlias+    -- * Request Lenses+    , caDescription+    , caName+    , caRoutingStrategy++    -- * Destructuring the Response+    , createAliasResponse+    , CreateAliasResponse+    -- * Response Lenses+    , carsAlias+    , carsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createAlias' smart constructor.+data CreateAlias = CreateAlias'+    { _caDescription     :: !(Maybe Text)+    , _caName            :: !Text+    , _caRoutingStrategy :: !RoutingStrategy+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caDescription'+--+-- * 'caName'+--+-- * 'caRoutingStrategy'+createAlias+    :: Text -- ^ 'caName'+    -> RoutingStrategy -- ^ 'caRoutingStrategy'+    -> CreateAlias+createAlias pName_ pRoutingStrategy_ =+    CreateAlias'+    { _caDescription = Nothing+    , _caName = pName_+    , _caRoutingStrategy = pRoutingStrategy_+    }++-- | Human-readable description of the alias.+caDescription :: Lens' CreateAlias (Maybe Text)+caDescription = lens _caDescription (\ s a -> s{_caDescription = a});++-- | Descriptive label associated with this alias. Alias names do not need to+-- be unique.+caName :: Lens' CreateAlias Text+caName = lens _caName (\ s a -> s{_caName = a});++-- | Object specifying the fleet and routing type to use for the alias.+caRoutingStrategy :: Lens' CreateAlias RoutingStrategy+caRoutingStrategy = lens _caRoutingStrategy (\ s a -> s{_caRoutingStrategy = a});++instance AWSRequest CreateAlias where+        type Rs CreateAlias = CreateAliasResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreateAliasResponse' <$>+                   (x .?> "Alias") <*> (pure (fromEnum s)))++instance Hashable CreateAlias++instance ToHeaders CreateAlias where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreateAlias" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateAlias where+        toJSON CreateAlias'{..}+          = object+              (catMaybes+                 [("Description" .=) <$> _caDescription,+                  Just ("Name" .= _caName),+                  Just ("RoutingStrategy" .= _caRoutingStrategy)])++instance ToPath CreateAlias where+        toPath = const "/"++instance ToQuery CreateAlias where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createAliasResponse' smart constructor.+data CreateAliasResponse = CreateAliasResponse'+    { _carsAlias          :: !(Maybe Alias)+    , _carsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateAliasResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'carsAlias'+--+-- * 'carsResponseStatus'+createAliasResponse+    :: Int -- ^ 'carsResponseStatus'+    -> CreateAliasResponse+createAliasResponse pResponseStatus_ =+    CreateAliasResponse'+    { _carsAlias = Nothing+    , _carsResponseStatus = pResponseStatus_+    }++-- | Object containing the newly created alias record.+carsAlias :: Lens' CreateAliasResponse (Maybe Alias)+carsAlias = lens _carsAlias (\ s a -> s{_carsAlias = a});++-- | The response status code.+carsResponseStatus :: Lens' CreateAliasResponse Int+carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});
+ gen/Network/AWS/GameLift/CreateBuild.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreateBuild+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initializes a new build record and generates information required to+-- upload a game build to Amazon GameLift. Once the build record has been+-- created and is in an INITIALIZED state, you can upload your game build.+--+-- To create a build, use the CLI command 'upload-build', which creates a+-- new build record and uploads the build files in one step. (See the+-- <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide>+-- for more details on the CLI and the upload process.) Call the+-- 'CreateBuild' action only if you have your own Amazon Simple Storage+-- Service (Amazon S3) client and need to manually upload your build files.+--+-- To create a new build, optionally specify a build name and version. This+-- metadata is stored with other properties in the build record and is+-- displayed in the GameLift console (but not visible to players). If+-- successful, this action returns the newly created build record along+-- with an Amazon S3 storage location and AWS account credentials. Use the+-- location and credentials to upload your game build.+module Network.AWS.GameLift.CreateBuild+    (+    -- * Creating a Request+      createBuild+    , CreateBuild+    -- * Request Lenses+    , cbStorageLocation+    , cbName+    , cbVersion++    -- * Destructuring the Response+    , createBuildResponse+    , CreateBuildResponse+    -- * Response Lenses+    , cbrsStorageLocation+    , cbrsUploadCredentials+    , cbrsBuild+    , cbrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createBuild' smart constructor.+data CreateBuild = CreateBuild'+    { _cbStorageLocation :: !(Maybe S3Location)+    , _cbName            :: !(Maybe Text)+    , _cbVersion         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbStorageLocation'+--+-- * 'cbName'+--+-- * 'cbVersion'+createBuild+    :: CreateBuild+createBuild =+    CreateBuild'+    { _cbStorageLocation = Nothing+    , _cbName = Nothing+    , _cbVersion = Nothing+    }++-- | Undocumented member.+cbStorageLocation :: Lens' CreateBuild (Maybe S3Location)+cbStorageLocation = lens _cbStorageLocation (\ s a -> s{_cbStorageLocation = a});++-- | Descriptive label associated with this build. Build names do not need to+-- be unique. A build name can be changed later using < UpdateBuild>.+cbName :: Lens' CreateBuild (Maybe Text)+cbName = lens _cbName (\ s a -> s{_cbName = a});++-- | Version associated with this build. Version strings do not need to be+-- unique to a build. A build version can be changed later using+-- < UpdateBuild>.+cbVersion :: Lens' CreateBuild (Maybe Text)+cbVersion = lens _cbVersion (\ s a -> s{_cbVersion = a});++instance AWSRequest CreateBuild where+        type Rs CreateBuild = CreateBuildResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreateBuildResponse' <$>+                   (x .?> "StorageLocation") <*>+                     (x .?> "UploadCredentials")+                     <*> (x .?> "Build")+                     <*> (pure (fromEnum s)))++instance Hashable CreateBuild++instance ToHeaders CreateBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreateBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateBuild where+        toJSON CreateBuild'{..}+          = object+              (catMaybes+                 [("StorageLocation" .=) <$> _cbStorageLocation,+                  ("Name" .=) <$> _cbName,+                  ("Version" .=) <$> _cbVersion])++instance ToPath CreateBuild where+        toPath = const "/"++instance ToQuery CreateBuild where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createBuildResponse' smart constructor.+data CreateBuildResponse = CreateBuildResponse'+    { _cbrsStorageLocation   :: !(Maybe S3Location)+    , _cbrsUploadCredentials :: !(Maybe (Sensitive AWSCredentials))+    , _cbrsBuild             :: !(Maybe Build)+    , _cbrsResponseStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateBuildResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbrsStorageLocation'+--+-- * 'cbrsUploadCredentials'+--+-- * 'cbrsBuild'+--+-- * 'cbrsResponseStatus'+createBuildResponse+    :: Int -- ^ 'cbrsResponseStatus'+    -> CreateBuildResponse+createBuildResponse pResponseStatus_ =+    CreateBuildResponse'+    { _cbrsStorageLocation = Nothing+    , _cbrsUploadCredentials = Nothing+    , _cbrsBuild = Nothing+    , _cbrsResponseStatus = pResponseStatus_+    }++-- | Amazon S3 path and key, identifying where the game build files are+-- stored.+cbrsStorageLocation :: Lens' CreateBuildResponse (Maybe S3Location)+cbrsStorageLocation = lens _cbrsStorageLocation (\ s a -> s{_cbrsStorageLocation = a});++-- | AWS credentials required when uploading a game build to the storage+-- location. These credentials have a limited lifespan and are valid only+-- for the build they were issued for. If you need to get fresh+-- credentials, call < RequestUploadCredentials>.+cbrsUploadCredentials :: Lens' CreateBuildResponse (Maybe AWSCredentials)+cbrsUploadCredentials = lens _cbrsUploadCredentials (\ s a -> s{_cbrsUploadCredentials = a}) . mapping _Sensitive;++-- | Set of properties for the newly created build.+cbrsBuild :: Lens' CreateBuildResponse (Maybe Build)+cbrsBuild = lens _cbrsBuild (\ s a -> s{_cbrsBuild = a});++-- | The response status code.+cbrsResponseStatus :: Lens' CreateBuildResponse Int+cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a});
+ gen/Network/AWS/GameLift/CreateFleet.hs view
@@ -0,0 +1,279 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreateFleet+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new fleet to host game servers. A fleet consists of a set of+-- Amazon Elastic Compute Cloud (Amazon EC2) instances of a certain type,+-- which defines the CPU, memory, storage, and networking capacity of each+-- host in the fleet. See+-- <https://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types>+-- for more information. Each instance in the fleet hosts a game server+-- created from the specified game build. Once a fleet is in an ACTIVE+-- state, it can begin hosting game sessions.+--+-- To create a new fleet, provide a name and the EC2 instance type for the+-- new fleet, and specify the build and server launch path. Builds must be+-- in a READY state before they can be used to build fleets. When+-- configuring the new fleet, you can optionally (1) provide a set of+-- launch parameters to be passed to a game server when activated; (2)+-- limit incoming traffic to a specified range of IP addresses and port+-- numbers; (3) set game session protection for all instances in the fleet,+-- and (4) configure Amazon GameLift to store game session logs by+-- specifying the path to the logs stored in your game server files. If the+-- call is successful, Amazon GameLift performs the following tasks:+--+-- -   Creates a fleet record and sets the state to NEW.+-- -   Sets the fleet\'s capacity to 1 \"desired\" and 1 \"active\" EC2+--     instance count.+-- -   Creates an EC2 instance and begins the process of initializing the+--     fleet and activating a game server on the instance.+-- -   Begins writing events to the fleet event log, which can be accessed+--     in the GameLift console.+--+-- Once a fleet is created, use the following actions to change certain+-- fleet properties (server launch parameters and log paths cannot be+-- changed):+--+-- -   < UpdateFleetAttributes> -- Update fleet metadata, including name+--     and description.+-- -   < UpdateFleetCapacity> -- Increase or decrease the number of+--     instances you want the fleet to maintain.+-- -   < UpdateFleetPortSettings> -- Change the IP addresses and ports that+--     allow access to incoming traffic.+module Network.AWS.GameLift.CreateFleet+    (+    -- * Creating a Request+      createFleet+    , CreateFleet+    -- * Request Lenses+    , cfServerLaunchParameters+    , cfLogPaths+    , cfEC2InboundPermissions+    , cfNewGameSessionProtectionPolicy+    , cfDescription+    , cfName+    , cfBuildId+    , cfServerLaunchPath+    , cfEC2InstanceType++    -- * Destructuring the Response+    , createFleetResponse+    , CreateFleetResponse+    -- * Response Lenses+    , cfrsFleetAttributes+    , cfrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createFleet' smart constructor.+data CreateFleet = CreateFleet'+    { _cfServerLaunchParameters         :: !(Maybe Text)+    , _cfLogPaths                       :: !(Maybe [Text])+    , _cfEC2InboundPermissions          :: !(Maybe [IPPermission])+    , _cfNewGameSessionProtectionPolicy :: !(Maybe ProtectionPolicy)+    , _cfDescription                    :: !(Maybe Text)+    , _cfName                           :: !Text+    , _cfBuildId                        :: !Text+    , _cfServerLaunchPath               :: !Text+    , _cfEC2InstanceType                :: !EC2InstanceType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateFleet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfServerLaunchParameters'+--+-- * 'cfLogPaths'+--+-- * 'cfEC2InboundPermissions'+--+-- * 'cfNewGameSessionProtectionPolicy'+--+-- * 'cfDescription'+--+-- * 'cfName'+--+-- * 'cfBuildId'+--+-- * 'cfServerLaunchPath'+--+-- * 'cfEC2InstanceType'+createFleet+    :: Text -- ^ 'cfName'+    -> Text -- ^ 'cfBuildId'+    -> Text -- ^ 'cfServerLaunchPath'+    -> EC2InstanceType -- ^ 'cfEC2InstanceType'+    -> CreateFleet+createFleet pName_ pBuildId_ pServerLaunchPath_ pEC2InstanceType_ =+    CreateFleet'+    { _cfServerLaunchParameters = Nothing+    , _cfLogPaths = Nothing+    , _cfEC2InboundPermissions = Nothing+    , _cfNewGameSessionProtectionPolicy = Nothing+    , _cfDescription = Nothing+    , _cfName = pName_+    , _cfBuildId = pBuildId_+    , _cfServerLaunchPath = pServerLaunchPath_+    , _cfEC2InstanceType = pEC2InstanceType_+    }++-- | Parameters required to launch your game server. These parameters should+-- be expressed as a string of command-line parameters. Example: \"+sv_port+-- 33435 +start_lobby\".+cfServerLaunchParameters :: Lens' CreateFleet (Maybe Text)+cfServerLaunchParameters = lens _cfServerLaunchParameters (\ s a -> s{_cfServerLaunchParameters = a});++-- | Path to game-session log files generated by your game server. Once a+-- game session has been terminated, Amazon GameLift captures and stores+-- the logs on Amazon S3. Use the GameLift console to access the stored+-- logs.+cfLogPaths :: Lens' CreateFleet [Text]+cfLogPaths = lens _cfLogPaths (\ s a -> s{_cfLogPaths = a}) . _Default . _Coerce;++-- | Access limits for incoming traffic. Setting these values limits game+-- server access to incoming traffic using specified IP ranges and port+-- numbers. Some ports in a range may be restricted. You can provide one or+-- more sets of permissions for the fleet.+cfEC2InboundPermissions :: Lens' CreateFleet [IPPermission]+cfEC2InboundPermissions = lens _cfEC2InboundPermissions (\ s a -> s{_cfEC2InboundPermissions = a}) . _Default . _Coerce;++-- | Game session protection policy to apply to all instances created in this+-- fleet. If this parameter is not set, new instances in this fleet will+-- default to no protection. Protection can be set for individual instances+-- using < UpdateGameSession>.+--+-- -   NoProtection: The game session can be terminated during a scale-down+--     event.+-- -   FullProtection: If the game session is in an ACTIVE status, it+--     cannot be terminated during a scale-down event.+cfNewGameSessionProtectionPolicy :: Lens' CreateFleet (Maybe ProtectionPolicy)+cfNewGameSessionProtectionPolicy = lens _cfNewGameSessionProtectionPolicy (\ s a -> s{_cfNewGameSessionProtectionPolicy = a});++-- | Human-readable description of the fleet.+cfDescription :: Lens' CreateFleet (Maybe Text)+cfDescription = lens _cfDescription (\ s a -> s{_cfDescription = a});++-- | Descriptive label associated with this fleet. Fleet names do not need to+-- be unique.+cfName :: Lens' CreateFleet Text+cfName = lens _cfName (\ s a -> s{_cfName = a});++-- | Unique identifier for the build you want the new fleet to use.+cfBuildId :: Lens' CreateFleet Text+cfBuildId = lens _cfBuildId (\ s a -> s{_cfBuildId = a});++-- | Path to the launch executable for the game server. A game server is+-- built into a 'C:\\game' drive. This value must be expressed as+-- 'C:\\game\\[launchpath]'. Example: If, when built, your game server+-- files are in a folder called \"MyGame\", your log path should be+-- 'C:\\game\\MyGame\\server.exe'.+cfServerLaunchPath :: Lens' CreateFleet Text+cfServerLaunchPath = lens _cfServerLaunchPath (\ s a -> s{_cfServerLaunchPath = a});++-- | Type of EC2 instances used in the fleet. EC2 instance types define the+-- CPU, memory, storage, and networking capacity of the fleetaposs hosts.+-- Amazon GameLift supports the EC2 instance types listed below. See+-- <https://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types>+-- for detailed descriptions of each.+cfEC2InstanceType :: Lens' CreateFleet EC2InstanceType+cfEC2InstanceType = lens _cfEC2InstanceType (\ s a -> s{_cfEC2InstanceType = a});++instance AWSRequest CreateFleet where+        type Rs CreateFleet = CreateFleetResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreateFleetResponse' <$>+                   (x .?> "FleetAttributes") <*> (pure (fromEnum s)))++instance Hashable CreateFleet++instance ToHeaders CreateFleet where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreateFleet" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateFleet where+        toJSON CreateFleet'{..}+          = object+              (catMaybes+                 [("ServerLaunchParameters" .=) <$>+                    _cfServerLaunchParameters,+                  ("LogPaths" .=) <$> _cfLogPaths,+                  ("EC2InboundPermissions" .=) <$>+                    _cfEC2InboundPermissions,+                  ("NewGameSessionProtectionPolicy" .=) <$>+                    _cfNewGameSessionProtectionPolicy,+                  ("Description" .=) <$> _cfDescription,+                  Just ("Name" .= _cfName),+                  Just ("BuildId" .= _cfBuildId),+                  Just ("ServerLaunchPath" .= _cfServerLaunchPath),+                  Just ("EC2InstanceType" .= _cfEC2InstanceType)])++instance ToPath CreateFleet where+        toPath = const "/"++instance ToQuery CreateFleet where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createFleetResponse' smart constructor.+data CreateFleetResponse = CreateFleetResponse'+    { _cfrsFleetAttributes :: !(Maybe FleetAttributes)+    , _cfrsResponseStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateFleetResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cfrsFleetAttributes'+--+-- * 'cfrsResponseStatus'+createFleetResponse+    :: Int -- ^ 'cfrsResponseStatus'+    -> CreateFleetResponse+createFleetResponse pResponseStatus_ =+    CreateFleetResponse'+    { _cfrsFleetAttributes = Nothing+    , _cfrsResponseStatus = pResponseStatus_+    }++-- | Properties for the newly created fleet.+cfrsFleetAttributes :: Lens' CreateFleetResponse (Maybe FleetAttributes)+cfrsFleetAttributes = lens _cfrsFleetAttributes (\ s a -> s{_cfrsFleetAttributes = a});++-- | The response status code.+cfrsResponseStatus :: Lens' CreateFleetResponse Int+cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a});
+ gen/Network/AWS/GameLift/CreateGameSession.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreateGameSession+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a multiplayer game session for players. This action creates a+-- game session record and assigns the new session to an instance in the+-- specified fleet, which activates the server initialization process in+-- your game server. A fleet must be in an ACTIVE state before a game+-- session can be created for it.+--+-- To create a game session, specify either a fleet ID or an alias ID and+-- indicate the maximum number of players the game session allows. You can+-- also provide a name and a set of properties for your game (optional). If+-- successful, a < GameSession> object is returned containing session+-- properties, including an IP address. By default, newly created game+-- sessions are set to accept adding any new players to the game session.+-- Use < UpdateGameSession> to change the creation policy.+module Network.AWS.GameLift.CreateGameSession+    (+    -- * Creating a Request+      createGameSession+    , CreateGameSession+    -- * Request Lenses+    , cgsGameProperties+    , cgsAliasId+    , cgsName+    , cgsFleetId+    , cgsMaximumPlayerSessionCount++    -- * Destructuring the Response+    , createGameSessionResponse+    , CreateGameSessionResponse+    -- * Response Lenses+    , cgsrsGameSession+    , cgsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createGameSession' smart constructor.+data CreateGameSession = CreateGameSession'+    { _cgsGameProperties            :: !(Maybe [GameProperty])+    , _cgsAliasId                   :: !(Maybe Text)+    , _cgsName                      :: !(Maybe Text)+    , _cgsFleetId                   :: !(Maybe Text)+    , _cgsMaximumPlayerSessionCount :: !Nat+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateGameSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgsGameProperties'+--+-- * 'cgsAliasId'+--+-- * 'cgsName'+--+-- * 'cgsFleetId'+--+-- * 'cgsMaximumPlayerSessionCount'+createGameSession+    :: Natural -- ^ 'cgsMaximumPlayerSessionCount'+    -> CreateGameSession+createGameSession pMaximumPlayerSessionCount_ =+    CreateGameSession'+    { _cgsGameProperties = Nothing+    , _cgsAliasId = Nothing+    , _cgsName = Nothing+    , _cgsFleetId = Nothing+    , _cgsMaximumPlayerSessionCount = _Nat # pMaximumPlayerSessionCount_+    }++-- | Set of properties used to administer a game session. These properties+-- are passed to your game server.+cgsGameProperties :: Lens' CreateGameSession [GameProperty]+cgsGameProperties = lens _cgsGameProperties (\ s a -> s{_cgsGameProperties = a}) . _Default . _Coerce;++-- | Unique identifier for a fleet alias. Each request must reference either+-- a fleet ID or alias ID, but not both.+cgsAliasId :: Lens' CreateGameSession (Maybe Text)+cgsAliasId = lens _cgsAliasId (\ s a -> s{_cgsAliasId = a});++-- | Descriptive label associated with this game session. Session names do+-- not need to be unique.+cgsName :: Lens' CreateGameSession (Maybe Text)+cgsName = lens _cgsName (\ s a -> s{_cgsName = a});++-- | Unique identifier for a fleet. Each request must reference either a+-- fleet ID or alias ID, but not both.+cgsFleetId :: Lens' CreateGameSession (Maybe Text)+cgsFleetId = lens _cgsFleetId (\ s a -> s{_cgsFleetId = a});++-- | Maximum number of players that can be connected simultaneously to the+-- game session.+cgsMaximumPlayerSessionCount :: Lens' CreateGameSession Natural+cgsMaximumPlayerSessionCount = lens _cgsMaximumPlayerSessionCount (\ s a -> s{_cgsMaximumPlayerSessionCount = a}) . _Nat;++instance AWSRequest CreateGameSession where+        type Rs CreateGameSession = CreateGameSessionResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreateGameSessionResponse' <$>+                   (x .?> "GameSession") <*> (pure (fromEnum s)))++instance Hashable CreateGameSession++instance ToHeaders CreateGameSession where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreateGameSession" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateGameSession where+        toJSON CreateGameSession'{..}+          = object+              (catMaybes+                 [("GameProperties" .=) <$> _cgsGameProperties,+                  ("AliasId" .=) <$> _cgsAliasId,+                  ("Name" .=) <$> _cgsName,+                  ("FleetId" .=) <$> _cgsFleetId,+                  Just+                    ("MaximumPlayerSessionCount" .=+                       _cgsMaximumPlayerSessionCount)])++instance ToPath CreateGameSession where+        toPath = const "/"++instance ToQuery CreateGameSession where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createGameSessionResponse' smart constructor.+data CreateGameSessionResponse = CreateGameSessionResponse'+    { _cgsrsGameSession    :: !(Maybe GameSession)+    , _cgsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateGameSessionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cgsrsGameSession'+--+-- * 'cgsrsResponseStatus'+createGameSessionResponse+    :: Int -- ^ 'cgsrsResponseStatus'+    -> CreateGameSessionResponse+createGameSessionResponse pResponseStatus_ =+    CreateGameSessionResponse'+    { _cgsrsGameSession = Nothing+    , _cgsrsResponseStatus = pResponseStatus_+    }++-- | Object containing the newly created game session record.+cgsrsGameSession :: Lens' CreateGameSessionResponse (Maybe GameSession)+cgsrsGameSession = lens _cgsrsGameSession (\ s a -> s{_cgsrsGameSession = a});++-- | The response status code.+cgsrsResponseStatus :: Lens' CreateGameSessionResponse Int+cgsrsResponseStatus = lens _cgsrsResponseStatus (\ s a -> s{_cgsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/CreatePlayerSession.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreatePlayerSession+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a player to a game session and creates a player session record. A+-- game session must be in an ACTIVE state, have a creation policy of+-- ALLOW_ALL, and have an open player slot before players can be added to+-- the session.+--+-- To create a player session, specify a game session ID and player ID. If+-- successful, the player is added to the game session and a new+-- < PlayerSession> object is returned.+module Network.AWS.GameLift.CreatePlayerSession+    (+    -- * Creating a Request+      createPlayerSession+    , CreatePlayerSession+    -- * Request Lenses+    , cGameSessionId+    , cPlayerId++    -- * Destructuring the Response+    , createPlayerSessionResponse+    , CreatePlayerSessionResponse+    -- * Response Lenses+    , cpsrsPlayerSession+    , cpsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createPlayerSession' smart constructor.+data CreatePlayerSession = CreatePlayerSession'+    { _cGameSessionId :: !Text+    , _cPlayerId      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePlayerSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cGameSessionId'+--+-- * 'cPlayerId'+createPlayerSession+    :: Text -- ^ 'cGameSessionId'+    -> Text -- ^ 'cPlayerId'+    -> CreatePlayerSession+createPlayerSession pGameSessionId_ pPlayerId_ =+    CreatePlayerSession'+    { _cGameSessionId = pGameSessionId_+    , _cPlayerId = pPlayerId_+    }++-- | Unique identifier for a game session. Specify the game session you want+-- to add a player to.+cGameSessionId :: Lens' CreatePlayerSession Text+cGameSessionId = lens _cGameSessionId (\ s a -> s{_cGameSessionId = a});++-- | Unique identifier for the player to be added.+cPlayerId :: Lens' CreatePlayerSession Text+cPlayerId = lens _cPlayerId (\ s a -> s{_cPlayerId = a});++instance AWSRequest CreatePlayerSession where+        type Rs CreatePlayerSession =+             CreatePlayerSessionResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreatePlayerSessionResponse' <$>+                   (x .?> "PlayerSession") <*> (pure (fromEnum s)))++instance Hashable CreatePlayerSession++instance ToHeaders CreatePlayerSession where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreatePlayerSession" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreatePlayerSession where+        toJSON CreatePlayerSession'{..}+          = object+              (catMaybes+                 [Just ("GameSessionId" .= _cGameSessionId),+                  Just ("PlayerId" .= _cPlayerId)])++instance ToPath CreatePlayerSession where+        toPath = const "/"++instance ToQuery CreatePlayerSession where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createPlayerSessionResponse' smart constructor.+data CreatePlayerSessionResponse = CreatePlayerSessionResponse'+    { _cpsrsPlayerSession  :: !(Maybe PlayerSession)+    , _cpsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePlayerSessionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpsrsPlayerSession'+--+-- * 'cpsrsResponseStatus'+createPlayerSessionResponse+    :: Int -- ^ 'cpsrsResponseStatus'+    -> CreatePlayerSessionResponse+createPlayerSessionResponse pResponseStatus_ =+    CreatePlayerSessionResponse'+    { _cpsrsPlayerSession = Nothing+    , _cpsrsResponseStatus = pResponseStatus_+    }++-- | Object containing the newly created player session record.+cpsrsPlayerSession :: Lens' CreatePlayerSessionResponse (Maybe PlayerSession)+cpsrsPlayerSession = lens _cpsrsPlayerSession (\ s a -> s{_cpsrsPlayerSession = a});++-- | The response status code.+cpsrsResponseStatus :: Lens' CreatePlayerSessionResponse Int+cpsrsResponseStatus = lens _cpsrsResponseStatus (\ s a -> s{_cpsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/CreatePlayerSessions.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.CreatePlayerSessions+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a group of players to a game session. Similar to+-- < CreatePlayerSession>, this action allows you to add multiple players+-- in a single call, which is useful for games that provide party and\/or+-- matchmaking features. A game session must be in an ACTIVE state, have a+-- creation policy of ALLOW_ALL, and have an open player slot before+-- players can be added to the session.+--+-- To create player sessions, specify a game session ID and a list of+-- player IDs. If successful, the players are added to the game session and+-- a set of new < PlayerSession> objects is returned.+module Network.AWS.GameLift.CreatePlayerSessions+    (+    -- * Creating a Request+      createPlayerSessions+    , CreatePlayerSessions+    -- * Request Lenses+    , cpsGameSessionId+    , cpsPlayerIds++    -- * Destructuring the Response+    , createPlayerSessionsResponse+    , CreatePlayerSessionsResponse+    -- * Response Lenses+    , crsPlayerSessions+    , crsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'createPlayerSessions' smart constructor.+data CreatePlayerSessions = CreatePlayerSessions'+    { _cpsGameSessionId :: !Text+    , _cpsPlayerIds     :: !(List1 Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePlayerSessions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpsGameSessionId'+--+-- * 'cpsPlayerIds'+createPlayerSessions+    :: Text -- ^ 'cpsGameSessionId'+    -> NonEmpty Text -- ^ 'cpsPlayerIds'+    -> CreatePlayerSessions+createPlayerSessions pGameSessionId_ pPlayerIds_ =+    CreatePlayerSessions'+    { _cpsGameSessionId = pGameSessionId_+    , _cpsPlayerIds = _List1 # pPlayerIds_+    }++-- | Unique identifier for a game session.+cpsGameSessionId :: Lens' CreatePlayerSessions Text+cpsGameSessionId = lens _cpsGameSessionId (\ s a -> s{_cpsGameSessionId = a});++-- | List of unique identifiers for the players to be added.+cpsPlayerIds :: Lens' CreatePlayerSessions (NonEmpty Text)+cpsPlayerIds = lens _cpsPlayerIds (\ s a -> s{_cpsPlayerIds = a}) . _List1;++instance AWSRequest CreatePlayerSessions where+        type Rs CreatePlayerSessions =+             CreatePlayerSessionsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 CreatePlayerSessionsResponse' <$>+                   (x .?> "PlayerSessions" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable CreatePlayerSessions++instance ToHeaders CreatePlayerSessions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.CreatePlayerSessions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreatePlayerSessions where+        toJSON CreatePlayerSessions'{..}+          = object+              (catMaybes+                 [Just ("GameSessionId" .= _cpsGameSessionId),+                  Just ("PlayerIds" .= _cpsPlayerIds)])++instance ToPath CreatePlayerSessions where+        toPath = const "/"++instance ToQuery CreatePlayerSessions where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'createPlayerSessionsResponse' smart constructor.+data CreatePlayerSessionsResponse = CreatePlayerSessionsResponse'+    { _crsPlayerSessions :: !(Maybe [PlayerSession])+    , _crsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreatePlayerSessionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsPlayerSessions'+--+-- * 'crsResponseStatus'+createPlayerSessionsResponse+    :: Int -- ^ 'crsResponseStatus'+    -> CreatePlayerSessionsResponse+createPlayerSessionsResponse pResponseStatus_ =+    CreatePlayerSessionsResponse'+    { _crsPlayerSessions = Nothing+    , _crsResponseStatus = pResponseStatus_+    }++-- | Collection of player session objects created for the added players.+crsPlayerSessions :: Lens' CreatePlayerSessionsResponse [PlayerSession]+crsPlayerSessions = lens _crsPlayerSessions (\ s a -> s{_crsPlayerSessions = a}) . _Default . _Coerce;++-- | The response status code.+crsResponseStatus :: Lens' CreatePlayerSessionsResponse Int+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
+ gen/Network/AWS/GameLift/DeleteAlias.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DeleteAlias+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an alias. This action removes all record of the alias; game+-- clients attempting to access a game server using the deleted alias+-- receive an error. To delete an alias, specify the alias ID to be+-- deleted.+module Network.AWS.GameLift.DeleteAlias+    (+    -- * Creating a Request+      deleteAlias+    , DeleteAlias+    -- * Request Lenses+    , daAliasId++    -- * Destructuring the Response+    , deleteAliasResponse+    , DeleteAliasResponse+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'deleteAlias' smart constructor.+newtype DeleteAlias = DeleteAlias'+    { _daAliasId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'daAliasId'+deleteAlias+    :: Text -- ^ 'daAliasId'+    -> DeleteAlias+deleteAlias pAliasId_ =+    DeleteAlias'+    { _daAliasId = pAliasId_+    }++-- | Unique identifier for a fleet alias. Specify the alias you want to+-- delete.+daAliasId :: Lens' DeleteAlias Text+daAliasId = lens _daAliasId (\ s a -> s{_daAliasId = a});++instance AWSRequest DeleteAlias where+        type Rs DeleteAlias = DeleteAliasResponse+        request = postJSON gameLift+        response = receiveNull DeleteAliasResponse'++instance Hashable DeleteAlias++instance ToHeaders DeleteAlias where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DeleteAlias" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteAlias where+        toJSON DeleteAlias'{..}+          = object (catMaybes [Just ("AliasId" .= _daAliasId)])++instance ToPath DeleteAlias where+        toPath = const "/"++instance ToQuery DeleteAlias where+        toQuery = const mempty++-- | /See:/ 'deleteAliasResponse' smart constructor.+data DeleteAliasResponse =+    DeleteAliasResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteAliasResponse' with the minimum fields required to make a request.+--+deleteAliasResponse+    :: DeleteAliasResponse+deleteAliasResponse = DeleteAliasResponse'
+ gen/Network/AWS/GameLift/DeleteBuild.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DeleteBuild+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a build. This action permanently deletes the build record and+-- any uploaded build files.+--+-- To delete a build, specify its ID. Deleting a build does not affect the+-- status of any active fleets, but you can no longer create new fleets for+-- the deleted build.+module Network.AWS.GameLift.DeleteBuild+    (+    -- * Creating a Request+      deleteBuild+    , DeleteBuild+    -- * Request Lenses+    , dbBuildId++    -- * Destructuring the Response+    , deleteBuildResponse+    , DeleteBuildResponse+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'deleteBuild' smart constructor.+newtype DeleteBuild = DeleteBuild'+    { _dbBuildId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbBuildId'+deleteBuild+    :: Text -- ^ 'dbBuildId'+    -> DeleteBuild+deleteBuild pBuildId_ =+    DeleteBuild'+    { _dbBuildId = pBuildId_+    }++-- | Unique identifier for the build you want to delete.+dbBuildId :: Lens' DeleteBuild Text+dbBuildId = lens _dbBuildId (\ s a -> s{_dbBuildId = a});++instance AWSRequest DeleteBuild where+        type Rs DeleteBuild = DeleteBuildResponse+        request = postJSON gameLift+        response = receiveNull DeleteBuildResponse'++instance Hashable DeleteBuild++instance ToHeaders DeleteBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DeleteBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteBuild where+        toJSON DeleteBuild'{..}+          = object (catMaybes [Just ("BuildId" .= _dbBuildId)])++instance ToPath DeleteBuild where+        toPath = const "/"++instance ToQuery DeleteBuild where+        toQuery = const mempty++-- | /See:/ 'deleteBuildResponse' smart constructor.+data DeleteBuildResponse =+    DeleteBuildResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBuildResponse' with the minimum fields required to make a request.+--+deleteBuildResponse+    :: DeleteBuildResponse+deleteBuildResponse = DeleteBuildResponse'
+ gen/Network/AWS/GameLift/DeleteFleet.hs view
@@ -0,0 +1,105 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DeleteFleet+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes everything related to a fleet. Before deleting a fleet, you must+-- set the fleet\'s desired capacity to zero. See < UpdateFleetCapacity>.+--+-- This action removes the fleet\'s resources and the fleet record. Once a+-- fleet is deleted, you can no longer use that fleet.+module Network.AWS.GameLift.DeleteFleet+    (+    -- * Creating a Request+      deleteFleet+    , DeleteFleet+    -- * Request Lenses+    , dfFleetId++    -- * Destructuring the Response+    , deleteFleetResponse+    , DeleteFleetResponse+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'deleteFleet' smart constructor.+newtype DeleteFleet = DeleteFleet'+    { _dfFleetId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteFleet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfFleetId'+deleteFleet+    :: Text -- ^ 'dfFleetId'+    -> DeleteFleet+deleteFleet pFleetId_ =+    DeleteFleet'+    { _dfFleetId = pFleetId_+    }++-- | Unique identifier for the fleet you want to delete.+dfFleetId :: Lens' DeleteFleet Text+dfFleetId = lens _dfFleetId (\ s a -> s{_dfFleetId = a});++instance AWSRequest DeleteFleet where+        type Rs DeleteFleet = DeleteFleetResponse+        request = postJSON gameLift+        response = receiveNull DeleteFleetResponse'++instance Hashable DeleteFleet++instance ToHeaders DeleteFleet where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DeleteFleet" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteFleet where+        toJSON DeleteFleet'{..}+          = object (catMaybes [Just ("FleetId" .= _dfFleetId)])++instance ToPath DeleteFleet where+        toPath = const "/"++instance ToQuery DeleteFleet where+        toQuery = const mempty++-- | /See:/ 'deleteFleetResponse' smart constructor.+data DeleteFleetResponse =+    DeleteFleetResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteFleetResponse' with the minimum fields required to make a request.+--+deleteFleetResponse+    :: DeleteFleetResponse+deleteFleetResponse = DeleteFleetResponse'
+ gen/Network/AWS/GameLift/DeleteScalingPolicy.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DeleteScalingPolicy+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a fleet scaling policy. This action means that the policy is no+-- longer in force and removes all record of it. To delete a scaling+-- policy, specify both the scaling policy name and the fleet ID it is+-- associated with.+module Network.AWS.GameLift.DeleteScalingPolicy+    (+    -- * Creating a Request+      deleteScalingPolicy+    , DeleteScalingPolicy+    -- * Request Lenses+    , dspName+    , dspFleetId++    -- * Destructuring the Response+    , deleteScalingPolicyResponse+    , DeleteScalingPolicyResponse+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'deleteScalingPolicy' smart constructor.+data DeleteScalingPolicy = DeleteScalingPolicy'+    { _dspName    :: !Text+    , _dspFleetId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteScalingPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dspName'+--+-- * 'dspFleetId'+deleteScalingPolicy+    :: Text -- ^ 'dspName'+    -> Text -- ^ 'dspFleetId'+    -> DeleteScalingPolicy+deleteScalingPolicy pName_ pFleetId_ =+    DeleteScalingPolicy'+    { _dspName = pName_+    , _dspFleetId = pFleetId_+    }++-- | Descriptive label associated with this scaling policy. Policy names do+-- not need to be unique.+dspName :: Lens' DeleteScalingPolicy Text+dspName = lens _dspName (\ s a -> s{_dspName = a});++-- | Unique identifier for a fleet.+dspFleetId :: Lens' DeleteScalingPolicy Text+dspFleetId = lens _dspFleetId (\ s a -> s{_dspFleetId = a});++instance AWSRequest DeleteScalingPolicy where+        type Rs DeleteScalingPolicy =+             DeleteScalingPolicyResponse+        request = postJSON gameLift+        response = receiveNull DeleteScalingPolicyResponse'++instance Hashable DeleteScalingPolicy++instance ToHeaders DeleteScalingPolicy where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DeleteScalingPolicy" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteScalingPolicy where+        toJSON DeleteScalingPolicy'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _dspName),+                  Just ("FleetId" .= _dspFleetId)])++instance ToPath DeleteScalingPolicy where+        toPath = const "/"++instance ToQuery DeleteScalingPolicy where+        toQuery = const mempty++-- | /See:/ 'deleteScalingPolicyResponse' smart constructor.+data DeleteScalingPolicyResponse =+    DeleteScalingPolicyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteScalingPolicyResponse' with the minimum fields required to make a request.+--+deleteScalingPolicyResponse+    :: DeleteScalingPolicyResponse+deleteScalingPolicyResponse = DeleteScalingPolicyResponse'
+ gen/Network/AWS/GameLift/DescribeAlias.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeAlias+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves properties for a specified alias. To get the alias, specify an+-- alias ID. If successful, an < Alias> object is returned.+module Network.AWS.GameLift.DescribeAlias+    (+    -- * Creating a Request+      describeAlias+    , DescribeAlias+    -- * Request Lenses+    , dAliasId++    -- * Destructuring the Response+    , describeAliasResponse+    , DescribeAliasResponse+    -- * Response Lenses+    , darsAlias+    , darsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeAlias' smart constructor.+newtype DescribeAlias = DescribeAlias'+    { _dAliasId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dAliasId'+describeAlias+    :: Text -- ^ 'dAliasId'+    -> DescribeAlias+describeAlias pAliasId_ =+    DescribeAlias'+    { _dAliasId = pAliasId_+    }++-- | Unique identifier for a fleet alias. Specify the alias you want to+-- retrieve.+dAliasId :: Lens' DescribeAlias Text+dAliasId = lens _dAliasId (\ s a -> s{_dAliasId = a});++instance AWSRequest DescribeAlias where+        type Rs DescribeAlias = DescribeAliasResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeAliasResponse' <$>+                   (x .?> "Alias") <*> (pure (fromEnum s)))++instance Hashable DescribeAlias++instance ToHeaders DescribeAlias where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeAlias" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeAlias where+        toJSON DescribeAlias'{..}+          = object (catMaybes [Just ("AliasId" .= _dAliasId)])++instance ToPath DescribeAlias where+        toPath = const "/"++instance ToQuery DescribeAlias where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeAliasResponse' smart constructor.+data DescribeAliasResponse = DescribeAliasResponse'+    { _darsAlias          :: !(Maybe Alias)+    , _darsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeAliasResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'darsAlias'+--+-- * 'darsResponseStatus'+describeAliasResponse+    :: Int -- ^ 'darsResponseStatus'+    -> DescribeAliasResponse+describeAliasResponse pResponseStatus_ =+    DescribeAliasResponse'+    { _darsAlias = Nothing+    , _darsResponseStatus = pResponseStatus_+    }++-- | Object containing the requested alias.+darsAlias :: Lens' DescribeAliasResponse (Maybe Alias)+darsAlias = lens _darsAlias (\ s a -> s{_darsAlias = a});++-- | The response status code.+darsResponseStatus :: Lens' DescribeAliasResponse Int+darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeBuild.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeBuild+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves properties for a build. To get a build record, specify a build+-- ID. If successful, an object containing the build properties is+-- returned.+module Network.AWS.GameLift.DescribeBuild+    (+    -- * Creating a Request+      describeBuild+    , DescribeBuild+    -- * Request Lenses+    , dBuildId++    -- * Destructuring the Response+    , describeBuildResponse+    , DescribeBuildResponse+    -- * Response Lenses+    , dbrsBuild+    , dbrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeBuild' smart constructor.+newtype DescribeBuild = DescribeBuild'+    { _dBuildId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dBuildId'+describeBuild+    :: Text -- ^ 'dBuildId'+    -> DescribeBuild+describeBuild pBuildId_ =+    DescribeBuild'+    { _dBuildId = pBuildId_+    }++-- | Unique identifier for the build you want to retrieve properties for.+dBuildId :: Lens' DescribeBuild Text+dBuildId = lens _dBuildId (\ s a -> s{_dBuildId = a});++instance AWSRequest DescribeBuild where+        type Rs DescribeBuild = DescribeBuildResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeBuildResponse' <$>+                   (x .?> "Build") <*> (pure (fromEnum s)))++instance Hashable DescribeBuild++instance ToHeaders DescribeBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeBuild where+        toJSON DescribeBuild'{..}+          = object (catMaybes [Just ("BuildId" .= _dBuildId)])++instance ToPath DescribeBuild where+        toPath = const "/"++instance ToQuery DescribeBuild where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeBuildResponse' smart constructor.+data DescribeBuildResponse = DescribeBuildResponse'+    { _dbrsBuild          :: !(Maybe Build)+    , _dbrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeBuildResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbrsBuild'+--+-- * 'dbrsResponseStatus'+describeBuildResponse+    :: Int -- ^ 'dbrsResponseStatus'+    -> DescribeBuildResponse+describeBuildResponse pResponseStatus_ =+    DescribeBuildResponse'+    { _dbrsBuild = Nothing+    , _dbrsResponseStatus = pResponseStatus_+    }++-- | Set of properties describing the requested build.+dbrsBuild :: Lens' DescribeBuildResponse (Maybe Build)+dbrsBuild = lens _dbrsBuild (\ s a -> s{_dbrsBuild = a});++-- | The response status code.+dbrsResponseStatus :: Lens' DescribeBuildResponse Int+dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeEC2InstanceLimits.hs view
@@ -0,0 +1,145 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeEC2InstanceLimits+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the following information for the specified EC2 instance type:+--+-- -   maximum number of instances allowed per AWS account (service limit)+-- -   current usage level for the AWS account+--+-- Service limits vary depending on region. Available regions for GameLift+-- can be found in the AWS Management Console for GameLift (see the+-- drop-down list in the upper right corner).+module Network.AWS.GameLift.DescribeEC2InstanceLimits+    (+    -- * Creating a Request+      describeEC2InstanceLimits+    , DescribeEC2InstanceLimits+    -- * Request Lenses+    , deilEC2InstanceType++    -- * Destructuring the Response+    , describeEC2InstanceLimitsResponse+    , DescribeEC2InstanceLimitsResponse+    -- * Response Lenses+    , deilrsEC2InstanceLimits+    , deilrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeEC2InstanceLimits' smart constructor.+newtype DescribeEC2InstanceLimits = DescribeEC2InstanceLimits'+    { _deilEC2InstanceType :: Maybe EC2InstanceType+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeEC2InstanceLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deilEC2InstanceType'+describeEC2InstanceLimits+    :: DescribeEC2InstanceLimits+describeEC2InstanceLimits =+    DescribeEC2InstanceLimits'+    { _deilEC2InstanceType = Nothing+    }++-- | Type of EC2 instances used in the fleet. EC2 instance types define the+-- CPU, memory, storage, and networking capacity of the fleetaposs hosts.+-- Amazon GameLift supports the EC2 instance types listed below. See+-- <https://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types>+-- for detailed descriptions of each. Leave this parameter blank to+-- retrieve limits for all types.+deilEC2InstanceType :: Lens' DescribeEC2InstanceLimits (Maybe EC2InstanceType)+deilEC2InstanceType = lens _deilEC2InstanceType (\ s a -> s{_deilEC2InstanceType = a});++instance AWSRequest DescribeEC2InstanceLimits where+        type Rs DescribeEC2InstanceLimits =+             DescribeEC2InstanceLimitsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeEC2InstanceLimitsResponse' <$>+                   (x .?> "EC2InstanceLimits" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DescribeEC2InstanceLimits++instance ToHeaders DescribeEC2InstanceLimits where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeEC2InstanceLimits" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeEC2InstanceLimits where+        toJSON DescribeEC2InstanceLimits'{..}+          = object+              (catMaybes+                 [("EC2InstanceType" .=) <$> _deilEC2InstanceType])++instance ToPath DescribeEC2InstanceLimits where+        toPath = const "/"++instance ToQuery DescribeEC2InstanceLimits where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeEC2InstanceLimitsResponse' smart constructor.+data DescribeEC2InstanceLimitsResponse = DescribeEC2InstanceLimitsResponse'+    { _deilrsEC2InstanceLimits :: !(Maybe [EC2InstanceLimit])+    , _deilrsResponseStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeEC2InstanceLimitsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deilrsEC2InstanceLimits'+--+-- * 'deilrsResponseStatus'+describeEC2InstanceLimitsResponse+    :: Int -- ^ 'deilrsResponseStatus'+    -> DescribeEC2InstanceLimitsResponse+describeEC2InstanceLimitsResponse pResponseStatus_ =+    DescribeEC2InstanceLimitsResponse'+    { _deilrsEC2InstanceLimits = Nothing+    , _deilrsResponseStatus = pResponseStatus_+    }++-- | Object containing the maximum number of instances for the specified+-- instance type.+deilrsEC2InstanceLimits :: Lens' DescribeEC2InstanceLimitsResponse [EC2InstanceLimit]+deilrsEC2InstanceLimits = lens _deilrsEC2InstanceLimits (\ s a -> s{_deilrsEC2InstanceLimits = a}) . _Default . _Coerce;++-- | The response status code.+deilrsResponseStatus :: Lens' DescribeEC2InstanceLimitsResponse Int+deilrsResponseStatus = lens _deilrsResponseStatus (\ s a -> s{_deilrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeFleetAttributes.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeFleetAttributes+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves fleet properties, including metadata, status, and+-- configuration, for one or more fleets. You can request attributes for+-- all fleets, or specify a list of one or more fleet IDs. When requesting+-- all fleets, use the pagination parameters to retrieve results as a set+-- of sequential pages. If successful, a < FleetAttributes> object is+-- returned for each requested fleet ID. When specifying a list of fleet+-- IDs, attribute objects are returned only for fleets that currently+-- exist.+--+-- Some API actions may limit the number of fleet IDs allowed in one+-- request. If a request exceeds this limit, the request fails and the+-- error message includes the maximum allowed.+module Network.AWS.GameLift.DescribeFleetAttributes+    (+    -- * Creating a Request+      describeFleetAttributes+    , DescribeFleetAttributes+    -- * Request Lenses+    , dfaNextToken+    , dfaLimit+    , dfaFleetIds++    -- * Destructuring the Response+    , describeFleetAttributesResponse+    , DescribeFleetAttributesResponse+    -- * Response Lenses+    , dfarsNextToken+    , dfarsFleetAttributes+    , dfarsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeFleetAttributes' smart constructor.+data DescribeFleetAttributes = DescribeFleetAttributes'+    { _dfaNextToken :: !(Maybe Text)+    , _dfaLimit     :: !(Maybe Nat)+    , _dfaFleetIds  :: !(Maybe (List1 Text))+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfaNextToken'+--+-- * 'dfaLimit'+--+-- * 'dfaFleetIds'+describeFleetAttributes+    :: DescribeFleetAttributes+describeFleetAttributes =+    DescribeFleetAttributes'+    { _dfaNextToken = Nothing+    , _dfaLimit = Nothing+    , _dfaFleetIds = Nothing+    }++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value. This+-- parameter is ignored when the request specifies one or a list of fleet+-- IDs.+dfaNextToken :: Lens' DescribeFleetAttributes (Maybe Text)+dfaNextToken = lens _dfaNextToken (\ s a -> s{_dfaNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages. This parameter+-- is ignored when the request specifies one or a list of fleet IDs.+dfaLimit :: Lens' DescribeFleetAttributes (Maybe Natural)+dfaLimit = lens _dfaLimit (\ s a -> s{_dfaLimit = a}) . mapping _Nat;++-- | Unique identifiers for the fleet(s) that you want to retrieve attributes+-- for. Leave this parameter empty to retrieve attributes for all fleets.+dfaFleetIds :: Lens' DescribeFleetAttributes (Maybe (NonEmpty Text))+dfaFleetIds = lens _dfaFleetIds (\ s a -> s{_dfaFleetIds = a}) . mapping _List1;++instance AWSRequest DescribeFleetAttributes where+        type Rs DescribeFleetAttributes =+             DescribeFleetAttributesResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeFleetAttributesResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "FleetAttributes" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeFleetAttributes++instance ToHeaders DescribeFleetAttributes where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeFleetAttributes" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeFleetAttributes where+        toJSON DescribeFleetAttributes'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _dfaNextToken,+                  ("Limit" .=) <$> _dfaLimit,+                  ("FleetIds" .=) <$> _dfaFleetIds])++instance ToPath DescribeFleetAttributes where+        toPath = const "/"++instance ToQuery DescribeFleetAttributes where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeFleetAttributesResponse' smart constructor.+data DescribeFleetAttributesResponse = DescribeFleetAttributesResponse'+    { _dfarsNextToken       :: !(Maybe Text)+    , _dfarsFleetAttributes :: !(Maybe [FleetAttributes])+    , _dfarsResponseStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfarsNextToken'+--+-- * 'dfarsFleetAttributes'+--+-- * 'dfarsResponseStatus'+describeFleetAttributesResponse+    :: Int -- ^ 'dfarsResponseStatus'+    -> DescribeFleetAttributesResponse+describeFleetAttributesResponse pResponseStatus_ =+    DescribeFleetAttributesResponse'+    { _dfarsNextToken = Nothing+    , _dfarsFleetAttributes = Nothing+    , _dfarsResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dfarsNextToken :: Lens' DescribeFleetAttributesResponse (Maybe Text)+dfarsNextToken = lens _dfarsNextToken (\ s a -> s{_dfarsNextToken = a});++-- | Collection of objects containing attribute metadata for each requested+-- fleet ID.+dfarsFleetAttributes :: Lens' DescribeFleetAttributesResponse [FleetAttributes]+dfarsFleetAttributes = lens _dfarsFleetAttributes (\ s a -> s{_dfarsFleetAttributes = a}) . _Default . _Coerce;++-- | The response status code.+dfarsResponseStatus :: Lens' DescribeFleetAttributesResponse Int+dfarsResponseStatus = lens _dfarsResponseStatus (\ s a -> s{_dfarsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeFleetCapacity.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeFleetCapacity+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the current status of fleet capacity for one or more fleets.+-- This information includes the number of instances that have been+-- requested for the fleet and the number currently active. You can request+-- capacity for all fleets, or specify a list of one or more fleet IDs.+-- When requesting all fleets, use the pagination parameters to retrieve+-- results as a set of sequential pages. If successful, a < FleetCapacity>+-- object is returned for each requested fleet ID. When specifying a list+-- of fleet IDs, attribute objects are returned only for fleets that+-- currently exist.+--+-- Some API actions may limit the number of fleet IDs allowed in one+-- request. If a request exceeds this limit, the request fails and the+-- error message includes the maximum allowed.+module Network.AWS.GameLift.DescribeFleetCapacity+    (+    -- * Creating a Request+      describeFleetCapacity+    , DescribeFleetCapacity+    -- * Request Lenses+    , dfcNextToken+    , dfcLimit+    , dfcFleetIds++    -- * Destructuring the Response+    , describeFleetCapacityResponse+    , DescribeFleetCapacityResponse+    -- * Response Lenses+    , dfcrsNextToken+    , dfcrsFleetCapacity+    , dfcrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeFleetCapacity' smart constructor.+data DescribeFleetCapacity = DescribeFleetCapacity'+    { _dfcNextToken :: !(Maybe Text)+    , _dfcLimit     :: !(Maybe Nat)+    , _dfcFleetIds  :: !(Maybe (List1 Text))+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfcNextToken'+--+-- * 'dfcLimit'+--+-- * 'dfcFleetIds'+describeFleetCapacity+    :: DescribeFleetCapacity+describeFleetCapacity =+    DescribeFleetCapacity'+    { _dfcNextToken = Nothing+    , _dfcLimit = Nothing+    , _dfcFleetIds = Nothing+    }++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value. This+-- parameter is ignored when the request specifies one or a list of fleet+-- IDs.+dfcNextToken :: Lens' DescribeFleetCapacity (Maybe Text)+dfcNextToken = lens _dfcNextToken (\ s a -> s{_dfcNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages. This parameter+-- is ignored when the request specifies one or a list of fleet IDs.+dfcLimit :: Lens' DescribeFleetCapacity (Maybe Natural)+dfcLimit = lens _dfcLimit (\ s a -> s{_dfcLimit = a}) . mapping _Nat;++-- | Unique identifier for the fleet(s) you want to retrieve capacity+-- information for.+dfcFleetIds :: Lens' DescribeFleetCapacity (Maybe (NonEmpty Text))+dfcFleetIds = lens _dfcFleetIds (\ s a -> s{_dfcFleetIds = a}) . mapping _List1;++instance AWSRequest DescribeFleetCapacity where+        type Rs DescribeFleetCapacity =+             DescribeFleetCapacityResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeFleetCapacityResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "FleetCapacity" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeFleetCapacity++instance ToHeaders DescribeFleetCapacity where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeFleetCapacity" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeFleetCapacity where+        toJSON DescribeFleetCapacity'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _dfcNextToken,+                  ("Limit" .=) <$> _dfcLimit,+                  ("FleetIds" .=) <$> _dfcFleetIds])++instance ToPath DescribeFleetCapacity where+        toPath = const "/"++instance ToQuery DescribeFleetCapacity where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeFleetCapacityResponse' smart constructor.+data DescribeFleetCapacityResponse = DescribeFleetCapacityResponse'+    { _dfcrsNextToken      :: !(Maybe Text)+    , _dfcrsFleetCapacity  :: !(Maybe [FleetCapacity])+    , _dfcrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetCapacityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfcrsNextToken'+--+-- * 'dfcrsFleetCapacity'+--+-- * 'dfcrsResponseStatus'+describeFleetCapacityResponse+    :: Int -- ^ 'dfcrsResponseStatus'+    -> DescribeFleetCapacityResponse+describeFleetCapacityResponse pResponseStatus_ =+    DescribeFleetCapacityResponse'+    { _dfcrsNextToken = Nothing+    , _dfcrsFleetCapacity = Nothing+    , _dfcrsResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dfcrsNextToken :: Lens' DescribeFleetCapacityResponse (Maybe Text)+dfcrsNextToken = lens _dfcrsNextToken (\ s a -> s{_dfcrsNextToken = a});++-- | Collection of objects containing capacity information for each requested+-- fleet ID. Leave this parameter empty to retrieve capacity information+-- for all fleets.+dfcrsFleetCapacity :: Lens' DescribeFleetCapacityResponse [FleetCapacity]+dfcrsFleetCapacity = lens _dfcrsFleetCapacity (\ s a -> s{_dfcrsFleetCapacity = a}) . _Default . _Coerce;++-- | The response status code.+dfcrsResponseStatus :: Lens' DescribeFleetCapacityResponse Int+dfcrsResponseStatus = lens _dfcrsResponseStatus (\ s a -> s{_dfcrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeFleetEvents.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeFleetEvents+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves entries from the fleet event log. You can specify a time range+-- to limit the result set. Use the pagination parameters to retrieve+-- results as a set of sequential pages. If successful, a collection of+-- event log entries matching the request are returned.+module Network.AWS.GameLift.DescribeFleetEvents+    (+    -- * Creating a Request+      describeFleetEvents+    , DescribeFleetEvents+    -- * Request Lenses+    , dfeStartTime+    , dfeNextToken+    , dfeEndTime+    , dfeLimit+    , dfeFleetId++    -- * Destructuring the Response+    , describeFleetEventsResponse+    , DescribeFleetEventsResponse+    -- * Response Lenses+    , dfersNextToken+    , dfersEvents+    , dfersResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeFleetEvents' smart constructor.+data DescribeFleetEvents = DescribeFleetEvents'+    { _dfeStartTime :: !(Maybe POSIX)+    , _dfeNextToken :: !(Maybe Text)+    , _dfeEndTime   :: !(Maybe POSIX)+    , _dfeLimit     :: !(Maybe Nat)+    , _dfeFleetId   :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetEvents' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfeStartTime'+--+-- * 'dfeNextToken'+--+-- * 'dfeEndTime'+--+-- * 'dfeLimit'+--+-- * 'dfeFleetId'+describeFleetEvents+    :: Text -- ^ 'dfeFleetId'+    -> DescribeFleetEvents+describeFleetEvents pFleetId_ =+    DescribeFleetEvents'+    { _dfeStartTime = Nothing+    , _dfeNextToken = Nothing+    , _dfeEndTime = Nothing+    , _dfeLimit = Nothing+    , _dfeFleetId = pFleetId_+    }++-- | Earliest date to retrieve event logs for. If no start time is specified,+-- this call returns entries starting from when the fleet was created to+-- the specified end time. Format is an integer representing the number of+-- seconds since the Unix epoch (Unix time).+dfeStartTime :: Lens' DescribeFleetEvents (Maybe UTCTime)+dfeStartTime = lens _dfeStartTime (\ s a -> s{_dfeStartTime = a}) . mapping _Time;++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+dfeNextToken :: Lens' DescribeFleetEvents (Maybe Text)+dfeNextToken = lens _dfeNextToken (\ s a -> s{_dfeNextToken = a});++-- | Most recent date to retrieve event logs for. If no end time is+-- specified, this call returns entries from the specified start time up to+-- the present. Format is an integer representing the number of seconds+-- since the Unix epoch (Unix time).+dfeEndTime :: Lens' DescribeFleetEvents (Maybe UTCTime)+dfeEndTime = lens _dfeEndTime (\ s a -> s{_dfeEndTime = a}) . mapping _Time;++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+dfeLimit :: Lens' DescribeFleetEvents (Maybe Natural)+dfeLimit = lens _dfeLimit (\ s a -> s{_dfeLimit = a}) . mapping _Nat;++-- | Unique identifier for the fleet to get event logs for.+dfeFleetId :: Lens' DescribeFleetEvents Text+dfeFleetId = lens _dfeFleetId (\ s a -> s{_dfeFleetId = a});++instance AWSRequest DescribeFleetEvents where+        type Rs DescribeFleetEvents =+             DescribeFleetEventsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeFleetEventsResponse' <$>+                   (x .?> "NextToken") <*> (x .?> "Events" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeFleetEvents++instance ToHeaders DescribeFleetEvents where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeFleetEvents" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeFleetEvents where+        toJSON DescribeFleetEvents'{..}+          = object+              (catMaybes+                 [("StartTime" .=) <$> _dfeStartTime,+                  ("NextToken" .=) <$> _dfeNextToken,+                  ("EndTime" .=) <$> _dfeEndTime,+                  ("Limit" .=) <$> _dfeLimit,+                  Just ("FleetId" .= _dfeFleetId)])++instance ToPath DescribeFleetEvents where+        toPath = const "/"++instance ToQuery DescribeFleetEvents where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeFleetEventsResponse' smart constructor.+data DescribeFleetEventsResponse = DescribeFleetEventsResponse'+    { _dfersNextToken      :: !(Maybe Text)+    , _dfersEvents         :: !(Maybe [Event])+    , _dfersResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetEventsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfersNextToken'+--+-- * 'dfersEvents'+--+-- * 'dfersResponseStatus'+describeFleetEventsResponse+    :: Int -- ^ 'dfersResponseStatus'+    -> DescribeFleetEventsResponse+describeFleetEventsResponse pResponseStatus_ =+    DescribeFleetEventsResponse'+    { _dfersNextToken = Nothing+    , _dfersEvents = Nothing+    , _dfersResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dfersNextToken :: Lens' DescribeFleetEventsResponse (Maybe Text)+dfersNextToken = lens _dfersNextToken (\ s a -> s{_dfersNextToken = a});++-- | Collection of objects containing event log entries for the specified+-- fleet.+dfersEvents :: Lens' DescribeFleetEventsResponse [Event]+dfersEvents = lens _dfersEvents (\ s a -> s{_dfersEvents = a}) . _Default . _Coerce;++-- | The response status code.+dfersResponseStatus :: Lens' DescribeFleetEventsResponse Int+dfersResponseStatus = lens _dfersResponseStatus (\ s a -> s{_dfersResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeFleetPortSettings.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeFleetPortSettings+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the port settings for a fleet. Port settings are used to limit+-- incoming traffic access to game servers in the fleet. To get a fleet\'s+-- port settings, specify a fleet ID. If successful, an < IpPermission>+-- object is returned for the requested fleet ID. If the requested fleet+-- has been deleted, the result set will be empty.+module Network.AWS.GameLift.DescribeFleetPortSettings+    (+    -- * Creating a Request+      describeFleetPortSettings+    , DescribeFleetPortSettings+    -- * Request Lenses+    , dfpsFleetId++    -- * Destructuring the Response+    , describeFleetPortSettingsResponse+    , DescribeFleetPortSettingsResponse+    -- * Response Lenses+    , dfpsrsInboundPermissions+    , dfpsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeFleetPortSettings' smart constructor.+newtype DescribeFleetPortSettings = DescribeFleetPortSettings'+    { _dfpsFleetId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetPortSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfpsFleetId'+describeFleetPortSettings+    :: Text -- ^ 'dfpsFleetId'+    -> DescribeFleetPortSettings+describeFleetPortSettings pFleetId_ =+    DescribeFleetPortSettings'+    { _dfpsFleetId = pFleetId_+    }++-- | Unique identifier for the fleet you want to retrieve port settings for.+dfpsFleetId :: Lens' DescribeFleetPortSettings Text+dfpsFleetId = lens _dfpsFleetId (\ s a -> s{_dfpsFleetId = a});++instance AWSRequest DescribeFleetPortSettings where+        type Rs DescribeFleetPortSettings =+             DescribeFleetPortSettingsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeFleetPortSettingsResponse' <$>+                   (x .?> "InboundPermissions" .!@ mempty) <*>+                     (pure (fromEnum s)))++instance Hashable DescribeFleetPortSettings++instance ToHeaders DescribeFleetPortSettings where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeFleetPortSettings" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeFleetPortSettings where+        toJSON DescribeFleetPortSettings'{..}+          = object+              (catMaybes [Just ("FleetId" .= _dfpsFleetId)])++instance ToPath DescribeFleetPortSettings where+        toPath = const "/"++instance ToQuery DescribeFleetPortSettings where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeFleetPortSettingsResponse' smart constructor.+data DescribeFleetPortSettingsResponse = DescribeFleetPortSettingsResponse'+    { _dfpsrsInboundPermissions :: !(Maybe [IPPermission])+    , _dfpsrsResponseStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetPortSettingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfpsrsInboundPermissions'+--+-- * 'dfpsrsResponseStatus'+describeFleetPortSettingsResponse+    :: Int -- ^ 'dfpsrsResponseStatus'+    -> DescribeFleetPortSettingsResponse+describeFleetPortSettingsResponse pResponseStatus_ =+    DescribeFleetPortSettingsResponse'+    { _dfpsrsInboundPermissions = Nothing+    , _dfpsrsResponseStatus = pResponseStatus_+    }++-- | Object containing port settings for the requested fleet ID.+dfpsrsInboundPermissions :: Lens' DescribeFleetPortSettingsResponse [IPPermission]+dfpsrsInboundPermissions = lens _dfpsrsInboundPermissions (\ s a -> s{_dfpsrsInboundPermissions = a}) . _Default . _Coerce;++-- | The response status code.+dfpsrsResponseStatus :: Lens' DescribeFleetPortSettingsResponse Int+dfpsrsResponseStatus = lens _dfpsrsResponseStatus (\ s a -> s{_dfpsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeFleetUtilization.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeFleetUtilization+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves utilization statistics for one or more fleets. You can request+-- utilization data for all fleets, or specify a list of one or more fleet+-- IDs. When requesting all fleets, use the pagination parameters to+-- retrieve results as a set of sequential pages. If successful, a+-- < FleetUtilization> object is returned for each requested fleet ID. When+-- specifying a list of fleet IDs, utilization objects are returned only+-- for fleets that currently exist.+--+-- Some API actions may limit the number of fleet IDs allowed in one+-- request. If a request exceeds this limit, the request fails and the+-- error message includes the maximum allowed.+module Network.AWS.GameLift.DescribeFleetUtilization+    (+    -- * Creating a Request+      describeFleetUtilization+    , DescribeFleetUtilization+    -- * Request Lenses+    , dfuNextToken+    , dfuLimit+    , dfuFleetIds++    -- * Destructuring the Response+    , describeFleetUtilizationResponse+    , DescribeFleetUtilizationResponse+    -- * Response Lenses+    , dfursNextToken+    , dfursFleetUtilization+    , dfursResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeFleetUtilization' smart constructor.+data DescribeFleetUtilization = DescribeFleetUtilization'+    { _dfuNextToken :: !(Maybe Text)+    , _dfuLimit     :: !(Maybe Nat)+    , _dfuFleetIds  :: !(Maybe (List1 Text))+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfuNextToken'+--+-- * 'dfuLimit'+--+-- * 'dfuFleetIds'+describeFleetUtilization+    :: DescribeFleetUtilization+describeFleetUtilization =+    DescribeFleetUtilization'+    { _dfuNextToken = Nothing+    , _dfuLimit = Nothing+    , _dfuFleetIds = Nothing+    }++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value. This+-- parameter is ignored when the request specifies one or a list of fleet+-- IDs.+dfuNextToken :: Lens' DescribeFleetUtilization (Maybe Text)+dfuNextToken = lens _dfuNextToken (\ s a -> s{_dfuNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages. This parameter+-- is ignored when the request specifies one or a list of fleet IDs.+dfuLimit :: Lens' DescribeFleetUtilization (Maybe Natural)+dfuLimit = lens _dfuLimit (\ s a -> s{_dfuLimit = a}) . mapping _Nat;++-- | Unique identifier for the fleet(s) you want to retrieve utilization data+-- for. Leave this parameter empty to retrieve utilization data for all+-- fleets.+dfuFleetIds :: Lens' DescribeFleetUtilization (Maybe (NonEmpty Text))+dfuFleetIds = lens _dfuFleetIds (\ s a -> s{_dfuFleetIds = a}) . mapping _List1;++instance AWSRequest DescribeFleetUtilization where+        type Rs DescribeFleetUtilization =+             DescribeFleetUtilizationResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeFleetUtilizationResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "FleetUtilization" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeFleetUtilization++instance ToHeaders DescribeFleetUtilization where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeFleetUtilization" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeFleetUtilization where+        toJSON DescribeFleetUtilization'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _dfuNextToken,+                  ("Limit" .=) <$> _dfuLimit,+                  ("FleetIds" .=) <$> _dfuFleetIds])++instance ToPath DescribeFleetUtilization where+        toPath = const "/"++instance ToQuery DescribeFleetUtilization where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeFleetUtilizationResponse' smart constructor.+data DescribeFleetUtilizationResponse = DescribeFleetUtilizationResponse'+    { _dfursNextToken        :: !(Maybe Text)+    , _dfursFleetUtilization :: !(Maybe [FleetUtilization])+    , _dfursResponseStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeFleetUtilizationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dfursNextToken'+--+-- * 'dfursFleetUtilization'+--+-- * 'dfursResponseStatus'+describeFleetUtilizationResponse+    :: Int -- ^ 'dfursResponseStatus'+    -> DescribeFleetUtilizationResponse+describeFleetUtilizationResponse pResponseStatus_ =+    DescribeFleetUtilizationResponse'+    { _dfursNextToken = Nothing+    , _dfursFleetUtilization = Nothing+    , _dfursResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dfursNextToken :: Lens' DescribeFleetUtilizationResponse (Maybe Text)+dfursNextToken = lens _dfursNextToken (\ s a -> s{_dfursNextToken = a});++-- | Collection of objects containing utilization information for each+-- requested fleet ID.+dfursFleetUtilization :: Lens' DescribeFleetUtilizationResponse [FleetUtilization]+dfursFleetUtilization = lens _dfursFleetUtilization (\ s a -> s{_dfursFleetUtilization = a}) . _Default . _Coerce;++-- | The response status code.+dfursResponseStatus :: Lens' DescribeFleetUtilizationResponse Int+dfursResponseStatus = lens _dfursResponseStatus (\ s a -> s{_dfursResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeGameSessionDetails.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeGameSessionDetails+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves properties, including the protection policy in force, for one+-- or more game sessions. This action can be used in several ways: (1)+-- provide a /GameSessionId/ to request details for a specific game+-- session; (2) provide either a /FleetId/ or an /AliasId/ to request+-- properties for all game sessions running on a fleet.+--+-- To get game session record(s), specify just one of the following: game+-- session ID, fleet ID, or alias ID. You can filter this request by game+-- session status. Use the pagination parameters to retrieve results as a+-- set of sequential pages. If successful, a < GameSessionDetail> object is+-- returned for each session matching the request.+module Network.AWS.GameLift.DescribeGameSessionDetails+    (+    -- * Creating a Request+      describeGameSessionDetails+    , DescribeGameSessionDetails+    -- * Request Lenses+    , dgsdGameSessionId+    , dgsdAliasId+    , dgsdNextToken+    , dgsdStatusFilter+    , dgsdLimit+    , dgsdFleetId++    -- * Destructuring the Response+    , describeGameSessionDetailsResponse+    , DescribeGameSessionDetailsResponse+    -- * Response Lenses+    , dgsdrsGameSessionDetails+    , dgsdrsNextToken+    , dgsdrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeGameSessionDetails' smart constructor.+data DescribeGameSessionDetails = DescribeGameSessionDetails'+    { _dgsdGameSessionId :: !(Maybe Text)+    , _dgsdAliasId       :: !(Maybe Text)+    , _dgsdNextToken     :: !(Maybe Text)+    , _dgsdStatusFilter  :: !(Maybe Text)+    , _dgsdLimit         :: !(Maybe Nat)+    , _dgsdFleetId       :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeGameSessionDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsdGameSessionId'+--+-- * 'dgsdAliasId'+--+-- * 'dgsdNextToken'+--+-- * 'dgsdStatusFilter'+--+-- * 'dgsdLimit'+--+-- * 'dgsdFleetId'+describeGameSessionDetails+    :: DescribeGameSessionDetails+describeGameSessionDetails =+    DescribeGameSessionDetails'+    { _dgsdGameSessionId = Nothing+    , _dgsdAliasId = Nothing+    , _dgsdNextToken = Nothing+    , _dgsdStatusFilter = Nothing+    , _dgsdLimit = Nothing+    , _dgsdFleetId = Nothing+    }++-- | Unique identifier for a game session. Specify the game session to+-- retrieve information on.+dgsdGameSessionId :: Lens' DescribeGameSessionDetails (Maybe Text)+dgsdGameSessionId = lens _dgsdGameSessionId (\ s a -> s{_dgsdGameSessionId = a});++-- | Unique identifier for a fleet alias. Specify an alias to retrieve+-- information on all game sessions active on the fleet.+dgsdAliasId :: Lens' DescribeGameSessionDetails (Maybe Text)+dgsdAliasId = lens _dgsdAliasId (\ s a -> s{_dgsdAliasId = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+dgsdNextToken :: Lens' DescribeGameSessionDetails (Maybe Text)+dgsdNextToken = lens _dgsdNextToken (\ s a -> s{_dgsdNextToken = a});++-- | Game session status to filter results on. Possible game session states+-- include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are+-- transitory).+dgsdStatusFilter :: Lens' DescribeGameSessionDetails (Maybe Text)+dgsdStatusFilter = lens _dgsdStatusFilter (\ s a -> s{_dgsdStatusFilter = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+dgsdLimit :: Lens' DescribeGameSessionDetails (Maybe Natural)+dgsdLimit = lens _dgsdLimit (\ s a -> s{_dgsdLimit = a}) . mapping _Nat;++-- | Unique identifier for a fleet. Specify a fleet to retrieve information+-- on all game sessions active on the fleet.+dgsdFleetId :: Lens' DescribeGameSessionDetails (Maybe Text)+dgsdFleetId = lens _dgsdFleetId (\ s a -> s{_dgsdFleetId = a});++instance AWSRequest DescribeGameSessionDetails where+        type Rs DescribeGameSessionDetails =+             DescribeGameSessionDetailsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeGameSessionDetailsResponse' <$>+                   (x .?> "GameSessionDetails" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeGameSessionDetails++instance ToHeaders DescribeGameSessionDetails where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeGameSessionDetails" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeGameSessionDetails where+        toJSON DescribeGameSessionDetails'{..}+          = object+              (catMaybes+                 [("GameSessionId" .=) <$> _dgsdGameSessionId,+                  ("AliasId" .=) <$> _dgsdAliasId,+                  ("NextToken" .=) <$> _dgsdNextToken,+                  ("StatusFilter" .=) <$> _dgsdStatusFilter,+                  ("Limit" .=) <$> _dgsdLimit,+                  ("FleetId" .=) <$> _dgsdFleetId])++instance ToPath DescribeGameSessionDetails where+        toPath = const "/"++instance ToQuery DescribeGameSessionDetails where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeGameSessionDetailsResponse' smart constructor.+data DescribeGameSessionDetailsResponse = DescribeGameSessionDetailsResponse'+    { _dgsdrsGameSessionDetails :: !(Maybe [GameSessionDetail])+    , _dgsdrsNextToken          :: !(Maybe Text)+    , _dgsdrsResponseStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeGameSessionDetailsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsdrsGameSessionDetails'+--+-- * 'dgsdrsNextToken'+--+-- * 'dgsdrsResponseStatus'+describeGameSessionDetailsResponse+    :: Int -- ^ 'dgsdrsResponseStatus'+    -> DescribeGameSessionDetailsResponse+describeGameSessionDetailsResponse pResponseStatus_ =+    DescribeGameSessionDetailsResponse'+    { _dgsdrsGameSessionDetails = Nothing+    , _dgsdrsNextToken = Nothing+    , _dgsdrsResponseStatus = pResponseStatus_+    }++-- | Collection of objects containing game session properties and the+-- protection policy currently in force for each session matching the+-- request.+dgsdrsGameSessionDetails :: Lens' DescribeGameSessionDetailsResponse [GameSessionDetail]+dgsdrsGameSessionDetails = lens _dgsdrsGameSessionDetails (\ s a -> s{_dgsdrsGameSessionDetails = a}) . _Default . _Coerce;++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dgsdrsNextToken :: Lens' DescribeGameSessionDetailsResponse (Maybe Text)+dgsdrsNextToken = lens _dgsdrsNextToken (\ s a -> s{_dgsdrsNextToken = a});++-- | The response status code.+dgsdrsResponseStatus :: Lens' DescribeGameSessionDetailsResponse Int+dgsdrsResponseStatus = lens _dgsdrsResponseStatus (\ s a -> s{_dgsdrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeGameSessions.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeGameSessions+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves properties for one or more game sessions. This action can be+-- used in several ways: (1) provide a /GameSessionId/ to request+-- properties for a specific game session; (2) provide a /FleetId/ or an+-- /AliasId/ to request properties for all game sessions running on a+-- fleet.+--+-- To get game session record(s), specify just one of the following: game+-- session ID, fleet ID, or alias ID. You can filter this request by game+-- session status. Use the pagination parameters to retrieve results as a+-- set of sequential pages. If successful, a < GameSession> object is+-- returned for each session matching the request.+module Network.AWS.GameLift.DescribeGameSessions+    (+    -- * Creating a Request+      describeGameSessions+    , DescribeGameSessions+    -- * Request Lenses+    , dgsGameSessionId+    , dgsAliasId+    , dgsNextToken+    , dgsStatusFilter+    , dgsLimit+    , dgsFleetId++    -- * Destructuring the Response+    , describeGameSessionsResponse+    , DescribeGameSessionsResponse+    -- * Response Lenses+    , dgsrsGameSessions+    , dgsrsNextToken+    , dgsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeGameSessions' smart constructor.+data DescribeGameSessions = DescribeGameSessions'+    { _dgsGameSessionId :: !(Maybe Text)+    , _dgsAliasId       :: !(Maybe Text)+    , _dgsNextToken     :: !(Maybe Text)+    , _dgsStatusFilter  :: !(Maybe Text)+    , _dgsLimit         :: !(Maybe Nat)+    , _dgsFleetId       :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeGameSessions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsGameSessionId'+--+-- * 'dgsAliasId'+--+-- * 'dgsNextToken'+--+-- * 'dgsStatusFilter'+--+-- * 'dgsLimit'+--+-- * 'dgsFleetId'+describeGameSessions+    :: DescribeGameSessions+describeGameSessions =+    DescribeGameSessions'+    { _dgsGameSessionId = Nothing+    , _dgsAliasId = Nothing+    , _dgsNextToken = Nothing+    , _dgsStatusFilter = Nothing+    , _dgsLimit = Nothing+    , _dgsFleetId = Nothing+    }++-- | Unique identifier for a game session. Specify the game session to+-- retrieve information on.+dgsGameSessionId :: Lens' DescribeGameSessions (Maybe Text)+dgsGameSessionId = lens _dgsGameSessionId (\ s a -> s{_dgsGameSessionId = a});++-- | Unique identifier for a fleet alias. Specify an alias to retrieve+-- information on all game sessions active on the fleet.+dgsAliasId :: Lens' DescribeGameSessions (Maybe Text)+dgsAliasId = lens _dgsAliasId (\ s a -> s{_dgsAliasId = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+dgsNextToken :: Lens' DescribeGameSessions (Maybe Text)+dgsNextToken = lens _dgsNextToken (\ s a -> s{_dgsNextToken = a});++-- | Game session status to filter results on. Possible game session states+-- include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are+-- transitory).+dgsStatusFilter :: Lens' DescribeGameSessions (Maybe Text)+dgsStatusFilter = lens _dgsStatusFilter (\ s a -> s{_dgsStatusFilter = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+dgsLimit :: Lens' DescribeGameSessions (Maybe Natural)+dgsLimit = lens _dgsLimit (\ s a -> s{_dgsLimit = a}) . mapping _Nat;++-- | Unique identifier for a fleet. Specify a fleet to retrieve information+-- on all game sessions active on the fleet.+dgsFleetId :: Lens' DescribeGameSessions (Maybe Text)+dgsFleetId = lens _dgsFleetId (\ s a -> s{_dgsFleetId = a});++instance AWSRequest DescribeGameSessions where+        type Rs DescribeGameSessions =+             DescribeGameSessionsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeGameSessionsResponse' <$>+                   (x .?> "GameSessions" .!@ mempty) <*>+                     (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable DescribeGameSessions++instance ToHeaders DescribeGameSessions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeGameSessions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeGameSessions where+        toJSON DescribeGameSessions'{..}+          = object+              (catMaybes+                 [("GameSessionId" .=) <$> _dgsGameSessionId,+                  ("AliasId" .=) <$> _dgsAliasId,+                  ("NextToken" .=) <$> _dgsNextToken,+                  ("StatusFilter" .=) <$> _dgsStatusFilter,+                  ("Limit" .=) <$> _dgsLimit,+                  ("FleetId" .=) <$> _dgsFleetId])++instance ToPath DescribeGameSessions where+        toPath = const "/"++instance ToQuery DescribeGameSessions where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeGameSessionsResponse' smart constructor.+data DescribeGameSessionsResponse = DescribeGameSessionsResponse'+    { _dgsrsGameSessions   :: !(Maybe [GameSession])+    , _dgsrsNextToken      :: !(Maybe Text)+    , _dgsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeGameSessionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dgsrsGameSessions'+--+-- * 'dgsrsNextToken'+--+-- * 'dgsrsResponseStatus'+describeGameSessionsResponse+    :: Int -- ^ 'dgsrsResponseStatus'+    -> DescribeGameSessionsResponse+describeGameSessionsResponse pResponseStatus_ =+    DescribeGameSessionsResponse'+    { _dgsrsGameSessions = Nothing+    , _dgsrsNextToken = Nothing+    , _dgsrsResponseStatus = pResponseStatus_+    }++-- | Collection of objects containing game session properties for each+-- session matching the request.+dgsrsGameSessions :: Lens' DescribeGameSessionsResponse [GameSession]+dgsrsGameSessions = lens _dgsrsGameSessions (\ s a -> s{_dgsrsGameSessions = a}) . _Default . _Coerce;++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dgsrsNextToken :: Lens' DescribeGameSessionsResponse (Maybe Text)+dgsrsNextToken = lens _dgsrsNextToken (\ s a -> s{_dgsrsNextToken = a});++-- | The response status code.+dgsrsResponseStatus :: Lens' DescribeGameSessionsResponse Int+dgsrsResponseStatus = lens _dgsrsResponseStatus (\ s a -> s{_dgsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribePlayerSessions.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribePlayerSessions+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves properties for one or more player sessions. This action can be+-- used in several ways: (1) provide a /PlayerSessionId/ parameter to+-- request properties for a specific player session; (2) provide a+-- /GameSessionId/ parameter to request properties for all player sessions+-- in the specified game session; (3) provide a /PlayerId/ parameter to+-- request properties for all player sessions of a specified player.+--+-- To get game session record(s), specify only one of the following: a+-- player session ID, a game session ID, or a player ID. You can filter+-- this request by player session status. Use the pagination parameters to+-- retrieve results as a set of sequential pages. If successful, a+-- < PlayerSession> object is returned for each session matching the+-- request.+module Network.AWS.GameLift.DescribePlayerSessions+    (+    -- * Creating a Request+      describePlayerSessions+    , DescribePlayerSessions+    -- * Request Lenses+    , dpsGameSessionId+    , dpsNextToken+    , dpsLimit+    , dpsPlayerSessionId+    , dpsPlayerId+    , dpsPlayerSessionStatusFilter++    -- * Destructuring the Response+    , describePlayerSessionsResponse+    , DescribePlayerSessionsResponse+    -- * Response Lenses+    , dpsrsNextToken+    , dpsrsPlayerSessions+    , dpsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describePlayerSessions' smart constructor.+data DescribePlayerSessions = DescribePlayerSessions'+    { _dpsGameSessionId             :: !(Maybe Text)+    , _dpsNextToken                 :: !(Maybe Text)+    , _dpsLimit                     :: !(Maybe Nat)+    , _dpsPlayerSessionId           :: !(Maybe Text)+    , _dpsPlayerId                  :: !(Maybe Text)+    , _dpsPlayerSessionStatusFilter :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribePlayerSessions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpsGameSessionId'+--+-- * 'dpsNextToken'+--+-- * 'dpsLimit'+--+-- * 'dpsPlayerSessionId'+--+-- * 'dpsPlayerId'+--+-- * 'dpsPlayerSessionStatusFilter'+describePlayerSessions+    :: DescribePlayerSessions+describePlayerSessions =+    DescribePlayerSessions'+    { _dpsGameSessionId = Nothing+    , _dpsNextToken = Nothing+    , _dpsLimit = Nothing+    , _dpsPlayerSessionId = Nothing+    , _dpsPlayerId = Nothing+    , _dpsPlayerSessionStatusFilter = Nothing+    }++-- | Unique identifier for a game session.+dpsGameSessionId :: Lens' DescribePlayerSessions (Maybe Text)+dpsGameSessionId = lens _dpsGameSessionId (\ s a -> s{_dpsGameSessionId = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value. If a player+-- session ID is specified, this parameter is ignored.+dpsNextToken :: Lens' DescribePlayerSessions (Maybe Text)+dpsNextToken = lens _dpsNextToken (\ s a -> s{_dpsNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages. If a player+-- session ID is specified, this parameter is ignored.+dpsLimit :: Lens' DescribePlayerSessions (Maybe Natural)+dpsLimit = lens _dpsLimit (\ s a -> s{_dpsLimit = a}) . mapping _Nat;++-- | Unique identifier for a player session.+dpsPlayerSessionId :: Lens' DescribePlayerSessions (Maybe Text)+dpsPlayerSessionId = lens _dpsPlayerSessionId (\ s a -> s{_dpsPlayerSessionId = a});++-- | Unique identifier for a player.+dpsPlayerId :: Lens' DescribePlayerSessions (Maybe Text)+dpsPlayerId = lens _dpsPlayerId (\ s a -> s{_dpsPlayerId = a});++-- | Player session status to filter results on. Possible player session+-- states include:+--+-- -   RESERVED: The player session request has been received, but the+--     player has not yet connected to the game server and\/or been+--     validated.+-- -   ACTIVE: The player has been validated by the game server and is+--     currently connected.+-- -   COMPLETED: The player connection has been dropped.+-- -   TIMEDOUT: A player session request was received, but the player did+--     not connect and\/or was not validated within the time-out limit (60+--     seconds).+dpsPlayerSessionStatusFilter :: Lens' DescribePlayerSessions (Maybe Text)+dpsPlayerSessionStatusFilter = lens _dpsPlayerSessionStatusFilter (\ s a -> s{_dpsPlayerSessionStatusFilter = a});++instance AWSRequest DescribePlayerSessions where+        type Rs DescribePlayerSessions =+             DescribePlayerSessionsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribePlayerSessionsResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "PlayerSessions" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribePlayerSessions++instance ToHeaders DescribePlayerSessions where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribePlayerSessions" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribePlayerSessions where+        toJSON DescribePlayerSessions'{..}+          = object+              (catMaybes+                 [("GameSessionId" .=) <$> _dpsGameSessionId,+                  ("NextToken" .=) <$> _dpsNextToken,+                  ("Limit" .=) <$> _dpsLimit,+                  ("PlayerSessionId" .=) <$> _dpsPlayerSessionId,+                  ("PlayerId" .=) <$> _dpsPlayerId,+                  ("PlayerSessionStatusFilter" .=) <$>+                    _dpsPlayerSessionStatusFilter])++instance ToPath DescribePlayerSessions where+        toPath = const "/"++instance ToQuery DescribePlayerSessions where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describePlayerSessionsResponse' smart constructor.+data DescribePlayerSessionsResponse = DescribePlayerSessionsResponse'+    { _dpsrsNextToken      :: !(Maybe Text)+    , _dpsrsPlayerSessions :: !(Maybe [PlayerSession])+    , _dpsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribePlayerSessionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpsrsNextToken'+--+-- * 'dpsrsPlayerSessions'+--+-- * 'dpsrsResponseStatus'+describePlayerSessionsResponse+    :: Int -- ^ 'dpsrsResponseStatus'+    -> DescribePlayerSessionsResponse+describePlayerSessionsResponse pResponseStatus_ =+    DescribePlayerSessionsResponse'+    { _dpsrsNextToken = Nothing+    , _dpsrsPlayerSessions = Nothing+    , _dpsrsResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dpsrsNextToken :: Lens' DescribePlayerSessionsResponse (Maybe Text)+dpsrsNextToken = lens _dpsrsNextToken (\ s a -> s{_dpsrsNextToken = a});++-- | Collection of objects containing properties for each player session that+-- matches the request.+dpsrsPlayerSessions :: Lens' DescribePlayerSessionsResponse [PlayerSession]+dpsrsPlayerSessions = lens _dpsrsPlayerSessions (\ s a -> s{_dpsrsPlayerSessions = a}) . _Default . _Coerce;++-- | The response status code.+dpsrsResponseStatus :: Lens' DescribePlayerSessionsResponse Int+dpsrsResponseStatus = lens _dpsrsResponseStatus (\ s a -> s{_dpsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/DescribeScalingPolicies.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.DescribeScalingPolicies+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves all scaling policies applied to a fleet.+--+-- To get a fleet\'s scaling policies, specify the fleet ID. You can filter+-- this request by policy status, such as to retrieve only active scaling+-- policies. Use the pagination parameters to retrieve results as a set of+-- sequential pages. If successful, set of < ScalingPolicy> objects is+-- returned for the fleet.+module Network.AWS.GameLift.DescribeScalingPolicies+    (+    -- * Creating a Request+      describeScalingPolicies+    , DescribeScalingPolicies+    -- * Request Lenses+    , dNextToken+    , dStatusFilter+    , dLimit+    , dFleetId++    -- * Destructuring the Response+    , describeScalingPoliciesResponse+    , DescribeScalingPoliciesResponse+    -- * Response Lenses+    , dsprsNextToken+    , dsprsScalingPolicies+    , dsprsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'describeScalingPolicies' smart constructor.+data DescribeScalingPolicies = DescribeScalingPolicies'+    { _dNextToken    :: !(Maybe Text)+    , _dStatusFilter :: !(Maybe ScalingStatusType)+    , _dLimit        :: !(Maybe Nat)+    , _dFleetId      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScalingPolicies' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dNextToken'+--+-- * 'dStatusFilter'+--+-- * 'dLimit'+--+-- * 'dFleetId'+describeScalingPolicies+    :: Text -- ^ 'dFleetId'+    -> DescribeScalingPolicies+describeScalingPolicies pFleetId_ =+    DescribeScalingPolicies'+    { _dNextToken = Nothing+    , _dStatusFilter = Nothing+    , _dLimit = Nothing+    , _dFleetId = pFleetId_+    }++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+dNextToken :: Lens' DescribeScalingPolicies (Maybe Text)+dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});++-- | Game session status to filter results on. A scaling policy is only in+-- force when in an Active state.+--+-- -   ACTIVE: The scaling policy is currently in force.+-- -   UPDATEREQUESTED: A request to update the scaling policy has been+--     received.+-- -   UPDATING: A change is being made to the scaling policy.+-- -   DELETEREQUESTED: A request to delete the scaling policy has been+--     received.+-- -   DELETING: The scaling policy is being deleted.+-- -   DELETED: The scaling policy has been deleted.+-- -   ERROR: An error occurred in creating the policy. It should be+--     removed and recreated.+dStatusFilter :: Lens' DescribeScalingPolicies (Maybe ScalingStatusType)+dStatusFilter = lens _dStatusFilter (\ s a -> s{_dStatusFilter = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+dLimit :: Lens' DescribeScalingPolicies (Maybe Natural)+dLimit = lens _dLimit (\ s a -> s{_dLimit = a}) . mapping _Nat;++-- | Unique identifier for a fleet. Specify the fleet to retrieve scaling+-- policies for.+dFleetId :: Lens' DescribeScalingPolicies Text+dFleetId = lens _dFleetId (\ s a -> s{_dFleetId = a});++instance AWSRequest DescribeScalingPolicies where+        type Rs DescribeScalingPolicies =+             DescribeScalingPoliciesResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 DescribeScalingPoliciesResponse' <$>+                   (x .?> "NextToken") <*>+                     (x .?> "ScalingPolicies" .!@ mempty)+                     <*> (pure (fromEnum s)))++instance Hashable DescribeScalingPolicies++instance ToHeaders DescribeScalingPolicies where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.DescribeScalingPolicies" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeScalingPolicies where+        toJSON DescribeScalingPolicies'{..}+          = object+              (catMaybes+                 [("NextToken" .=) <$> _dNextToken,+                  ("StatusFilter" .=) <$> _dStatusFilter,+                  ("Limit" .=) <$> _dLimit,+                  Just ("FleetId" .= _dFleetId)])++instance ToPath DescribeScalingPolicies where+        toPath = const "/"++instance ToQuery DescribeScalingPolicies where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'describeScalingPoliciesResponse' smart constructor.+data DescribeScalingPoliciesResponse = DescribeScalingPoliciesResponse'+    { _dsprsNextToken       :: !(Maybe Text)+    , _dsprsScalingPolicies :: !(Maybe [ScalingPolicy])+    , _dsprsResponseStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeScalingPoliciesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsprsNextToken'+--+-- * 'dsprsScalingPolicies'+--+-- * 'dsprsResponseStatus'+describeScalingPoliciesResponse+    :: Int -- ^ 'dsprsResponseStatus'+    -> DescribeScalingPoliciesResponse+describeScalingPoliciesResponse pResponseStatus_ =+    DescribeScalingPoliciesResponse'+    { _dsprsNextToken = Nothing+    , _dsprsScalingPolicies = Nothing+    , _dsprsResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+dsprsNextToken :: Lens' DescribeScalingPoliciesResponse (Maybe Text)+dsprsNextToken = lens _dsprsNextToken (\ s a -> s{_dsprsNextToken = a});++-- | Collection of objects containing the scaling policies matching the+-- request.+dsprsScalingPolicies :: Lens' DescribeScalingPoliciesResponse [ScalingPolicy]+dsprsScalingPolicies = lens _dsprsScalingPolicies (\ s a -> s{_dsprsScalingPolicies = a}) . _Default . _Coerce;++-- | The response status code.+dsprsResponseStatus :: Lens' DescribeScalingPoliciesResponse Int+dsprsResponseStatus = lens _dsprsResponseStatus (\ s a -> s{_dsprsResponseStatus = a});
+ gen/Network/AWS/GameLift/GetGameSessionLogURL.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.GetGameSessionLogURL+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the location of stored game session logs for a specified game+-- session. When a game session is terminated, Amazon GameLift+-- automatically stores the logs in Amazon S3. Use this URL to download the+-- logs.+--+-- See the+-- <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift AWS Service Limits>+-- page for maximum log file sizes. Log files that exceed this limit are+-- not saved.+module Network.AWS.GameLift.GetGameSessionLogURL+    (+    -- * Creating a Request+      getGameSessionLogURL+    , GetGameSessionLogURL+    -- * Request Lenses+    , ggsluGameSessionId++    -- * Destructuring the Response+    , getGameSessionLogURLResponse+    , GetGameSessionLogURLResponse+    -- * Response Lenses+    , ggslursPreSignedURL+    , ggslursResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'getGameSessionLogURL' smart constructor.+newtype GetGameSessionLogURL = GetGameSessionLogURL'+    { _ggsluGameSessionId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetGameSessionLogURL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggsluGameSessionId'+getGameSessionLogURL+    :: Text -- ^ 'ggsluGameSessionId'+    -> GetGameSessionLogURL+getGameSessionLogURL pGameSessionId_ =+    GetGameSessionLogURL'+    { _ggsluGameSessionId = pGameSessionId_+    }++-- | Unique identifier for a game session. Specify the game session you want+-- to get logs for.+ggsluGameSessionId :: Lens' GetGameSessionLogURL Text+ggsluGameSessionId = lens _ggsluGameSessionId (\ s a -> s{_ggsluGameSessionId = a});++instance AWSRequest GetGameSessionLogURL where+        type Rs GetGameSessionLogURL =+             GetGameSessionLogURLResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 GetGameSessionLogURLResponse' <$>+                   (x .?> "PreSignedUrl") <*> (pure (fromEnum s)))++instance Hashable GetGameSessionLogURL++instance ToHeaders GetGameSessionLogURL where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.GetGameSessionLogUrl" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetGameSessionLogURL where+        toJSON GetGameSessionLogURL'{..}+          = object+              (catMaybes+                 [Just ("GameSessionId" .= _ggsluGameSessionId)])++instance ToPath GetGameSessionLogURL where+        toPath = const "/"++instance ToQuery GetGameSessionLogURL where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'getGameSessionLogURLResponse' smart constructor.+data GetGameSessionLogURLResponse = GetGameSessionLogURLResponse'+    { _ggslursPreSignedURL   :: !(Maybe Text)+    , _ggslursResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetGameSessionLogURLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ggslursPreSignedURL'+--+-- * 'ggslursResponseStatus'+getGameSessionLogURLResponse+    :: Int -- ^ 'ggslursResponseStatus'+    -> GetGameSessionLogURLResponse+getGameSessionLogURLResponse pResponseStatus_ =+    GetGameSessionLogURLResponse'+    { _ggslursPreSignedURL = Nothing+    , _ggslursResponseStatus = pResponseStatus_+    }++-- | Location of the requested game session logs, available for download.+ggslursPreSignedURL :: Lens' GetGameSessionLogURLResponse (Maybe Text)+ggslursPreSignedURL = lens _ggslursPreSignedURL (\ s a -> s{_ggslursPreSignedURL = a});++-- | The response status code.+ggslursResponseStatus :: Lens' GetGameSessionLogURLResponse Int+ggslursResponseStatus = lens _ggslursResponseStatus (\ s a -> s{_ggslursResponseStatus = a});
+ gen/Network/AWS/GameLift/ListAliases.hs view
@@ -0,0 +1,193 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.ListAliases+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a collection of alias records for this AWS account. You can+-- filter the result set by alias name and\/or routing strategy type. Use+-- the pagination parameters to retrieve results in sequential pages.+--+-- Aliases are not listed in any particular order.+module Network.AWS.GameLift.ListAliases+    (+    -- * Creating a Request+      listAliases+    , ListAliases+    -- * Request Lenses+    , laRoutingStrategyType+    , laNextToken+    , laName+    , laLimit++    -- * Destructuring the Response+    , listAliasesResponse+    , ListAliasesResponse+    -- * Response Lenses+    , larsAliases+    , larsNextToken+    , larsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'listAliases' smart constructor.+data ListAliases = ListAliases'+    { _laRoutingStrategyType :: !(Maybe RoutingStrategyType)+    , _laNextToken           :: !(Maybe Text)+    , _laName                :: !(Maybe Text)+    , _laLimit               :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListAliases' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'laRoutingStrategyType'+--+-- * 'laNextToken'+--+-- * 'laName'+--+-- * 'laLimit'+listAliases+    :: ListAliases+listAliases =+    ListAliases'+    { _laRoutingStrategyType = Nothing+    , _laNextToken = Nothing+    , _laName = Nothing+    , _laLimit = Nothing+    }++-- | Type of routing to filter results on. Use this parameter to retrieve+-- only aliases of a certain type. To retrieve all aliases, leave this+-- parameter empty. Possible routing types include:+--+-- -   SIMPLE: The alias resolves to one specific fleet. Use this type when+--     routing to active fleets.+-- -   TERMINAL: The alias does not resolve to a fleet but instead can be+--     used to display a message to the user. A terminal alias throws a+--     TerminalRoutingStrategyException with the < RoutingStrategy> message+--     embedded.+laRoutingStrategyType :: Lens' ListAliases (Maybe RoutingStrategyType)+laRoutingStrategyType = lens _laRoutingStrategyType (\ s a -> s{_laRoutingStrategyType = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+laNextToken :: Lens' ListAliases (Maybe Text)+laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});++-- | Descriptive label associated with this alias. Alias names do not need to+-- be unique.+laName :: Lens' ListAliases (Maybe Text)+laName = lens _laName (\ s a -> s{_laName = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+laLimit :: Lens' ListAliases (Maybe Natural)+laLimit = lens _laLimit (\ s a -> s{_laLimit = a}) . mapping _Nat;++instance AWSRequest ListAliases where+        type Rs ListAliases = ListAliasesResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 ListAliasesResponse' <$>+                   (x .?> "Aliases" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListAliases++instance ToHeaders ListAliases where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.ListAliases" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListAliases where+        toJSON ListAliases'{..}+          = object+              (catMaybes+                 [("RoutingStrategyType" .=) <$>+                    _laRoutingStrategyType,+                  ("NextToken" .=) <$> _laNextToken,+                  ("Name" .=) <$> _laName, ("Limit" .=) <$> _laLimit])++instance ToPath ListAliases where+        toPath = const "/"++instance ToQuery ListAliases where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'listAliasesResponse' smart constructor.+data ListAliasesResponse = ListAliasesResponse'+    { _larsAliases        :: !(Maybe [Alias])+    , _larsNextToken      :: !(Maybe Text)+    , _larsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListAliasesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'larsAliases'+--+-- * 'larsNextToken'+--+-- * 'larsResponseStatus'+listAliasesResponse+    :: Int -- ^ 'larsResponseStatus'+    -> ListAliasesResponse+listAliasesResponse pResponseStatus_ =+    ListAliasesResponse'+    { _larsAliases = Nothing+    , _larsNextToken = Nothing+    , _larsResponseStatus = pResponseStatus_+    }++-- | Collection of alias records that match the list request.+larsAliases :: Lens' ListAliasesResponse [Alias]+larsAliases = lens _larsAliases (\ s a -> s{_larsAliases = a}) . _Default . _Coerce;++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+larsNextToken :: Lens' ListAliasesResponse (Maybe Text)+larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});++-- | The response status code.+larsResponseStatus :: Lens' ListAliasesResponse Int+larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});
+ gen/Network/AWS/GameLift/ListBuilds.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.ListBuilds+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves build records for all builds associated with an AWS account.+-- You can filter the result set by build status. Use the pagination+-- parameters to retrieve results in a set of sequential pages.+--+-- Build records are not listed in any particular order.+module Network.AWS.GameLift.ListBuilds+    (+    -- * Creating a Request+      listBuilds+    , ListBuilds+    -- * Request Lenses+    , lbStatus+    , lbNextToken+    , lbLimit++    -- * Destructuring the Response+    , listBuildsResponse+    , ListBuildsResponse+    -- * Response Lenses+    , lbrsBuilds+    , lbrsNextToken+    , lbrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'listBuilds' smart constructor.+data ListBuilds = ListBuilds'+    { _lbStatus    :: !(Maybe BuildStatus)+    , _lbNextToken :: !(Maybe Text)+    , _lbLimit     :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBuilds' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbStatus'+--+-- * 'lbNextToken'+--+-- * 'lbLimit'+listBuilds+    :: ListBuilds+listBuilds =+    ListBuilds'+    { _lbStatus = Nothing+    , _lbNextToken = Nothing+    , _lbLimit = Nothing+    }++-- | Build state to filter results on. Use this parameter to retrieve builds+-- in a certain state. To retrieve all builds, leave this parameter empty.+-- Possible build states include:+--+-- -   INITIALIZED: A new build has been defined, but no files have been+--     uploaded. You cannot create fleets for builds that are in this+--     state. When a build is successfully created, the build state is set+--     to this value.+-- -   READY: The game build has been successfully uploaded. You can now+--     create new fleets for this build.+-- -   FAILED: The game build upload failed. You cannot create new fleets+--     for this build.+lbStatus :: Lens' ListBuilds (Maybe BuildStatus)+lbStatus = lens _lbStatus (\ s a -> s{_lbStatus = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+lbNextToken :: Lens' ListBuilds (Maybe Text)+lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+lbLimit :: Lens' ListBuilds (Maybe Natural)+lbLimit = lens _lbLimit (\ s a -> s{_lbLimit = a}) . mapping _Nat;++instance AWSRequest ListBuilds where+        type Rs ListBuilds = ListBuildsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 ListBuildsResponse' <$>+                   (x .?> "Builds" .!@ mempty) <*> (x .?> "NextToken")+                     <*> (pure (fromEnum s)))++instance Hashable ListBuilds++instance ToHeaders ListBuilds where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.ListBuilds" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListBuilds where+        toJSON ListBuilds'{..}+          = object+              (catMaybes+                 [("Status" .=) <$> _lbStatus,+                  ("NextToken" .=) <$> _lbNextToken,+                  ("Limit" .=) <$> _lbLimit])++instance ToPath ListBuilds where+        toPath = const "/"++instance ToQuery ListBuilds where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'listBuildsResponse' smart constructor.+data ListBuildsResponse = ListBuildsResponse'+    { _lbrsBuilds         :: !(Maybe [Build])+    , _lbrsNextToken      :: !(Maybe Text)+    , _lbrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListBuildsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbrsBuilds'+--+-- * 'lbrsNextToken'+--+-- * 'lbrsResponseStatus'+listBuildsResponse+    :: Int -- ^ 'lbrsResponseStatus'+    -> ListBuildsResponse+listBuildsResponse pResponseStatus_ =+    ListBuildsResponse'+    { _lbrsBuilds = Nothing+    , _lbrsNextToken = Nothing+    , _lbrsResponseStatus = pResponseStatus_+    }++-- | Collection of build records that match the request.+lbrsBuilds :: Lens' ListBuildsResponse [Build]+lbrsBuilds = lens _lbrsBuilds (\ s a -> s{_lbrsBuilds = a}) . _Default . _Coerce;++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+lbrsNextToken :: Lens' ListBuildsResponse (Maybe Text)+lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a});++-- | The response status code.+lbrsResponseStatus :: Lens' ListBuildsResponse Int+lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});
+ gen/Network/AWS/GameLift/ListFleets.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.ListFleets+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a collection of fleet records for this AWS account. You can+-- filter the result set by build ID. Use the pagination parameters to+-- retrieve results in sequential pages.+--+-- Fleet records are not listed in any particular order.+module Network.AWS.GameLift.ListFleets+    (+    -- * Creating a Request+      listFleets+    , ListFleets+    -- * Request Lenses+    , lfBuildId+    , lfNextToken+    , lfLimit++    -- * Destructuring the Response+    , listFleetsResponse+    , ListFleetsResponse+    -- * Response Lenses+    , lfrsNextToken+    , lfrsFleetIds+    , lfrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'listFleets' smart constructor.+data ListFleets = ListFleets'+    { _lfBuildId   :: !(Maybe Text)+    , _lfNextToken :: !(Maybe Text)+    , _lfLimit     :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListFleets' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfBuildId'+--+-- * 'lfNextToken'+--+-- * 'lfLimit'+listFleets+    :: ListFleets+listFleets =+    ListFleets'+    { _lfBuildId = Nothing+    , _lfNextToken = Nothing+    , _lfLimit = Nothing+    }++-- | Unique identifier of the build to return fleets for. Use this parameter+-- to return only fleets using the specified build. To retrieve all fleets,+-- leave this parameter empty.+lfBuildId :: Lens' ListFleets (Maybe Text)+lfBuildId = lens _lfBuildId (\ s a -> s{_lfBuildId = a});++-- | Token indicating the start of the next sequential page of results. Use+-- the token that is returned with a previous call to this action. To+-- specify the start of the result set, do not specify a value.+lfNextToken :: Lens' ListFleets (Maybe Text)+lfNextToken = lens _lfNextToken (\ s a -> s{_lfNextToken = a});++-- | Maximum number of results to return. You can use this parameter with+-- /NextToken/ to get results as a set of sequential pages.+lfLimit :: Lens' ListFleets (Maybe Natural)+lfLimit = lens _lfLimit (\ s a -> s{_lfLimit = a}) . mapping _Nat;++instance AWSRequest ListFleets where+        type Rs ListFleets = ListFleetsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 ListFleetsResponse' <$>+                   (x .?> "NextToken") <*> (x .?> "FleetIds") <*>+                     (pure (fromEnum s)))++instance Hashable ListFleets++instance ToHeaders ListFleets where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.ListFleets" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ListFleets where+        toJSON ListFleets'{..}+          = object+              (catMaybes+                 [("BuildId" .=) <$> _lfBuildId,+                  ("NextToken" .=) <$> _lfNextToken,+                  ("Limit" .=) <$> _lfLimit])++instance ToPath ListFleets where+        toPath = const "/"++instance ToQuery ListFleets where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'listFleetsResponse' smart constructor.+data ListFleetsResponse = ListFleetsResponse'+    { _lfrsNextToken      :: !(Maybe Text)+    , _lfrsFleetIds       :: !(Maybe (List1 Text))+    , _lfrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListFleetsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfrsNextToken'+--+-- * 'lfrsFleetIds'+--+-- * 'lfrsResponseStatus'+listFleetsResponse+    :: Int -- ^ 'lfrsResponseStatus'+    -> ListFleetsResponse+listFleetsResponse pResponseStatus_ =+    ListFleetsResponse'+    { _lfrsNextToken = Nothing+    , _lfrsFleetIds = Nothing+    , _lfrsResponseStatus = pResponseStatus_+    }++-- | Token indicating where to resume retrieving results on the next call to+-- this action. If no token is returned, these results represent the end of+-- the list.+--+-- If a request has a limit that exactly matches the number of remaining+-- results, a token is returned even though there are no more results to+-- retrieve.+lfrsNextToken :: Lens' ListFleetsResponse (Maybe Text)+lfrsNextToken = lens _lfrsNextToken (\ s a -> s{_lfrsNextToken = a});++-- | Set of fleet IDs matching the list request. You can retrieve additional+-- information about all returned fleets by passing this result set to a+-- call to < DescribeFleetAttributes>, < DescribeFleetCapacity>, and+-- < DescribeFleetUtilization>.+lfrsFleetIds :: Lens' ListFleetsResponse (Maybe (NonEmpty Text))+lfrsFleetIds = lens _lfrsFleetIds (\ s a -> s{_lfrsFleetIds = a}) . mapping _List1;++-- | The response status code.+lfrsResponseStatus :: Lens' ListFleetsResponse Int+lfrsResponseStatus = lens _lfrsResponseStatus (\ s a -> s{_lfrsResponseStatus = a});
+ gen/Network/AWS/GameLift/PutScalingPolicy.hs view
@@ -0,0 +1,268 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.PutScalingPolicy+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates or updates a scaling policy for a fleet. An active scaling+-- policy prompts GameLift to track a certain metric for a fleet and+-- automatically change the fleet\'s capacity in specific circumstances.+-- Each scaling policy contains one rule statement. Fleets can have+-- multiple scaling policies in force simultaneously.+--+-- A scaling policy rule statement has the following structure:+--+-- If /[MetricName]/ is /[ComparisonOperator]/ /[Threshold]/ for+-- /[EvaluationPeriods]/ minutes, then /[ScalingAdjustmentType]/ to\/by+-- /[ScalingAdjustment]/.+--+-- For example, this policy: \"If the number of idle instances exceeds 20+-- for more than 15 minutes, then reduce the fleet capacity by 10+-- instances\" could be implemented as the following rule statement:+--+-- If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15]+-- minutes, then [ChangeInCapacity] by [-10].+--+-- To create or update a scaling policy, specify a unique combination of+-- name and fleet ID, and set the rule values. All parameters for this+-- action are required. If successful, the policy name is returned. Scaling+-- policies cannot be suspended or made inactive. To stop enforcing a+-- scaling policy, call < DeleteScalingPolicy>.+module Network.AWS.GameLift.PutScalingPolicy+    (+    -- * Creating a Request+      putScalingPolicy+    , PutScalingPolicy+    -- * Request Lenses+    , pspName+    , pspFleetId+    , pspScalingAdjustment+    , pspScalingAdjustmentType+    , pspThreshold+    , pspComparisonOperator+    , pspEvaluationPeriods+    , pspMetricName++    -- * Destructuring the Response+    , putScalingPolicyResponse+    , PutScalingPolicyResponse+    -- * Response Lenses+    , psprsName+    , psprsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'putScalingPolicy' smart constructor.+data PutScalingPolicy = PutScalingPolicy'+    { _pspName                  :: !Text+    , _pspFleetId               :: !Text+    , _pspScalingAdjustment     :: !Int+    , _pspScalingAdjustmentType :: !ScalingAdjustmentType+    , _pspThreshold             :: !Double+    , _pspComparisonOperator    :: !ComparisonOperatorType+    , _pspEvaluationPeriods     :: !Nat+    , _pspMetricName            :: !MetricName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutScalingPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pspName'+--+-- * 'pspFleetId'+--+-- * 'pspScalingAdjustment'+--+-- * 'pspScalingAdjustmentType'+--+-- * 'pspThreshold'+--+-- * 'pspComparisonOperator'+--+-- * 'pspEvaluationPeriods'+--+-- * 'pspMetricName'+putScalingPolicy+    :: Text -- ^ 'pspName'+    -> Text -- ^ 'pspFleetId'+    -> Int -- ^ 'pspScalingAdjustment'+    -> ScalingAdjustmentType -- ^ 'pspScalingAdjustmentType'+    -> Double -- ^ 'pspThreshold'+    -> ComparisonOperatorType -- ^ 'pspComparisonOperator'+    -> Natural -- ^ 'pspEvaluationPeriods'+    -> MetricName -- ^ 'pspMetricName'+    -> PutScalingPolicy+putScalingPolicy pName_ pFleetId_ pScalingAdjustment_ pScalingAdjustmentType_ pThreshold_ pComparisonOperator_ pEvaluationPeriods_ pMetricName_ =+    PutScalingPolicy'+    { _pspName = pName_+    , _pspFleetId = pFleetId_+    , _pspScalingAdjustment = pScalingAdjustment_+    , _pspScalingAdjustmentType = pScalingAdjustmentType_+    , _pspThreshold = pThreshold_+    , _pspComparisonOperator = pComparisonOperator_+    , _pspEvaluationPeriods = _Nat # pEvaluationPeriods_+    , _pspMetricName = pMetricName_+    }++-- | Descriptive label associated with this scaling policy. Policy names do+-- not need to be unique. A fleet can have only one scaling policy with the+-- same name.+pspName :: Lens' PutScalingPolicy Text+pspName = lens _pspName (\ s a -> s{_pspName = a});++-- | Unique identity for the fleet to scale with this policy.+pspFleetId :: Lens' PutScalingPolicy Text+pspFleetId = lens _pspFleetId (\ s a -> s{_pspFleetId = a});++-- | Amount of adjustment to make, based on the scaling adjustment type.+pspScalingAdjustment :: Lens' PutScalingPolicy Int+pspScalingAdjustment = lens _pspScalingAdjustment (\ s a -> s{_pspScalingAdjustment = a});++-- | Type of adjustment to make to a fleet\'s instance count (see+-- < FleetCapacity>):+--+-- -   ChangeInCapacity: add (or subtract) the scaling adjustment value+--     from the current instance count. Positive values scale up while+--     negative values scale down.+-- -   ExactCapacity: set the instance count to the scaling adjustment+--     value.+-- -   PercentChangeInCapacity: increase or reduce the current instance+--     count by the scaling adjustment, read as a percentage. Positive+--     values scale up while negative values scale down; for example, a+--     value of \"-10\" scales the fleet down by 10%.+pspScalingAdjustmentType :: Lens' PutScalingPolicy ScalingAdjustmentType+pspScalingAdjustmentType = lens _pspScalingAdjustmentType (\ s a -> s{_pspScalingAdjustmentType = a});++-- | Metric value used to trigger a scaling event.+pspThreshold :: Lens' PutScalingPolicy Double+pspThreshold = lens _pspThreshold (\ s a -> s{_pspThreshold = a});++-- | Comparison operator to use when measuring the metric against the+-- threshold value.+pspComparisonOperator :: Lens' PutScalingPolicy ComparisonOperatorType+pspComparisonOperator = lens _pspComparisonOperator (\ s a -> s{_pspComparisonOperator = a});++-- | Length of time (in minutes) the metric must be at or beyond the+-- threshold before a scaling event is triggered.+pspEvaluationPeriods :: Lens' PutScalingPolicy Natural+pspEvaluationPeriods = lens _pspEvaluationPeriods (\ s a -> s{_pspEvaluationPeriods = a}) . _Nat;++-- | Name of the Service-defined metric that is used to trigger an+-- adjustment.+--+-- -   ActivatingGameSessions: number of game sessions in the process of+--     being created (game session status = ACTIVATING).+-- -   ActiveGameSessions: number of game sessions currently running (game+--     session status = ACTIVE).+-- -   CurrentPlayerSessions: number of active or reserved player sessions+--     (player session status = ACTIVE or RESERVED).+-- -   AvailablePlayerSessions: number of player session slots currently+--     available in active game sessions across the fleet, calculated by+--     subtracting a game session\'s current player session count from its+--     maximum player session count. This number includes game sessions+--     that are not currently accepting players (game session+--     PlayerSessionCreationPolicy = DENY_ALL).+-- -   ActiveInstances: number of instances currently running a game+--     session.+-- -   IdleInstances: number of instances not currently running a game+--     session.+pspMetricName :: Lens' PutScalingPolicy MetricName+pspMetricName = lens _pspMetricName (\ s a -> s{_pspMetricName = a});++instance AWSRequest PutScalingPolicy where+        type Rs PutScalingPolicy = PutScalingPolicyResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 PutScalingPolicyResponse' <$>+                   (x .?> "Name") <*> (pure (fromEnum s)))++instance Hashable PutScalingPolicy++instance ToHeaders PutScalingPolicy where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.PutScalingPolicy" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutScalingPolicy where+        toJSON PutScalingPolicy'{..}+          = object+              (catMaybes+                 [Just ("Name" .= _pspName),+                  Just ("FleetId" .= _pspFleetId),+                  Just ("ScalingAdjustment" .= _pspScalingAdjustment),+                  Just+                    ("ScalingAdjustmentType" .=+                       _pspScalingAdjustmentType),+                  Just ("Threshold" .= _pspThreshold),+                  Just+                    ("ComparisonOperator" .= _pspComparisonOperator),+                  Just ("EvaluationPeriods" .= _pspEvaluationPeriods),+                  Just ("MetricName" .= _pspMetricName)])++instance ToPath PutScalingPolicy where+        toPath = const "/"++instance ToQuery PutScalingPolicy where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'putScalingPolicyResponse' smart constructor.+data PutScalingPolicyResponse = PutScalingPolicyResponse'+    { _psprsName           :: !(Maybe Text)+    , _psprsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutScalingPolicyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psprsName'+--+-- * 'psprsResponseStatus'+putScalingPolicyResponse+    :: Int -- ^ 'psprsResponseStatus'+    -> PutScalingPolicyResponse+putScalingPolicyResponse pResponseStatus_ =+    PutScalingPolicyResponse'+    { _psprsName = Nothing+    , _psprsResponseStatus = pResponseStatus_+    }++-- | Descriptive label associated with this scaling policy. Policy names do+-- not need to be unique.+psprsName :: Lens' PutScalingPolicyResponse (Maybe Text)+psprsName = lens _psprsName (\ s a -> s{_psprsName = a});++-- | The response status code.+psprsResponseStatus :: Lens' PutScalingPolicyResponse Int+psprsResponseStatus = lens _psprsResponseStatus (\ s a -> s{_psprsResponseStatus = a});
+ gen/Network/AWS/GameLift/RequestUploadCredentials.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.RequestUploadCredentials+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a fresh set of upload credentials and the assigned Amazon S3+-- storage location for a specific build. Valid credentials are required to+-- upload your game build files to Amazon S3.+--+-- Call this action only if you need credentials for a build created with+-- < CreateBuild>. This is a rare situation; in most cases, builds are+-- created using the CLI command 'upload-build', which creates a build+-- record and also uploads build files.+--+-- Upload credentials are returned when you create the build, but they have+-- a limited lifespan. You can get fresh credentials and use them to+-- re-upload game files until the state of that build changes to READY.+-- Once this happens, you must create a brand new build.+module Network.AWS.GameLift.RequestUploadCredentials+    (+    -- * Creating a Request+      requestUploadCredentials+    , RequestUploadCredentials+    -- * Request Lenses+    , rucBuildId++    -- * Destructuring the Response+    , requestUploadCredentialsResponse+    , RequestUploadCredentialsResponse+    -- * Response Lenses+    , rucrsStorageLocation+    , rucrsUploadCredentials+    , rucrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'requestUploadCredentials' smart constructor.+newtype RequestUploadCredentials = RequestUploadCredentials'+    { _rucBuildId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestUploadCredentials' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rucBuildId'+requestUploadCredentials+    :: Text -- ^ 'rucBuildId'+    -> RequestUploadCredentials+requestUploadCredentials pBuildId_ =+    RequestUploadCredentials'+    { _rucBuildId = pBuildId_+    }++-- | Unique identifier for the build you want to get credentials for.+rucBuildId :: Lens' RequestUploadCredentials Text+rucBuildId = lens _rucBuildId (\ s a -> s{_rucBuildId = a});++instance AWSRequest RequestUploadCredentials where+        type Rs RequestUploadCredentials =+             RequestUploadCredentialsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 RequestUploadCredentialsResponse' <$>+                   (x .?> "StorageLocation") <*>+                     (x .?> "UploadCredentials")+                     <*> (pure (fromEnum s)))++instance Hashable RequestUploadCredentials++instance ToHeaders RequestUploadCredentials where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.RequestUploadCredentials" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RequestUploadCredentials where+        toJSON RequestUploadCredentials'{..}+          = object+              (catMaybes [Just ("BuildId" .= _rucBuildId)])++instance ToPath RequestUploadCredentials where+        toPath = const "/"++instance ToQuery RequestUploadCredentials where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'requestUploadCredentialsResponse' smart constructor.+data RequestUploadCredentialsResponse = RequestUploadCredentialsResponse'+    { _rucrsStorageLocation   :: !(Maybe S3Location)+    , _rucrsUploadCredentials :: !(Maybe (Sensitive AWSCredentials))+    , _rucrsResponseStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestUploadCredentialsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rucrsStorageLocation'+--+-- * 'rucrsUploadCredentials'+--+-- * 'rucrsResponseStatus'+requestUploadCredentialsResponse+    :: Int -- ^ 'rucrsResponseStatus'+    -> RequestUploadCredentialsResponse+requestUploadCredentialsResponse pResponseStatus_ =+    RequestUploadCredentialsResponse'+    { _rucrsStorageLocation = Nothing+    , _rucrsUploadCredentials = Nothing+    , _rucrsResponseStatus = pResponseStatus_+    }++-- | Amazon S3 path and key, identifying where the game build files are+-- stored.+rucrsStorageLocation :: Lens' RequestUploadCredentialsResponse (Maybe S3Location)+rucrsStorageLocation = lens _rucrsStorageLocation (\ s a -> s{_rucrsStorageLocation = a});++-- | AWS credentials required when uploading a game build to the storage+-- location. These credentials have a limited lifespan and are valid only+-- for the build they were issued for.+rucrsUploadCredentials :: Lens' RequestUploadCredentialsResponse (Maybe AWSCredentials)+rucrsUploadCredentials = lens _rucrsUploadCredentials (\ s a -> s{_rucrsUploadCredentials = a}) . mapping _Sensitive;++-- | The response status code.+rucrsResponseStatus :: Lens' RequestUploadCredentialsResponse Int+rucrsResponseStatus = lens _rucrsResponseStatus (\ s a -> s{_rucrsResponseStatus = a});
+ gen/Network/AWS/GameLift/ResolveAlias.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.ResolveAlias+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the fleet ID that a specified alias is currently pointing to.+module Network.AWS.GameLift.ResolveAlias+    (+    -- * Creating a Request+      resolveAlias+    , ResolveAlias+    -- * Request Lenses+    , raAliasId++    -- * Destructuring the Response+    , resolveAliasResponse+    , ResolveAliasResponse+    -- * Response Lenses+    , rarsFleetId+    , rarsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'resolveAlias' smart constructor.+newtype ResolveAlias = ResolveAlias'+    { _raAliasId :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResolveAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'raAliasId'+resolveAlias+    :: Text -- ^ 'raAliasId'+    -> ResolveAlias+resolveAlias pAliasId_ =+    ResolveAlias'+    { _raAliasId = pAliasId_+    }++-- | Unique identifier for the alias you want to resolve.+raAliasId :: Lens' ResolveAlias Text+raAliasId = lens _raAliasId (\ s a -> s{_raAliasId = a});++instance AWSRequest ResolveAlias where+        type Rs ResolveAlias = ResolveAliasResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 ResolveAliasResponse' <$>+                   (x .?> "FleetId") <*> (pure (fromEnum s)))++instance Hashable ResolveAlias++instance ToHeaders ResolveAlias where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.ResolveAlias" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ResolveAlias where+        toJSON ResolveAlias'{..}+          = object (catMaybes [Just ("AliasId" .= _raAliasId)])++instance ToPath ResolveAlias where+        toPath = const "/"++instance ToQuery ResolveAlias where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'resolveAliasResponse' smart constructor.+data ResolveAliasResponse = ResolveAliasResponse'+    { _rarsFleetId        :: !(Maybe Text)+    , _rarsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResolveAliasResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rarsFleetId'+--+-- * 'rarsResponseStatus'+resolveAliasResponse+    :: Int -- ^ 'rarsResponseStatus'+    -> ResolveAliasResponse+resolveAliasResponse pResponseStatus_ =+    ResolveAliasResponse'+    { _rarsFleetId = Nothing+    , _rarsResponseStatus = pResponseStatus_+    }++-- | Fleet ID associated with the requested alias.+rarsFleetId :: Lens' ResolveAliasResponse (Maybe Text)+rarsFleetId = lens _rarsFleetId (\ s a -> s{_rarsFleetId = a});++-- | The response status code.+rarsResponseStatus :: Lens' ResolveAliasResponse Int+rarsResponseStatus = lens _rarsResponseStatus (\ s a -> s{_rarsResponseStatus = a});
+ gen/Network/AWS/GameLift/Types.hs view
@@ -0,0 +1,337 @@+{-# LANGUAGE OverloadedStrings #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.Types+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.GameLift.Types+    (+    -- * Service Configuration+      gameLift++    -- * Errors+    , _InvalidFleetStatusException+    , _InvalidRequestException+    , _ConflictException+    , _TerminalRoutingStrategyException+    , _NotFoundException+    , _GameSessionFullException+    , _InvalidGameSessionStatusException+    , _InternalServiceException+    , _UnauthorizedException+    , _FleetCapacityExceededException+    , _LimitExceededException++    -- * BuildStatus+    , BuildStatus (..)++    -- * ComparisonOperatorType+    , ComparisonOperatorType (..)++    -- * EC2InstanceType+    , EC2InstanceType (..)++    -- * EventCode+    , EventCode (..)++    -- * FleetStatus+    , FleetStatus (..)++    -- * GameSessionStatus+    , GameSessionStatus (..)++    -- * IPProtocol+    , IPProtocol (..)++    -- * MetricName+    , MetricName (..)++    -- * PlayerSessionCreationPolicy+    , PlayerSessionCreationPolicy (..)++    -- * PlayerSessionStatus+    , PlayerSessionStatus (..)++    -- * ProtectionPolicy+    , ProtectionPolicy (..)++    -- * RoutingStrategyType+    , RoutingStrategyType (..)++    -- * ScalingAdjustmentType+    , ScalingAdjustmentType (..)++    -- * ScalingStatusType+    , ScalingStatusType (..)++    -- * AWSCredentials+    , AWSCredentials+    , awsCredentials+    , acSecretAccessKey+    , acSessionToken+    , acAccessKeyId++    -- * Alias+    , Alias+    , alias+    , aCreationTime+    , aLastUpdatedTime+    , aAliasId+    , aRoutingStrategy+    , aName+    , aDescription++    -- * Build+    , Build+    , build+    , bCreationTime+    , bStatus+    , bBuildId+    , bName+    , bVersion+    , bSizeOnDisk++    -- * EC2InstanceCounts+    , EC2InstanceCounts+    , ec2InstanceCounts+    , eicIdLE+    , eicTERMINATING+    , eicPENDING+    , eicMAXIMUM+    , eicDESIRED+    , eicMINIMUM+    , eicACTIVE++    -- * EC2InstanceLimit+    , EC2InstanceLimit+    , ec2InstanceLimit+    , eilEC2InstanceType+    , eilCurrentInstances+    , eilInstanceLimit++    -- * Event+    , Event+    , event+    , eResourceId+    , eEventTime+    , eMessage+    , eEventCode+    , eEventId++    -- * FleetAttributes+    , FleetAttributes+    , fleetAttributes+    , faCreationTime+    , faStatus+    , faServerLaunchParameters+    , faLogPaths+    , faBuildId+    , faTerminationTime+    , faNewGameSessionProtectionPolicy+    , faName+    , faServerLaunchPath+    , faFleetId+    , faDescription++    -- * FleetCapacity+    , FleetCapacity+    , fleetCapacity+    , fcInstanceType+    , fcFleetId+    , fcInstanceCounts++    -- * FleetUtilization+    , FleetUtilization+    , fleetUtilization+    , fuActiveGameSessionCount+    , fuMaximumPlayerSessionCount+    , fuCurrentPlayerSessionCount+    , fuFleetId++    -- * GameProperty+    , GameProperty+    , gameProperty+    , gpKey+    , gpValue++    -- * GameSession+    , GameSession+    , gameSession+    , gsCreationTime+    , gsStatus+    , gsGameProperties+    , gsIPAddress+    , gsGameSessionId+    , gsMaximumPlayerSessionCount+    , gsTerminationTime+    , gsPlayerSessionCreationPolicy+    , gsName+    , gsCurrentPlayerSessionCount+    , gsFleetId++    -- * GameSessionDetail+    , GameSessionDetail+    , gameSessionDetail+    , gsdGameSession+    , gsdProtectionPolicy++    -- * IPPermission+    , IPPermission+    , ipPermission+    , ipFromPort+    , ipToPort+    , ipIPRange+    , ipProtocol++    -- * PlayerSession+    , PlayerSession+    , playerSession+    , psCreationTime+    , psStatus+    , psIPAddress+    , psGameSessionId+    , psTerminationTime+    , psPlayerSessionId+    , psFleetId+    , psPlayerId++    -- * RoutingStrategy+    , RoutingStrategy+    , routingStrategy+    , rsType+    , rsMessage+    , rsFleetId++    -- * S3Location+    , S3Location+    , s3Location+    , slBucket+    , slKey+    , slRoleARN++    -- * ScalingPolicy+    , ScalingPolicy+    , scalingPolicy+    , spStatus+    , spScalingAdjustmentType+    , spEvaluationPeriods+    , spMetricName+    , spComparisonOperator+    , spName+    , spThreshold+    , spScalingAdjustment+    , spFleetId+    ) where++import           Network.AWS.GameLift.Types.Product+import           Network.AWS.GameLift.Types.Sum+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Sign.V4++-- | API version '2015-10-01' of the Amazon GameLift SDK configuration.+gameLift :: Service+gameLift =+    Service+    { _svcAbbrev = "GameLift"+    , _svcSigner = v4+    , _svcPrefix = "gamelift"+    , _svcVersion = "2015-10-01"+    , _svcEndpoint = defaultEndpoint gameLift+    , _svcTimeout = Just 70+    , _svcCheck = statusSuccess+    , _svcError = parseJSONError+    , _svcRetry = retry+    }+  where+    retry =+        Exponential+        { _retryBase = 5.0e-2+        , _retryGrowth = 2+        , _retryAttempts = 5+        , _retryCheck = check+        }+    check e+      | has (hasStatus 429) e = Just "too_many_requests"+      | has (hasCode "ThrottlingException" . hasStatus 400) e =+          Just "throttling_exception"+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+      | has (hasStatus 503) e = Just "service_unavailable"+      | has (hasStatus 500) e = Just "general_server_error"+      | has (hasStatus 509) e = Just "limit_exceeded"+      | otherwise = Nothing++-- | The requested operation would cause a conflict with the current state of+-- a resource associated with the request and\/or the fleet. Please resolve+-- the conflict before retrying.+_InvalidFleetStatusException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidFleetStatusException =+    _ServiceError . hasCode "InvalidFleetStatusException"++-- | One or more parameters specified as part of the request are invalid.+-- Please correct the invalid parameters before retrying.+_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRequestException = _ServiceError . hasCode "InvalidRequestException"++-- | The requested operation would cause a conflict with the current state of+-- a service resource associated with the request. Please resolve the+-- conflict before retrying this request.+_ConflictException :: AsError a => Getting (First ServiceError) a ServiceError+_ConflictException = _ServiceError . hasCode "ConflictException"++-- | The service is unable to resolve the routing for a particular alias+-- because it has a terminal < RoutingStrategy> associated with it. The+-- message returned in this exception is the message defined in the+-- TerminalRoutingStrategy itself. Such requests should only be retried if+-- the routing strategy for the specified alias is modified.+_TerminalRoutingStrategyException :: AsError a => Getting (First ServiceError) a ServiceError+_TerminalRoutingStrategyException =+    _ServiceError . hasCode "TerminalRoutingStrategyException"++-- | A service resource associated with the request could not be found. Such+-- requests should not be retried by clients.+_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError+_NotFoundException = _ServiceError . hasCode "NotFoundException"++-- | The game instance is currently full and cannot allow the requested+-- player(s) to join. This exception occurs in response to a+-- < CreatePlayerSession> request.+_GameSessionFullException :: AsError a => Getting (First ServiceError) a ServiceError+_GameSessionFullException = _ServiceError . hasCode "GameSessionFullException"++-- | The requested operation would cause a conflict with the current state of+-- a resource associated with the request and\/or the game instance. Such+-- requests should not be retried by clients without resolving the+-- conflict.+_InvalidGameSessionStatusException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidGameSessionStatusException =+    _ServiceError . hasCode "InvalidGameSessionStatusException"++-- | The service encountered an unrecoverable internal failure while+-- processing the request. Such requests can be retried by clients, either+-- immediately or after a back-off period.+_InternalServiceException :: AsError a => Getting (First ServiceError) a ServiceError+_InternalServiceException = _ServiceError . hasCode "InternalServiceException"++-- | The client failed authentication. Such requests should not be retried+-- without valid authentication credentials.+_UnauthorizedException :: AsError a => Getting (First ServiceError) a ServiceError+_UnauthorizedException = _ServiceError . hasCode "UnauthorizedException"++-- | The specified fleet has no available instances to fulfill a request to+-- create a new game session. Such requests should only be retried once the+-- fleet capacity has been increased.+_FleetCapacityExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_FleetCapacityExceededException =+    _ServiceError . hasCode "FleetCapacityExceededException"++-- | The requested operation would cause the resource to exceed the allowed+-- service limit. Please resolve the issue before retrying.+_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededException = _ServiceError . hasCode "LimitExceededException"
+ gen/Network/AWS/GameLift/Types/Product.hs view
@@ -0,0 +1,1409 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.Types.Product+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.GameLift.Types.Product where++import           Network.AWS.GameLift.Types.Sum+import           Network.AWS.Lens+import           Network.AWS.Prelude++-- | AWS access credentials required to upload game build files to Amazon+-- GameLift. These credentials are generated with < CreateBuild>, and are+-- valid for a limited time. If they expire before you upload your game+-- build, get a new set by calling < RequestUploadCredentials>.+--+-- /See:/ 'awsCredentials' smart constructor.+data AWSCredentials = AWSCredentials'+    { _acSecretAccessKey :: !(Maybe Text)+    , _acSessionToken    :: !(Maybe Text)+    , _acAccessKeyId     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AWSCredentials' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acSecretAccessKey'+--+-- * 'acSessionToken'+--+-- * 'acAccessKeyId'+awsCredentials+    :: AWSCredentials+awsCredentials =+    AWSCredentials'+    { _acSecretAccessKey = Nothing+    , _acSessionToken = Nothing+    , _acAccessKeyId = Nothing+    }++-- | Secret key for an AWS account.+acSecretAccessKey :: Lens' AWSCredentials (Maybe Text)+acSecretAccessKey = lens _acSecretAccessKey (\ s a -> s{_acSecretAccessKey = a});++-- | Token specific to a build ID.+acSessionToken :: Lens' AWSCredentials (Maybe Text)+acSessionToken = lens _acSessionToken (\ s a -> s{_acSessionToken = a});++-- | Access key for an AWS account.+acAccessKeyId :: Lens' AWSCredentials (Maybe Text)+acAccessKeyId = lens _acAccessKeyId (\ s a -> s{_acAccessKeyId = a});++instance FromJSON AWSCredentials where+        parseJSON+          = withObject "AWSCredentials"+              (\ x ->+                 AWSCredentials' <$>+                   (x .:? "SecretAccessKey") <*> (x .:? "SessionToken")+                     <*> (x .:? "AccessKeyId"))++instance Hashable AWSCredentials++-- | Properties describing a fleet alias.+--+-- /See:/ 'alias' smart constructor.+data Alias = Alias'+    { _aCreationTime    :: !(Maybe POSIX)+    , _aLastUpdatedTime :: !(Maybe POSIX)+    , _aAliasId         :: !(Maybe Text)+    , _aRoutingStrategy :: !(Maybe RoutingStrategy)+    , _aName            :: !(Maybe Text)+    , _aDescription     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Alias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aCreationTime'+--+-- * 'aLastUpdatedTime'+--+-- * 'aAliasId'+--+-- * 'aRoutingStrategy'+--+-- * 'aName'+--+-- * 'aDescription'+alias+    :: Alias+alias =+    Alias'+    { _aCreationTime = Nothing+    , _aLastUpdatedTime = Nothing+    , _aAliasId = Nothing+    , _aRoutingStrategy = Nothing+    , _aName = Nothing+    , _aDescription = Nothing+    }++-- | Time stamp indicating when this object was created. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+aCreationTime :: Lens' Alias (Maybe UTCTime)+aCreationTime = lens _aCreationTime (\ s a -> s{_aCreationTime = a}) . mapping _Time;++-- | Time stamp indicating when this object was last modified. Format is an+-- integer representing the number of seconds since the Unix epoch (Unix+-- time).+aLastUpdatedTime :: Lens' Alias (Maybe UTCTime)+aLastUpdatedTime = lens _aLastUpdatedTime (\ s a -> s{_aLastUpdatedTime = a}) . mapping _Time;++-- | Unique identifier for a fleet alias.+aAliasId :: Lens' Alias (Maybe Text)+aAliasId = lens _aAliasId (\ s a -> s{_aAliasId = a});++-- | Undocumented member.+aRoutingStrategy :: Lens' Alias (Maybe RoutingStrategy)+aRoutingStrategy = lens _aRoutingStrategy (\ s a -> s{_aRoutingStrategy = a});++-- | Descriptive label associated with this alias. Alias names do not need to+-- be unique.+aName :: Lens' Alias (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a});++-- | Human-readable description of the alias.+aDescription :: Lens' Alias (Maybe Text)+aDescription = lens _aDescription (\ s a -> s{_aDescription = a});++instance FromJSON Alias where+        parseJSON+          = withObject "Alias"+              (\ x ->+                 Alias' <$>+                   (x .:? "CreationTime") <*> (x .:? "LastUpdatedTime")+                     <*> (x .:? "AliasId")+                     <*> (x .:? "RoutingStrategy")+                     <*> (x .:? "Name")+                     <*> (x .:? "Description"))++instance Hashable Alias++-- | Properties describing a game build.+--+-- /See:/ 'build' smart constructor.+data Build = Build'+    { _bCreationTime :: !(Maybe POSIX)+    , _bStatus       :: !(Maybe BuildStatus)+    , _bBuildId      :: !(Maybe Text)+    , _bName         :: !(Maybe Text)+    , _bVersion      :: !(Maybe Text)+    , _bSizeOnDisk   :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Build' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bCreationTime'+--+-- * 'bStatus'+--+-- * 'bBuildId'+--+-- * 'bName'+--+-- * 'bVersion'+--+-- * 'bSizeOnDisk'+build+    :: Build+build =+    Build'+    { _bCreationTime = Nothing+    , _bStatus = Nothing+    , _bBuildId = Nothing+    , _bName = Nothing+    , _bVersion = Nothing+    , _bSizeOnDisk = Nothing+    }++-- | Time stamp indicating when this object was created. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+bCreationTime :: Lens' Build (Maybe UTCTime)+bCreationTime = lens _bCreationTime (\ s a -> s{_bCreationTime = a}) . mapping _Time;++-- | Current status of the build. Possible build states include:+--+-- -   INITIALIZED: A new build has been defined, but no files have been+--     uploaded. You cannot create fleets for builds that are in this+--     state. When a build is successfully created, the build state is set+--     to this value.+-- -   READY: The game build has been successfully uploaded. You can now+--     create new fleets for this build.+-- -   FAILED: The game build upload failed. You cannot create new fleets+--     for this build.+bStatus :: Lens' Build (Maybe BuildStatus)+bStatus = lens _bStatus (\ s a -> s{_bStatus = a});++-- | Unique identifier for a build.+bBuildId :: Lens' Build (Maybe Text)+bBuildId = lens _bBuildId (\ s a -> s{_bBuildId = a});++-- | Descriptive label associated with this build. Build names do not need to+-- be unique. It can be set using < CreateBuild> or < UpdateBuild>.+bName :: Lens' Build (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a});++-- | Version associated with this build. Version strings do not need to be+-- unique to a build. This value can be set using < CreateBuild> or+-- < UpdateBuild>.+bVersion :: Lens' Build (Maybe Text)+bVersion = lens _bVersion (\ s a -> s{_bVersion = a});++-- | File size of the uploaded game build, expressed in bytes. When the build+-- state is INITIALIZED, this value is 0.+bSizeOnDisk :: Lens' Build (Maybe Natural)+bSizeOnDisk = lens _bSizeOnDisk (\ s a -> s{_bSizeOnDisk = a}) . mapping _Nat;++instance FromJSON Build where+        parseJSON+          = withObject "Build"+              (\ x ->+                 Build' <$>+                   (x .:? "CreationTime") <*> (x .:? "Status") <*>+                     (x .:? "BuildId")+                     <*> (x .:? "Name")+                     <*> (x .:? "Version")+                     <*> (x .:? "SizeOnDisk"))++instance Hashable Build++-- | Current status of fleet capacity. The number of active instances should+-- match or be in the process of matching the number of desired instances.+-- Pending and terminating counts are non-zero only if fleet capacity is+-- adjusting to an < UpdateFleetCapacity> request, or if access to+-- resources is temporarily affected.+--+-- /See:/ 'ec2InstanceCounts' smart constructor.+data EC2InstanceCounts = EC2InstanceCounts'+    { _eicIdLE        :: !(Maybe Nat)+    , _eicTERMINATING :: !(Maybe Nat)+    , _eicPENDING     :: !(Maybe Nat)+    , _eicMAXIMUM     :: !(Maybe Nat)+    , _eicDESIRED     :: !(Maybe Nat)+    , _eicMINIMUM     :: !(Maybe Nat)+    , _eicACTIVE      :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EC2InstanceCounts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eicIdLE'+--+-- * 'eicTERMINATING'+--+-- * 'eicPENDING'+--+-- * 'eicMAXIMUM'+--+-- * 'eicDESIRED'+--+-- * 'eicMINIMUM'+--+-- * 'eicACTIVE'+ec2InstanceCounts+    :: EC2InstanceCounts+ec2InstanceCounts =+    EC2InstanceCounts'+    { _eicIdLE = Nothing+    , _eicTERMINATING = Nothing+    , _eicPENDING = Nothing+    , _eicMAXIMUM = Nothing+    , _eicDESIRED = Nothing+    , _eicMINIMUM = Nothing+    , _eicACTIVE = Nothing+    }++-- | Number of active instances in the fleet that are not currently hosting a+-- game session.+eicIdLE :: Lens' EC2InstanceCounts (Maybe Natural)+eicIdLE = lens _eicIdLE (\ s a -> s{_eicIdLE = a}) . mapping _Nat;++-- | Number of instances in the fleet that are no longer active but haven\'t+-- yet been terminated.+eicTERMINATING :: Lens' EC2InstanceCounts (Maybe Natural)+eicTERMINATING = lens _eicTERMINATING (\ s a -> s{_eicTERMINATING = a}) . mapping _Nat;++-- | Number of instances in the fleet that are starting but not yet active.+eicPENDING :: Lens' EC2InstanceCounts (Maybe Natural)+eicPENDING = lens _eicPENDING (\ s a -> s{_eicPENDING = a}) . mapping _Nat;++-- | Maximum value allowed for the fleet\'s instance count.+eicMAXIMUM :: Lens' EC2InstanceCounts (Maybe Natural)+eicMAXIMUM = lens _eicMAXIMUM (\ s a -> s{_eicMAXIMUM = a}) . mapping _Nat;++-- | Ideal number of active instances in the fleet.+eicDESIRED :: Lens' EC2InstanceCounts (Maybe Natural)+eicDESIRED = lens _eicDESIRED (\ s a -> s{_eicDESIRED = a}) . mapping _Nat;++-- | Minimum value allowed for the fleet\'s instance count.+eicMINIMUM :: Lens' EC2InstanceCounts (Maybe Natural)+eicMINIMUM = lens _eicMINIMUM (\ s a -> s{_eicMINIMUM = a}) . mapping _Nat;++-- | Actual number of active instances in the fleet.+eicACTIVE :: Lens' EC2InstanceCounts (Maybe Natural)+eicACTIVE = lens _eicACTIVE (\ s a -> s{_eicACTIVE = a}) . mapping _Nat;++instance FromJSON EC2InstanceCounts where+        parseJSON+          = withObject "EC2InstanceCounts"+              (\ x ->+                 EC2InstanceCounts' <$>+                   (x .:? "IDLE") <*> (x .:? "TERMINATING") <*>+                     (x .:? "PENDING")+                     <*> (x .:? "MAXIMUM")+                     <*> (x .:? "DESIRED")+                     <*> (x .:? "MINIMUM")+                     <*> (x .:? "ACTIVE"))++instance Hashable EC2InstanceCounts++-- | Maximum number of instances allowed based on the Amazon Elastic Compute+-- Cloud (Amazon EC2) instance type. Instance limits can be retrieved by+-- calling < DescribeEC2InstanceLimits>.+--+-- /See:/ 'ec2InstanceLimit' smart constructor.+data EC2InstanceLimit = EC2InstanceLimit'+    { _eilEC2InstanceType  :: !(Maybe EC2InstanceType)+    , _eilCurrentInstances :: !(Maybe Nat)+    , _eilInstanceLimit    :: !(Maybe Nat)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EC2InstanceLimit' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eilEC2InstanceType'+--+-- * 'eilCurrentInstances'+--+-- * 'eilInstanceLimit'+ec2InstanceLimit+    :: EC2InstanceLimit+ec2InstanceLimit =+    EC2InstanceLimit'+    { _eilEC2InstanceType = Nothing+    , _eilCurrentInstances = Nothing+    , _eilInstanceLimit = Nothing+    }++-- | Type of EC2 instances used in the fleet. EC2 instance types define the+-- CPU, memory, storage, and networking capacity of the fleetaposs hosts.+-- Amazon GameLift supports the EC2 instance types listed below. See+-- <https://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types>+-- for detailed descriptions of each.+eilEC2InstanceType :: Lens' EC2InstanceLimit (Maybe EC2InstanceType)+eilEC2InstanceType = lens _eilEC2InstanceType (\ s a -> s{_eilEC2InstanceType = a});++-- | Number of instances of the specified type that are currently in use by+-- this AWS account.+eilCurrentInstances :: Lens' EC2InstanceLimit (Maybe Natural)+eilCurrentInstances = lens _eilCurrentInstances (\ s a -> s{_eilCurrentInstances = a}) . mapping _Nat;++-- | Number of instances allowed.+eilInstanceLimit :: Lens' EC2InstanceLimit (Maybe Natural)+eilInstanceLimit = lens _eilInstanceLimit (\ s a -> s{_eilInstanceLimit = a}) . mapping _Nat;++instance FromJSON EC2InstanceLimit where+        parseJSON+          = withObject "EC2InstanceLimit"+              (\ x ->+                 EC2InstanceLimit' <$>+                   (x .:? "EC2InstanceType") <*>+                     (x .:? "CurrentInstances")+                     <*> (x .:? "InstanceLimit"))++instance Hashable EC2InstanceLimit++-- | Log entry describing an event involving an Amazon GameLift resource+-- (such as a fleet).+--+-- /See:/ 'event' smart constructor.+data Event = Event'+    { _eResourceId :: !(Maybe Text)+    , _eEventTime  :: !(Maybe POSIX)+    , _eMessage    :: !(Maybe Text)+    , _eEventCode  :: !(Maybe EventCode)+    , _eEventId    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Event' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eResourceId'+--+-- * 'eEventTime'+--+-- * 'eMessage'+--+-- * 'eEventCode'+--+-- * 'eEventId'+event+    :: Event+event =+    Event'+    { _eResourceId = Nothing+    , _eEventTime = Nothing+    , _eMessage = Nothing+    , _eEventCode = Nothing+    , _eEventId = Nothing+    }++-- | Unique identifier for the resource, such as a fleet ID.+eResourceId :: Lens' Event (Maybe Text)+eResourceId = lens _eResourceId (\ s a -> s{_eResourceId = a});++-- | Time stamp indicating when this event occurred. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+eEventTime :: Lens' Event (Maybe UTCTime)+eEventTime = lens _eEventTime (\ s a -> s{_eEventTime = a}) . mapping _Time;++-- | Additional information related to the event.+eMessage :: Lens' Event (Maybe Text)+eMessage = lens _eMessage (\ s a -> s{_eMessage = a});++-- | Type of event being logged.+eEventCode :: Lens' Event (Maybe EventCode)+eEventCode = lens _eEventCode (\ s a -> s{_eEventCode = a});++-- | Unique identifier for a fleet event.+eEventId :: Lens' Event (Maybe Text)+eEventId = lens _eEventId (\ s a -> s{_eEventId = a});++instance FromJSON Event where+        parseJSON+          = withObject "Event"+              (\ x ->+                 Event' <$>+                   (x .:? "ResourceId") <*> (x .:? "EventTime") <*>+                     (x .:? "Message")+                     <*> (x .:? "EventCode")+                     <*> (x .:? "EventId"))++instance Hashable Event++-- | General properties describing a fleet.+--+-- /See:/ 'fleetAttributes' smart constructor.+data FleetAttributes = FleetAttributes'+    { _faCreationTime                   :: !(Maybe POSIX)+    , _faStatus                         :: !(Maybe FleetStatus)+    , _faServerLaunchParameters         :: !(Maybe Text)+    , _faLogPaths                       :: !(Maybe [Text])+    , _faBuildId                        :: !(Maybe Text)+    , _faTerminationTime                :: !(Maybe POSIX)+    , _faNewGameSessionProtectionPolicy :: !(Maybe ProtectionPolicy)+    , _faName                           :: !(Maybe Text)+    , _faServerLaunchPath               :: !(Maybe Text)+    , _faFleetId                        :: !(Maybe Text)+    , _faDescription                    :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FleetAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'faCreationTime'+--+-- * 'faStatus'+--+-- * 'faServerLaunchParameters'+--+-- * 'faLogPaths'+--+-- * 'faBuildId'+--+-- * 'faTerminationTime'+--+-- * 'faNewGameSessionProtectionPolicy'+--+-- * 'faName'+--+-- * 'faServerLaunchPath'+--+-- * 'faFleetId'+--+-- * 'faDescription'+fleetAttributes+    :: FleetAttributes+fleetAttributes =+    FleetAttributes'+    { _faCreationTime = Nothing+    , _faStatus = Nothing+    , _faServerLaunchParameters = Nothing+    , _faLogPaths = Nothing+    , _faBuildId = Nothing+    , _faTerminationTime = Nothing+    , _faNewGameSessionProtectionPolicy = Nothing+    , _faName = Nothing+    , _faServerLaunchPath = Nothing+    , _faFleetId = Nothing+    , _faDescription = Nothing+    }++-- | Time stamp indicating when this object was created. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+faCreationTime :: Lens' FleetAttributes (Maybe UTCTime)+faCreationTime = lens _faCreationTime (\ s a -> s{_faCreationTime = a}) . mapping _Time;++-- | Current status of the fleet. Possible fleet states include:+--+-- -   NEW: A new fleet has been defined and hosts allocated.+-- -   DOWNLOADING\/VALIDATING\/BUILDING\/ACTIVATING: The new fleet is+--     being set up with the game build, and new hosts are being started.+-- -   ACTIVE: Hosts can now accept game sessions.+-- -   ERROR: An error occurred when downloading, validating, building, or+--     activating the fleet.+-- -   DELETING: Hosts are responding to a delete fleet request.+-- -   TERMINATED: The fleet no longer exists.+faStatus :: Lens' FleetAttributes (Maybe FleetStatus)+faStatus = lens _faStatus (\ s a -> s{_faStatus = a});++-- | Parameters required to launch your game server. These parameters should+-- be expressed as a string of command-line parameters. Example: \"+sv_port+-- 33435 +start_lobby\".+faServerLaunchParameters :: Lens' FleetAttributes (Maybe Text)+faServerLaunchParameters = lens _faServerLaunchParameters (\ s a -> s{_faServerLaunchParameters = a});++-- | Path to game-session log files generated by your game server. Once a+-- game session has been terminated, Amazon GameLift captures and stores+-- the logs on Amazon S3. Use the GameLift console to access the stored+-- logs.+faLogPaths :: Lens' FleetAttributes [Text]+faLogPaths = lens _faLogPaths (\ s a -> s{_faLogPaths = a}) . _Default . _Coerce;++-- | Unique identifier for a build.+faBuildId :: Lens' FleetAttributes (Maybe Text)+faBuildId = lens _faBuildId (\ s a -> s{_faBuildId = a});++-- | Time stamp indicating when this fleet was terminated. Format is an+-- integer representing the number of seconds since the Unix epoch (Unix+-- time).+faTerminationTime :: Lens' FleetAttributes (Maybe UTCTime)+faTerminationTime = lens _faTerminationTime (\ s a -> s{_faTerminationTime = a}) . mapping _Time;++-- | Type of game session protection to set for all new instances started in+-- the fleet.+--+-- -   NoProtection: The game session can be terminated during a scale-down+--     event.+-- -   FullProtection: If the game session is in an ACTIVE status, it+--     cannot be terminated during a scale-down event.+faNewGameSessionProtectionPolicy :: Lens' FleetAttributes (Maybe ProtectionPolicy)+faNewGameSessionProtectionPolicy = lens _faNewGameSessionProtectionPolicy (\ s a -> s{_faNewGameSessionProtectionPolicy = a});++-- | Descriptive label associated with this fleet. Fleet names do not need to+-- be unique.+faName :: Lens' FleetAttributes (Maybe Text)+faName = lens _faName (\ s a -> s{_faName = a});++-- | Path to the launch executable for the game server. A game server is+-- built into a 'C:\\game' drive. This value must be expressed as+-- 'C:\\game\\[launchpath]'. Example: If, when built, your game server+-- files are in a folder called \"MyGame\", your log path should be+-- 'C:\\game\\MyGame\\server.exe'.+faServerLaunchPath :: Lens' FleetAttributes (Maybe Text)+faServerLaunchPath = lens _faServerLaunchPath (\ s a -> s{_faServerLaunchPath = a});++-- | Unique identifier for a fleet.+faFleetId :: Lens' FleetAttributes (Maybe Text)+faFleetId = lens _faFleetId (\ s a -> s{_faFleetId = a});++-- | Human-readable description of the fleet.+faDescription :: Lens' FleetAttributes (Maybe Text)+faDescription = lens _faDescription (\ s a -> s{_faDescription = a});++instance FromJSON FleetAttributes where+        parseJSON+          = withObject "FleetAttributes"+              (\ x ->+                 FleetAttributes' <$>+                   (x .:? "CreationTime") <*> (x .:? "Status") <*>+                     (x .:? "ServerLaunchParameters")+                     <*> (x .:? "LogPaths" .!= mempty)+                     <*> (x .:? "BuildId")+                     <*> (x .:? "TerminationTime")+                     <*> (x .:? "NewGameSessionProtectionPolicy")+                     <*> (x .:? "Name")+                     <*> (x .:? "ServerLaunchPath")+                     <*> (x .:? "FleetId")+                     <*> (x .:? "Description"))++instance Hashable FleetAttributes++-- | Information about the fleet\'s capacity. Fleet capacity is measured in+-- EC2 instances. By default, new fleets have a capacity of one instance,+-- but can be updated as needed. The maximum number of instances for a+-- fleet is determined by the fleet\'s instance type.+--+-- /See:/ 'fleetCapacity' smart constructor.+data FleetCapacity = FleetCapacity'+    { _fcInstanceType   :: !(Maybe EC2InstanceType)+    , _fcFleetId        :: !(Maybe Text)+    , _fcInstanceCounts :: !(Maybe EC2InstanceCounts)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FleetCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fcInstanceType'+--+-- * 'fcFleetId'+--+-- * 'fcInstanceCounts'+fleetCapacity+    :: FleetCapacity+fleetCapacity =+    FleetCapacity'+    { _fcInstanceType = Nothing+    , _fcFleetId = Nothing+    , _fcInstanceCounts = Nothing+    }++-- | Type of EC2 instances used in the fleet. EC2 instance types define the+-- CPU, memory, storage, and networking capacity of the fleetaposs hosts.+-- Amazon GameLift supports the EC2 instance types listed below. See+-- <https://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types>+-- for detailed descriptions of each.+fcInstanceType :: Lens' FleetCapacity (Maybe EC2InstanceType)+fcInstanceType = lens _fcInstanceType (\ s a -> s{_fcInstanceType = a});++-- | Unique identifier for a fleet.+fcFleetId :: Lens' FleetCapacity (Maybe Text)+fcFleetId = lens _fcFleetId (\ s a -> s{_fcFleetId = a});++-- | Current status of fleet capacity.+fcInstanceCounts :: Lens' FleetCapacity (Maybe EC2InstanceCounts)+fcInstanceCounts = lens _fcInstanceCounts (\ s a -> s{_fcInstanceCounts = a});++instance FromJSON FleetCapacity where+        parseJSON+          = withObject "FleetCapacity"+              (\ x ->+                 FleetCapacity' <$>+                   (x .:? "InstanceType") <*> (x .:? "FleetId") <*>+                     (x .:? "InstanceCounts"))++instance Hashable FleetCapacity++-- | Current status of fleet utilization, including the number of game and+-- player sessions being hosted.+--+-- /See:/ 'fleetUtilization' smart constructor.+data FleetUtilization = FleetUtilization'+    { _fuActiveGameSessionCount    :: !(Maybe Nat)+    , _fuMaximumPlayerSessionCount :: !(Maybe Nat)+    , _fuCurrentPlayerSessionCount :: !(Maybe Nat)+    , _fuFleetId                   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'FleetUtilization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'fuActiveGameSessionCount'+--+-- * 'fuMaximumPlayerSessionCount'+--+-- * 'fuCurrentPlayerSessionCount'+--+-- * 'fuFleetId'+fleetUtilization+    :: FleetUtilization+fleetUtilization =+    FleetUtilization'+    { _fuActiveGameSessionCount = Nothing+    , _fuMaximumPlayerSessionCount = Nothing+    , _fuCurrentPlayerSessionCount = Nothing+    , _fuFleetId = Nothing+    }++-- | Number of active game sessions currently being hosted on fleet game+-- servers.+fuActiveGameSessionCount :: Lens' FleetUtilization (Maybe Natural)+fuActiveGameSessionCount = lens _fuActiveGameSessionCount (\ s a -> s{_fuActiveGameSessionCount = a}) . mapping _Nat;++-- | Maximum players allowed across all game sessions currently hosted in the+-- fleet.+fuMaximumPlayerSessionCount :: Lens' FleetUtilization (Maybe Natural)+fuMaximumPlayerSessionCount = lens _fuMaximumPlayerSessionCount (\ s a -> s{_fuMaximumPlayerSessionCount = a}) . mapping _Nat;++-- | Number of active player sessions currently being hosted on fleet game+-- servers.+fuCurrentPlayerSessionCount :: Lens' FleetUtilization (Maybe Natural)+fuCurrentPlayerSessionCount = lens _fuCurrentPlayerSessionCount (\ s a -> s{_fuCurrentPlayerSessionCount = a}) . mapping _Nat;++-- | Unique identifier for a fleet.+fuFleetId :: Lens' FleetUtilization (Maybe Text)+fuFleetId = lens _fuFleetId (\ s a -> s{_fuFleetId = a});++instance FromJSON FleetUtilization where+        parseJSON+          = withObject "FleetUtilization"+              (\ x ->+                 FleetUtilization' <$>+                   (x .:? "ActiveGameSessionCount") <*>+                     (x .:? "MaximumPlayerSessionCount")+                     <*> (x .:? "CurrentPlayerSessionCount")+                     <*> (x .:? "FleetId"))++instance Hashable FleetUtilization++-- | Set of key-value pairs containing information your game server requires+-- to set up sessions. This object allows you to pass in any set of data+-- needed for your game. For more information, see the+-- <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide>.+--+-- /See:/ 'gameProperty' smart constructor.+data GameProperty = GameProperty'+    { _gpKey   :: !Text+    , _gpValue :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GameProperty' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gpKey'+--+-- * 'gpValue'+gameProperty+    :: Text -- ^ 'gpKey'+    -> Text -- ^ 'gpValue'+    -> GameProperty+gameProperty pKey_ pValue_ =+    GameProperty'+    { _gpKey = pKey_+    , _gpValue = pValue_+    }++-- | Undocumented member.+gpKey :: Lens' GameProperty Text+gpKey = lens _gpKey (\ s a -> s{_gpKey = a});++-- | Undocumented member.+gpValue :: Lens' GameProperty Text+gpValue = lens _gpValue (\ s a -> s{_gpValue = a});++instance FromJSON GameProperty where+        parseJSON+          = withObject "GameProperty"+              (\ x ->+                 GameProperty' <$> (x .: "Key") <*> (x .: "Value"))++instance Hashable GameProperty++instance ToJSON GameProperty where+        toJSON GameProperty'{..}+          = object+              (catMaybes+                 [Just ("Key" .= _gpKey), Just ("Value" .= _gpValue)])++-- | Properties describing a game session.+--+-- /See:/ 'gameSession' smart constructor.+data GameSession = GameSession'+    { _gsCreationTime                :: !(Maybe POSIX)+    , _gsStatus                      :: !(Maybe GameSessionStatus)+    , _gsGameProperties              :: !(Maybe [GameProperty])+    , _gsIPAddress                   :: !(Maybe Text)+    , _gsGameSessionId               :: !(Maybe Text)+    , _gsMaximumPlayerSessionCount   :: !(Maybe Nat)+    , _gsTerminationTime             :: !(Maybe POSIX)+    , _gsPlayerSessionCreationPolicy :: !(Maybe PlayerSessionCreationPolicy)+    , _gsName                        :: !(Maybe Text)+    , _gsCurrentPlayerSessionCount   :: !(Maybe Nat)+    , _gsFleetId                     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GameSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsCreationTime'+--+-- * 'gsStatus'+--+-- * 'gsGameProperties'+--+-- * 'gsIPAddress'+--+-- * 'gsGameSessionId'+--+-- * 'gsMaximumPlayerSessionCount'+--+-- * 'gsTerminationTime'+--+-- * 'gsPlayerSessionCreationPolicy'+--+-- * 'gsName'+--+-- * 'gsCurrentPlayerSessionCount'+--+-- * 'gsFleetId'+gameSession+    :: GameSession+gameSession =+    GameSession'+    { _gsCreationTime = Nothing+    , _gsStatus = Nothing+    , _gsGameProperties = Nothing+    , _gsIPAddress = Nothing+    , _gsGameSessionId = Nothing+    , _gsMaximumPlayerSessionCount = Nothing+    , _gsTerminationTime = Nothing+    , _gsPlayerSessionCreationPolicy = Nothing+    , _gsName = Nothing+    , _gsCurrentPlayerSessionCount = Nothing+    , _gsFleetId = Nothing+    }++-- | Time stamp indicating when this object was created. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+gsCreationTime :: Lens' GameSession (Maybe UTCTime)+gsCreationTime = lens _gsCreationTime (\ s a -> s{_gsCreationTime = a}) . mapping _Time;++-- | Current status of the game session. A game session must be in an ACTIVE+-- state to have player sessions.+gsStatus :: Lens' GameSession (Maybe GameSessionStatus)+gsStatus = lens _gsStatus (\ s a -> s{_gsStatus = a});++-- | Set of custom properties for the game session.+gsGameProperties :: Lens' GameSession [GameProperty]+gsGameProperties = lens _gsGameProperties (\ s a -> s{_gsGameProperties = a}) . _Default . _Coerce;++-- | IP address of the game session.+gsIPAddress :: Lens' GameSession (Maybe Text)+gsIPAddress = lens _gsIPAddress (\ s a -> s{_gsIPAddress = a});++-- | Unique identifier for a game session.+gsGameSessionId :: Lens' GameSession (Maybe Text)+gsGameSessionId = lens _gsGameSessionId (\ s a -> s{_gsGameSessionId = a});++-- | Maximum number of players allowed in the game session.+gsMaximumPlayerSessionCount :: Lens' GameSession (Maybe Natural)+gsMaximumPlayerSessionCount = lens _gsMaximumPlayerSessionCount (\ s a -> s{_gsMaximumPlayerSessionCount = a}) . mapping _Nat;++-- | Time stamp indicating when this fleet was terminated. Format is an+-- integer representing the number of seconds since the Unix epoch (Unix+-- time).+gsTerminationTime :: Lens' GameSession (Maybe UTCTime)+gsTerminationTime = lens _gsTerminationTime (\ s a -> s{_gsTerminationTime = a}) . mapping _Time;++-- | Indicates whether or not the game session is accepting new players.+gsPlayerSessionCreationPolicy :: Lens' GameSession (Maybe PlayerSessionCreationPolicy)+gsPlayerSessionCreationPolicy = lens _gsPlayerSessionCreationPolicy (\ s a -> s{_gsPlayerSessionCreationPolicy = a});++-- | Descriptive label associated with this game session. Session names do+-- not need to be unique.+gsName :: Lens' GameSession (Maybe Text)+gsName = lens _gsName (\ s a -> s{_gsName = a});++-- | Number of players currently in the game session.+gsCurrentPlayerSessionCount :: Lens' GameSession (Maybe Natural)+gsCurrentPlayerSessionCount = lens _gsCurrentPlayerSessionCount (\ s a -> s{_gsCurrentPlayerSessionCount = a}) . mapping _Nat;++-- | Unique identifier for a fleet.+gsFleetId :: Lens' GameSession (Maybe Text)+gsFleetId = lens _gsFleetId (\ s a -> s{_gsFleetId = a});++instance FromJSON GameSession where+        parseJSON+          = withObject "GameSession"+              (\ x ->+                 GameSession' <$>+                   (x .:? "CreationTime") <*> (x .:? "Status") <*>+                     (x .:? "GameProperties" .!= mempty)+                     <*> (x .:? "IpAddress")+                     <*> (x .:? "GameSessionId")+                     <*> (x .:? "MaximumPlayerSessionCount")+                     <*> (x .:? "TerminationTime")+                     <*> (x .:? "PlayerSessionCreationPolicy")+                     <*> (x .:? "Name")+                     <*> (x .:? "CurrentPlayerSessionCount")+                     <*> (x .:? "FleetId"))++instance Hashable GameSession++-- | A game session\'s properties and the protection policy currently in+-- force.+--+-- /See:/ 'gameSessionDetail' smart constructor.+data GameSessionDetail = GameSessionDetail'+    { _gsdGameSession      :: !(Maybe GameSession)+    , _gsdProtectionPolicy :: !(Maybe ProtectionPolicy)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GameSessionDetail' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsdGameSession'+--+-- * 'gsdProtectionPolicy'+gameSessionDetail+    :: GameSessionDetail+gameSessionDetail =+    GameSessionDetail'+    { _gsdGameSession = Nothing+    , _gsdProtectionPolicy = Nothing+    }++-- | Undocumented member.+gsdGameSession :: Lens' GameSessionDetail (Maybe GameSession)+gsdGameSession = lens _gsdGameSession (\ s a -> s{_gsdGameSession = a});++-- | Current status of protection for the game session.+--+-- -   NoProtection: The game session can be terminated during a scale-down+--     event.+-- -   FullProtection: If the game session is in an ACTIVE status, it+--     cannot be terminated during a scale-down event.+gsdProtectionPolicy :: Lens' GameSessionDetail (Maybe ProtectionPolicy)+gsdProtectionPolicy = lens _gsdProtectionPolicy (\ s a -> s{_gsdProtectionPolicy = a});++instance FromJSON GameSessionDetail where+        parseJSON+          = withObject "GameSessionDetail"+              (\ x ->+                 GameSessionDetail' <$>+                   (x .:? "GameSession") <*> (x .:? "ProtectionPolicy"))++instance Hashable GameSessionDetail++-- | IP addresses and port settings used to limit access by incoming traffic+-- (players) to a fleet. Permissions specify a range of IP addresses and+-- port settings that must be used to gain access to a game server on a+-- fleet machine.+--+-- /See:/ 'ipPermission' smart constructor.+data IPPermission = IPPermission'+    { _ipFromPort :: !Nat+    , _ipToPort   :: !Nat+    , _ipIPRange  :: !Text+    , _ipProtocol :: !IPProtocol+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IPPermission' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipFromPort'+--+-- * 'ipToPort'+--+-- * 'ipIPRange'+--+-- * 'ipProtocol'+ipPermission+    :: Natural -- ^ 'ipFromPort'+    -> Natural -- ^ 'ipToPort'+    -> Text -- ^ 'ipIPRange'+    -> IPProtocol -- ^ 'ipProtocol'+    -> IPPermission+ipPermission pFromPort_ pToPort_ pIPRange_ pProtocol_ =+    IPPermission'+    { _ipFromPort = _Nat # pFromPort_+    , _ipToPort = _Nat # pToPort_+    , _ipIPRange = pIPRange_+    , _ipProtocol = pProtocol_+    }++-- | Starting value for a range of allowed port numbers.+ipFromPort :: Lens' IPPermission Natural+ipFromPort = lens _ipFromPort (\ s a -> s{_ipFromPort = a}) . _Nat;++-- | Ending value for a range of allowed port numbers. Port numbers are+-- end-inclusive. This value must be higher than /FromPort/.+ipToPort :: Lens' IPPermission Natural+ipToPort = lens _ipToPort (\ s a -> s{_ipToPort = a}) . _Nat;++-- | Range of allowed IP addresses. This value must be expressed in+-- <https://tools.ietf.org/id/cidr CIDR notation>. Example:+-- \"'000.000.000.000\/[subnet mask]'\" or optionally the shortened version+-- \"'0.0.0.0\/[subnet mask]'\".+ipIPRange :: Lens' IPPermission Text+ipIPRange = lens _ipIPRange (\ s a -> s{_ipIPRange = a});++-- | Network communication protocol used by the fleet.+ipProtocol :: Lens' IPPermission IPProtocol+ipProtocol = lens _ipProtocol (\ s a -> s{_ipProtocol = a});++instance FromJSON IPPermission where+        parseJSON+          = withObject "IPPermission"+              (\ x ->+                 IPPermission' <$>+                   (x .: "FromPort") <*> (x .: "ToPort") <*>+                     (x .: "IpRange")+                     <*> (x .: "Protocol"))++instance Hashable IPPermission++instance ToJSON IPPermission where+        toJSON IPPermission'{..}+          = object+              (catMaybes+                 [Just ("FromPort" .= _ipFromPort),+                  Just ("ToPort" .= _ipToPort),+                  Just ("IpRange" .= _ipIPRange),+                  Just ("Protocol" .= _ipProtocol)])++-- | Properties describing a player session.+--+-- /See:/ 'playerSession' smart constructor.+data PlayerSession = PlayerSession'+    { _psCreationTime    :: !(Maybe POSIX)+    , _psStatus          :: !(Maybe PlayerSessionStatus)+    , _psIPAddress       :: !(Maybe Text)+    , _psGameSessionId   :: !(Maybe Text)+    , _psTerminationTime :: !(Maybe POSIX)+    , _psPlayerSessionId :: !(Maybe Text)+    , _psFleetId         :: !(Maybe Text)+    , _psPlayerId        :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PlayerSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'psCreationTime'+--+-- * 'psStatus'+--+-- * 'psIPAddress'+--+-- * 'psGameSessionId'+--+-- * 'psTerminationTime'+--+-- * 'psPlayerSessionId'+--+-- * 'psFleetId'+--+-- * 'psPlayerId'+playerSession+    :: PlayerSession+playerSession =+    PlayerSession'+    { _psCreationTime = Nothing+    , _psStatus = Nothing+    , _psIPAddress = Nothing+    , _psGameSessionId = Nothing+    , _psTerminationTime = Nothing+    , _psPlayerSessionId = Nothing+    , _psFleetId = Nothing+    , _psPlayerId = Nothing+    }++-- | Time stamp indicating when this object was created. Format is an integer+-- representing the number of seconds since the Unix epoch (Unix time).+psCreationTime :: Lens' PlayerSession (Maybe UTCTime)+psCreationTime = lens _psCreationTime (\ s a -> s{_psCreationTime = a}) . mapping _Time;++-- | Current status of the player session. Possible player session states+-- include:+--+-- -   RESERVED: The player session request has been received, but the+--     player has not yet connected to the game server and\/or been+--     validated.+-- -   ACTIVE: The player has been validated by the game server and is+--     currently connected.+-- -   COMPLETED: The player connection has been dropped.+-- -   TIMEDOUT: A player session request was received, but the player did+--     not connect and\/or was not validated within the time-out limit (60+--     seconds).+psStatus :: Lens' PlayerSession (Maybe PlayerSessionStatus)+psStatus = lens _psStatus (\ s a -> s{_psStatus = a});++-- | Game session IP address. All player sessions reference the game session+-- location.+psIPAddress :: Lens' PlayerSession (Maybe Text)+psIPAddress = lens _psIPAddress (\ s a -> s{_psIPAddress = a});++-- | Unique identifier for a game session.+psGameSessionId :: Lens' PlayerSession (Maybe Text)+psGameSessionId = lens _psGameSessionId (\ s a -> s{_psGameSessionId = a});++-- | Time stamp indicating when this fleet was terminated. Format is an+-- integer representing the number of seconds since the Unix epoch (Unix+-- time).+psTerminationTime :: Lens' PlayerSession (Maybe UTCTime)+psTerminationTime = lens _psTerminationTime (\ s a -> s{_psTerminationTime = a}) . mapping _Time;++-- | Unique identifier for a player session.+psPlayerSessionId :: Lens' PlayerSession (Maybe Text)+psPlayerSessionId = lens _psPlayerSessionId (\ s a -> s{_psPlayerSessionId = a});++-- | Unique identifier for a fleet.+psFleetId :: Lens' PlayerSession (Maybe Text)+psFleetId = lens _psFleetId (\ s a -> s{_psFleetId = a});++-- | Unique identifier for a player.+psPlayerId :: Lens' PlayerSession (Maybe Text)+psPlayerId = lens _psPlayerId (\ s a -> s{_psPlayerId = a});++instance FromJSON PlayerSession where+        parseJSON+          = withObject "PlayerSession"+              (\ x ->+                 PlayerSession' <$>+                   (x .:? "CreationTime") <*> (x .:? "Status") <*>+                     (x .:? "IpAddress")+                     <*> (x .:? "GameSessionId")+                     <*> (x .:? "TerminationTime")+                     <*> (x .:? "PlayerSessionId")+                     <*> (x .:? "FleetId")+                     <*> (x .:? "PlayerId"))++instance Hashable PlayerSession++-- | Routing configuration for a fleet alias.+--+-- /See:/ 'routingStrategy' smart constructor.+data RoutingStrategy = RoutingStrategy'+    { _rsType    :: !(Maybe RoutingStrategyType)+    , _rsMessage :: !(Maybe Text)+    , _rsFleetId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutingStrategy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsType'+--+-- * 'rsMessage'+--+-- * 'rsFleetId'+routingStrategy+    :: RoutingStrategy+routingStrategy =+    RoutingStrategy'+    { _rsType = Nothing+    , _rsMessage = Nothing+    , _rsFleetId = Nothing+    }++-- | Type of routing strategy. Possible routing types include:+--+-- -   SIMPLE: The alias resolves to one specific fleet. Use this type when+--     routing to active fleets.+-- -   TERMINAL: The alias does not resolve to a fleet but instead can be+--     used to display a message to the user. A terminal alias throws a+--     TerminalRoutingStrategyException with the < RoutingStrategy> message+--     embedded.+rsType :: Lens' RoutingStrategy (Maybe RoutingStrategyType)+rsType = lens _rsType (\ s a -> s{_rsType = a});++-- | Message text to be used with a terminal routing strategy.+rsMessage :: Lens' RoutingStrategy (Maybe Text)+rsMessage = lens _rsMessage (\ s a -> s{_rsMessage = a});++-- | Unique identifier for a fleet.+rsFleetId :: Lens' RoutingStrategy (Maybe Text)+rsFleetId = lens _rsFleetId (\ s a -> s{_rsFleetId = a});++instance FromJSON RoutingStrategy where+        parseJSON+          = withObject "RoutingStrategy"+              (\ x ->+                 RoutingStrategy' <$>+                   (x .:? "Type") <*> (x .:? "Message") <*>+                     (x .:? "FleetId"))++instance Hashable RoutingStrategy++instance ToJSON RoutingStrategy where+        toJSON RoutingStrategy'{..}+          = object+              (catMaybes+                 [("Type" .=) <$> _rsType,+                  ("Message" .=) <$> _rsMessage,+                  ("FleetId" .=) <$> _rsFleetId])++-- | Location in Amazon Simple Storage Service (Amazon S3) where a build\'s+-- files are stored. This location is assigned in response to a+-- < CreateBuild> call, and is always in the same region as the service+-- used to create the build. For more details see the+-- <http://aws.amazon.com/documentation/s3/ Amazon S3 documentation>.+--+-- /See:/ 's3Location' smart constructor.+data S3Location = S3Location'+    { _slBucket  :: !(Maybe Text)+    , _slKey     :: !(Maybe Text)+    , _slRoleARN :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'S3Location' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slBucket'+--+-- * 'slKey'+--+-- * 'slRoleARN'+s3Location+    :: S3Location+s3Location =+    S3Location'+    { _slBucket = Nothing+    , _slKey = Nothing+    , _slRoleARN = Nothing+    }++-- | Amazon S3 bucket identifier.+slBucket :: Lens' S3Location (Maybe Text)+slBucket = lens _slBucket (\ s a -> s{_slBucket = a});++-- | Amazon S3 bucket key.+slKey :: Lens' S3Location (Maybe Text)+slKey = lens _slKey (\ s a -> s{_slKey = a});++-- | Undocumented member.+slRoleARN :: Lens' S3Location (Maybe Text)+slRoleARN = lens _slRoleARN (\ s a -> s{_slRoleARN = a});++instance FromJSON S3Location where+        parseJSON+          = withObject "S3Location"+              (\ x ->+                 S3Location' <$>+                   (x .:? "Bucket") <*> (x .:? "Key") <*>+                     (x .:? "RoleArn"))++instance Hashable S3Location++instance ToJSON S3Location where+        toJSON S3Location'{..}+          = object+              (catMaybes+                 [("Bucket" .=) <$> _slBucket, ("Key" .=) <$> _slKey,+                  ("RoleArn" .=) <$> _slRoleARN])++-- | Rule that controls how a fleet is scaled. Scaling policies are uniquely+-- identified by the combination of name and fleet ID.+--+-- /See:/ 'scalingPolicy' smart constructor.+data ScalingPolicy = ScalingPolicy'+    { _spStatus                :: !(Maybe ScalingStatusType)+    , _spScalingAdjustmentType :: !(Maybe ScalingAdjustmentType)+    , _spEvaluationPeriods     :: !(Maybe Nat)+    , _spMetricName            :: !(Maybe MetricName)+    , _spComparisonOperator    :: !(Maybe ComparisonOperatorType)+    , _spName                  :: !(Maybe Text)+    , _spThreshold             :: !(Maybe Double)+    , _spScalingAdjustment     :: !(Maybe Int)+    , _spFleetId               :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ScalingPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spStatus'+--+-- * 'spScalingAdjustmentType'+--+-- * 'spEvaluationPeriods'+--+-- * 'spMetricName'+--+-- * 'spComparisonOperator'+--+-- * 'spName'+--+-- * 'spThreshold'+--+-- * 'spScalingAdjustment'+--+-- * 'spFleetId'+scalingPolicy+    :: ScalingPolicy+scalingPolicy =+    ScalingPolicy'+    { _spStatus = Nothing+    , _spScalingAdjustmentType = Nothing+    , _spEvaluationPeriods = Nothing+    , _spMetricName = Nothing+    , _spComparisonOperator = Nothing+    , _spName = Nothing+    , _spThreshold = Nothing+    , _spScalingAdjustment = Nothing+    , _spFleetId = Nothing+    }++-- | Current status of the scaling policy. The scaling policy is only in+-- force when in an Active state.+--+-- -   ACTIVE: The scaling policy is currently in force.+-- -   UPDATEREQUESTED: A request to update the scaling policy has been+--     received.+-- -   UPDATING: A change is being made to the scaling policy.+-- -   DELETEREQUESTED: A request to delete the scaling policy has been+--     received.+-- -   DELETING: The scaling policy is being deleted.+-- -   DELETED: The scaling policy has been deleted.+-- -   ERROR: An error occurred in creating the policy. It should be+--     removed and recreated.+spStatus :: Lens' ScalingPolicy (Maybe ScalingStatusType)+spStatus = lens _spStatus (\ s a -> s{_spStatus = a});++-- | Type of adjustment to make to a fleet\'s instance count (see+-- < FleetCapacity>):+--+-- -   ChangeInCapacity: add (or subtract) the scaling adjustment value+--     from the current instance count. Positive values scale up while+--     negative values scale down.+-- -   ExactCapacity: set the instance count to the scaling adjustment+--     value.+-- -   PercentChangeInCapacity: increase or reduce the current instance+--     count by the scaling adjustment, read as a percentage. Positive+--     values scale up while negative values scale down.+spScalingAdjustmentType :: Lens' ScalingPolicy (Maybe ScalingAdjustmentType)+spScalingAdjustmentType = lens _spScalingAdjustmentType (\ s a -> s{_spScalingAdjustmentType = a});++-- | Length of time (in minutes) the metric must be at or beyond the+-- threshold before a scaling event is triggered.+spEvaluationPeriods :: Lens' ScalingPolicy (Maybe Natural)+spEvaluationPeriods = lens _spEvaluationPeriods (\ s a -> s{_spEvaluationPeriods = a}) . mapping _Nat;++-- | Name of the GameLift-defined metric that is used to trigger an+-- adjustment.+--+-- -   ActivatingGameSessions: number of game sessions in the process of+--     being created (game session status = ACTIVATING).+-- -   ActiveGameSessions: number of game sessions currently running (game+--     session status = ACTIVE).+-- -   CurrentPlayerSessions: number of active or reserved player sessions+--     (player session status = ACTIVE or RESERVED).+-- -   AvailablePlayerSessions: number of player session slots currently+--     available in active game sessions across the fleet, calculated by+--     subtracting a game session\'s current player session count from its+--     maximum player session count. This number does include game sessions+--     that are not currently accepting players (game session+--     PlayerSessionCreationPolicy = DENY_ALL).+-- -   ActiveInstances: number of instances currently running a game+--     session.+-- -   IdleInstances: number of instances not currently running a game+--     session.+spMetricName :: Lens' ScalingPolicy (Maybe MetricName)+spMetricName = lens _spMetricName (\ s a -> s{_spMetricName = a});++-- | Comparison operator to use when measuring a metric against the threshold+-- value.+spComparisonOperator :: Lens' ScalingPolicy (Maybe ComparisonOperatorType)+spComparisonOperator = lens _spComparisonOperator (\ s a -> s{_spComparisonOperator = a});++-- | Descriptive label associated with this scaling policy. Policy names do+-- not need to be unique.+spName :: Lens' ScalingPolicy (Maybe Text)+spName = lens _spName (\ s a -> s{_spName = a});++-- | Metric value used to trigger a scaling event.+spThreshold :: Lens' ScalingPolicy (Maybe Double)+spThreshold = lens _spThreshold (\ s a -> s{_spThreshold = a});++-- | Amount of adjustment to make, based on the scaling adjustment type.+spScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)+spScalingAdjustment = lens _spScalingAdjustment (\ s a -> s{_spScalingAdjustment = a});++-- | Unique identity for the fleet associated with this scaling policy.+spFleetId :: Lens' ScalingPolicy (Maybe Text)+spFleetId = lens _spFleetId (\ s a -> s{_spFleetId = a});++instance FromJSON ScalingPolicy where+        parseJSON+          = withObject "ScalingPolicy"+              (\ x ->+                 ScalingPolicy' <$>+                   (x .:? "Status") <*> (x .:? "ScalingAdjustmentType")+                     <*> (x .:? "EvaluationPeriods")+                     <*> (x .:? "MetricName")+                     <*> (x .:? "ComparisonOperator")+                     <*> (x .:? "Name")+                     <*> (x .:? "Threshold")+                     <*> (x .:? "ScalingAdjustment")+                     <*> (x .:? "FleetId"))++instance Hashable ScalingPolicy
+ gen/Network/AWS/GameLift/Types/Sum.hs view
@@ -0,0 +1,598 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.Types.Sum+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.GameLift.Types.Sum where++import           Network.AWS.Prelude++data BuildStatus+    = Failed+    | Initialized+    | Ready+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText BuildStatus where+    parser = takeLowerText >>= \case+        "failed" -> pure Failed+        "initialized" -> pure Initialized+        "ready" -> pure Ready+        e -> fromTextError $ "Failure parsing BuildStatus from value: '" <> e+           <> "'. Accepted values: FAILED, INITIALIZED, READY"++instance ToText BuildStatus where+    toText = \case+        Failed -> "FAILED"+        Initialized -> "INITIALIZED"+        Ready -> "READY"++instance Hashable     BuildStatus+instance ToByteString BuildStatus+instance ToQuery      BuildStatus+instance ToHeader     BuildStatus++instance ToJSON BuildStatus where+    toJSON = toJSONText++instance FromJSON BuildStatus where+    parseJSON = parseJSONText "BuildStatus"++data ComparisonOperatorType+    = GreaterThanOrEqualToThreshold+    | GreaterThanThreshold+    | LessThanOrEqualToThreshold+    | LessThanThreshold+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ComparisonOperatorType where+    parser = takeLowerText >>= \case+        "greaterthanorequaltothreshold" -> pure GreaterThanOrEqualToThreshold+        "greaterthanthreshold" -> pure GreaterThanThreshold+        "lessthanorequaltothreshold" -> pure LessThanOrEqualToThreshold+        "lessthanthreshold" -> pure LessThanThreshold+        e -> fromTextError $ "Failure parsing ComparisonOperatorType from value: '" <> e+           <> "'. Accepted values: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanOrEqualToThreshold, LessThanThreshold"++instance ToText ComparisonOperatorType where+    toText = \case+        GreaterThanOrEqualToThreshold -> "GreaterThanOrEqualToThreshold"+        GreaterThanThreshold -> "GreaterThanThreshold"+        LessThanOrEqualToThreshold -> "LessThanOrEqualToThreshold"+        LessThanThreshold -> "LessThanThreshold"++instance Hashable     ComparisonOperatorType+instance ToByteString ComparisonOperatorType+instance ToQuery      ComparisonOperatorType+instance ToHeader     ComparisonOperatorType++instance ToJSON ComparisonOperatorType where+    toJSON = toJSONText++instance FromJSON ComparisonOperatorType where+    parseJSON = parseJSONText "ComparisonOperatorType"++data EC2InstanceType+    = C3_2XLarge+    | C3_4XLarge+    | C3_8XLarge+    | C3_Large+    | C3_XLarge+    | C4_2XLarge+    | C4_4XLarge+    | C4_8XLarge+    | C4_Large+    | C4_XLarge+    | M3_2XLarge+    | M3_Large+    | M3_Medium+    | M3_XLarge+    | M4_10XLarge+    | M4_2XLarge+    | M4_4XLarge+    | M4_Large+    | M4_XLarge+    | R3_2XLarge+    | R3_4XLarge+    | R3_8XLarge+    | R3_Large+    | R3_XLarge+    | T2_Large+    | T2_Medium+    | T2_Micro+    | T2_Small+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText EC2InstanceType where+    parser = takeLowerText >>= \case+        "c3.2xlarge" -> pure C3_2XLarge+        "c3.4xlarge" -> pure C3_4XLarge+        "c3.8xlarge" -> pure C3_8XLarge+        "c3.large" -> pure C3_Large+        "c3.xlarge" -> pure C3_XLarge+        "c4.2xlarge" -> pure C4_2XLarge+        "c4.4xlarge" -> pure C4_4XLarge+        "c4.8xlarge" -> pure C4_8XLarge+        "c4.large" -> pure C4_Large+        "c4.xlarge" -> pure C4_XLarge+        "m3.2xlarge" -> pure M3_2XLarge+        "m3.large" -> pure M3_Large+        "m3.medium" -> pure M3_Medium+        "m3.xlarge" -> pure M3_XLarge+        "m4.10xlarge" -> pure M4_10XLarge+        "m4.2xlarge" -> pure M4_2XLarge+        "m4.4xlarge" -> pure M4_4XLarge+        "m4.large" -> pure M4_Large+        "m4.xlarge" -> pure M4_XLarge+        "r3.2xlarge" -> pure R3_2XLarge+        "r3.4xlarge" -> pure R3_4XLarge+        "r3.8xlarge" -> pure R3_8XLarge+        "r3.large" -> pure R3_Large+        "r3.xlarge" -> pure R3_XLarge+        "t2.large" -> pure T2_Large+        "t2.medium" -> pure T2_Medium+        "t2.micro" -> pure T2_Micro+        "t2.small" -> pure T2_Small+        e -> fromTextError $ "Failure parsing EC2InstanceType from value: '" <> e+           <> "'. Accepted values: c3.2xlarge, c3.4xlarge, c3.8xlarge, c3.large, c3.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c4.large, c4.xlarge, m3.2xlarge, m3.large, m3.medium, m3.xlarge, m4.10xlarge, m4.2xlarge, m4.4xlarge, m4.large, m4.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r3.large, r3.xlarge, t2.large, t2.medium, t2.micro, t2.small"++instance ToText EC2InstanceType where+    toText = \case+        C3_2XLarge -> "c3.2xlarge"+        C3_4XLarge -> "c3.4xlarge"+        C3_8XLarge -> "c3.8xlarge"+        C3_Large -> "c3.large"+        C3_XLarge -> "c3.xlarge"+        C4_2XLarge -> "c4.2xlarge"+        C4_4XLarge -> "c4.4xlarge"+        C4_8XLarge -> "c4.8xlarge"+        C4_Large -> "c4.large"+        C4_XLarge -> "c4.xlarge"+        M3_2XLarge -> "m3.2xlarge"+        M3_Large -> "m3.large"+        M3_Medium -> "m3.medium"+        M3_XLarge -> "m3.xlarge"+        M4_10XLarge -> "m4.10xlarge"+        M4_2XLarge -> "m4.2xlarge"+        M4_4XLarge -> "m4.4xlarge"+        M4_Large -> "m4.large"+        M4_XLarge -> "m4.xlarge"+        R3_2XLarge -> "r3.2xlarge"+        R3_4XLarge -> "r3.4xlarge"+        R3_8XLarge -> "r3.8xlarge"+        R3_Large -> "r3.large"+        R3_XLarge -> "r3.xlarge"+        T2_Large -> "t2.large"+        T2_Medium -> "t2.medium"+        T2_Micro -> "t2.micro"+        T2_Small -> "t2.small"++instance Hashable     EC2InstanceType+instance ToByteString EC2InstanceType+instance ToQuery      EC2InstanceType+instance ToHeader     EC2InstanceType++instance ToJSON EC2InstanceType where+    toJSON = toJSONText++instance FromJSON EC2InstanceType where+    parseJSON = parseJSONText "EC2InstanceType"++data EventCode+    = FleetActivationFailed+    | FleetActivationFailedNoInstances+    | FleetBinaryDownloadFailed+    | FleetCreated+    | FleetDeleted+    | FleetInitializationFailed+    | FleetNewGameSessionProtectionPolicyUpdated+    | FleetScalingEvent+    | FleetStateActivating+    | FleetStateActive+    | FleetStateBuilding+    | FleetStateDownloading+    | FleetStateError+    | FleetStateValidating+    | FleetValidationExecutableRuntimeFailure+    | FleetValidationLaunchPathNotFound+    | FleetValidationTimedOut+    | GenericEvent+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText EventCode where+    parser = takeLowerText >>= \case+        "fleet_activation_failed" -> pure FleetActivationFailed+        "fleet_activation_failed_no_instances" -> pure FleetActivationFailedNoInstances+        "fleet_binary_download_failed" -> pure FleetBinaryDownloadFailed+        "fleet_created" -> pure FleetCreated+        "fleet_deleted" -> pure FleetDeleted+        "fleet_initialization_failed" -> pure FleetInitializationFailed+        "fleet_new_game_session_protection_policy_updated" -> pure FleetNewGameSessionProtectionPolicyUpdated+        "fleet_scaling_event" -> pure FleetScalingEvent+        "fleet_state_activating" -> pure FleetStateActivating+        "fleet_state_active" -> pure FleetStateActive+        "fleet_state_building" -> pure FleetStateBuilding+        "fleet_state_downloading" -> pure FleetStateDownloading+        "fleet_state_error" -> pure FleetStateError+        "fleet_state_validating" -> pure FleetStateValidating+        "fleet_validation_executable_runtime_failure" -> pure FleetValidationExecutableRuntimeFailure+        "fleet_validation_launch_path_not_found" -> pure FleetValidationLaunchPathNotFound+        "fleet_validation_timed_out" -> pure FleetValidationTimedOut+        "generic_event" -> pure GenericEvent+        e -> fromTextError $ "Failure parsing EventCode from value: '" <> e+           <> "'. Accepted values: FLEET_ACTIVATION_FAILED, FLEET_ACTIVATION_FAILED_NO_INSTANCES, FLEET_BINARY_DOWNLOAD_FAILED, FLEET_CREATED, FLEET_DELETED, FLEET_INITIALIZATION_FAILED, FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED, FLEET_SCALING_EVENT, FLEET_STATE_ACTIVATING, FLEET_STATE_ACTIVE, FLEET_STATE_BUILDING, FLEET_STATE_DOWNLOADING, FLEET_STATE_ERROR, FLEET_STATE_VALIDATING, FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE, FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND, FLEET_VALIDATION_TIMED_OUT, GENERIC_EVENT"++instance ToText EventCode where+    toText = \case+        FleetActivationFailed -> "FLEET_ACTIVATION_FAILED"+        FleetActivationFailedNoInstances -> "FLEET_ACTIVATION_FAILED_NO_INSTANCES"+        FleetBinaryDownloadFailed -> "FLEET_BINARY_DOWNLOAD_FAILED"+        FleetCreated -> "FLEET_CREATED"+        FleetDeleted -> "FLEET_DELETED"+        FleetInitializationFailed -> "FLEET_INITIALIZATION_FAILED"+        FleetNewGameSessionProtectionPolicyUpdated -> "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED"+        FleetScalingEvent -> "FLEET_SCALING_EVENT"+        FleetStateActivating -> "FLEET_STATE_ACTIVATING"+        FleetStateActive -> "FLEET_STATE_ACTIVE"+        FleetStateBuilding -> "FLEET_STATE_BUILDING"+        FleetStateDownloading -> "FLEET_STATE_DOWNLOADING"+        FleetStateError -> "FLEET_STATE_ERROR"+        FleetStateValidating -> "FLEET_STATE_VALIDATING"+        FleetValidationExecutableRuntimeFailure -> "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE"+        FleetValidationLaunchPathNotFound -> "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND"+        FleetValidationTimedOut -> "FLEET_VALIDATION_TIMED_OUT"+        GenericEvent -> "GENERIC_EVENT"++instance Hashable     EventCode+instance ToByteString EventCode+instance ToQuery      EventCode+instance ToHeader     EventCode++instance FromJSON EventCode where+    parseJSON = parseJSONText "EventCode"++data FleetStatus+    = FSActivating+    | FSActive+    | FSBuilding+    | FSDeleting+    | FSDownloading+    | FSError'+    | FSNew+    | FSTerminated+    | FSValidating+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText FleetStatus where+    parser = takeLowerText >>= \case+        "activating" -> pure FSActivating+        "active" -> pure FSActive+        "building" -> pure FSBuilding+        "deleting" -> pure FSDeleting+        "downloading" -> pure FSDownloading+        "error" -> pure FSError'+        "new" -> pure FSNew+        "terminated" -> pure FSTerminated+        "validating" -> pure FSValidating+        e -> fromTextError $ "Failure parsing FleetStatus from value: '" <> e+           <> "'. Accepted values: ACTIVATING, ACTIVE, BUILDING, DELETING, DOWNLOADING, ERROR, NEW, TERMINATED, VALIDATING"++instance ToText FleetStatus where+    toText = \case+        FSActivating -> "ACTIVATING"+        FSActive -> "ACTIVE"+        FSBuilding -> "BUILDING"+        FSDeleting -> "DELETING"+        FSDownloading -> "DOWNLOADING"+        FSError' -> "ERROR"+        FSNew -> "NEW"+        FSTerminated -> "TERMINATED"+        FSValidating -> "VALIDATING"++instance Hashable     FleetStatus+instance ToByteString FleetStatus+instance ToQuery      FleetStatus+instance ToHeader     FleetStatus++instance FromJSON FleetStatus where+    parseJSON = parseJSONText "FleetStatus"++data GameSessionStatus+    = GSSActivating+    | GSSActive+    | GSSTerminated+    | GSSTerminating+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText GameSessionStatus where+    parser = takeLowerText >>= \case+        "activating" -> pure GSSActivating+        "active" -> pure GSSActive+        "terminated" -> pure GSSTerminated+        "terminating" -> pure GSSTerminating+        e -> fromTextError $ "Failure parsing GameSessionStatus from value: '" <> e+           <> "'. Accepted values: ACTIVATING, ACTIVE, TERMINATED, TERMINATING"++instance ToText GameSessionStatus where+    toText = \case+        GSSActivating -> "ACTIVATING"+        GSSActive -> "ACTIVE"+        GSSTerminated -> "TERMINATED"+        GSSTerminating -> "TERMINATING"++instance Hashable     GameSessionStatus+instance ToByteString GameSessionStatus+instance ToQuery      GameSessionStatus+instance ToHeader     GameSessionStatus++instance FromJSON GameSessionStatus where+    parseJSON = parseJSONText "GameSessionStatus"++data IPProtocol+    = TCP+    | Udp+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText IPProtocol where+    parser = takeLowerText >>= \case+        "tcp" -> pure TCP+        "udp" -> pure Udp+        e -> fromTextError $ "Failure parsing IPProtocol from value: '" <> e+           <> "'. Accepted values: TCP, UDP"++instance ToText IPProtocol where+    toText = \case+        TCP -> "TCP"+        Udp -> "UDP"++instance Hashable     IPProtocol+instance ToByteString IPProtocol+instance ToQuery      IPProtocol+instance ToHeader     IPProtocol++instance ToJSON IPProtocol where+    toJSON = toJSONText++instance FromJSON IPProtocol where+    parseJSON = parseJSONText "IPProtocol"++data MetricName+    = ActivatingGameSessions+    | ActiveGameSessions+    | ActiveInstances+    | AvailablePlayerSessions+    | CurrentPlayerSessions+    | IdleInstances+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText MetricName where+    parser = takeLowerText >>= \case+        "activatinggamesessions" -> pure ActivatingGameSessions+        "activegamesessions" -> pure ActiveGameSessions+        "activeinstances" -> pure ActiveInstances+        "availableplayersessions" -> pure AvailablePlayerSessions+        "currentplayersessions" -> pure CurrentPlayerSessions+        "idleinstances" -> pure IdleInstances+        e -> fromTextError $ "Failure parsing MetricName from value: '" <> e+           <> "'. Accepted values: ActivatingGameSessions, ActiveGameSessions, ActiveInstances, AvailablePlayerSessions, CurrentPlayerSessions, IdleInstances"++instance ToText MetricName where+    toText = \case+        ActivatingGameSessions -> "ActivatingGameSessions"+        ActiveGameSessions -> "ActiveGameSessions"+        ActiveInstances -> "ActiveInstances"+        AvailablePlayerSessions -> "AvailablePlayerSessions"+        CurrentPlayerSessions -> "CurrentPlayerSessions"+        IdleInstances -> "IdleInstances"++instance Hashable     MetricName+instance ToByteString MetricName+instance ToQuery      MetricName+instance ToHeader     MetricName++instance ToJSON MetricName where+    toJSON = toJSONText++instance FromJSON MetricName where+    parseJSON = parseJSONText "MetricName"++data PlayerSessionCreationPolicy+    = AcceptAll+    | DenyAll+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText PlayerSessionCreationPolicy where+    parser = takeLowerText >>= \case+        "accept_all" -> pure AcceptAll+        "deny_all" -> pure DenyAll+        e -> fromTextError $ "Failure parsing PlayerSessionCreationPolicy from value: '" <> e+           <> "'. Accepted values: ACCEPT_ALL, DENY_ALL"++instance ToText PlayerSessionCreationPolicy where+    toText = \case+        AcceptAll -> "ACCEPT_ALL"+        DenyAll -> "DENY_ALL"++instance Hashable     PlayerSessionCreationPolicy+instance ToByteString PlayerSessionCreationPolicy+instance ToQuery      PlayerSessionCreationPolicy+instance ToHeader     PlayerSessionCreationPolicy++instance ToJSON PlayerSessionCreationPolicy where+    toJSON = toJSONText++instance FromJSON PlayerSessionCreationPolicy where+    parseJSON = parseJSONText "PlayerSessionCreationPolicy"++data PlayerSessionStatus+    = PSSActive+    | PSSCompleted+    | PSSReserved+    | PSSTimedout+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText PlayerSessionStatus where+    parser = takeLowerText >>= \case+        "active" -> pure PSSActive+        "completed" -> pure PSSCompleted+        "reserved" -> pure PSSReserved+        "timedout" -> pure PSSTimedout+        e -> fromTextError $ "Failure parsing PlayerSessionStatus from value: '" <> e+           <> "'. Accepted values: ACTIVE, COMPLETED, RESERVED, TIMEDOUT"++instance ToText PlayerSessionStatus where+    toText = \case+        PSSActive -> "ACTIVE"+        PSSCompleted -> "COMPLETED"+        PSSReserved -> "RESERVED"+        PSSTimedout -> "TIMEDOUT"++instance Hashable     PlayerSessionStatus+instance ToByteString PlayerSessionStatus+instance ToQuery      PlayerSessionStatus+instance ToHeader     PlayerSessionStatus++instance FromJSON PlayerSessionStatus where+    parseJSON = parseJSONText "PlayerSessionStatus"++data ProtectionPolicy+    = FullProtection+    | NoProtection+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ProtectionPolicy where+    parser = takeLowerText >>= \case+        "fullprotection" -> pure FullProtection+        "noprotection" -> pure NoProtection+        e -> fromTextError $ "Failure parsing ProtectionPolicy from value: '" <> e+           <> "'. Accepted values: FullProtection, NoProtection"++instance ToText ProtectionPolicy where+    toText = \case+        FullProtection -> "FullProtection"+        NoProtection -> "NoProtection"++instance Hashable     ProtectionPolicy+instance ToByteString ProtectionPolicy+instance ToQuery      ProtectionPolicy+instance ToHeader     ProtectionPolicy++instance ToJSON ProtectionPolicy where+    toJSON = toJSONText++instance FromJSON ProtectionPolicy where+    parseJSON = parseJSONText "ProtectionPolicy"++data RoutingStrategyType+    = Simple+    | Terminal+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText RoutingStrategyType where+    parser = takeLowerText >>= \case+        "simple" -> pure Simple+        "terminal" -> pure Terminal+        e -> fromTextError $ "Failure parsing RoutingStrategyType from value: '" <> e+           <> "'. Accepted values: SIMPLE, TERMINAL"++instance ToText RoutingStrategyType where+    toText = \case+        Simple -> "SIMPLE"+        Terminal -> "TERMINAL"++instance Hashable     RoutingStrategyType+instance ToByteString RoutingStrategyType+instance ToQuery      RoutingStrategyType+instance ToHeader     RoutingStrategyType++instance ToJSON RoutingStrategyType where+    toJSON = toJSONText++instance FromJSON RoutingStrategyType where+    parseJSON = parseJSONText "RoutingStrategyType"++data ScalingAdjustmentType+    = ChangeInCapacity+    | ExactCapacity+    | PercentChangeInCapacity+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ScalingAdjustmentType where+    parser = takeLowerText >>= \case+        "changeincapacity" -> pure ChangeInCapacity+        "exactcapacity" -> pure ExactCapacity+        "percentchangeincapacity" -> pure PercentChangeInCapacity+        e -> fromTextError $ "Failure parsing ScalingAdjustmentType from value: '" <> e+           <> "'. Accepted values: ChangeInCapacity, ExactCapacity, PercentChangeInCapacity"++instance ToText ScalingAdjustmentType where+    toText = \case+        ChangeInCapacity -> "ChangeInCapacity"+        ExactCapacity -> "ExactCapacity"+        PercentChangeInCapacity -> "PercentChangeInCapacity"++instance Hashable     ScalingAdjustmentType+instance ToByteString ScalingAdjustmentType+instance ToQuery      ScalingAdjustmentType+instance ToHeader     ScalingAdjustmentType++instance ToJSON ScalingAdjustmentType where+    toJSON = toJSONText++instance FromJSON ScalingAdjustmentType where+    parseJSON = parseJSONText "ScalingAdjustmentType"++data ScalingStatusType+    = Active+    | DeleteRequested+    | Deleted+    | Deleting+    | Error'+    | UpdateRequested+    | Updating+    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)++instance FromText ScalingStatusType where+    parser = takeLowerText >>= \case+        "active" -> pure Active+        "delete_requested" -> pure DeleteRequested+        "deleted" -> pure Deleted+        "deleting" -> pure Deleting+        "error" -> pure Error'+        "update_requested" -> pure UpdateRequested+        "updating" -> pure Updating+        e -> fromTextError $ "Failure parsing ScalingStatusType from value: '" <> e+           <> "'. Accepted values: ACTIVE, DELETE_REQUESTED, DELETED, DELETING, ERROR, UPDATE_REQUESTED, UPDATING"++instance ToText ScalingStatusType where+    toText = \case+        Active -> "ACTIVE"+        DeleteRequested -> "DELETE_REQUESTED"+        Deleted -> "DELETED"+        Deleting -> "DELETING"+        Error' -> "ERROR"+        UpdateRequested -> "UPDATE_REQUESTED"+        Updating -> "UPDATING"++instance Hashable     ScalingStatusType+instance ToByteString ScalingStatusType+instance ToQuery      ScalingStatusType+instance ToHeader     ScalingStatusType++instance ToJSON ScalingStatusType where+    toJSON = toJSONText++instance FromJSON ScalingStatusType where+    parseJSON = parseJSONText "ScalingStatusType"
+ gen/Network/AWS/GameLift/UpdateAlias.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateAlias+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates properties for an alias. To update properties, specify the alias+-- ID to be updated and provide the information to be changed. To reassign+-- an alias to another fleet, provide an updated routing strategy. If+-- successful, the updated alias record is returned.+module Network.AWS.GameLift.UpdateAlias+    (+    -- * Creating a Request+      updateAlias+    , UpdateAlias+    -- * Request Lenses+    , uaRoutingStrategy+    , uaName+    , uaDescription+    , uaAliasId++    -- * Destructuring the Response+    , updateAliasResponse+    , UpdateAliasResponse+    -- * Response Lenses+    , uarsAlias+    , uarsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateAlias' smart constructor.+data UpdateAlias = UpdateAlias'+    { _uaRoutingStrategy :: !(Maybe RoutingStrategy)+    , _uaName            :: !(Maybe Text)+    , _uaDescription     :: !(Maybe Text)+    , _uaAliasId         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uaRoutingStrategy'+--+-- * 'uaName'+--+-- * 'uaDescription'+--+-- * 'uaAliasId'+updateAlias+    :: Text -- ^ 'uaAliasId'+    -> UpdateAlias+updateAlias pAliasId_ =+    UpdateAlias'+    { _uaRoutingStrategy = Nothing+    , _uaName = Nothing+    , _uaDescription = Nothing+    , _uaAliasId = pAliasId_+    }++-- | Object specifying the fleet and routing type to use for the alias.+uaRoutingStrategy :: Lens' UpdateAlias (Maybe RoutingStrategy)+uaRoutingStrategy = lens _uaRoutingStrategy (\ s a -> s{_uaRoutingStrategy = a});++-- | Descriptive label associated with this alias. Alias names do not need to+-- be unique.+uaName :: Lens' UpdateAlias (Maybe Text)+uaName = lens _uaName (\ s a -> s{_uaName = a});++-- | Human-readable description of the alias.+uaDescription :: Lens' UpdateAlias (Maybe Text)+uaDescription = lens _uaDescription (\ s a -> s{_uaDescription = a});++-- | Unique identifier for a fleet alias. Specify the alias you want to+-- update.+uaAliasId :: Lens' UpdateAlias Text+uaAliasId = lens _uaAliasId (\ s a -> s{_uaAliasId = a});++instance AWSRequest UpdateAlias where+        type Rs UpdateAlias = UpdateAliasResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateAliasResponse' <$>+                   (x .?> "Alias") <*> (pure (fromEnum s)))++instance Hashable UpdateAlias++instance ToHeaders UpdateAlias where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateAlias" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateAlias where+        toJSON UpdateAlias'{..}+          = object+              (catMaybes+                 [("RoutingStrategy" .=) <$> _uaRoutingStrategy,+                  ("Name" .=) <$> _uaName,+                  ("Description" .=) <$> _uaDescription,+                  Just ("AliasId" .= _uaAliasId)])++instance ToPath UpdateAlias where+        toPath = const "/"++instance ToQuery UpdateAlias where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateAliasResponse' smart constructor.+data UpdateAliasResponse = UpdateAliasResponse'+    { _uarsAlias          :: !(Maybe Alias)+    , _uarsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateAliasResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'uarsAlias'+--+-- * 'uarsResponseStatus'+updateAliasResponse+    :: Int -- ^ 'uarsResponseStatus'+    -> UpdateAliasResponse+updateAliasResponse pResponseStatus_ =+    UpdateAliasResponse'+    { _uarsAlias = Nothing+    , _uarsResponseStatus = pResponseStatus_+    }++-- | Object containing the updated alias configuration.+uarsAlias :: Lens' UpdateAliasResponse (Maybe Alias)+uarsAlias = lens _uarsAlias (\ s a -> s{_uarsAlias = a});++-- | The response status code.+uarsResponseStatus :: Lens' UpdateAliasResponse Int+uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a});
+ gen/Network/AWS/GameLift/UpdateBuild.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateBuild+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates metadata in a build record, including the build name and+-- version. To update the metadata, specify the build ID to update and+-- provide the new values. If successful, a build object containing the+-- updated metadata is returned.+module Network.AWS.GameLift.UpdateBuild+    (+    -- * Creating a Request+      updateBuild+    , UpdateBuild+    -- * Request Lenses+    , ubName+    , ubVersion+    , ubBuildId++    -- * Destructuring the Response+    , updateBuildResponse+    , UpdateBuildResponse+    -- * Response Lenses+    , ubrsBuild+    , ubrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateBuild' smart constructor.+data UpdateBuild = UpdateBuild'+    { _ubName    :: !(Maybe Text)+    , _ubVersion :: !(Maybe Text)+    , _ubBuildId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateBuild' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubName'+--+-- * 'ubVersion'+--+-- * 'ubBuildId'+updateBuild+    :: Text -- ^ 'ubBuildId'+    -> UpdateBuild+updateBuild pBuildId_ =+    UpdateBuild'+    { _ubName = Nothing+    , _ubVersion = Nothing+    , _ubBuildId = pBuildId_+    }++-- | Descriptive label associated with this build. Build names do not need to+-- be unique.+ubName :: Lens' UpdateBuild (Maybe Text)+ubName = lens _ubName (\ s a -> s{_ubName = a});++-- | Version associated with this build. Version strings do not need to be+-- unique to a build.+ubVersion :: Lens' UpdateBuild (Maybe Text)+ubVersion = lens _ubVersion (\ s a -> s{_ubVersion = a});++-- | Unique identifier for the build you want to update.+ubBuildId :: Lens' UpdateBuild Text+ubBuildId = lens _ubBuildId (\ s a -> s{_ubBuildId = a});++instance AWSRequest UpdateBuild where+        type Rs UpdateBuild = UpdateBuildResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateBuildResponse' <$>+                   (x .?> "Build") <*> (pure (fromEnum s)))++instance Hashable UpdateBuild++instance ToHeaders UpdateBuild where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateBuild" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateBuild where+        toJSON UpdateBuild'{..}+          = object+              (catMaybes+                 [("Name" .=) <$> _ubName,+                  ("Version" .=) <$> _ubVersion,+                  Just ("BuildId" .= _ubBuildId)])++instance ToPath UpdateBuild where+        toPath = const "/"++instance ToQuery UpdateBuild where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateBuildResponse' smart constructor.+data UpdateBuildResponse = UpdateBuildResponse'+    { _ubrsBuild          :: !(Maybe Build)+    , _ubrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateBuildResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ubrsBuild'+--+-- * 'ubrsResponseStatus'+updateBuildResponse+    :: Int -- ^ 'ubrsResponseStatus'+    -> UpdateBuildResponse+updateBuildResponse pResponseStatus_ =+    UpdateBuildResponse'+    { _ubrsBuild = Nothing+    , _ubrsResponseStatus = pResponseStatus_+    }++-- | Object containing the updated build record.+ubrsBuild :: Lens' UpdateBuildResponse (Maybe Build)+ubrsBuild = lens _ubrsBuild (\ s a -> s{_ubrsBuild = a});++-- | The response status code.+ubrsResponseStatus :: Lens' UpdateBuildResponse Int+ubrsResponseStatus = lens _ubrsResponseStatus (\ s a -> s{_ubrsResponseStatus = a});
+ gen/Network/AWS/GameLift/UpdateFleetAttributes.hs view
@@ -0,0 +1,175 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateFleetAttributes+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates fleet properties, including name and description, for a fleet.+-- To update metadata, specify the fleet ID and the property values you+-- want to change. If successful, the fleet ID for the updated fleet is+-- returned.+module Network.AWS.GameLift.UpdateFleetAttributes+    (+    -- * Creating a Request+      updateFleetAttributes+    , UpdateFleetAttributes+    -- * Request Lenses+    , ufaNewGameSessionProtectionPolicy+    , ufaName+    , ufaDescription+    , ufaFleetId++    -- * Destructuring the Response+    , updateFleetAttributesResponse+    , UpdateFleetAttributesResponse+    -- * Response Lenses+    , ufarsFleetId+    , ufarsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateFleetAttributes' smart constructor.+data UpdateFleetAttributes = UpdateFleetAttributes'+    { _ufaNewGameSessionProtectionPolicy :: !(Maybe ProtectionPolicy)+    , _ufaName                           :: !(Maybe Text)+    , _ufaDescription                    :: !(Maybe Text)+    , _ufaFleetId                        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetAttributes' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufaNewGameSessionProtectionPolicy'+--+-- * 'ufaName'+--+-- * 'ufaDescription'+--+-- * 'ufaFleetId'+updateFleetAttributes+    :: Text -- ^ 'ufaFleetId'+    -> UpdateFleetAttributes+updateFleetAttributes pFleetId_ =+    UpdateFleetAttributes'+    { _ufaNewGameSessionProtectionPolicy = Nothing+    , _ufaName = Nothing+    , _ufaDescription = Nothing+    , _ufaFleetId = pFleetId_+    }++-- | Game session protection policy to apply to all new instances created in+-- this fleet. Instances that already exist will not be affected. You can+-- set protection for individual instances using < UpdateGameSession>.+--+-- -   NoProtection: The game session can be terminated during a scale-down+--     event.+-- -   FullProtection: If the game session is in an ACTIVE status, it+--     cannot be terminated during a scale-down event.+ufaNewGameSessionProtectionPolicy :: Lens' UpdateFleetAttributes (Maybe ProtectionPolicy)+ufaNewGameSessionProtectionPolicy = lens _ufaNewGameSessionProtectionPolicy (\ s a -> s{_ufaNewGameSessionProtectionPolicy = a});++-- | Descriptive label associated with this fleet. Fleet names do not need to+-- be unique.+ufaName :: Lens' UpdateFleetAttributes (Maybe Text)+ufaName = lens _ufaName (\ s a -> s{_ufaName = a});++-- | Human-readable description of the fleet.+ufaDescription :: Lens' UpdateFleetAttributes (Maybe Text)+ufaDescription = lens _ufaDescription (\ s a -> s{_ufaDescription = a});++-- | Unique identifier for the fleet you want to update attribute metadata+-- for.+ufaFleetId :: Lens' UpdateFleetAttributes Text+ufaFleetId = lens _ufaFleetId (\ s a -> s{_ufaFleetId = a});++instance AWSRequest UpdateFleetAttributes where+        type Rs UpdateFleetAttributes =+             UpdateFleetAttributesResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateFleetAttributesResponse' <$>+                   (x .?> "FleetId") <*> (pure (fromEnum s)))++instance Hashable UpdateFleetAttributes++instance ToHeaders UpdateFleetAttributes where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateFleetAttributes" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateFleetAttributes where+        toJSON UpdateFleetAttributes'{..}+          = object+              (catMaybes+                 [("NewGameSessionProtectionPolicy" .=) <$>+                    _ufaNewGameSessionProtectionPolicy,+                  ("Name" .=) <$> _ufaName,+                  ("Description" .=) <$> _ufaDescription,+                  Just ("FleetId" .= _ufaFleetId)])++instance ToPath UpdateFleetAttributes where+        toPath = const "/"++instance ToQuery UpdateFleetAttributes where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateFleetAttributesResponse' smart constructor.+data UpdateFleetAttributesResponse = UpdateFleetAttributesResponse'+    { _ufarsFleetId        :: !(Maybe Text)+    , _ufarsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetAttributesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufarsFleetId'+--+-- * 'ufarsResponseStatus'+updateFleetAttributesResponse+    :: Int -- ^ 'ufarsResponseStatus'+    -> UpdateFleetAttributesResponse+updateFleetAttributesResponse pResponseStatus_ =+    UpdateFleetAttributesResponse'+    { _ufarsFleetId = Nothing+    , _ufarsResponseStatus = pResponseStatus_+    }++-- | Unique identifier for the updated fleet.+ufarsFleetId :: Lens' UpdateFleetAttributesResponse (Maybe Text)+ufarsFleetId = lens _ufarsFleetId (\ s a -> s{_ufarsFleetId = a});++-- | The response status code.+ufarsResponseStatus :: Lens' UpdateFleetAttributesResponse Int+ufarsResponseStatus = lens _ufarsResponseStatus (\ s a -> s{_ufarsResponseStatus = a});
+ gen/Network/AWS/GameLift/UpdateFleetCapacity.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateFleetCapacity+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates capacity settings for a fleet. Use this action to specify the+-- number of EC2 instances (hosts) you want this fleet to contain. Before+-- calling this action, you may want to call < DescribeEC2InstanceLimits>+-- to get the maximum capacity based on the fleet\'s EC2 instance type.+--+-- If you\'re using auto-scaling (see < PutScalingPolicy>), you may want to+-- specify a minimum and\/or maximum capacity. If you don\'t provide these+-- boundaries, auto-scaling can set capacity anywhere between zero and the+-- <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift service limits>.+--+-- To update fleet capacity, specify the fleet ID and the desired number of+-- instances. If successful, Amazon GameLift starts or terminates instances+-- so that the fleet\'s active instance count matches the desired instance+-- count. You can view a fleet\'s current capacity information by calling+-- < DescribeFleetCapacity>. If the desired instance count is higher than+-- the instance type\'s limit, the \"Limit Exceeded\" exception will occur.+module Network.AWS.GameLift.UpdateFleetCapacity+    (+    -- * Creating a Request+      updateFleetCapacity+    , UpdateFleetCapacity+    -- * Request Lenses+    , ufcMaxSize+    , ufcMinSize+    , ufcDesiredInstances+    , ufcFleetId++    -- * Destructuring the Response+    , updateFleetCapacityResponse+    , UpdateFleetCapacityResponse+    -- * Response Lenses+    , ufcrsFleetId+    , ufcrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateFleetCapacity' smart constructor.+data UpdateFleetCapacity = UpdateFleetCapacity'+    { _ufcMaxSize          :: !(Maybe Nat)+    , _ufcMinSize          :: !(Maybe Nat)+    , _ufcDesiredInstances :: !(Maybe Nat)+    , _ufcFleetId          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetCapacity' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufcMaxSize'+--+-- * 'ufcMinSize'+--+-- * 'ufcDesiredInstances'+--+-- * 'ufcFleetId'+updateFleetCapacity+    :: Text -- ^ 'ufcFleetId'+    -> UpdateFleetCapacity+updateFleetCapacity pFleetId_ =+    UpdateFleetCapacity'+    { _ufcMaxSize = Nothing+    , _ufcMinSize = Nothing+    , _ufcDesiredInstances = Nothing+    , _ufcFleetId = pFleetId_+    }++-- | Maximum value allowed for the fleet\'s instance count. Default if not+-- set is 1.+ufcMaxSize :: Lens' UpdateFleetCapacity (Maybe Natural)+ufcMaxSize = lens _ufcMaxSize (\ s a -> s{_ufcMaxSize = a}) . mapping _Nat;++-- | Minimum value allowed for the fleet\'s instance count. Default if not+-- set is 0.+ufcMinSize :: Lens' UpdateFleetCapacity (Maybe Natural)+ufcMinSize = lens _ufcMinSize (\ s a -> s{_ufcMinSize = a}) . mapping _Nat;++-- | Number of EC2 instances you want this fleet to host.+ufcDesiredInstances :: Lens' UpdateFleetCapacity (Maybe Natural)+ufcDesiredInstances = lens _ufcDesiredInstances (\ s a -> s{_ufcDesiredInstances = a}) . mapping _Nat;++-- | Unique identifier for the fleet you want to update capacity for.+ufcFleetId :: Lens' UpdateFleetCapacity Text+ufcFleetId = lens _ufcFleetId (\ s a -> s{_ufcFleetId = a});++instance AWSRequest UpdateFleetCapacity where+        type Rs UpdateFleetCapacity =+             UpdateFleetCapacityResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateFleetCapacityResponse' <$>+                   (x .?> "FleetId") <*> (pure (fromEnum s)))++instance Hashable UpdateFleetCapacity++instance ToHeaders UpdateFleetCapacity where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateFleetCapacity" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateFleetCapacity where+        toJSON UpdateFleetCapacity'{..}+          = object+              (catMaybes+                 [("MaxSize" .=) <$> _ufcMaxSize,+                  ("MinSize" .=) <$> _ufcMinSize,+                  ("DesiredInstances" .=) <$> _ufcDesiredInstances,+                  Just ("FleetId" .= _ufcFleetId)])++instance ToPath UpdateFleetCapacity where+        toPath = const "/"++instance ToQuery UpdateFleetCapacity where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateFleetCapacityResponse' smart constructor.+data UpdateFleetCapacityResponse = UpdateFleetCapacityResponse'+    { _ufcrsFleetId        :: !(Maybe Text)+    , _ufcrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetCapacityResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufcrsFleetId'+--+-- * 'ufcrsResponseStatus'+updateFleetCapacityResponse+    :: Int -- ^ 'ufcrsResponseStatus'+    -> UpdateFleetCapacityResponse+updateFleetCapacityResponse pResponseStatus_ =+    UpdateFleetCapacityResponse'+    { _ufcrsFleetId = Nothing+    , _ufcrsResponseStatus = pResponseStatus_+    }++-- | Unique identifier for the updated fleet.+ufcrsFleetId :: Lens' UpdateFleetCapacityResponse (Maybe Text)+ufcrsFleetId = lens _ufcrsFleetId (\ s a -> s{_ufcrsFleetId = a});++-- | The response status code.+ufcrsResponseStatus :: Lens' UpdateFleetCapacityResponse Int+ufcrsResponseStatus = lens _ufcrsResponseStatus (\ s a -> s{_ufcrsResponseStatus = a});
+ gen/Network/AWS/GameLift/UpdateFleetPortSettings.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateFleetPortSettings+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates port settings for a fleet. To update settings, specify the fleet+-- ID to be updated and list the permissions you want to update. List the+-- permissions you want to add in /InboundPermissionAuthorizations/, and+-- permissions you want to remove in /InboundPermissionRevocations/.+-- Permissions to be removed must match existing fleet permissions. If+-- successful, the fleet ID for the updated fleet is returned.+module Network.AWS.GameLift.UpdateFleetPortSettings+    (+    -- * Creating a Request+      updateFleetPortSettings+    , UpdateFleetPortSettings+    -- * Request Lenses+    , ufpsInboundPermissionRevocations+    , ufpsInboundPermissionAuthorizations+    , ufpsFleetId++    -- * Destructuring the Response+    , updateFleetPortSettingsResponse+    , UpdateFleetPortSettingsResponse+    -- * Response Lenses+    , ufpsrsFleetId+    , ufpsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateFleetPortSettings' smart constructor.+data UpdateFleetPortSettings = UpdateFleetPortSettings'+    { _ufpsInboundPermissionRevocations    :: !(Maybe [IPPermission])+    , _ufpsInboundPermissionAuthorizations :: !(Maybe [IPPermission])+    , _ufpsFleetId                         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetPortSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufpsInboundPermissionRevocations'+--+-- * 'ufpsInboundPermissionAuthorizations'+--+-- * 'ufpsFleetId'+updateFleetPortSettings+    :: Text -- ^ 'ufpsFleetId'+    -> UpdateFleetPortSettings+updateFleetPortSettings pFleetId_ =+    UpdateFleetPortSettings'+    { _ufpsInboundPermissionRevocations = Nothing+    , _ufpsInboundPermissionAuthorizations = Nothing+    , _ufpsFleetId = pFleetId_+    }++-- | Collection of port settings to be removed from the fleet record.+ufpsInboundPermissionRevocations :: Lens' UpdateFleetPortSettings [IPPermission]+ufpsInboundPermissionRevocations = lens _ufpsInboundPermissionRevocations (\ s a -> s{_ufpsInboundPermissionRevocations = a}) . _Default . _Coerce;++-- | Collection of port settings to be added to the fleet record.+ufpsInboundPermissionAuthorizations :: Lens' UpdateFleetPortSettings [IPPermission]+ufpsInboundPermissionAuthorizations = lens _ufpsInboundPermissionAuthorizations (\ s a -> s{_ufpsInboundPermissionAuthorizations = a}) . _Default . _Coerce;++-- | Unique identifier for the fleet you want to update port settings for.+ufpsFleetId :: Lens' UpdateFleetPortSettings Text+ufpsFleetId = lens _ufpsFleetId (\ s a -> s{_ufpsFleetId = a});++instance AWSRequest UpdateFleetPortSettings where+        type Rs UpdateFleetPortSettings =+             UpdateFleetPortSettingsResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateFleetPortSettingsResponse' <$>+                   (x .?> "FleetId") <*> (pure (fromEnum s)))++instance Hashable UpdateFleetPortSettings++instance ToHeaders UpdateFleetPortSettings where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateFleetPortSettings" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateFleetPortSettings where+        toJSON UpdateFleetPortSettings'{..}+          = object+              (catMaybes+                 [("InboundPermissionRevocations" .=) <$>+                    _ufpsInboundPermissionRevocations,+                  ("InboundPermissionAuthorizations" .=) <$>+                    _ufpsInboundPermissionAuthorizations,+                  Just ("FleetId" .= _ufpsFleetId)])++instance ToPath UpdateFleetPortSettings where+        toPath = const "/"++instance ToQuery UpdateFleetPortSettings where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateFleetPortSettingsResponse' smart constructor.+data UpdateFleetPortSettingsResponse = UpdateFleetPortSettingsResponse'+    { _ufpsrsFleetId        :: !(Maybe Text)+    , _ufpsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateFleetPortSettingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ufpsrsFleetId'+--+-- * 'ufpsrsResponseStatus'+updateFleetPortSettingsResponse+    :: Int -- ^ 'ufpsrsResponseStatus'+    -> UpdateFleetPortSettingsResponse+updateFleetPortSettingsResponse pResponseStatus_ =+    UpdateFleetPortSettingsResponse'+    { _ufpsrsFleetId = Nothing+    , _ufpsrsResponseStatus = pResponseStatus_+    }++-- | Unique identifier for the updated fleet.+ufpsrsFleetId :: Lens' UpdateFleetPortSettingsResponse (Maybe Text)+ufpsrsFleetId = lens _ufpsrsFleetId (\ s a -> s{_ufpsrsFleetId = a});++-- | The response status code.+ufpsrsResponseStatus :: Lens' UpdateFleetPortSettingsResponse Int+ufpsrsResponseStatus = lens _ufpsrsResponseStatus (\ s a -> s{_ufpsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/UpdateGameSession.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.UpdateGameSession+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates game session properties. This includes the session name, maximum+-- player count, protection policy, which controls whether or not an active+-- game session can be terminated during a scale-down event, and the player+-- session creation policy, which controls whether or not new players can+-- join the session. To update a game session, specify the game session ID+-- and the values you want to change. If successful, an updated+-- < GameSession> object is returned.+module Network.AWS.GameLift.UpdateGameSession+    (+    -- * Creating a Request+      updateGameSession+    , UpdateGameSession+    -- * Request Lenses+    , ugsMaximumPlayerSessionCount+    , ugsPlayerSessionCreationPolicy+    , ugsName+    , ugsProtectionPolicy+    , ugsGameSessionId++    -- * Destructuring the Response+    , updateGameSessionResponse+    , UpdateGameSessionResponse+    -- * Response Lenses+    , ugsrsGameSession+    , ugsrsResponseStatus+    ) where++import           Network.AWS.GameLift.Types+import           Network.AWS.GameLift.Types.Product+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response++-- | Represents the input for a request action.+--+-- /See:/ 'updateGameSession' smart constructor.+data UpdateGameSession = UpdateGameSession'+    { _ugsMaximumPlayerSessionCount   :: !(Maybe Nat)+    , _ugsPlayerSessionCreationPolicy :: !(Maybe PlayerSessionCreationPolicy)+    , _ugsName                        :: !(Maybe Text)+    , _ugsProtectionPolicy            :: !(Maybe ProtectionPolicy)+    , _ugsGameSessionId               :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateGameSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugsMaximumPlayerSessionCount'+--+-- * 'ugsPlayerSessionCreationPolicy'+--+-- * 'ugsName'+--+-- * 'ugsProtectionPolicy'+--+-- * 'ugsGameSessionId'+updateGameSession+    :: Text -- ^ 'ugsGameSessionId'+    -> UpdateGameSession+updateGameSession pGameSessionId_ =+    UpdateGameSession'+    { _ugsMaximumPlayerSessionCount = Nothing+    , _ugsPlayerSessionCreationPolicy = Nothing+    , _ugsName = Nothing+    , _ugsProtectionPolicy = Nothing+    , _ugsGameSessionId = pGameSessionId_+    }++-- | Maximum number of players that can be simultaneously connected to the+-- game session.+ugsMaximumPlayerSessionCount :: Lens' UpdateGameSession (Maybe Natural)+ugsMaximumPlayerSessionCount = lens _ugsMaximumPlayerSessionCount (\ s a -> s{_ugsMaximumPlayerSessionCount = a}) . mapping _Nat;++-- | Policy determining whether or not the game session accepts new players.+ugsPlayerSessionCreationPolicy :: Lens' UpdateGameSession (Maybe PlayerSessionCreationPolicy)+ugsPlayerSessionCreationPolicy = lens _ugsPlayerSessionCreationPolicy (\ s a -> s{_ugsPlayerSessionCreationPolicy = a});++-- | Descriptive label associated with this game session. Session names do+-- not need to be unique.+ugsName :: Lens' UpdateGameSession (Maybe Text)+ugsName = lens _ugsName (\ s a -> s{_ugsName = a});++-- | Game session protection policy to apply to this game session only.+--+-- -   NoProtection: The game session can be terminated during a scale-down+--     event.+-- -   FullProtection: If the game session is in an ACTIVE status, it+--     cannot be terminated during a scale-down event.+ugsProtectionPolicy :: Lens' UpdateGameSession (Maybe ProtectionPolicy)+ugsProtectionPolicy = lens _ugsProtectionPolicy (\ s a -> s{_ugsProtectionPolicy = a});++-- | Unique identifier for a game session. Specify the game session you want+-- to update.+ugsGameSessionId :: Lens' UpdateGameSession Text+ugsGameSessionId = lens _ugsGameSessionId (\ s a -> s{_ugsGameSessionId = a});++instance AWSRequest UpdateGameSession where+        type Rs UpdateGameSession = UpdateGameSessionResponse+        request = postJSON gameLift+        response+          = receiveJSON+              (\ s h x ->+                 UpdateGameSessionResponse' <$>+                   (x .?> "GameSession") <*> (pure (fromEnum s)))++instance Hashable UpdateGameSession++instance ToHeaders UpdateGameSession where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("GameLift.UpdateGameSession" :: ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateGameSession where+        toJSON UpdateGameSession'{..}+          = object+              (catMaybes+                 [("MaximumPlayerSessionCount" .=) <$>+                    _ugsMaximumPlayerSessionCount,+                  ("PlayerSessionCreationPolicy" .=) <$>+                    _ugsPlayerSessionCreationPolicy,+                  ("Name" .=) <$> _ugsName,+                  ("ProtectionPolicy" .=) <$> _ugsProtectionPolicy,+                  Just ("GameSessionId" .= _ugsGameSessionId)])++instance ToPath UpdateGameSession where+        toPath = const "/"++instance ToQuery UpdateGameSession where+        toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+-- /See:/ 'updateGameSessionResponse' smart constructor.+data UpdateGameSessionResponse = UpdateGameSessionResponse'+    { _ugsrsGameSession    :: !(Maybe GameSession)+    , _ugsrsResponseStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateGameSessionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ugsrsGameSession'+--+-- * 'ugsrsResponseStatus'+updateGameSessionResponse+    :: Int -- ^ 'ugsrsResponseStatus'+    -> UpdateGameSessionResponse+updateGameSessionResponse pResponseStatus_ =+    UpdateGameSessionResponse'+    { _ugsrsGameSession = Nothing+    , _ugsrsResponseStatus = pResponseStatus_+    }++-- | Object containing the updated game session metadata.+ugsrsGameSession :: Lens' UpdateGameSessionResponse (Maybe GameSession)+ugsrsGameSession = lens _ugsrsGameSession (\ s a -> s{_ugsrsGameSession = a});++-- | The response status code.+ugsrsResponseStatus :: Lens' UpdateGameSessionResponse Int+ugsrsResponseStatus = lens _ugsrsResponseStatus (\ s a -> s{_ugsrsResponseStatus = a});
+ gen/Network/AWS/GameLift/Waiters.hs view
@@ -0,0 +1,21 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.GameLift.Waiters+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.GameLift.Waiters where++import           Network.AWS.GameLift.Types+import           Network.AWS.Lens+import           Network.AWS.Prelude+import           Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.GameLift+import Test.AWS.GameLift.Internal++main :: IO ()+main = defaultMain $ testGroup "GameLift"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/GameLift.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}++-- |+-- Module      : Test.AWS.GameLift+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.GameLift+    ( tests+    , fixtures+    ) where++import           Test.AWS.Prelude++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/GameLift/Internal.hs view
@@ -0,0 +1,15 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Test.AWS.GameLift.Internal+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)+--++module Test.AWS.GameLift.Internal where++import           Test.AWS.Prelude
+ test/Test/AWS/Gen/GameLift.hs view
@@ -0,0 +1,669 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.GameLift+-- Copyright   : (c) 2013-2016 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.GameLift where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.GameLift+import Test.AWS.GameLift.Internal++-- 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"+--         [ testCreateGameSession $+--             createGameSession+--+--         , testDeleteScalingPolicy $+--             deleteScalingPolicy+--+--         , testPutScalingPolicy $+--             putScalingPolicy+--+--         , testListBuilds $+--             listBuilds+--+--         , testDeleteFleet $+--             deleteFleet+--+--         , testCreateBuild $+--             createBuild+--+--         , testRequestUploadCredentials $+--             requestUploadCredentials+--+--         , testCreateAlias $+--             createAlias+--+--         , testResolveAlias $+--             resolveAlias+--+--         , testListAliases $+--             listAliases+--+--         , testDescribeScalingPolicies $+--             describeScalingPolicies+--+--         , testDescribeGameSessions $+--             describeGameSessions+--+--         , testDescribeFleetUtilization $+--             describeFleetUtilization+--+--         , testGetGameSessionLogURL $+--             getGameSessionLogURL+--+--         , testDescribeFleetAttributes $+--             describeFleetAttributes+--+--         , testDescribeFleetEvents $+--             describeFleetEvents+--+--         , testDescribeFleetCapacity $+--             describeFleetCapacity+--+--         , testDeleteBuild $+--             deleteBuild+--+--         , testUpdateBuild $+--             updateBuild+--+--         , testListFleets $+--             listFleets+--+--         , testDeleteAlias $+--             deleteAlias+--+--         , testUpdateAlias $+--             updateAlias+--+--         , testDescribeGameSessionDetails $+--             describeGameSessionDetails+--+--         , testDescribeFleetPortSettings $+--             describeFleetPortSettings+--+--         , testCreatePlayerSessions $+--             createPlayerSessions+--+--         , testCreateFleet $+--             createFleet+--+--         , testUpdateFleetAttributes $+--             updateFleetAttributes+--+--         , testDescribePlayerSessions $+--             describePlayerSessions+--+--         , testDescribeBuild $+--             describeBuild+--+--         , testUpdateFleetPortSettings $+--             updateFleetPortSettings+--+--         , testUpdateFleetCapacity $+--             updateFleetCapacity+--+--         , testDescribeAlias $+--             describeAlias+--+--         , testDescribeEC2InstanceLimits $+--             describeEC2InstanceLimits+--+--         , testUpdateGameSession $+--             updateGameSession+--+--         , testCreatePlayerSession $+--             createPlayerSession+--+--           ]++--     , testGroup "response"+--         [ testCreateGameSessionResponse $+--             createGameSessionResponse+--+--         , testDeleteScalingPolicyResponse $+--             deleteScalingPolicyResponse+--+--         , testPutScalingPolicyResponse $+--             putScalingPolicyResponse+--+--         , testListBuildsResponse $+--             listBuildsResponse+--+--         , testDeleteFleetResponse $+--             deleteFleetResponse+--+--         , testCreateBuildResponse $+--             createBuildResponse+--+--         , testRequestUploadCredentialsResponse $+--             requestUploadCredentialsResponse+--+--         , testCreateAliasResponse $+--             createAliasResponse+--+--         , testResolveAliasResponse $+--             resolveAliasResponse+--+--         , testListAliasesResponse $+--             listAliasesResponse+--+--         , testDescribeScalingPoliciesResponse $+--             describeScalingPoliciesResponse+--+--         , testDescribeGameSessionsResponse $+--             describeGameSessionsResponse+--+--         , testDescribeFleetUtilizationResponse $+--             describeFleetUtilizationResponse+--+--         , testGetGameSessionLogURLResponse $+--             getGameSessionLogURLResponse+--+--         , testDescribeFleetAttributesResponse $+--             describeFleetAttributesResponse+--+--         , testDescribeFleetEventsResponse $+--             describeFleetEventsResponse+--+--         , testDescribeFleetCapacityResponse $+--             describeFleetCapacityResponse+--+--         , testDeleteBuildResponse $+--             deleteBuildResponse+--+--         , testUpdateBuildResponse $+--             updateBuildResponse+--+--         , testListFleetsResponse $+--             listFleetsResponse+--+--         , testDeleteAliasResponse $+--             deleteAliasResponse+--+--         , testUpdateAliasResponse $+--             updateAliasResponse+--+--         , testDescribeGameSessionDetailsResponse $+--             describeGameSessionDetailsResponse+--+--         , testDescribeFleetPortSettingsResponse $+--             describeFleetPortSettingsResponse+--+--         , testCreatePlayerSessionsResponse $+--             createPlayerSessionsResponse+--+--         , testCreateFleetResponse $+--             createFleetResponse+--+--         , testUpdateFleetAttributesResponse $+--             updateFleetAttributesResponse+--+--         , testDescribePlayerSessionsResponse $+--             describePlayerSessionsResponse+--+--         , testDescribeBuildResponse $+--             describeBuildResponse+--+--         , testUpdateFleetPortSettingsResponse $+--             updateFleetPortSettingsResponse+--+--         , testUpdateFleetCapacityResponse $+--             updateFleetCapacityResponse+--+--         , testDescribeAliasResponse $+--             describeAliasResponse+--+--         , testDescribeEC2InstanceLimitsResponse $+--             describeEC2InstanceLimitsResponse+--+--         , testUpdateGameSessionResponse $+--             updateGameSessionResponse+--+--         , testCreatePlayerSessionResponse $+--             createPlayerSessionResponse+--+--           ]+--     ]++-- Requests++testCreateGameSession :: CreateGameSession -> TestTree+testCreateGameSession = req+    "CreateGameSession"+    "fixture/CreateGameSession.yaml"++testDeleteScalingPolicy :: DeleteScalingPolicy -> TestTree+testDeleteScalingPolicy = req+    "DeleteScalingPolicy"+    "fixture/DeleteScalingPolicy.yaml"++testPutScalingPolicy :: PutScalingPolicy -> TestTree+testPutScalingPolicy = req+    "PutScalingPolicy"+    "fixture/PutScalingPolicy.yaml"++testListBuilds :: ListBuilds -> TestTree+testListBuilds = req+    "ListBuilds"+    "fixture/ListBuilds.yaml"++testDeleteFleet :: DeleteFleet -> TestTree+testDeleteFleet = req+    "DeleteFleet"+    "fixture/DeleteFleet.yaml"++testCreateBuild :: CreateBuild -> TestTree+testCreateBuild = req+    "CreateBuild"+    "fixture/CreateBuild.yaml"++testRequestUploadCredentials :: RequestUploadCredentials -> TestTree+testRequestUploadCredentials = req+    "RequestUploadCredentials"+    "fixture/RequestUploadCredentials.yaml"++testCreateAlias :: CreateAlias -> TestTree+testCreateAlias = req+    "CreateAlias"+    "fixture/CreateAlias.yaml"++testResolveAlias :: ResolveAlias -> TestTree+testResolveAlias = req+    "ResolveAlias"+    "fixture/ResolveAlias.yaml"++testListAliases :: ListAliases -> TestTree+testListAliases = req+    "ListAliases"+    "fixture/ListAliases.yaml"++testDescribeScalingPolicies :: DescribeScalingPolicies -> TestTree+testDescribeScalingPolicies = req+    "DescribeScalingPolicies"+    "fixture/DescribeScalingPolicies.yaml"++testDescribeGameSessions :: DescribeGameSessions -> TestTree+testDescribeGameSessions = req+    "DescribeGameSessions"+    "fixture/DescribeGameSessions.yaml"++testDescribeFleetUtilization :: DescribeFleetUtilization -> TestTree+testDescribeFleetUtilization = req+    "DescribeFleetUtilization"+    "fixture/DescribeFleetUtilization.yaml"++testGetGameSessionLogURL :: GetGameSessionLogURL -> TestTree+testGetGameSessionLogURL = req+    "GetGameSessionLogURL"+    "fixture/GetGameSessionLogURL.yaml"++testDescribeFleetAttributes :: DescribeFleetAttributes -> TestTree+testDescribeFleetAttributes = req+    "DescribeFleetAttributes"+    "fixture/DescribeFleetAttributes.yaml"++testDescribeFleetEvents :: DescribeFleetEvents -> TestTree+testDescribeFleetEvents = req+    "DescribeFleetEvents"+    "fixture/DescribeFleetEvents.yaml"++testDescribeFleetCapacity :: DescribeFleetCapacity -> TestTree+testDescribeFleetCapacity = req+    "DescribeFleetCapacity"+    "fixture/DescribeFleetCapacity.yaml"++testDeleteBuild :: DeleteBuild -> TestTree+testDeleteBuild = req+    "DeleteBuild"+    "fixture/DeleteBuild.yaml"++testUpdateBuild :: UpdateBuild -> TestTree+testUpdateBuild = req+    "UpdateBuild"+    "fixture/UpdateBuild.yaml"++testListFleets :: ListFleets -> TestTree+testListFleets = req+    "ListFleets"+    "fixture/ListFleets.yaml"++testDeleteAlias :: DeleteAlias -> TestTree+testDeleteAlias = req+    "DeleteAlias"+    "fixture/DeleteAlias.yaml"++testUpdateAlias :: UpdateAlias -> TestTree+testUpdateAlias = req+    "UpdateAlias"+    "fixture/UpdateAlias.yaml"++testDescribeGameSessionDetails :: DescribeGameSessionDetails -> TestTree+testDescribeGameSessionDetails = req+    "DescribeGameSessionDetails"+    "fixture/DescribeGameSessionDetails.yaml"++testDescribeFleetPortSettings :: DescribeFleetPortSettings -> TestTree+testDescribeFleetPortSettings = req+    "DescribeFleetPortSettings"+    "fixture/DescribeFleetPortSettings.yaml"++testCreatePlayerSessions :: CreatePlayerSessions -> TestTree+testCreatePlayerSessions = req+    "CreatePlayerSessions"+    "fixture/CreatePlayerSessions.yaml"++testCreateFleet :: CreateFleet -> TestTree+testCreateFleet = req+    "CreateFleet"+    "fixture/CreateFleet.yaml"++testUpdateFleetAttributes :: UpdateFleetAttributes -> TestTree+testUpdateFleetAttributes = req+    "UpdateFleetAttributes"+    "fixture/UpdateFleetAttributes.yaml"++testDescribePlayerSessions :: DescribePlayerSessions -> TestTree+testDescribePlayerSessions = req+    "DescribePlayerSessions"+    "fixture/DescribePlayerSessions.yaml"++testDescribeBuild :: DescribeBuild -> TestTree+testDescribeBuild = req+    "DescribeBuild"+    "fixture/DescribeBuild.yaml"++testUpdateFleetPortSettings :: UpdateFleetPortSettings -> TestTree+testUpdateFleetPortSettings = req+    "UpdateFleetPortSettings"+    "fixture/UpdateFleetPortSettings.yaml"++testUpdateFleetCapacity :: UpdateFleetCapacity -> TestTree+testUpdateFleetCapacity = req+    "UpdateFleetCapacity"+    "fixture/UpdateFleetCapacity.yaml"++testDescribeAlias :: DescribeAlias -> TestTree+testDescribeAlias = req+    "DescribeAlias"+    "fixture/DescribeAlias.yaml"++testDescribeEC2InstanceLimits :: DescribeEC2InstanceLimits -> TestTree+testDescribeEC2InstanceLimits = req+    "DescribeEC2InstanceLimits"+    "fixture/DescribeEC2InstanceLimits.yaml"++testUpdateGameSession :: UpdateGameSession -> TestTree+testUpdateGameSession = req+    "UpdateGameSession"+    "fixture/UpdateGameSession.yaml"++testCreatePlayerSession :: CreatePlayerSession -> TestTree+testCreatePlayerSession = req+    "CreatePlayerSession"+    "fixture/CreatePlayerSession.yaml"++-- Responses++testCreateGameSessionResponse :: CreateGameSessionResponse -> TestTree+testCreateGameSessionResponse = res+    "CreateGameSessionResponse"+    "fixture/CreateGameSessionResponse.proto"+    gameLift+    (Proxy :: Proxy CreateGameSession)++testDeleteScalingPolicyResponse :: DeleteScalingPolicyResponse -> TestTree+testDeleteScalingPolicyResponse = res+    "DeleteScalingPolicyResponse"+    "fixture/DeleteScalingPolicyResponse.proto"+    gameLift+    (Proxy :: Proxy DeleteScalingPolicy)++testPutScalingPolicyResponse :: PutScalingPolicyResponse -> TestTree+testPutScalingPolicyResponse = res+    "PutScalingPolicyResponse"+    "fixture/PutScalingPolicyResponse.proto"+    gameLift+    (Proxy :: Proxy PutScalingPolicy)++testListBuildsResponse :: ListBuildsResponse -> TestTree+testListBuildsResponse = res+    "ListBuildsResponse"+    "fixture/ListBuildsResponse.proto"+    gameLift+    (Proxy :: Proxy ListBuilds)++testDeleteFleetResponse :: DeleteFleetResponse -> TestTree+testDeleteFleetResponse = res+    "DeleteFleetResponse"+    "fixture/DeleteFleetResponse.proto"+    gameLift+    (Proxy :: Proxy DeleteFleet)++testCreateBuildResponse :: CreateBuildResponse -> TestTree+testCreateBuildResponse = res+    "CreateBuildResponse"+    "fixture/CreateBuildResponse.proto"+    gameLift+    (Proxy :: Proxy CreateBuild)++testRequestUploadCredentialsResponse :: RequestUploadCredentialsResponse -> TestTree+testRequestUploadCredentialsResponse = res+    "RequestUploadCredentialsResponse"+    "fixture/RequestUploadCredentialsResponse.proto"+    gameLift+    (Proxy :: Proxy RequestUploadCredentials)++testCreateAliasResponse :: CreateAliasResponse -> TestTree+testCreateAliasResponse = res+    "CreateAliasResponse"+    "fixture/CreateAliasResponse.proto"+    gameLift+    (Proxy :: Proxy CreateAlias)++testResolveAliasResponse :: ResolveAliasResponse -> TestTree+testResolveAliasResponse = res+    "ResolveAliasResponse"+    "fixture/ResolveAliasResponse.proto"+    gameLift+    (Proxy :: Proxy ResolveAlias)++testListAliasesResponse :: ListAliasesResponse -> TestTree+testListAliasesResponse = res+    "ListAliasesResponse"+    "fixture/ListAliasesResponse.proto"+    gameLift+    (Proxy :: Proxy ListAliases)++testDescribeScalingPoliciesResponse :: DescribeScalingPoliciesResponse -> TestTree+testDescribeScalingPoliciesResponse = res+    "DescribeScalingPoliciesResponse"+    "fixture/DescribeScalingPoliciesResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeScalingPolicies)++testDescribeGameSessionsResponse :: DescribeGameSessionsResponse -> TestTree+testDescribeGameSessionsResponse = res+    "DescribeGameSessionsResponse"+    "fixture/DescribeGameSessionsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeGameSessions)++testDescribeFleetUtilizationResponse :: DescribeFleetUtilizationResponse -> TestTree+testDescribeFleetUtilizationResponse = res+    "DescribeFleetUtilizationResponse"+    "fixture/DescribeFleetUtilizationResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeFleetUtilization)++testGetGameSessionLogURLResponse :: GetGameSessionLogURLResponse -> TestTree+testGetGameSessionLogURLResponse = res+    "GetGameSessionLogURLResponse"+    "fixture/GetGameSessionLogURLResponse.proto"+    gameLift+    (Proxy :: Proxy GetGameSessionLogURL)++testDescribeFleetAttributesResponse :: DescribeFleetAttributesResponse -> TestTree+testDescribeFleetAttributesResponse = res+    "DescribeFleetAttributesResponse"+    "fixture/DescribeFleetAttributesResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeFleetAttributes)++testDescribeFleetEventsResponse :: DescribeFleetEventsResponse -> TestTree+testDescribeFleetEventsResponse = res+    "DescribeFleetEventsResponse"+    "fixture/DescribeFleetEventsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeFleetEvents)++testDescribeFleetCapacityResponse :: DescribeFleetCapacityResponse -> TestTree+testDescribeFleetCapacityResponse = res+    "DescribeFleetCapacityResponse"+    "fixture/DescribeFleetCapacityResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeFleetCapacity)++testDeleteBuildResponse :: DeleteBuildResponse -> TestTree+testDeleteBuildResponse = res+    "DeleteBuildResponse"+    "fixture/DeleteBuildResponse.proto"+    gameLift+    (Proxy :: Proxy DeleteBuild)++testUpdateBuildResponse :: UpdateBuildResponse -> TestTree+testUpdateBuildResponse = res+    "UpdateBuildResponse"+    "fixture/UpdateBuildResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateBuild)++testListFleetsResponse :: ListFleetsResponse -> TestTree+testListFleetsResponse = res+    "ListFleetsResponse"+    "fixture/ListFleetsResponse.proto"+    gameLift+    (Proxy :: Proxy ListFleets)++testDeleteAliasResponse :: DeleteAliasResponse -> TestTree+testDeleteAliasResponse = res+    "DeleteAliasResponse"+    "fixture/DeleteAliasResponse.proto"+    gameLift+    (Proxy :: Proxy DeleteAlias)++testUpdateAliasResponse :: UpdateAliasResponse -> TestTree+testUpdateAliasResponse = res+    "UpdateAliasResponse"+    "fixture/UpdateAliasResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateAlias)++testDescribeGameSessionDetailsResponse :: DescribeGameSessionDetailsResponse -> TestTree+testDescribeGameSessionDetailsResponse = res+    "DescribeGameSessionDetailsResponse"+    "fixture/DescribeGameSessionDetailsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeGameSessionDetails)++testDescribeFleetPortSettingsResponse :: DescribeFleetPortSettingsResponse -> TestTree+testDescribeFleetPortSettingsResponse = res+    "DescribeFleetPortSettingsResponse"+    "fixture/DescribeFleetPortSettingsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeFleetPortSettings)++testCreatePlayerSessionsResponse :: CreatePlayerSessionsResponse -> TestTree+testCreatePlayerSessionsResponse = res+    "CreatePlayerSessionsResponse"+    "fixture/CreatePlayerSessionsResponse.proto"+    gameLift+    (Proxy :: Proxy CreatePlayerSessions)++testCreateFleetResponse :: CreateFleetResponse -> TestTree+testCreateFleetResponse = res+    "CreateFleetResponse"+    "fixture/CreateFleetResponse.proto"+    gameLift+    (Proxy :: Proxy CreateFleet)++testUpdateFleetAttributesResponse :: UpdateFleetAttributesResponse -> TestTree+testUpdateFleetAttributesResponse = res+    "UpdateFleetAttributesResponse"+    "fixture/UpdateFleetAttributesResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateFleetAttributes)++testDescribePlayerSessionsResponse :: DescribePlayerSessionsResponse -> TestTree+testDescribePlayerSessionsResponse = res+    "DescribePlayerSessionsResponse"+    "fixture/DescribePlayerSessionsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribePlayerSessions)++testDescribeBuildResponse :: DescribeBuildResponse -> TestTree+testDescribeBuildResponse = res+    "DescribeBuildResponse"+    "fixture/DescribeBuildResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeBuild)++testUpdateFleetPortSettingsResponse :: UpdateFleetPortSettingsResponse -> TestTree+testUpdateFleetPortSettingsResponse = res+    "UpdateFleetPortSettingsResponse"+    "fixture/UpdateFleetPortSettingsResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateFleetPortSettings)++testUpdateFleetCapacityResponse :: UpdateFleetCapacityResponse -> TestTree+testUpdateFleetCapacityResponse = res+    "UpdateFleetCapacityResponse"+    "fixture/UpdateFleetCapacityResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateFleetCapacity)++testDescribeAliasResponse :: DescribeAliasResponse -> TestTree+testDescribeAliasResponse = res+    "DescribeAliasResponse"+    "fixture/DescribeAliasResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeAlias)++testDescribeEC2InstanceLimitsResponse :: DescribeEC2InstanceLimitsResponse -> TestTree+testDescribeEC2InstanceLimitsResponse = res+    "DescribeEC2InstanceLimitsResponse"+    "fixture/DescribeEC2InstanceLimitsResponse.proto"+    gameLift+    (Proxy :: Proxy DescribeEC2InstanceLimits)++testUpdateGameSessionResponse :: UpdateGameSessionResponse -> TestTree+testUpdateGameSessionResponse = res+    "UpdateGameSessionResponse"+    "fixture/UpdateGameSessionResponse.proto"+    gameLift+    (Proxy :: Proxy UpdateGameSession)++testCreatePlayerSessionResponse :: CreatePlayerSessionResponse -> TestTree+testCreatePlayerSessionResponse = res+    "CreatePlayerSessionResponse"+    "fixture/CreatePlayerSessionResponse.proto"+    gameLift+    (Proxy :: Proxy CreatePlayerSession)