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 +367/−0
- README.md +118/−0
- Setup.hs +2/−0
- amazonka-gamelift.cabal +192/−0
- fixture/CreateAlias.yaml +0/−0
- fixture/CreateAliasResponse.proto +0/−0
- fixture/CreateBuild.yaml +0/−0
- fixture/CreateBuildResponse.proto +0/−0
- fixture/CreateFleet.yaml +0/−0
- fixture/CreateFleetResponse.proto +0/−0
- fixture/CreateGameSession.yaml +0/−0
- fixture/CreateGameSessionResponse.proto +0/−0
- fixture/CreatePlayerSession.yaml +0/−0
- fixture/CreatePlayerSessionResponse.proto +0/−0
- fixture/CreatePlayerSessions.yaml +0/−0
- fixture/CreatePlayerSessionsResponse.proto +0/−0
- fixture/DeleteAlias.yaml +0/−0
- fixture/DeleteAliasResponse.proto +0/−0
- fixture/DeleteBuild.yaml +0/−0
- fixture/DeleteBuildResponse.proto +0/−0
- fixture/DeleteFleet.yaml +0/−0
- fixture/DeleteFleetResponse.proto +0/−0
- fixture/DeleteScalingPolicy.yaml +0/−0
- fixture/DeleteScalingPolicyResponse.proto +0/−0
- fixture/DescribeAlias.yaml +0/−0
- fixture/DescribeAliasResponse.proto +0/−0
- fixture/DescribeBuild.yaml +0/−0
- fixture/DescribeBuildResponse.proto +0/−0
- fixture/DescribeEC2InstanceLimits.yaml +0/−0
- fixture/DescribeEC2InstanceLimitsResponse.proto +0/−0
- fixture/DescribeFleetAttributes.yaml +0/−0
- fixture/DescribeFleetAttributesResponse.proto +0/−0
- fixture/DescribeFleetCapacity.yaml +0/−0
- fixture/DescribeFleetCapacityResponse.proto +0/−0
- fixture/DescribeFleetEvents.yaml +0/−0
- fixture/DescribeFleetEventsResponse.proto +0/−0
- fixture/DescribeFleetPortSettings.yaml +0/−0
- fixture/DescribeFleetPortSettingsResponse.proto +0/−0
- fixture/DescribeFleetUtilization.yaml +0/−0
- fixture/DescribeFleetUtilizationResponse.proto +0/−0
- fixture/DescribeGameSessionDetails.yaml +0/−0
- fixture/DescribeGameSessionDetailsResponse.proto +0/−0
- fixture/DescribeGameSessions.yaml +0/−0
- fixture/DescribeGameSessionsResponse.proto +0/−0
- fixture/DescribePlayerSessions.yaml +0/−0
- fixture/DescribePlayerSessionsResponse.proto +0/−0
- fixture/DescribeScalingPolicies.yaml +0/−0
- fixture/DescribeScalingPoliciesResponse.proto +0/−0
- fixture/GetGameSessionLogURL.yaml +0/−0
- fixture/GetGameSessionLogURLResponse.proto +0/−0
- fixture/ListAliases.yaml +0/−0
- fixture/ListAliasesResponse.proto +0/−0
- fixture/ListBuilds.yaml +0/−0
- fixture/ListBuildsResponse.proto +0/−0
- fixture/ListFleets.yaml +0/−0
- fixture/ListFleetsResponse.proto +0/−0
- fixture/PutScalingPolicy.yaml +0/−0
- fixture/PutScalingPolicyResponse.proto +0/−0
- fixture/RequestUploadCredentials.yaml +0/−0
- fixture/RequestUploadCredentialsResponse.proto +0/−0
- fixture/ResolveAlias.yaml +0/−0
- fixture/ResolveAliasResponse.proto +0/−0
- fixture/UpdateAlias.yaml +0/−0
- fixture/UpdateAliasResponse.proto +0/−0
- fixture/UpdateBuild.yaml +0/−0
- fixture/UpdateBuildResponse.proto +0/−0
- fixture/UpdateFleetAttributes.yaml +0/−0
- fixture/UpdateFleetAttributesResponse.proto +0/−0
- fixture/UpdateFleetCapacity.yaml +0/−0
- fixture/UpdateFleetCapacityResponse.proto +0/−0
- fixture/UpdateFleetPortSettings.yaml +0/−0
- fixture/UpdateFleetPortSettingsResponse.proto +0/−0
- fixture/UpdateGameSession.yaml +0/−0
- fixture/UpdateGameSessionResponse.proto +0/−0
- gen/Network/AWS/GameLift.hs +512/−0
- gen/Network/AWS/GameLift/CreateAlias.hs +165/−0
- gen/Network/AWS/GameLift/CreateBuild.hs +194/−0
- gen/Network/AWS/GameLift/CreateFleet.hs +279/−0
- gen/Network/AWS/GameLift/CreateGameSession.hs +190/−0
- gen/Network/AWS/GameLift/CreatePlayerSession.hs +151/−0
- gen/Network/AWS/GameLift/CreatePlayerSessions.hs +153/−0
- gen/Network/AWS/GameLift/DeleteAlias.hs +105/−0
- gen/Network/AWS/GameLift/DeleteBuild.hs +106/−0
- gen/Network/AWS/GameLift/DeleteFleet.hs +105/−0
- gen/Network/AWS/GameLift/DeleteScalingPolicy.hs +119/−0
- gen/Network/AWS/GameLift/DescribeAlias.hs +131/−0
- gen/Network/AWS/GameLift/DescribeBuild.hs +131/−0
- gen/Network/AWS/GameLift/DescribeEC2InstanceLimits.hs +145/−0
- gen/Network/AWS/GameLift/DescribeFleetAttributes.hs +187/−0
- gen/Network/AWS/GameLift/DescribeFleetCapacity.hs +189/−0
- gen/Network/AWS/GameLift/DescribeFleetEvents.hs +201/−0
- gen/Network/AWS/GameLift/DescribeFleetPortSettings.hs +136/−0
- gen/Network/AWS/GameLift/DescribeFleetUtilization.hs +187/−0
- gen/Network/AWS/GameLift/DescribeGameSessionDetails.hs +219/−0
- gen/Network/AWS/GameLift/DescribeGameSessions.hs +217/−0
- gen/Network/AWS/GameLift/DescribePlayerSessions.hs +228/−0
- gen/Network/AWS/GameLift/DescribeScalingPolicies.hs +202/−0
- gen/Network/AWS/GameLift/GetGameSessionLogURL.hs +141/−0
- gen/Network/AWS/GameLift/ListAliases.hs +193/−0
- gen/Network/AWS/GameLift/ListBuilds.hs +184/−0
- gen/Network/AWS/GameLift/ListFleets.hs +178/−0
- gen/Network/AWS/GameLift/PutScalingPolicy.hs +268/−0
- gen/Network/AWS/GameLift/RequestUploadCredentials.hs +157/−0
- gen/Network/AWS/GameLift/ResolveAlias.hs +129/−0
- gen/Network/AWS/GameLift/Types.hs +337/−0
- gen/Network/AWS/GameLift/Types/Product.hs +1409/−0
- gen/Network/AWS/GameLift/Types/Sum.hs +598/−0
- gen/Network/AWS/GameLift/UpdateAlias.hs +166/−0
- gen/Network/AWS/GameLift/UpdateBuild.hs +156/−0
- gen/Network/AWS/GameLift/UpdateFleetAttributes.hs +175/−0
- gen/Network/AWS/GameLift/UpdateFleetCapacity.hs +179/−0
- gen/Network/AWS/GameLift/UpdateFleetPortSettings.hs +159/−0
- gen/Network/AWS/GameLift/UpdateGameSession.hs +187/−0
- gen/Network/AWS/GameLift/Waiters.hs +21/−0
- test/Main.hs +21/−0
- test/Test/AWS/GameLift.hs +23/−0
- test/Test/AWS/GameLift/Internal.hs +15/−0
- test/Test/AWS/Gen/GameLift.hs +669/−0
+ 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)