amazonka-gamelift 1.5.0 → 1.6.0
raw patch · 84 files changed
+5636/−4826 lines, 84 filesdep ~amazonka-coredep ~amazonka-testPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core, amazonka-test
API changes (from Hackage documentation)
+ Network.AWS.GameLift: AutoScaling :: FleetAction
+ Network.AWS.GameLift: InstanceInterrupted :: EventCode
+ Network.AWS.GameLift: Interrupted :: GameSessionStatusReason
+ Network.AWS.GameLift: OnDemand :: FleetType
+ Network.AWS.GameLift: RuleBased :: PolicyType
+ Network.AWS.GameLift: Spot :: FleetType
+ Network.AWS.GameLift: TargetBased :: PolicyType
+ Network.AWS.GameLift: data FleetAction
+ Network.AWS.GameLift: data FleetType
+ Network.AWS.GameLift: data GameSessionStatusReason
+ Network.AWS.GameLift: data PolicyType
+ Network.AWS.GameLift: data TargetConfiguration
+ Network.AWS.GameLift: faFleetType :: Lens' FleetAttributes (Maybe FleetType)
+ Network.AWS.GameLift: faInstanceType :: Lens' FleetAttributes (Maybe EC2InstanceType)
+ Network.AWS.GameLift: faStoppedActions :: Lens' FleetAttributes (Maybe (NonEmpty FleetAction))
+ Network.AWS.GameLift: gsMatchmakerData :: Lens' GameSession (Maybe Text)
+ Network.AWS.GameLift: gsStatusReason :: Lens' GameSession (Maybe GameSessionStatusReason)
+ Network.AWS.GameLift: gspMatchmakerData :: Lens' GameSessionPlacement (Maybe Text)
+ Network.AWS.GameLift: spPolicyType :: Lens' ScalingPolicy (Maybe PolicyType)
+ Network.AWS.GameLift: spTargetConfiguration :: Lens' ScalingPolicy (Maybe TargetConfiguration)
+ Network.AWS.GameLift: targetConfiguration :: Double -> TargetConfiguration
+ Network.AWS.GameLift: tcTargetValue :: Lens' TargetConfiguration Double
+ Network.AWS.GameLift.CreateFleet: cfFleetType :: Lens' CreateFleet (Maybe FleetType)
+ Network.AWS.GameLift.PutScalingPolicy: pspPolicyType :: Lens' PutScalingPolicy (Maybe PolicyType)
+ Network.AWS.GameLift.PutScalingPolicy: pspTargetConfiguration :: Lens' PutScalingPolicy (Maybe TargetConfiguration)
+ Network.AWS.GameLift.StartFleetActions: data StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: data StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance Control.DeepSeq.NFData Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Control.DeepSeq.NFData Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Data.Data.Data Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Data.Data.Data Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance Data.Hashable.Class.Hashable Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Classes.Eq Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Classes.Eq Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Generics.Generic Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Generics.Generic Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Read.Read Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Read.Read Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Show.Show Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance GHC.Show.Show Network.AWS.GameLift.StartFleetActions.StartFleetActionsResponse
+ Network.AWS.GameLift.StartFleetActions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Network.AWS.Data.Path.ToPath Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Network.AWS.Data.Query.ToQuery Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: instance Network.AWS.Types.AWSRequest Network.AWS.GameLift.StartFleetActions.StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: sfaActions :: Lens' StartFleetActions (NonEmpty FleetAction)
+ Network.AWS.GameLift.StartFleetActions: sfaFleetId :: Lens' StartFleetActions Text
+ Network.AWS.GameLift.StartFleetActions: sfarsResponseStatus :: Lens' StartFleetActionsResponse Int
+ Network.AWS.GameLift.StartFleetActions: startFleetActions :: Text -> NonEmpty FleetAction -> StartFleetActions
+ Network.AWS.GameLift.StartFleetActions: startFleetActionsResponse :: Int -> StartFleetActionsResponse
+ Network.AWS.GameLift.StartMatchBackfill: data StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: data StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance Control.DeepSeq.NFData Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Control.DeepSeq.NFData Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Data.Data.Data Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Data.Data.Data Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance Data.Hashable.Class.Hashable Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Classes.Eq Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Classes.Eq Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Generics.Generic Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Generics.Generic Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Read.Read Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Read.Read Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Show.Show Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance GHC.Show.Show Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfillResponse
+ Network.AWS.GameLift.StartMatchBackfill: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Network.AWS.Data.Path.ToPath Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Network.AWS.Data.Query.ToQuery Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: instance Network.AWS.Types.AWSRequest Network.AWS.GameLift.StartMatchBackfill.StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: smbConfigurationName :: Lens' StartMatchBackfill Text
+ Network.AWS.GameLift.StartMatchBackfill: smbGameSessionARN :: Lens' StartMatchBackfill Text
+ Network.AWS.GameLift.StartMatchBackfill: smbPlayers :: Lens' StartMatchBackfill [Player]
+ Network.AWS.GameLift.StartMatchBackfill: smbTicketId :: Lens' StartMatchBackfill (Maybe Text)
+ Network.AWS.GameLift.StartMatchBackfill: smbrsMatchmakingTicket :: Lens' StartMatchBackfillResponse (Maybe MatchmakingTicket)
+ Network.AWS.GameLift.StartMatchBackfill: smbrsResponseStatus :: Lens' StartMatchBackfillResponse Int
+ Network.AWS.GameLift.StartMatchBackfill: startMatchBackfill :: Text -> Text -> StartMatchBackfill
+ Network.AWS.GameLift.StartMatchBackfill: startMatchBackfillResponse :: Int -> StartMatchBackfillResponse
+ Network.AWS.GameLift.StopFleetActions: data StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: data StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance Control.DeepSeq.NFData Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Control.DeepSeq.NFData Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Data.Data.Data Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Data.Data.Data Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance Data.Hashable.Class.Hashable Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Classes.Eq Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Classes.Eq Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Generics.Generic Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Generics.Generic Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Read.Read Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Read.Read Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Show.Show Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance GHC.Show.Show Network.AWS.GameLift.StopFleetActions.StopFleetActionsResponse
+ Network.AWS.GameLift.StopFleetActions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Network.AWS.Data.Path.ToPath Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Network.AWS.Data.Query.ToQuery Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: instance Network.AWS.Types.AWSRequest Network.AWS.GameLift.StopFleetActions.StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: sActions :: Lens' StopFleetActions (NonEmpty FleetAction)
+ Network.AWS.GameLift.StopFleetActions: sFleetId :: Lens' StopFleetActions Text
+ Network.AWS.GameLift.StopFleetActions: sfasrsResponseStatus :: Lens' StopFleetActionsResponse Int
+ Network.AWS.GameLift.StopFleetActions: stopFleetActions :: Text -> NonEmpty FleetAction -> StopFleetActions
+ Network.AWS.GameLift.StopFleetActions: stopFleetActionsResponse :: Int -> StopFleetActionsResponse
+ Network.AWS.GameLift.Types: AutoScaling :: FleetAction
+ Network.AWS.GameLift.Types: InstanceInterrupted :: EventCode
+ Network.AWS.GameLift.Types: Interrupted :: GameSessionStatusReason
+ Network.AWS.GameLift.Types: OnDemand :: FleetType
+ Network.AWS.GameLift.Types: RuleBased :: PolicyType
+ Network.AWS.GameLift.Types: Spot :: FleetType
+ Network.AWS.GameLift.Types: TargetBased :: PolicyType
+ Network.AWS.GameLift.Types: data FleetAction
+ Network.AWS.GameLift.Types: data FleetType
+ Network.AWS.GameLift.Types: data GameSessionStatusReason
+ Network.AWS.GameLift.Types: data PolicyType
+ Network.AWS.GameLift.Types: data TargetConfiguration
+ Network.AWS.GameLift.Types: faFleetType :: Lens' FleetAttributes (Maybe FleetType)
+ Network.AWS.GameLift.Types: faInstanceType :: Lens' FleetAttributes (Maybe EC2InstanceType)
+ Network.AWS.GameLift.Types: faStoppedActions :: Lens' FleetAttributes (Maybe (NonEmpty FleetAction))
+ Network.AWS.GameLift.Types: gsMatchmakerData :: Lens' GameSession (Maybe Text)
+ Network.AWS.GameLift.Types: gsStatusReason :: Lens' GameSession (Maybe GameSessionStatusReason)
+ Network.AWS.GameLift.Types: gspMatchmakerData :: Lens' GameSessionPlacement (Maybe Text)
+ Network.AWS.GameLift.Types: spPolicyType :: Lens' ScalingPolicy (Maybe PolicyType)
+ Network.AWS.GameLift.Types: spTargetConfiguration :: Lens' ScalingPolicy (Maybe TargetConfiguration)
+ Network.AWS.GameLift.Types: targetConfiguration :: Double -> TargetConfiguration
+ Network.AWS.GameLift.Types: tcTargetValue :: Lens' TargetConfiguration Double
- Network.AWS.GameLift.PutScalingPolicy: pspComparisonOperator :: Lens' PutScalingPolicy ComparisonOperatorType
+ Network.AWS.GameLift.PutScalingPolicy: pspComparisonOperator :: Lens' PutScalingPolicy (Maybe ComparisonOperatorType)
- Network.AWS.GameLift.PutScalingPolicy: pspEvaluationPeriods :: Lens' PutScalingPolicy Natural
+ Network.AWS.GameLift.PutScalingPolicy: pspEvaluationPeriods :: Lens' PutScalingPolicy (Maybe Natural)
- Network.AWS.GameLift.PutScalingPolicy: pspScalingAdjustment :: Lens' PutScalingPolicy Int
+ Network.AWS.GameLift.PutScalingPolicy: pspScalingAdjustment :: Lens' PutScalingPolicy (Maybe Int)
- Network.AWS.GameLift.PutScalingPolicy: pspScalingAdjustmentType :: Lens' PutScalingPolicy ScalingAdjustmentType
+ Network.AWS.GameLift.PutScalingPolicy: pspScalingAdjustmentType :: Lens' PutScalingPolicy (Maybe ScalingAdjustmentType)
- Network.AWS.GameLift.PutScalingPolicy: pspThreshold :: Lens' PutScalingPolicy Double
+ Network.AWS.GameLift.PutScalingPolicy: pspThreshold :: Lens' PutScalingPolicy (Maybe Double)
- Network.AWS.GameLift.PutScalingPolicy: putScalingPolicy :: Text -> Text -> Int -> ScalingAdjustmentType -> Double -> ComparisonOperatorType -> Natural -> MetricName -> PutScalingPolicy
+ Network.AWS.GameLift.PutScalingPolicy: putScalingPolicy :: Text -> Text -> MetricName -> PutScalingPolicy
Files
- README.md +1/−1
- amazonka-gamelift.cabal +8/−5
- fixture/StartFleetActions.yaml +10/−0
- fixture/StartFleetActionsResponse.proto +0/−0
- fixture/StartMatchBackfill.yaml +10/−0
- fixture/StartMatchBackfillResponse.proto +0/−0
- fixture/StopFleetActions.yaml +10/−0
- fixture/StopFleetActionsResponse.proto +0/−0
- gen/Network/AWS/GameLift.hs +56/−13
- gen/Network/AWS/GameLift/AcceptMatch.hs +11/−9
- gen/Network/AWS/GameLift/CreateAlias.hs +11/−11
- gen/Network/AWS/GameLift/CreateBuild.hs +40/−30
- gen/Network/AWS/GameLift/CreateFleet.hs +70/−60
- gen/Network/AWS/GameLift/CreateGameSession.hs +27/−27
- gen/Network/AWS/GameLift/CreateGameSessionQueue.hs +15/−13
- gen/Network/AWS/GameLift/CreateMatchmakingConfiguration.hs +34/−34
- gen/Network/AWS/GameLift/CreateMatchmakingRuleSet.hs +7/−7
- gen/Network/AWS/GameLift/CreatePlayerSession.hs +11/−11
- gen/Network/AWS/GameLift/CreatePlayerSessions.hs +11/−11
- gen/Network/AWS/GameLift/CreateVPCPeeringAuthorization.hs +11/−11
- gen/Network/AWS/GameLift/CreateVPCPeeringConnection.hs +9/−9
- gen/Network/AWS/GameLift/DeleteAlias.hs +2/−2
- gen/Network/AWS/GameLift/DeleteBuild.hs +2/−2
- gen/Network/AWS/GameLift/DeleteFleet.hs +11/−15
- gen/Network/AWS/GameLift/DeleteGameSessionQueue.hs +3/−3
- gen/Network/AWS/GameLift/DeleteMatchmakingConfiguration.hs +4/−4
- gen/Network/AWS/GameLift/DeleteScalingPolicy.hs +14/−36
- gen/Network/AWS/GameLift/DeleteVPCPeeringAuthorization.hs +8/−8
- gen/Network/AWS/GameLift/DeleteVPCPeeringConnection.hs +7/−7
- gen/Network/AWS/GameLift/DescribeAlias.hs +5/−5
- gen/Network/AWS/GameLift/DescribeBuild.hs +6/−6
- gen/Network/AWS/GameLift/DescribeEC2InstanceLimits.hs +16/−18
- gen/Network/AWS/GameLift/DescribeFleetAttributes.hs +21/−25
- gen/Network/AWS/GameLift/DescribeFleetCapacity.hs +21/−25
- gen/Network/AWS/GameLift/DescribeFleetEvents.hs +28/−32
- gen/Network/AWS/GameLift/DescribeFleetPortSettings.hs +16/−20
- gen/Network/AWS/GameLift/DescribeFleetUtilization.hs +21/−25
- gen/Network/AWS/GameLift/DescribeGameSessionDetails.hs +21/−21
- gen/Network/AWS/GameLift/DescribeGameSessionPlacement.hs +7/−7
- gen/Network/AWS/GameLift/DescribeGameSessionQueues.hs +12/−12
- gen/Network/AWS/GameLift/DescribeGameSessions.hs +21/−21
- gen/Network/AWS/GameLift/DescribeInstances.hs +17/−17
- gen/Network/AWS/GameLift/DescribeMatchmaking.hs +11/−9
- gen/Network/AWS/GameLift/DescribeMatchmakingConfigurations.hs +17/−17
- gen/Network/AWS/GameLift/DescribeMatchmakingRuleSets.hs +12/−12
- gen/Network/AWS/GameLift/DescribePlayerSessions.hs +21/−21
- gen/Network/AWS/GameLift/DescribeRuntimeConfiguration.hs +16/−20
- gen/Network/AWS/GameLift/DescribeScalingPolicies.hs +28/−50
- gen/Network/AWS/GameLift/DescribeVPCPeeringAuthorizations.hs +6/−6
- gen/Network/AWS/GameLift/DescribeVPCPeeringConnections.hs +7/−7
- gen/Network/AWS/GameLift/GetGameSessionLogURL.hs +5/−5
- gen/Network/AWS/GameLift/GetInstanceAccess.hs +6/−6
- gen/Network/AWS/GameLift/ListAliases.hs +17/−17
- gen/Network/AWS/GameLift/ListBuilds.hs +11/−11
- gen/Network/AWS/GameLift/ListFleets.hs +20/−24
- gen/Network/AWS/GameLift/PutScalingPolicy.hs +108/−98
- gen/Network/AWS/GameLift/RequestUploadCredentials.hs +12/−10
- gen/Network/AWS/GameLift/ResolveAlias.hs +5/−5
- gen/Network/AWS/GameLift/SearchGameSessions.hs +33/−31
- gen/Network/AWS/GameLift/StartFleetActions.hs +163/−0
- gen/Network/AWS/GameLift/StartGameSessionPlacement.hs +27/−27
- gen/Network/AWS/GameLift/StartMatchBackfill.hs +193/−0
- gen/Network/AWS/GameLift/StartMatchmaking.hs +15/−13
- gen/Network/AWS/GameLift/StopFleetActions.hs +135/−0
- gen/Network/AWS/GameLift/StopGameSessionPlacement.hs +7/−7
- gen/Network/AWS/GameLift/StopMatchmaking.hs +5/−3
- gen/Network/AWS/GameLift/Types.hs +43/−16
- gen/Network/AWS/GameLift/Types/Product.hs +3748/−3652
- gen/Network/AWS/GameLift/Types/Sum.hs +116/−2
- gen/Network/AWS/GameLift/UpdateAlias.hs +13/−13
- gen/Network/AWS/GameLift/UpdateBuild.hs +7/−7
- gen/Network/AWS/GameLift/UpdateFleetAttributes.hs +26/−30
- gen/Network/AWS/GameLift/UpdateFleetCapacity.hs +23/−27
- gen/Network/AWS/GameLift/UpdateFleetPortSettings.hs +20/−24
- gen/Network/AWS/GameLift/UpdateGameSession.hs +15/−15
- gen/Network/AWS/GameLift/UpdateGameSessionQueue.hs +15/−13
- gen/Network/AWS/GameLift/UpdateMatchmakingConfiguration.hs +33/−33
- gen/Network/AWS/GameLift/UpdateRuntimeConfiguration.hs +18/−22
- gen/Network/AWS/GameLift/ValidateMatchmakingRuleSet.hs +5/−5
- gen/Network/AWS/GameLift/Waiters.hs +1/−1
- test/Main.hs +1/−1
- test/Test/AWS/GameLift.hs +1/−1
- test/Test/AWS/GameLift/Internal.hs +1/−1
- test/Test/AWS/Gen/GameLift.hs +55/−1
README.md view
@@ -8,7 +8,7 @@ ## Version -`1.5.0`+`1.6.0` ## Description
amazonka-gamelift.cabal view
@@ -1,5 +1,5 @@ name: amazonka-gamelift-version: 1.5.0+version: 1.6.0 synopsis: Amazon GameLift SDK. homepage: https://github.com/brendanhay/amazonka bug-reports: https://github.com/brendanhay/amazonka/issues@@ -7,7 +7,7 @@ license-file: LICENSE author: Brendan Hay maintainer: Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright: Copyright (c) 2013-2017 Brendan Hay+copyright: Copyright (c) 2013-2018 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple cabal-version: >= 1.10@@ -95,8 +95,11 @@ , Network.AWS.GameLift.RequestUploadCredentials , Network.AWS.GameLift.ResolveAlias , Network.AWS.GameLift.SearchGameSessions+ , Network.AWS.GameLift.StartFleetActions , Network.AWS.GameLift.StartGameSessionPlacement+ , Network.AWS.GameLift.StartMatchBackfill , Network.AWS.GameLift.StartMatchmaking+ , Network.AWS.GameLift.StopFleetActions , Network.AWS.GameLift.StopGameSessionPlacement , Network.AWS.GameLift.StopMatchmaking , Network.AWS.GameLift.Types@@ -117,7 +120,7 @@ , Network.AWS.GameLift.Types.Sum build-depends:- amazonka-core == 1.5.0.*+ amazonka-core == 1.6.0.* , base >= 4.7 && < 5 test-suite amazonka-gamelift-test@@ -137,8 +140,8 @@ , Test.AWS.GameLift.Internal build-depends:- amazonka-core == 1.5.0.*- , amazonka-test == 1.5.0.*+ amazonka-core == 1.6.0.*+ , amazonka-test == 1.6.0.* , amazonka-gamelift , base , bytestring
+ fixture/StartFleetActions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamelift/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: gamelift.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartFleetActionsResponse.proto view
+ fixture/StartMatchBackfill.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamelift/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: gamelift.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StartMatchBackfillResponse.proto view
+ fixture/StopFleetActions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/gamelift/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: gamelift.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/StopFleetActionsResponse.proto view
gen/Network/AWS/GameLift.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Network.AWS.GameLift--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -13,13 +13,13 @@ -- -- __Amazon GameLift Service__ ----- Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Amazon GameLift provides tools for the following tasks: (1) acquire computing resources and deploy game servers, (2) scale game server capacity to meet player demand, (3) host game sessions and manage player access, and (4) track in-depth metrics on player usage and server performance.+-- Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Use Amazon GameLift for these tasks: (1) set up computing resources and deploy your game servers, (2) run game sessions and get players into games, (3) automatically scale your resources to meet player demand and manage costs, and (4) track in-depth metrics on game server performance and player usage. -- -- The Amazon GameLift service API includes two important function sets: -- -- * __Manage game sessions and player access__ -- Retrieve information on available game sessions; create new game sessions; send player requests to join a game session. ----- * __Configure and manage game server resources__ -- Manage builds, fleets, queues, and aliases; set autoscaling policies; retrieve logs and metrics.+-- * __Configure and manage game server resources__ -- Manage builds, fleets, queues, and aliases; set auto-scaling policies; retrieve logs and metrics. -- -- --@@ -35,17 +35,17 @@ -- -- ----- __MORE RESOURCES__+-- __Learn more__ ----- * <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Amazon GameLift Developer Guide> -- Learn more about Amazon GameLift features and how to use them.+-- * <http://docs.aws.amazon.com/gamelift/latest/developerguide/ Developer Guide> -- Read about Amazon GameLift features and how to use them. ----- * <https://gamedev.amazon.com/forums/tutorials Lumberyard and Amazon GameLift Tutorials> -- Get started fast with walkthroughs and sample projects.+-- * <https://gamedev.amazon.com/forums/tutorials Tutorials> -- Get started fast with walkthroughs and sample projects. -- -- * <http://aws.amazon.com/blogs/gamedev/ GameDev Blog> -- Stay up to date with new features and techniques. -- -- * <https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html GameDev Forums> -- Connect with the GameDev community. ----- * <http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html Amazon GameLift Document History> -- See changes to the Amazon GameLift service, SDKs, and documentation, as well as links to release notes.+-- * <http://aws.amazon.com/releasenotes/Amazon-GameLift/ Release notes> and <http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html document history> -- Stay current with updates to the Amazon GameLift service, SDKs, and documentation. -- -- --@@ -79,10 +79,12 @@ -- -- ----- * __Start new game sessions with FlexMatch matchmaking__+-- * __Match players to game sessions with FlexMatch matchmaking__ -- -- * 'StartMatchmaking' -- Request matchmaking for one players or a group who want to play together. --+-- * 'StartMatchBackfill' - Request additional player matches to fill empty slots in an existing game session.+-- -- * 'DescribeMatchmaking' -- Get details on a matchmaking request, including status. -- -- * 'AcceptMatch' -- Register that a player accepts a proposed match, for matches that require player acceptance.@@ -121,7 +123,7 @@ -- -- * __Manage game builds__ ----- * 'CreateBuild' -- Create a new build using files stored in an Amazon S3 bucket. (Update uploading permissions with 'RequestUploadCredentials' .) To create a build and upload files from a local path, use the AWS CLI command @upload-build@ .+-- * 'CreateBuild' -- Create a new build using files stored in an Amazon S3 bucket. To create a build and upload files from a local path, use the AWS CLI command @upload-build@ . -- -- * 'ListBuilds' -- Get a list of all builds uploaded to a Amazon GameLift region. --@@ -159,18 +161,22 @@ -- -- * 'DescribeFleetCapacity' / 'UpdateFleetCapacity' -- Retrieve the capacity settings and the current number of instances in a fleet; adjust fleet capacity settings to scale up or down. ----- * Autoscale -- Manage autoscaling rules and apply them to a fleet.+-- * Autoscale -- Manage auto-scaling rules and apply them to a fleet. ----- * 'PutScalingPolicy' -- Create a new autoscaling policy, or update an existing one.+-- * 'PutScalingPolicy' -- Create a new auto-scaling policy, or update an existing one. ----- * 'DescribeScalingPolicies' -- Retrieve an existing autoscaling policy.+-- * 'DescribeScalingPolicies' -- Retrieve an existing auto-scaling policy. ----- * 'DeleteScalingPolicy' -- Delete an autoscaling policy and stop it from affecting a fleet's capacity.+-- * 'DeleteScalingPolicy' -- Delete an auto-scaling policy and stop it from affecting a fleet's capacity. --+-- * 'StartFleetActions' -- Restart a fleet's auto-scaling policies. --+-- * 'StopFleetActions' -- Suspend a fleet's auto-scaling policies. -- -- --+--+-- -- * __Manage VPC peering connections for fleets__ -- -- * 'CreateVpcPeeringAuthorization' -- Authorize a peering connection to one of your VPCs.@@ -363,6 +369,9 @@ -- ** DeleteVPCPeeringConnection , module Network.AWS.GameLift.DeleteVPCPeeringConnection + -- ** StartFleetActions+ , module Network.AWS.GameLift.StartFleetActions+ -- ** GetInstanceAccess , module Network.AWS.GameLift.GetInstanceAccess @@ -420,6 +429,9 @@ -- ** UpdateAlias , module Network.AWS.GameLift.UpdateAlias + -- ** StartMatchBackfill+ , module Network.AWS.GameLift.StartMatchBackfill+ -- ** DescribeInstances , module Network.AWS.GameLift.DescribeInstances @@ -465,6 +477,9 @@ -- ** DescribePlayerSessions , module Network.AWS.GameLift.DescribePlayerSessions + -- ** StopFleetActions+ , module Network.AWS.GameLift.StopFleetActions+ -- ** DescribeBuild , module Network.AWS.GameLift.DescribeBuild @@ -515,15 +530,24 @@ -- ** EventCode , EventCode (..) + -- ** FleetAction+ , FleetAction (..)+ -- ** FleetStatus , FleetStatus (..) + -- ** FleetType+ , FleetType (..)+ -- ** GameSessionPlacementState , GameSessionPlacementState (..) -- ** GameSessionStatus , GameSessionStatus (..) + -- ** GameSessionStatusReason+ , GameSessionStatusReason (..)+ -- ** IPProtocol , IPProtocol (..) @@ -545,6 +569,9 @@ -- ** PlayerSessionStatus , PlayerSessionStatus (..) + -- ** PolicyType+ , PolicyType (..)+ -- ** ProtectionPolicy , ProtectionPolicy (..) @@ -638,7 +665,10 @@ , faOperatingSystem , faBuildId , faFleetARN+ , faFleetType , faTerminationTime+ , faInstanceType+ , faStoppedActions , faNewGameSessionProtectionPolicy , faName , faServerLaunchPath@@ -677,11 +707,13 @@ , gsGameProperties , gsIPAddress , gsGameSessionId+ , gsMatchmakerData , gsMaximumPlayerSessionCount , gsTerminationTime , gsPlayerSessionCreationPolicy , gsName , gsCurrentPlayerSessionCount+ , gsStatusReason , gsGameSessionData , gsFleetId , gsCreatorId@@ -712,6 +744,7 @@ , gspStartTime , gspGameSessionId , gspGameSessionRegion+ , gspMatchmakerData , gspMaximumPlayerSessionCount , gspEndTime , gspGameSessionARN@@ -887,12 +920,14 @@ , spStatus , spScalingAdjustmentType , spEvaluationPeriods+ , spPolicyType , spMetricName , spComparisonOperator , spName , spThreshold , spScalingAdjustment , spFleetId+ , spTargetConfiguration -- ** ServerProcess , ServerProcess@@ -901,6 +936,11 @@ , spLaunchPath , spConcurrentExecutions + -- ** TargetConfiguration+ , TargetConfiguration+ , targetConfiguration+ , tcTargetValue+ -- ** VPCPeeringAuthorization , VPCPeeringAuthorization , vpcPeeringAuthorization@@ -977,8 +1017,11 @@ import Network.AWS.GameLift.RequestUploadCredentials import Network.AWS.GameLift.ResolveAlias import Network.AWS.GameLift.SearchGameSessions+import Network.AWS.GameLift.StartFleetActions import Network.AWS.GameLift.StartGameSessionPlacement+import Network.AWS.GameLift.StartMatchBackfill import Network.AWS.GameLift.StartMatchmaking+import Network.AWS.GameLift.StopFleetActions import Network.AWS.GameLift.StopGameSessionPlacement import Network.AWS.GameLift.StopMatchmaking import Network.AWS.GameLift.Types
gen/Network/AWS/GameLift/AcceptMatch.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.AcceptMatch--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -37,8 +37,10 @@ -- -- * 'AcceptMatch' --+-- * 'StartMatchBackfill' -- --+-- module Network.AWS.GameLift.AcceptMatch ( -- * Creating a Request@@ -90,23 +92,23 @@ -> AcceptMatch acceptMatch pTicketId_ pAcceptanceType_ = AcceptMatch'- { _amTicketId = pTicketId_- , _amPlayerIds = mempty- , _amAcceptanceType = pAcceptanceType_- }+ { _amTicketId = pTicketId_+ , _amPlayerIds = mempty+ , _amAcceptanceType = pAcceptanceType_+ } -- | Unique identifier for a matchmaking ticket. The ticket must be in status @REQUIRES_ACCEPTANCE@ ; otherwise this request will fail. amTicketId :: Lens' AcceptMatch Text-amTicketId = lens _amTicketId (\ s a -> s{_amTicketId = a});+amTicketId = lens _amTicketId (\ s a -> s{_amTicketId = a}) -- | Unique identifier for a player delivering the response. This parameter can include one or multiple player IDs. amPlayerIds :: Lens' AcceptMatch [Text]-amPlayerIds = lens _amPlayerIds (\ s a -> s{_amPlayerIds = a}) . _Coerce;+amPlayerIds = lens _amPlayerIds (\ s a -> s{_amPlayerIds = a}) . _Coerce -- | Player response to the proposed match. amAcceptanceType :: Lens' AcceptMatch AcceptanceType-amAcceptanceType = lens _amAcceptanceType (\ s a -> s{_amAcceptanceType = a});+amAcceptanceType = lens _amAcceptanceType (\ s a -> s{_amAcceptanceType = a}) instance AWSRequest AcceptMatch where type Rs AcceptMatch = AcceptMatchResponse@@ -163,6 +165,6 @@ -- | -- | The response status code. amrsResponseStatus :: Lens' AcceptMatchResponse Int-amrsResponseStatus = lens _amrsResponseStatus (\ s a -> s{_amrsResponseStatus = a});+amrsResponseStatus = lens _amrsResponseStatus (\ s a -> s{_amrsResponseStatus = a}) instance NFData AcceptMatchResponse where
gen/Network/AWS/GameLift/CreateAlias.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateAlias--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -93,23 +93,23 @@ -> CreateAlias createAlias pName_ pRoutingStrategy_ = CreateAlias'- { _caDescription = Nothing- , _caName = pName_- , _caRoutingStrategy = pRoutingStrategy_- }+ { _caDescription = Nothing+ , _caName = pName_+ , _caRoutingStrategy = pRoutingStrategy_+ } -- | Human-readable description of an alias. caDescription :: Lens' CreateAlias (Maybe Text)-caDescription = lens _caDescription (\ s a -> s{_caDescription = a});+caDescription = lens _caDescription (\ s a -> s{_caDescription = a}) -- | Descriptive label that is associated with an alias. Alias names do not need to be unique. caName :: Lens' CreateAlias Text-caName = lens _caName (\ s a -> s{_caName = a});+caName = lens _caName (\ s a -> s{_caName = a}) -- | Object that specifies the fleet and routing type to use for the alias. caRoutingStrategy :: Lens' CreateAlias RoutingStrategy-caRoutingStrategy = lens _caRoutingStrategy (\ s a -> s{_caRoutingStrategy = a});+caRoutingStrategy = lens _caRoutingStrategy (\ s a -> s{_caRoutingStrategy = a}) instance AWSRequest CreateAlias where type Rs CreateAlias = CreateAliasResponse@@ -170,15 +170,15 @@ -> CreateAliasResponse createAliasResponse pResponseStatus_ = CreateAliasResponse'- {_carsAlias = Nothing, _carsResponseStatus = pResponseStatus_}+ {_carsAlias = Nothing, _carsResponseStatus = pResponseStatus_} -- | Object that describes the newly created alias record. carsAlias :: Lens' CreateAliasResponse (Maybe Alias)-carsAlias = lens _carsAlias (\ s a -> s{_carsAlias = a});+carsAlias = lens _carsAlias (\ s a -> s{_carsAlias = a}) -- | -- | The response status code. carsResponseStatus :: Lens' CreateAliasResponse Int-carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});+carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a}) instance NFData CreateAliasResponse where
gen/Network/AWS/GameLift/CreateBuild.hs view
@@ -12,19 +12,29 @@ -- | -- Module : Network.AWS.GameLift.CreateBuild--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. To use this API call, create a @.zip@ file containing all of the files for the build and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html Uploading Your Game to Amazon GameLift> .+-- Creates a new Amazon GameLift build record for your game server binary files and points to the location of your game server build files in an Amazon Simple Storage Service (Amazon S3) location. -- ----- /Important:/ Use this API action ONLY if you are storing your game build files in an Amazon S3 bucket. To create a build using files stored locally, use the CLI command <http://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html @upload-build@ > , which uploads the build files from a file location you specify.+-- Game server binaries must be combined into a @.zip@ file for use with Amazon GameLift. See <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html Uploading Your Game> for more information. ----- To create a new build using @CreateBuild@ , identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in @INITIALIZED@ status. Use the API call 'DescribeBuild' to check the status of your build. A build must be in @READY@ status before it can be used to create fleets to host your game.+-- /Important:/ To create new builds quickly and easily, use the AWS CLI command __<http://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html upload-build> __ . This helper command uploads your build and creates a new build record in one step, and automatically handles the necessary permissions. See <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html Upload Build Files to Amazon GameLift> for more help. --+-- The @CreateBuild@ operation should be used only when you need to manually upload your build files, as in the following scenarios:+--+-- * Store a build file in an Amazon S3 bucket under your own AWS account. To use this option, you must first give Amazon GameLift access to that Amazon S3 bucket. See <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build Create a Build with Files in Amazon S3> for detailed help. To create a new build record using files in your Amazon S3 bucket, call @CreateBuild@ and specify a build name, operating system, and the storage location of your game build.+--+-- * Upload a build file directly to Amazon GameLift's Amazon S3 account. To use this option, you first call @CreateBuild@ with a build name and operating system. This action creates a new build record and returns an Amazon S3 storage location (bucket and key only) and temporary access credentials. Use the credentials to manually upload your build file to the storage location (see the Amazon S3 topic <http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html Uploading Objects> ). You can upload files to a location only once.+--+--+--+-- If successful, this operation creates a new build record with a unique build ID and places it in @INITIALIZED@ status. You can use 'DescribeBuild' to check the status of your build. A build must be in @READY@ status before it can be used to create fleets.+-- -- Build-related operations include: -- -- * 'CreateBuild'@@ -84,9 +94,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cbStorageLocation' - Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling @CreateBuild@ with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build Create a Build with Files in Amazon S3> ).+-- * 'cbStorageLocation' - Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key, as well as a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket must be in the same region that you want to create a new build in. ----- * 'cbOperatingSystem' - Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system.+-- * 'cbOperatingSystem' - Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later. -- -- * 'cbName' - Descriptive label that is associated with a build. Build names do not need to be unique. You can use 'UpdateBuild' to change this value later. --@@ -95,28 +105,28 @@ :: CreateBuild createBuild = CreateBuild'- { _cbStorageLocation = Nothing- , _cbOperatingSystem = Nothing- , _cbName = Nothing- , _cbVersion = Nothing- }+ { _cbStorageLocation = Nothing+ , _cbOperatingSystem = Nothing+ , _cbName = Nothing+ , _cbVersion = Nothing+ } --- | Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling @CreateBuild@ with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build Create a Build with Files in Amazon S3> ).+-- | Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key, as well as a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket must be in the same region that you want to create a new build in. cbStorageLocation :: Lens' CreateBuild (Maybe S3Location)-cbStorageLocation = lens _cbStorageLocation (\ s a -> s{_cbStorageLocation = a});+cbStorageLocation = lens _cbStorageLocation (\ s a -> s{_cbStorageLocation = a}) --- | Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system.+-- | Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later. cbOperatingSystem :: Lens' CreateBuild (Maybe OperatingSystem)-cbOperatingSystem = lens _cbOperatingSystem (\ s a -> s{_cbOperatingSystem = a});+cbOperatingSystem = lens _cbOperatingSystem (\ s a -> s{_cbOperatingSystem = a}) -- | Descriptive label that is associated with a build. Build names do not need to be unique. You can use 'UpdateBuild' to change this value later. cbName :: Lens' CreateBuild (Maybe Text)-cbName = lens _cbName (\ s a -> s{_cbName = a});+cbName = lens _cbName (\ s a -> s{_cbName = a}) -- | Version that is associated with this build. Version strings do not need to be unique. You can use 'UpdateBuild' to change this value later. cbVersion :: Lens' CreateBuild (Maybe Text)-cbVersion = lens _cbVersion (\ s a -> s{_cbVersion = a});+cbVersion = lens _cbVersion (\ s a -> s{_cbVersion = a}) instance AWSRequest CreateBuild where type Rs CreateBuild = CreateBuildResponse@@ -175,9 +185,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cbrsStorageLocation' - Amazon S3 location specified in the request.+-- * 'cbrsStorageLocation' - Amazon S3 location for your game build file, including bucket name and key. ----- * 'cbrsUploadCredentials' - This element is not currently in use.+-- * 'cbrsUploadCredentials' - This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call 'RequestUploadCredentials' . -- -- * 'cbrsBuild' - The newly created build record, including a unique build ID and status. --@@ -187,27 +197,27 @@ -> CreateBuildResponse createBuildResponse pResponseStatus_ = CreateBuildResponse'- { _cbrsStorageLocation = Nothing- , _cbrsUploadCredentials = Nothing- , _cbrsBuild = Nothing- , _cbrsResponseStatus = pResponseStatus_- }+ { _cbrsStorageLocation = Nothing+ , _cbrsUploadCredentials = Nothing+ , _cbrsBuild = Nothing+ , _cbrsResponseStatus = pResponseStatus_+ } --- | Amazon S3 location specified in the request.+-- | Amazon S3 location for your game build file, including bucket name and key. cbrsStorageLocation :: Lens' CreateBuildResponse (Maybe S3Location)-cbrsStorageLocation = lens _cbrsStorageLocation (\ s a -> s{_cbrsStorageLocation = a});+cbrsStorageLocation = lens _cbrsStorageLocation (\ s a -> s{_cbrsStorageLocation = a}) --- | This element is not currently in use.+-- | This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call 'RequestUploadCredentials' . cbrsUploadCredentials :: Lens' CreateBuildResponse (Maybe AWSCredentials)-cbrsUploadCredentials = lens _cbrsUploadCredentials (\ s a -> s{_cbrsUploadCredentials = a}) . mapping _Sensitive;+cbrsUploadCredentials = lens _cbrsUploadCredentials (\ s a -> s{_cbrsUploadCredentials = a}) . mapping _Sensitive -- | The newly created build record, including a unique build ID and status. cbrsBuild :: Lens' CreateBuildResponse (Maybe Build)-cbrsBuild = lens _cbrsBuild (\ s a -> s{_cbrsBuild = a});+cbrsBuild = lens _cbrsBuild (\ s a -> s{_cbrsBuild = a}) -- | -- | The response status code. cbrsResponseStatus :: Lens' CreateBuildResponse Int-cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a});+cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a}) instance NFData CreateBuildResponse where
gen/Network/AWS/GameLift/CreateFleet.hs view
@@ -12,16 +12,16 @@ -- | -- Module : Network.AWS.GameLift.CreateFleet--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create instances with certain hardware specifications (see <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for more information), and deploy a specified game build to each instance. A newly created fleet passes through several statuses; once it reaches the @ACTIVE@ status, it can begin hosting game sessions.+-- Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You set up a fleet to use instances with certain hardware specifications (see <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for more information), and deploy your game build to run on each instance. -- ----- To create a new fleet, you must specify the following: (1) fleet name, (2) build ID of an uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration that describes which server processes to run on each instance in the fleet. (Although the run-time configuration is not a required parameter, the fleet cannot be successfully activated without it.)+-- To create a new fleet, you must specify the following: (1) a fleet name, (2) the build ID of a successfully uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration, which describes the server processes to run on each instance in the fleet. If you don't specify a fleet type (on-demand or spot), the new fleet uses on-demand instances by default. -- -- You can also configure the new fleet with the following settings: --@@ -31,44 +31,54 @@ -- -- * Fleet-wide game session protection ----- * Resource creation limit+-- * Resource usage limits -- -- ----- If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. This allows you to view aggregated metrics for a set of fleets. Once you specify a metric group, the new fleet's metrics are included in the metric group's data.+-- * VPC peering connection (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html VPC Peering with Amazon GameLift Fleets> ) ----- You have the option of creating a VPC peering connection with the new fleet. For more information, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html VPC Peering with Amazon GameLift Fleets> . ----- If the CreateFleet call is successful, Amazon GameLift performs the following tasks: ----- * Creates a fleet record and sets the status to @NEW@ (followed by other statuses as the fleet is activated).+-- If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. By adding multiple fleets to a metric group, you can view aggregated metrics for all the fleets in the group. ----- * Sets the fleet's target capacity to 1 (desired instances), which causes Amazon GameLift to start one new EC2 instance.+-- If the @CreateFleet@ call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events: ----- * Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds.+-- * Creates a fleet record. Status: @NEW@ . -- -- * Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console. ----- * Sets the fleet's status to @ACTIVE@ as soon as one server process in the fleet is ready to host a game session.+-- Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance. --+-- * Downloads the game build to the new instance and installs it. Statuses: @DOWNLOADING@ , @VALIDATING@ , @BUILDING@ . --+-- * Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds. Status: @ACTIVATING@ . --+-- * Sets the fleet's status to @ACTIVE@ as soon as one server process is ready to host a game session.+--+--+-- -- Fleet-related operations include: -- -- * 'CreateFleet' -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -85,26 +95,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.CreateFleet ( -- * Creating a Request@@ -114,6 +114,7 @@ , cfServerLaunchParameters , cfLogPaths , cfPeerVPCId+ , cfFleetType , cfPeerVPCAWSAccountId , cfEC2InboundPermissions , cfRuntimeConfiguration@@ -150,6 +151,7 @@ { _cfServerLaunchParameters :: !(Maybe Text) , _cfLogPaths :: !(Maybe [Text]) , _cfPeerVPCId :: !(Maybe Text)+ , _cfFleetType :: !(Maybe FleetType) , _cfPeerVPCAWSAccountId :: !(Maybe Text) , _cfEC2InboundPermissions :: !(Maybe [IPPermission]) , _cfRuntimeConfiguration :: !(Maybe RuntimeConfiguration)@@ -174,17 +176,19 @@ -- -- * 'cfPeerVPCId' - Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console. --+-- * 'cfFleetType' - Indicates whether to use on-demand instances or spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations, based on the instance type selected for this fleet. You can acquire on-demand instances at any time for a fixed price and keep them as long as you need them. Spot instances have lower prices, but spot pricing is variable, and while in use they can be interrupted (with a two-minute notification). Learn more about Amazon GameLift spot instances with at <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html Choose Computing Resources> .+-- -- * 'cfPeerVPCAWSAccountId' - Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings. -- -- * 'cfEC2InboundPermissions' - Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. If no inbound permissions are set, including both IP address range and port range, the server processes in the fleet cannot accept connections. You can specify one or more sets of permissions for a fleet. -- -- * 'cfRuntimeConfiguration' - Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters @ServerLaunchPath@ and @ServerLaunchParameters@ ; requests that contain values for these parameters instead of a run-time configuration will continue to work.) ----- * 'cfNewGameSessionProtectionPolicy' - Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also 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.+-- * 'cfNewGameSessionProtectionPolicy' - Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using 'UpdateFleetAttributes' , but this change will only affect sessions created after the policy change. You can also 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. -- -- * 'cfServerLaunchPath' - This parameter is no longer used. Instead, specify a server launch path using the @RuntimeConfiguration@ parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.) ----- * 'cfMetricGroups' - Names of metric groups to add this fleet to. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.+-- * 'cfMetricGroups' - Name of a metric group to add this fleet to. A metric group tracks metrics across all fleets in the group. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. A fleet can only be included in one metric group at a time. -- -- * 'cfDescription' - Human-readable description of a fleet. --@@ -202,78 +206,83 @@ -> CreateFleet createFleet pName_ pBuildId_ pEC2InstanceType_ = CreateFleet'- { _cfServerLaunchParameters = Nothing- , _cfLogPaths = Nothing- , _cfPeerVPCId = Nothing- , _cfPeerVPCAWSAccountId = Nothing- , _cfEC2InboundPermissions = Nothing- , _cfRuntimeConfiguration = Nothing- , _cfNewGameSessionProtectionPolicy = Nothing- , _cfServerLaunchPath = Nothing- , _cfMetricGroups = Nothing- , _cfDescription = Nothing- , _cfResourceCreationLimitPolicy = Nothing- , _cfName = pName_- , _cfBuildId = pBuildId_- , _cfEC2InstanceType = pEC2InstanceType_- }+ { _cfServerLaunchParameters = Nothing+ , _cfLogPaths = Nothing+ , _cfPeerVPCId = Nothing+ , _cfFleetType = Nothing+ , _cfPeerVPCAWSAccountId = Nothing+ , _cfEC2InboundPermissions = Nothing+ , _cfRuntimeConfiguration = Nothing+ , _cfNewGameSessionProtectionPolicy = Nothing+ , _cfServerLaunchPath = Nothing+ , _cfMetricGroups = Nothing+ , _cfDescription = Nothing+ , _cfResourceCreationLimitPolicy = Nothing+ , _cfName = pName_+ , _cfBuildId = pBuildId_+ , _cfEC2InstanceType = pEC2InstanceType_+ } -- | This parameter is no longer used. Instead, specify server launch parameters in the @RuntimeConfiguration@ parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.) cfServerLaunchParameters :: Lens' CreateFleet (Maybe Text)-cfServerLaunchParameters = lens _cfServerLaunchParameters (\ s a -> s{_cfServerLaunchParameters = a});+cfServerLaunchParameters = lens _cfServerLaunchParameters (\ s a -> s{_cfServerLaunchParameters = a}) -- | This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API @ProcessReady()@ and specify one or more directory paths in @logParameters@ . See more information in the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process Server API Reference> . cfLogPaths :: Lens' CreateFleet [Text]-cfLogPaths = lens _cfLogPaths (\ s a -> s{_cfLogPaths = a}) . _Default . _Coerce;+cfLogPaths = lens _cfLogPaths (\ s a -> s{_cfLogPaths = a}) . _Default . _Coerce -- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console. cfPeerVPCId :: Lens' CreateFleet (Maybe Text)-cfPeerVPCId = lens _cfPeerVPCId (\ s a -> s{_cfPeerVPCId = a});+cfPeerVPCId = lens _cfPeerVPCId (\ s a -> s{_cfPeerVPCId = a}) +-- | Indicates whether to use on-demand instances or spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations, based on the instance type selected for this fleet. You can acquire on-demand instances at any time for a fixed price and keep them as long as you need them. Spot instances have lower prices, but spot pricing is variable, and while in use they can be interrupted (with a two-minute notification). Learn more about Amazon GameLift spot instances with at <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html Choose Computing Resources> .+cfFleetType :: Lens' CreateFleet (Maybe FleetType)+cfFleetType = lens _cfFleetType (\ s a -> s{_cfFleetType = a})+ -- | Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings. cfPeerVPCAWSAccountId :: Lens' CreateFleet (Maybe Text)-cfPeerVPCAWSAccountId = lens _cfPeerVPCAWSAccountId (\ s a -> s{_cfPeerVPCAWSAccountId = a});+cfPeerVPCAWSAccountId = lens _cfPeerVPCAWSAccountId (\ s a -> s{_cfPeerVPCAWSAccountId = a}) -- | Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. If no inbound permissions are set, including both IP address range and port range, the server processes in the fleet cannot accept connections. You can specify one or more sets of permissions for a fleet. cfEC2InboundPermissions :: Lens' CreateFleet [IPPermission]-cfEC2InboundPermissions = lens _cfEC2InboundPermissions (\ s a -> s{_cfEC2InboundPermissions = a}) . _Default . _Coerce;+cfEC2InboundPermissions = lens _cfEC2InboundPermissions (\ s a -> s{_cfEC2InboundPermissions = a}) . _Default . _Coerce -- | Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. A CreateFleet request must include a run-time configuration with at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters @ServerLaunchPath@ and @ServerLaunchParameters@ ; requests that contain values for these parameters instead of a run-time configuration will continue to work.) cfRuntimeConfiguration :: Lens' CreateFleet (Maybe RuntimeConfiguration)-cfRuntimeConfiguration = lens _cfRuntimeConfiguration (\ s a -> s{_cfRuntimeConfiguration = a});+cfRuntimeConfiguration = lens _cfRuntimeConfiguration (\ s a -> s{_cfRuntimeConfiguration = a}) --- | Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also 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.+-- | Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using 'UpdateFleetAttributes' , but this change will only affect sessions created after the policy change. You can also 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. cfNewGameSessionProtectionPolicy :: Lens' CreateFleet (Maybe ProtectionPolicy)-cfNewGameSessionProtectionPolicy = lens _cfNewGameSessionProtectionPolicy (\ s a -> s{_cfNewGameSessionProtectionPolicy = a});+cfNewGameSessionProtectionPolicy = lens _cfNewGameSessionProtectionPolicy (\ s a -> s{_cfNewGameSessionProtectionPolicy = a}) -- | This parameter is no longer used. Instead, specify a server launch path using the @RuntimeConfiguration@ parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.) cfServerLaunchPath :: Lens' CreateFleet (Maybe Text)-cfServerLaunchPath = lens _cfServerLaunchPath (\ s a -> s{_cfServerLaunchPath = a});+cfServerLaunchPath = lens _cfServerLaunchPath (\ s a -> s{_cfServerLaunchPath = a}) --- | Names of metric groups to add this fleet to. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.+-- | Name of a metric group to add this fleet to. A metric group tracks metrics across all fleets in the group. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. A fleet can only be included in one metric group at a time. cfMetricGroups :: Lens' CreateFleet [Text]-cfMetricGroups = lens _cfMetricGroups (\ s a -> s{_cfMetricGroups = a}) . _Default . _Coerce;+cfMetricGroups = lens _cfMetricGroups (\ s a -> s{_cfMetricGroups = a}) . _Default . _Coerce -- | Human-readable description of a fleet. cfDescription :: Lens' CreateFleet (Maybe Text)-cfDescription = lens _cfDescription (\ s a -> s{_cfDescription = a});+cfDescription = lens _cfDescription (\ s a -> s{_cfDescription = a}) -- | Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. cfResourceCreationLimitPolicy :: Lens' CreateFleet (Maybe ResourceCreationLimitPolicy)-cfResourceCreationLimitPolicy = lens _cfResourceCreationLimitPolicy (\ s a -> s{_cfResourceCreationLimitPolicy = a});+cfResourceCreationLimitPolicy = lens _cfResourceCreationLimitPolicy (\ s a -> s{_cfResourceCreationLimitPolicy = a}) -- | Descriptive label that is associated with a fleet. Fleet names do not need to be unique. cfName :: Lens' CreateFleet Text-cfName = lens _cfName (\ s a -> s{_cfName = a});+cfName = lens _cfName (\ s a -> s{_cfName = a}) -- | Unique identifier for a build to be deployed on the new fleet. The build must have been successfully uploaded to Amazon GameLift and be in a @READY@ status. This fleet setting cannot be changed once the fleet is created. cfBuildId :: Lens' CreateFleet Text-cfBuildId = lens _cfBuildId (\ s a -> s{_cfBuildId = a});+cfBuildId = lens _cfBuildId (\ s a -> s{_cfBuildId = a}) -- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions. cfEC2InstanceType :: Lens' CreateFleet EC2InstanceType-cfEC2InstanceType = lens _cfEC2InstanceType (\ s a -> s{_cfEC2InstanceType = a});+cfEC2InstanceType = lens _cfEC2InstanceType (\ s a -> s{_cfEC2InstanceType = a}) instance AWSRequest CreateFleet where type Rs CreateFleet = CreateFleetResponse@@ -305,6 +314,7 @@ _cfServerLaunchParameters, ("LogPaths" .=) <$> _cfLogPaths, ("PeerVpcId" .=) <$> _cfPeerVPCId,+ ("FleetType" .=) <$> _cfFleetType, ("PeerVpcAwsAccountId" .=) <$> _cfPeerVPCAWSAccountId, ("EC2InboundPermissions" .=) <$>@@ -351,15 +361,15 @@ -> CreateFleetResponse createFleetResponse pResponseStatus_ = CreateFleetResponse'- {_cfrsFleetAttributes = Nothing, _cfrsResponseStatus = pResponseStatus_}+ {_cfrsFleetAttributes = Nothing, _cfrsResponseStatus = pResponseStatus_} -- | Properties for the newly created fleet. cfrsFleetAttributes :: Lens' CreateFleetResponse (Maybe FleetAttributes)-cfrsFleetAttributes = lens _cfrsFleetAttributes (\ s a -> s{_cfrsFleetAttributes = a});+cfrsFleetAttributes = lens _cfrsFleetAttributes (\ s a -> s{_cfrsFleetAttributes = a}) -- | -- | The response status code. cfrsResponseStatus :: Lens' CreateFleetResponse Int-cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a});+cfrsResponseStatus = lens _cfrsResponseStatus (\ s a -> s{_cfrsResponseStatus = a}) instance NFData CreateFleetResponse where
gen/Network/AWS/GameLift/CreateGameSession.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateGameSession--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -114,7 +114,7 @@ -- -- * 'cgsIdempotencyToken' - Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted. ----- * 'cgsGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- * 'cgsGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). -- -- * 'cgsGameSessionId' - /This parameter is no longer preferred. Please use @IdempotencyToken@ instead./ Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .) --@@ -122,7 +122,7 @@ -- -- * 'cgsName' - Descriptive label that is associated with a game session. Session names do not need to be unique. ----- * 'cgsGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- * 'cgsGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). -- -- * 'cgsFleetId' - Unique identifier for a fleet to create a game session in. Each request must reference either a fleet ID or alias ID, but not both. --@@ -134,53 +134,53 @@ -> CreateGameSession createGameSession pMaximumPlayerSessionCount_ = CreateGameSession'- { _cgsIdempotencyToken = Nothing- , _cgsGameProperties = Nothing- , _cgsGameSessionId = Nothing- , _cgsAliasId = Nothing- , _cgsName = Nothing- , _cgsGameSessionData = Nothing- , _cgsFleetId = Nothing- , _cgsCreatorId = Nothing- , _cgsMaximumPlayerSessionCount = _Nat # pMaximumPlayerSessionCount_- }+ { _cgsIdempotencyToken = Nothing+ , _cgsGameProperties = Nothing+ , _cgsGameSessionId = Nothing+ , _cgsAliasId = Nothing+ , _cgsName = Nothing+ , _cgsGameSessionData = Nothing+ , _cgsFleetId = Nothing+ , _cgsCreatorId = Nothing+ , _cgsMaximumPlayerSessionCount = _Nat # pMaximumPlayerSessionCount_+ } -- | Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted. cgsIdempotencyToken :: Lens' CreateGameSession (Maybe Text)-cgsIdempotencyToken = lens _cgsIdempotencyToken (\ s a -> s{_cgsIdempotencyToken = a});+cgsIdempotencyToken = lens _cgsIdempotencyToken (\ s a -> s{_cgsIdempotencyToken = a}) --- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). cgsGameProperties :: Lens' CreateGameSession [GameProperty]-cgsGameProperties = lens _cgsGameProperties (\ s a -> s{_cgsGameProperties = a}) . _Default . _Coerce;+cgsGameProperties = lens _cgsGameProperties (\ s a -> s{_cgsGameProperties = a}) . _Default . _Coerce -- | /This parameter is no longer preferred. Please use @IdempotencyToken@ instead./ Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .) cgsGameSessionId :: Lens' CreateGameSession (Maybe Text)-cgsGameSessionId = lens _cgsGameSessionId (\ s a -> s{_cgsGameSessionId = a});+cgsGameSessionId = lens _cgsGameSessionId (\ s a -> s{_cgsGameSessionId = a}) -- | Unique identifier for an alias associated with the fleet to create a game session in. 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});+cgsAliasId = lens _cgsAliasId (\ s a -> s{_cgsAliasId = a}) -- | Descriptive label that is associated with a game session. Session names do not need to be unique. cgsName :: Lens' CreateGameSession (Maybe Text)-cgsName = lens _cgsName (\ s a -> s{_cgsName = a});+cgsName = lens _cgsName (\ s a -> s{_cgsName = a}) --- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). cgsGameSessionData :: Lens' CreateGameSession (Maybe Text)-cgsGameSessionData = lens _cgsGameSessionData (\ s a -> s{_cgsGameSessionData = a});+cgsGameSessionData = lens _cgsGameSessionData (\ s a -> s{_cgsGameSessionData = a}) -- | Unique identifier for a fleet to create a game session in. 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});+cgsFleetId = lens _cgsFleetId (\ s a -> s{_cgsFleetId = a}) -- | Unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have. cgsCreatorId :: Lens' CreateGameSession (Maybe Text)-cgsCreatorId = lens _cgsCreatorId (\ s a -> s{_cgsCreatorId = a});+cgsCreatorId = lens _cgsCreatorId (\ s a -> s{_cgsCreatorId = 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;+cgsMaximumPlayerSessionCount = lens _cgsMaximumPlayerSessionCount (\ s a -> s{_cgsMaximumPlayerSessionCount = a}) . _Nat instance AWSRequest CreateGameSession where type Rs CreateGameSession = CreateGameSessionResponse@@ -249,15 +249,15 @@ -> CreateGameSessionResponse createGameSessionResponse pResponseStatus_ = CreateGameSessionResponse'- {_cgsrsGameSession = Nothing, _cgsrsResponseStatus = pResponseStatus_}+ {_cgsrsGameSession = Nothing, _cgsrsResponseStatus = pResponseStatus_} -- | Object that describes the newly created game session record. cgsrsGameSession :: Lens' CreateGameSessionResponse (Maybe GameSession)-cgsrsGameSession = lens _cgsrsGameSession (\ s a -> s{_cgsrsGameSession = a});+cgsrsGameSession = lens _cgsrsGameSession (\ s a -> s{_cgsrsGameSession = a}) -- | -- | The response status code. cgsrsResponseStatus :: Lens' CreateGameSessionResponse Int-cgsrsResponseStatus = lens _cgsrsResponseStatus (\ s a -> s{_cgsrsResponseStatus = a});+cgsrsResponseStatus = lens _cgsrsResponseStatus (\ s a -> s{_cgsrsResponseStatus = a}) instance NFData CreateGameSessionResponse where
gen/Network/AWS/GameLift/CreateGameSessionQueue.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateGameSessionQueue--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -94,28 +94,28 @@ -> CreateGameSessionQueue createGameSessionQueue pName_ = CreateGameSessionQueue'- { _cgsqPlayerLatencyPolicies = Nothing- , _cgsqTimeoutInSeconds = Nothing- , _cgsqDestinations = Nothing- , _cgsqName = pName_- }+ { _cgsqPlayerLatencyPolicies = Nothing+ , _cgsqTimeoutInSeconds = Nothing+ , _cgsqDestinations = Nothing+ , _cgsqName = pName_+ } -- | Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. A player latency policy must set a value for MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API requests will fail. cgsqPlayerLatencyPolicies :: Lens' CreateGameSessionQueue [PlayerLatencyPolicy]-cgsqPlayerLatencyPolicies = lens _cgsqPlayerLatencyPolicies (\ s a -> s{_cgsqPlayerLatencyPolicies = a}) . _Default . _Coerce;+cgsqPlayerLatencyPolicies = lens _cgsqPlayerLatencyPolicies (\ s a -> s{_cgsqPlayerLatencyPolicies = a}) . _Default . _Coerce -- | Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status. cgsqTimeoutInSeconds :: Lens' CreateGameSessionQueue (Maybe Natural)-cgsqTimeoutInSeconds = lens _cgsqTimeoutInSeconds (\ s a -> s{_cgsqTimeoutInSeconds = a}) . mapping _Nat;+cgsqTimeoutInSeconds = lens _cgsqTimeoutInSeconds (\ s a -> s{_cgsqTimeoutInSeconds = a}) . mapping _Nat -- | List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. cgsqDestinations :: Lens' CreateGameSessionQueue [GameSessionQueueDestination]-cgsqDestinations = lens _cgsqDestinations (\ s a -> s{_cgsqDestinations = a}) . _Default . _Coerce;+cgsqDestinations = lens _cgsqDestinations (\ s a -> s{_cgsqDestinations = a}) . _Default . _Coerce -- | Descriptive label that is associated with game session queue. Queue names must be unique within each region. cgsqName :: Lens' CreateGameSessionQueue Text-cgsqName = lens _cgsqName (\ s a -> s{_cgsqName = a});+cgsqName = lens _cgsqName (\ s a -> s{_cgsqName = a}) instance AWSRequest CreateGameSessionQueue where type Rs CreateGameSessionQueue =@@ -179,15 +179,17 @@ -> CreateGameSessionQueueResponse createGameSessionQueueResponse pResponseStatus_ = CreateGameSessionQueueResponse'- {_cgsqrsGameSessionQueue = Nothing, _cgsqrsResponseStatus = pResponseStatus_}+ { _cgsqrsGameSessionQueue = Nothing+ , _cgsqrsResponseStatus = pResponseStatus_+ } -- | Object that describes the newly created game session queue. cgsqrsGameSessionQueue :: Lens' CreateGameSessionQueueResponse (Maybe GameSessionQueue)-cgsqrsGameSessionQueue = lens _cgsqrsGameSessionQueue (\ s a -> s{_cgsqrsGameSessionQueue = a});+cgsqrsGameSessionQueue = lens _cgsqrsGameSessionQueue (\ s a -> s{_cgsqrsGameSessionQueue = a}) -- | -- | The response status code. cgsqrsResponseStatus :: Lens' CreateGameSessionQueueResponse Int-cgsqrsResponseStatus = lens _cgsqrsResponseStatus (\ s a -> s{_cgsqrsResponseStatus = a});+cgsqrsResponseStatus = lens _cgsqrsResponseStatus (\ s a -> s{_cgsqrsResponseStatus = a}) instance NFData CreateGameSessionQueueResponse where
gen/Network/AWS/GameLift/CreateMatchmakingConfiguration.hs view
@@ -12,13 +12,13 @@ -- | -- Module : Network.AWS.GameLift.CreateMatchmakingConfiguration--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking request ('StartMatchmaking' ) specifies a configuration for the match and provides player attributes to support the configuration being used.+-- Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket ('StartMatchmaking' or 'StartMatchBackfill' ) specifies a configuration for the match and provides player attributes to support the configuration being used. -- -- -- To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.@@ -104,7 +104,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'cmcGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- * 'cmcGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. -- -- * 'cmcAcceptanceTimeoutSeconds' - Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match. --@@ -112,7 +112,7 @@ -- -- * 'cmcCustomEventData' - Information to attached to all events related to the matchmaking configuration. ----- * 'cmcGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- * 'cmcGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. -- -- * 'cmcDescription' - Meaningful description of the matchmaking configuration. --@@ -135,68 +135,68 @@ -> CreateMatchmakingConfiguration createMatchmakingConfiguration pName_ pRequestTimeoutSeconds_ pAcceptanceRequired_ pRuleSetName_ = CreateMatchmakingConfiguration'- { _cmcGameProperties = Nothing- , _cmcAcceptanceTimeoutSeconds = Nothing- , _cmcNotificationTarget = Nothing- , _cmcCustomEventData = Nothing- , _cmcGameSessionData = Nothing- , _cmcDescription = Nothing- , _cmcAdditionalPlayerCount = Nothing- , _cmcName = pName_- , _cmcGameSessionQueueARNs = mempty- , _cmcRequestTimeoutSeconds = _Nat # pRequestTimeoutSeconds_- , _cmcAcceptanceRequired = pAcceptanceRequired_- , _cmcRuleSetName = pRuleSetName_- }+ { _cmcGameProperties = Nothing+ , _cmcAcceptanceTimeoutSeconds = Nothing+ , _cmcNotificationTarget = Nothing+ , _cmcCustomEventData = Nothing+ , _cmcGameSessionData = Nothing+ , _cmcDescription = Nothing+ , _cmcAdditionalPlayerCount = Nothing+ , _cmcName = pName_+ , _cmcGameSessionQueueARNs = mempty+ , _cmcRequestTimeoutSeconds = _Nat # pRequestTimeoutSeconds_+ , _cmcAcceptanceRequired = pAcceptanceRequired_+ , _cmcRuleSetName = pRuleSetName_+ } --- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. cmcGameProperties :: Lens' CreateMatchmakingConfiguration [GameProperty]-cmcGameProperties = lens _cmcGameProperties (\ s a -> s{_cmcGameProperties = a}) . _Default . _Coerce;+cmcGameProperties = lens _cmcGameProperties (\ s a -> s{_cmcGameProperties = a}) . _Default . _Coerce -- | Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match. cmcAcceptanceTimeoutSeconds :: Lens' CreateMatchmakingConfiguration (Maybe Natural)-cmcAcceptanceTimeoutSeconds = lens _cmcAcceptanceTimeoutSeconds (\ s a -> s{_cmcAcceptanceTimeoutSeconds = a}) . mapping _Nat;+cmcAcceptanceTimeoutSeconds = lens _cmcAcceptanceTimeoutSeconds (\ s a -> s{_cmcAcceptanceTimeoutSeconds = a}) . mapping _Nat -- | SNS topic ARN that is set up to receive matchmaking notifications. cmcNotificationTarget :: Lens' CreateMatchmakingConfiguration (Maybe Text)-cmcNotificationTarget = lens _cmcNotificationTarget (\ s a -> s{_cmcNotificationTarget = a});+cmcNotificationTarget = lens _cmcNotificationTarget (\ s a -> s{_cmcNotificationTarget = a}) -- | Information to attached to all events related to the matchmaking configuration. cmcCustomEventData :: Lens' CreateMatchmakingConfiguration (Maybe Text)-cmcCustomEventData = lens _cmcCustomEventData (\ s a -> s{_cmcCustomEventData = a});+cmcCustomEventData = lens _cmcCustomEventData (\ s a -> s{_cmcCustomEventData = a}) --- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. cmcGameSessionData :: Lens' CreateMatchmakingConfiguration (Maybe Text)-cmcGameSessionData = lens _cmcGameSessionData (\ s a -> s{_cmcGameSessionData = a});+cmcGameSessionData = lens _cmcGameSessionData (\ s a -> s{_cmcGameSessionData = a}) -- | Meaningful description of the matchmaking configuration. cmcDescription :: Lens' CreateMatchmakingConfiguration (Maybe Text)-cmcDescription = lens _cmcDescription (\ s a -> s{_cmcDescription = a});+cmcDescription = lens _cmcDescription (\ s a -> s{_cmcDescription = a}) -- | Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. cmcAdditionalPlayerCount :: Lens' CreateMatchmakingConfiguration (Maybe Natural)-cmcAdditionalPlayerCount = lens _cmcAdditionalPlayerCount (\ s a -> s{_cmcAdditionalPlayerCount = a}) . mapping _Nat;+cmcAdditionalPlayerCount = lens _cmcAdditionalPlayerCount (\ s a -> s{_cmcAdditionalPlayerCount = a}) . mapping _Nat -- | Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket. cmcName :: Lens' CreateMatchmakingConfiguration Text-cmcName = lens _cmcName (\ s a -> s{_cmcName = a});+cmcName = lens _cmcName (\ s a -> s{_cmcName = a}) -- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region. cmcGameSessionQueueARNs :: Lens' CreateMatchmakingConfiguration [Text]-cmcGameSessionQueueARNs = lens _cmcGameSessionQueueARNs (\ s a -> s{_cmcGameSessionQueueARNs = a}) . _Coerce;+cmcGameSessionQueueARNs = lens _cmcGameSessionQueueARNs (\ s a -> s{_cmcGameSessionQueueARNs = a}) . _Coerce -- | Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed. cmcRequestTimeoutSeconds :: Lens' CreateMatchmakingConfiguration Natural-cmcRequestTimeoutSeconds = lens _cmcRequestTimeoutSeconds (\ s a -> s{_cmcRequestTimeoutSeconds = a}) . _Nat;+cmcRequestTimeoutSeconds = lens _cmcRequestTimeoutSeconds (\ s a -> s{_cmcRequestTimeoutSeconds = a}) . _Nat -- | Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. cmcAcceptanceRequired :: Lens' CreateMatchmakingConfiguration Bool-cmcAcceptanceRequired = lens _cmcAcceptanceRequired (\ s a -> s{_cmcAcceptanceRequired = a});+cmcAcceptanceRequired = lens _cmcAcceptanceRequired (\ s a -> s{_cmcAcceptanceRequired = a}) -- | Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region. cmcRuleSetName :: Lens' CreateMatchmakingConfiguration Text-cmcRuleSetName = lens _cmcRuleSetName (\ s a -> s{_cmcRuleSetName = a});+cmcRuleSetName = lens _cmcRuleSetName (\ s a -> s{_cmcRuleSetName = a}) instance AWSRequest CreateMatchmakingConfiguration where@@ -277,16 +277,16 @@ -> CreateMatchmakingConfigurationResponse createMatchmakingConfigurationResponse pResponseStatus_ = CreateMatchmakingConfigurationResponse'- {_cmcrsConfiguration = Nothing, _cmcrsResponseStatus = pResponseStatus_}+ {_cmcrsConfiguration = Nothing, _cmcrsResponseStatus = pResponseStatus_} -- | Object that describes the newly created matchmaking configuration. cmcrsConfiguration :: Lens' CreateMatchmakingConfigurationResponse (Maybe MatchmakingConfiguration)-cmcrsConfiguration = lens _cmcrsConfiguration (\ s a -> s{_cmcrsConfiguration = a});+cmcrsConfiguration = lens _cmcrsConfiguration (\ s a -> s{_cmcrsConfiguration = a}) -- | -- | The response status code. cmcrsResponseStatus :: Lens' CreateMatchmakingConfigurationResponse Int-cmcrsResponseStatus = lens _cmcrsResponseStatus (\ s a -> s{_cmcrsResponseStatus = a});+cmcrsResponseStatus = lens _cmcrsResponseStatus (\ s a -> s{_cmcrsResponseStatus = a}) instance NFData CreateMatchmakingConfigurationResponse
gen/Network/AWS/GameLift/CreateMatchmakingRuleSet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateMatchmakingRuleSet--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -91,16 +91,16 @@ -> CreateMatchmakingRuleSet createMatchmakingRuleSet pName_ pRuleSetBody_ = CreateMatchmakingRuleSet'- {_cmrsName = pName_, _cmrsRuleSetBody = pRuleSetBody_}+ {_cmrsName = pName_, _cmrsRuleSetBody = pRuleSetBody_} -- | Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration. cmrsName :: Lens' CreateMatchmakingRuleSet Text-cmrsName = lens _cmrsName (\ s a -> s{_cmrsName = a});+cmrsName = lens _cmrsName (\ s a -> s{_cmrsName = a}) -- | Collection of matchmaking rules, formatted as a JSON string. (Note that comments are not allowed in JSON, but most elements support a description field.) cmrsRuleSetBody :: Lens' CreateMatchmakingRuleSet Text-cmrsRuleSetBody = lens _cmrsRuleSetBody (\ s a -> s{_cmrsRuleSetBody = a});+cmrsRuleSetBody = lens _cmrsRuleSetBody (\ s a -> s{_cmrsRuleSetBody = a}) instance AWSRequest CreateMatchmakingRuleSet where type Rs CreateMatchmakingRuleSet =@@ -162,16 +162,16 @@ -> CreateMatchmakingRuleSetResponse createMatchmakingRuleSetResponse pResponseStatus_ pRuleSet_ = CreateMatchmakingRuleSetResponse'- {_cmrsrsResponseStatus = pResponseStatus_, _cmrsrsRuleSet = pRuleSet_}+ {_cmrsrsResponseStatus = pResponseStatus_, _cmrsrsRuleSet = pRuleSet_} -- | -- | The response status code. cmrsrsResponseStatus :: Lens' CreateMatchmakingRuleSetResponse Int-cmrsrsResponseStatus = lens _cmrsrsResponseStatus (\ s a -> s{_cmrsrsResponseStatus = a});+cmrsrsResponseStatus = lens _cmrsrsResponseStatus (\ s a -> s{_cmrsrsResponseStatus = a}) -- | Object that describes the newly created matchmaking rule set. cmrsrsRuleSet :: Lens' CreateMatchmakingRuleSetResponse MatchmakingRuleSet-cmrsrsRuleSet = lens _cmrsrsRuleSet (\ s a -> s{_cmrsrsRuleSet = a});+cmrsrsRuleSet = lens _cmrsrsRuleSet (\ s a -> s{_cmrsrsRuleSet = a}) instance NFData CreateMatchmakingRuleSetResponse where
gen/Network/AWS/GameLift/CreatePlayerSession.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreatePlayerSession--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -97,23 +97,23 @@ -> CreatePlayerSession createPlayerSession pGameSessionId_ pPlayerId_ = CreatePlayerSession'- { _cPlayerData = Nothing- , _cGameSessionId = pGameSessionId_- , _cPlayerId = pPlayerId_- }+ { _cPlayerData = Nothing+ , _cGameSessionId = pGameSessionId_+ , _cPlayerId = pPlayerId_+ } -- | Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. cPlayerData :: Lens' CreatePlayerSession (Maybe Text)-cPlayerData = lens _cPlayerData (\ s a -> s{_cPlayerData = a});+cPlayerData = lens _cPlayerData (\ s a -> s{_cPlayerData = a}) -- | Unique identifier for the game session to add a player to. cGameSessionId :: Lens' CreatePlayerSession Text-cGameSessionId = lens _cGameSessionId (\ s a -> s{_cGameSessionId = a});+cGameSessionId = lens _cGameSessionId (\ s a -> s{_cGameSessionId = a}) -- | Unique identifier for a player. Player IDs are developer-defined. cPlayerId :: Lens' CreatePlayerSession Text-cPlayerId = lens _cPlayerId (\ s a -> s{_cPlayerId = a});+cPlayerId = lens _cPlayerId (\ s a -> s{_cPlayerId = a}) instance AWSRequest CreatePlayerSession where type Rs CreatePlayerSession =@@ -175,15 +175,15 @@ -> CreatePlayerSessionResponse createPlayerSessionResponse pResponseStatus_ = CreatePlayerSessionResponse'- {_cpsrsPlayerSession = Nothing, _cpsrsResponseStatus = pResponseStatus_}+ {_cpsrsPlayerSession = Nothing, _cpsrsResponseStatus = pResponseStatus_} -- | Object that describes the newly created player session record. cpsrsPlayerSession :: Lens' CreatePlayerSessionResponse (Maybe PlayerSession)-cpsrsPlayerSession = lens _cpsrsPlayerSession (\ s a -> s{_cpsrsPlayerSession = a});+cpsrsPlayerSession = lens _cpsrsPlayerSession (\ s a -> s{_cpsrsPlayerSession = a}) -- | -- | The response status code. cpsrsResponseStatus :: Lens' CreatePlayerSessionResponse Int-cpsrsResponseStatus = lens _cpsrsResponseStatus (\ s a -> s{_cpsrsResponseStatus = a});+cpsrsResponseStatus = lens _cpsrsResponseStatus (\ s a -> s{_cpsrsResponseStatus = a}) instance NFData CreatePlayerSessionResponse where
gen/Network/AWS/GameLift/CreatePlayerSessions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreatePlayerSessions--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -97,23 +97,23 @@ -> CreatePlayerSessions createPlayerSessions pGameSessionId_ pPlayerIds_ = CreatePlayerSessions'- { _cpsPlayerDataMap = Nothing- , _cpsGameSessionId = pGameSessionId_- , _cpsPlayerIds = _List1 # pPlayerIds_- }+ { _cpsPlayerDataMap = Nothing+ , _cpsGameSessionId = pGameSessionId_+ , _cpsPlayerIds = _List1 # pPlayerIds_+ } -- | Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the @PlayerIds@ parameter are ignored. cpsPlayerDataMap :: Lens' CreatePlayerSessions (HashMap Text Text)-cpsPlayerDataMap = lens _cpsPlayerDataMap (\ s a -> s{_cpsPlayerDataMap = a}) . _Default . _Map;+cpsPlayerDataMap = lens _cpsPlayerDataMap (\ s a -> s{_cpsPlayerDataMap = a}) . _Default . _Map -- | Unique identifier for the game session to add players to. cpsGameSessionId :: Lens' CreatePlayerSessions Text-cpsGameSessionId = lens _cpsGameSessionId (\ s a -> s{_cpsGameSessionId = a});+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;+cpsPlayerIds = lens _cpsPlayerIds (\ s a -> s{_cpsPlayerIds = a}) . _List1 instance AWSRequest CreatePlayerSessions where type Rs CreatePlayerSessions =@@ -176,15 +176,15 @@ -> CreatePlayerSessionsResponse createPlayerSessionsResponse pResponseStatus_ = CreatePlayerSessionsResponse'- {_crsPlayerSessions = Nothing, _crsResponseStatus = pResponseStatus_}+ {_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;+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});+crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a}) instance NFData CreatePlayerSessionsResponse where
gen/Network/AWS/GameLift/CreateVPCPeeringAuthorization.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateVPCPeeringAuthorization--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -93,18 +93,18 @@ -> CreateVPCPeeringAuthorization createVPCPeeringAuthorization pGameLiftAWSAccountId_ pPeerVPCId_ = CreateVPCPeeringAuthorization'- { _cvpaGameLiftAWSAccountId = pGameLiftAWSAccountId_- , _cvpaPeerVPCId = pPeerVPCId_- }+ { _cvpaGameLiftAWSAccountId = pGameLiftAWSAccountId_+ , _cvpaPeerVPCId = pPeerVPCId_+ } -- | Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings. cvpaGameLiftAWSAccountId :: Lens' CreateVPCPeeringAuthorization Text-cvpaGameLiftAWSAccountId = lens _cvpaGameLiftAWSAccountId (\ s a -> s{_cvpaGameLiftAWSAccountId = a});+cvpaGameLiftAWSAccountId = lens _cvpaGameLiftAWSAccountId (\ s a -> s{_cvpaGameLiftAWSAccountId = a}) -- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console. cvpaPeerVPCId :: Lens' CreateVPCPeeringAuthorization Text-cvpaPeerVPCId = lens _cvpaPeerVPCId (\ s a -> s{_cvpaPeerVPCId = a});+cvpaPeerVPCId = lens _cvpaPeerVPCId (\ s a -> s{_cvpaPeerVPCId = a}) instance AWSRequest CreateVPCPeeringAuthorization where@@ -171,18 +171,18 @@ -> CreateVPCPeeringAuthorizationResponse createVPCPeeringAuthorizationResponse pResponseStatus_ = CreateVPCPeeringAuthorizationResponse'- { _cvparsVPCPeeringAuthorization = Nothing- , _cvparsResponseStatus = pResponseStatus_- }+ { _cvparsVPCPeeringAuthorization = Nothing+ , _cvparsResponseStatus = pResponseStatus_+ } -- | Details on the requested VPC peering authorization, including expiration. cvparsVPCPeeringAuthorization :: Lens' CreateVPCPeeringAuthorizationResponse (Maybe VPCPeeringAuthorization)-cvparsVPCPeeringAuthorization = lens _cvparsVPCPeeringAuthorization (\ s a -> s{_cvparsVPCPeeringAuthorization = a});+cvparsVPCPeeringAuthorization = lens _cvparsVPCPeeringAuthorization (\ s a -> s{_cvparsVPCPeeringAuthorization = a}) -- | -- | The response status code. cvparsResponseStatus :: Lens' CreateVPCPeeringAuthorizationResponse Int-cvparsResponseStatus = lens _cvparsResponseStatus (\ s a -> s{_cvparsResponseStatus = a});+cvparsResponseStatus = lens _cvparsResponseStatus (\ s a -> s{_cvparsResponseStatus = a}) instance NFData CreateVPCPeeringAuthorizationResponse where
gen/Network/AWS/GameLift/CreateVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.CreateVPCPeeringConnection--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -93,23 +93,23 @@ -> CreateVPCPeeringConnection createVPCPeeringConnection pFleetId_ pPeerVPCAWSAccountId_ pPeerVPCId_ = CreateVPCPeeringConnection'- { _cvpcFleetId = pFleetId_- , _cvpcPeerVPCAWSAccountId = pPeerVPCAWSAccountId_- , _cvpcPeerVPCId = pPeerVPCId_- }+ { _cvpcFleetId = pFleetId_+ , _cvpcPeerVPCAWSAccountId = pPeerVPCAWSAccountId_+ , _cvpcPeerVPCId = pPeerVPCId_+ } -- | Unique identifier for a fleet. This tells Amazon GameLift which GameLift VPC to peer with. cvpcFleetId :: Lens' CreateVPCPeeringConnection Text-cvpcFleetId = lens _cvpcFleetId (\ s a -> s{_cvpcFleetId = a});+cvpcFleetId = lens _cvpcFleetId (\ s a -> s{_cvpcFleetId = a}) -- | Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings. cvpcPeerVPCAWSAccountId :: Lens' CreateVPCPeeringConnection Text-cvpcPeerVPCAWSAccountId = lens _cvpcPeerVPCAWSAccountId (\ s a -> s{_cvpcPeerVPCAWSAccountId = a});+cvpcPeerVPCAWSAccountId = lens _cvpcPeerVPCAWSAccountId (\ s a -> s{_cvpcPeerVPCAWSAccountId = a}) -- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console. cvpcPeerVPCId :: Lens' CreateVPCPeeringConnection Text-cvpcPeerVPCId = lens _cvpcPeerVPCId (\ s a -> s{_cvpcPeerVPCId = a});+cvpcPeerVPCId = lens _cvpcPeerVPCId (\ s a -> s{_cvpcPeerVPCId = a}) instance AWSRequest CreateVPCPeeringConnection where type Rs CreateVPCPeeringConnection =@@ -170,7 +170,7 @@ -- | -- | The response status code. cvpcrsResponseStatus :: Lens' CreateVPCPeeringConnectionResponse Int-cvpcrsResponseStatus = lens _cvpcrsResponseStatus (\ s a -> s{_cvpcrsResponseStatus = a});+cvpcrsResponseStatus = lens _cvpcrsResponseStatus (\ s a -> s{_cvpcrsResponseStatus = a}) instance NFData CreateVPCPeeringConnectionResponse where
gen/Network/AWS/GameLift/DeleteAlias.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteAlias--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -80,7 +80,7 @@ -- | 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});+daAliasId = lens _daAliasId (\ s a -> s{_daAliasId = a}) instance AWSRequest DeleteAlias where type Rs DeleteAlias = DeleteAliasResponse
gen/Network/AWS/GameLift/DeleteBuild.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteBuild--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -80,7 +80,7 @@ -- | Unique identifier for a build to delete. dbBuildId :: Lens' DeleteBuild Text-dbBuildId = lens _dbBuildId (\ s a -> s{_dbBuildId = a});+dbBuildId = lens _dbBuildId (\ s a -> s{_dbBuildId = a}) instance AWSRequest DeleteBuild where type Rs DeleteBuild = DeleteBuildResponse
gen/Network/AWS/GameLift/DeleteFleet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteFleet--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -29,16 +29,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -55,26 +61,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DeleteFleet ( -- * Creating a Request@@ -118,7 +114,7 @@ -- | Unique identifier for a fleet to be deleted. dfFleetId :: Lens' DeleteFleet Text-dfFleetId = lens _dfFleetId (\ s a -> s{_dfFleetId = a});+dfFleetId = lens _dfFleetId (\ s a -> s{_dfFleetId = a}) instance AWSRequest DeleteFleet where type Rs DeleteFleet = DeleteFleetResponse
gen/Network/AWS/GameLift/DeleteGameSessionQueue.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteGameSessionQueue--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -78,7 +78,7 @@ -- | Descriptive label that is associated with game session queue. Queue names must be unique within each region. dgsqName :: Lens' DeleteGameSessionQueue Text-dgsqName = lens _dgsqName (\ s a -> s{_dgsqName = a});+dgsqName = lens _dgsqName (\ s a -> s{_dgsqName = a}) instance AWSRequest DeleteGameSessionQueue where type Rs DeleteGameSessionQueue =@@ -133,6 +133,6 @@ -- | -- | The response status code. dgsqrsResponseStatus :: Lens' DeleteGameSessionQueueResponse Int-dgsqrsResponseStatus = lens _dgsqrsResponseStatus (\ s a -> s{_dgsqrsResponseStatus = a});+dgsqrsResponseStatus = lens _dgsqrsResponseStatus (\ s a -> s{_dgsqrsResponseStatus = a}) instance NFData DeleteGameSessionQueueResponse where
gen/Network/AWS/GameLift/DeleteMatchmakingConfiguration.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteMatchmakingConfiguration--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -85,7 +85,7 @@ -- | Unique identifier for a matchmaking configuration dmcName :: Lens' DeleteMatchmakingConfiguration Text-dmcName = lens _dmcName (\ s a -> s{_dmcName = a});+dmcName = lens _dmcName (\ s a -> s{_dmcName = a}) instance AWSRequest DeleteMatchmakingConfiguration where@@ -140,12 +140,12 @@ -> DeleteMatchmakingConfigurationResponse deleteMatchmakingConfigurationResponse pResponseStatus_ = DeleteMatchmakingConfigurationResponse'- {_dmcrsResponseStatus = pResponseStatus_}+ {_dmcrsResponseStatus = pResponseStatus_} -- | -- | The response status code. dmcrsResponseStatus :: Lens' DeleteMatchmakingConfigurationResponse Int-dmcrsResponseStatus = lens _dmcrsResponseStatus (\ s a -> s{_dmcrsResponseStatus = a});+dmcrsResponseStatus = lens _dmcrsResponseStatus (\ s a -> s{_dmcrsResponseStatus = a}) instance NFData DeleteMatchmakingConfigurationResponse
gen/Network/AWS/GameLift/DeleteScalingPolicy.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteScalingPolicy--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -21,58 +21,36 @@ -- 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. -- ----- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------+-- To temporarily suspend scaling policies, call 'StopFleetActions' . This operation suspends all policies for the fleet. ----- * Update fleets:+-- Operations related to fleet capacity scaling include: ----- * 'UpdateFleetAttributes'+-- * 'DescribeFleetCapacity' -- -- * 'UpdateFleetCapacity' ----- * 'UpdateFleetPortSettings'+-- * 'DescribeEC2InstanceLimits' ----- * 'UpdateRuntimeConfiguration'+-- * Manage scaling policies: --+-- * 'PutScalingPolicy' (auto-scaling) --+-- * 'DescribeScalingPolicies' (auto-scaling) ----- * Manage fleet capacity:+-- * 'DeleteScalingPolicy' (auto-scaling) ----- * 'DescribeFleetCapacity' ----- * 'UpdateFleetCapacity' ----- * 'PutScalingPolicy' (automatic scaling)+-- * Manage fleet actions: ----- * 'DescribeScalingPolicies' (automatic scaling)+-- * 'StartFleetActions' ----- * 'DeleteScalingPolicy' (automatic scaling)+-- * 'StopFleetActions' ----- * 'DescribeEC2InstanceLimits' -- -- ----- * 'DeleteFleet' -------- module Network.AWS.GameLift.DeleteScalingPolicy ( -- * Creating a Request@@ -122,11 +100,11 @@ -- | Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. dspName :: Lens' DeleteScalingPolicy Text-dspName = lens _dspName (\ s a -> s{_dspName = a});+dspName = lens _dspName (\ s a -> s{_dspName = a}) -- | Unique identifier for a fleet to be deleted. dspFleetId :: Lens' DeleteScalingPolicy Text-dspFleetId = lens _dspFleetId (\ s a -> s{_dspFleetId = a});+dspFleetId = lens _dspFleetId (\ s a -> s{_dspFleetId = a}) instance AWSRequest DeleteScalingPolicy where type Rs DeleteScalingPolicy =
gen/Network/AWS/GameLift/DeleteVPCPeeringAuthorization.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteVPCPeeringAuthorization--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -84,18 +84,18 @@ -> DeleteVPCPeeringAuthorization deleteVPCPeeringAuthorization pGameLiftAWSAccountId_ pPeerVPCId_ = DeleteVPCPeeringAuthorization'- { _dvpaGameLiftAWSAccountId = pGameLiftAWSAccountId_- , _dvpaPeerVPCId = pPeerVPCId_- }+ { _dvpaGameLiftAWSAccountId = pGameLiftAWSAccountId_+ , _dvpaPeerVPCId = pPeerVPCId_+ } -- | Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings. dvpaGameLiftAWSAccountId :: Lens' DeleteVPCPeeringAuthorization Text-dvpaGameLiftAWSAccountId = lens _dvpaGameLiftAWSAccountId (\ s a -> s{_dvpaGameLiftAWSAccountId = a});+dvpaGameLiftAWSAccountId = lens _dvpaGameLiftAWSAccountId (\ s a -> s{_dvpaGameLiftAWSAccountId = a}) -- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console. dvpaPeerVPCId :: Lens' DeleteVPCPeeringAuthorization Text-dvpaPeerVPCId = lens _dvpaPeerVPCId (\ s a -> s{_dvpaPeerVPCId = a});+dvpaPeerVPCId = lens _dvpaPeerVPCId (\ s a -> s{_dvpaPeerVPCId = a}) instance AWSRequest DeleteVPCPeeringAuthorization where@@ -154,12 +154,12 @@ -> DeleteVPCPeeringAuthorizationResponse deleteVPCPeeringAuthorizationResponse pResponseStatus_ = DeleteVPCPeeringAuthorizationResponse'- {_dvparsResponseStatus = pResponseStatus_}+ {_dvparsResponseStatus = pResponseStatus_} -- | -- | The response status code. dvparsResponseStatus :: Lens' DeleteVPCPeeringAuthorizationResponse Int-dvparsResponseStatus = lens _dvparsResponseStatus (\ s a -> s{_dvparsResponseStatus = a});+dvparsResponseStatus = lens _dvparsResponseStatus (\ s a -> s{_dvparsResponseStatus = a}) instance NFData DeleteVPCPeeringAuthorizationResponse where
gen/Network/AWS/GameLift/DeleteVPCPeeringConnection.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DeleteVPCPeeringConnection--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -86,18 +86,18 @@ -> DeleteVPCPeeringConnection deleteVPCPeeringConnection pFleetId_ pVPCPeeringConnectionId_ = DeleteVPCPeeringConnection'- { _dvpcFleetId = pFleetId_- , _dvpcVPCPeeringConnectionId = pVPCPeeringConnectionId_- }+ { _dvpcFleetId = pFleetId_+ , _dvpcVPCPeeringConnectionId = pVPCPeeringConnectionId_+ } -- | Unique identifier for a fleet. This value must match the fleet ID referenced in the VPC peering connection record. dvpcFleetId :: Lens' DeleteVPCPeeringConnection Text-dvpcFleetId = lens _dvpcFleetId (\ s a -> s{_dvpcFleetId = a});+dvpcFleetId = lens _dvpcFleetId (\ s a -> s{_dvpcFleetId = a}) -- | Unique identifier for a VPC peering connection. This value is included in the 'VpcPeeringConnection' object, which can be retrieved by calling 'DescribeVpcPeeringConnections' . dvpcVPCPeeringConnectionId :: Lens' DeleteVPCPeeringConnection Text-dvpcVPCPeeringConnectionId = lens _dvpcVPCPeeringConnectionId (\ s a -> s{_dvpcVPCPeeringConnectionId = a});+dvpcVPCPeeringConnectionId = lens _dvpcVPCPeeringConnectionId (\ s a -> s{_dvpcVPCPeeringConnectionId = a}) instance AWSRequest DeleteVPCPeeringConnection where type Rs DeleteVPCPeeringConnection =@@ -158,7 +158,7 @@ -- | -- | The response status code. dvpcrsResponseStatus :: Lens' DeleteVPCPeeringConnectionResponse Int-dvpcrsResponseStatus = lens _dvpcrsResponseStatus (\ s a -> s{_dvpcrsResponseStatus = a});+dvpcrsResponseStatus = lens _dvpcrsResponseStatus (\ s a -> s{_dvpcrsResponseStatus = a}) instance NFData DeleteVPCPeeringConnectionResponse where
gen/Network/AWS/GameLift/DescribeAlias.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeAlias--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -85,7 +85,7 @@ -- | 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});+dAliasId = lens _dAliasId (\ s a -> s{_dAliasId = a}) instance AWSRequest DescribeAlias where type Rs DescribeAlias = DescribeAliasResponse@@ -142,15 +142,15 @@ -> DescribeAliasResponse describeAliasResponse pResponseStatus_ = DescribeAliasResponse'- {_darsAlias = Nothing, _darsResponseStatus = pResponseStatus_}+ {_darsAlias = Nothing, _darsResponseStatus = pResponseStatus_} -- | Object that contains the requested alias. darsAlias :: Lens' DescribeAliasResponse (Maybe Alias)-darsAlias = lens _darsAlias (\ s a -> s{_darsAlias = a});+darsAlias = lens _darsAlias (\ s a -> s{_darsAlias = a}) -- | -- | The response status code. darsResponseStatus :: Lens' DescribeAliasResponse Int-darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});+darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a}) instance NFData DescribeAliasResponse where
gen/Network/AWS/GameLift/DescribeBuild.hs view
@@ -12,13 +12,13 @@ -- | -- Module : Network.AWS.GameLift.DescribeBuild--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@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.+-- Retrieves properties for a build. To request a build record, specify a build ID. If successful, an object containing the build properties is returned. -- -- -- Build-related operations include:@@ -81,7 +81,7 @@ -- | Unique identifier for a build to retrieve properties for. dBuildId :: Lens' DescribeBuild Text-dBuildId = lens _dBuildId (\ s a -> s{_dBuildId = a});+dBuildId = lens _dBuildId (\ s a -> s{_dBuildId = a}) instance AWSRequest DescribeBuild where type Rs DescribeBuild = DescribeBuildResponse@@ -138,15 +138,15 @@ -> DescribeBuildResponse describeBuildResponse pResponseStatus_ = DescribeBuildResponse'- {_dbrsBuild = Nothing, _dbrsResponseStatus = pResponseStatus_}+ {_dbrsBuild = Nothing, _dbrsResponseStatus = pResponseStatus_} -- | Set of properties describing the requested build. dbrsBuild :: Lens' DescribeBuildResponse (Maybe Build)-dbrsBuild = lens _dbrsBuild (\ s a -> s{_dbrsBuild = a});+dbrsBuild = lens _dbrsBuild (\ s a -> s{_dbrsBuild = a}) -- | -- | The response status code. dbrsResponseStatus :: Lens' DescribeBuildResponse Int-dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a});+dbrsResponseStatus = lens _dbrsResponseStatus (\ s a -> s{_dbrsResponseStatus = a}) instance NFData DescribeBuildResponse where
gen/Network/AWS/GameLift/DescribeEC2InstanceLimits.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeEC2InstanceLimits--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -35,16 +35,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -61,26 +67,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeEC2InstanceLimits ( -- * Creating a Request@@ -127,7 +123,7 @@ -- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions. Leave this parameter blank to retrieve limits for all types. deilEC2InstanceType :: Lens' DescribeEC2InstanceLimits (Maybe EC2InstanceType)-deilEC2InstanceType = lens _deilEC2InstanceType (\ s a -> s{_deilEC2InstanceType = a});+deilEC2InstanceType = lens _deilEC2InstanceType (\ s a -> s{_deilEC2InstanceType = a}) instance AWSRequest DescribeEC2InstanceLimits where type Rs DescribeEC2InstanceLimits =@@ -188,16 +184,18 @@ -> DescribeEC2InstanceLimitsResponse describeEC2InstanceLimitsResponse pResponseStatus_ = DescribeEC2InstanceLimitsResponse'- {_deilrsEC2InstanceLimits = Nothing, _deilrsResponseStatus = pResponseStatus_}+ { _deilrsEC2InstanceLimits = Nothing+ , _deilrsResponseStatus = pResponseStatus_+ } -- | Object that contains the maximum number of instances for the specified instance type. deilrsEC2InstanceLimits :: Lens' DescribeEC2InstanceLimitsResponse [EC2InstanceLimit]-deilrsEC2InstanceLimits = lens _deilrsEC2InstanceLimits (\ s a -> s{_deilrsEC2InstanceLimits = a}) . _Default . _Coerce;+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});+deilrsResponseStatus = lens _deilrsResponseStatus (\ s a -> s{_deilrsResponseStatus = a}) instance NFData DescribeEC2InstanceLimitsResponse where
gen/Network/AWS/GameLift/DescribeFleetAttributes.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeFleetAttributes--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeFleetAttributes ( -- * Creating a Request@@ -124,20 +120,20 @@ :: DescribeFleetAttributes describeFleetAttributes = DescribeFleetAttributes'- {_dfaNextToken = Nothing, _dfaLimit = Nothing, _dfaFleetIds = Nothing}+ {_dfaNextToken = Nothing, _dfaLimit = Nothing, _dfaFleetIds = Nothing} -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning 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});+dfaNextToken = lens _dfaNextToken (\ s a -> s{_dfaNextToken = a}) -- | Maximum number of results to return. 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;+dfaLimit = lens _dfaLimit (\ s a -> s{_dfaLimit = a}) . mapping _Nat -- | Unique identifier for a fleet(s) to retrieve attributes for. To request attributes for all fleets, leave this parameter empty. dfaFleetIds :: Lens' DescribeFleetAttributes (Maybe (NonEmpty Text))-dfaFleetIds = lens _dfaFleetIds (\ s a -> s{_dfaFleetIds = a}) . mapping _List1;+dfaFleetIds = lens _dfaFleetIds (\ s a -> s{_dfaFleetIds = a}) . mapping _List1 instance AWSRequest DescribeFleetAttributes where type Rs DescribeFleetAttributes =@@ -204,22 +200,22 @@ -> DescribeFleetAttributesResponse describeFleetAttributesResponse pResponseStatus_ = DescribeFleetAttributesResponse'- { _dfarsNextToken = Nothing- , _dfarsFleetAttributes = Nothing- , _dfarsResponseStatus = pResponseStatus_- }+ { _dfarsNextToken = Nothing+ , _dfarsFleetAttributes = Nothing+ , _dfarsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dfarsNextToken :: Lens' DescribeFleetAttributesResponse (Maybe Text)-dfarsNextToken = lens _dfarsNextToken (\ s a -> s{_dfarsNextToken = a});+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;+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});+dfarsResponseStatus = lens _dfarsResponseStatus (\ s a -> s{_dfarsResponseStatus = a}) instance NFData DescribeFleetAttributesResponse where
gen/Network/AWS/GameLift/DescribeFleetCapacity.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeFleetCapacity--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeFleetCapacity ( -- * Creating a Request@@ -124,20 +120,20 @@ :: DescribeFleetCapacity describeFleetCapacity = DescribeFleetCapacity'- {_dfcNextToken = Nothing, _dfcLimit = Nothing, _dfcFleetIds = Nothing}+ {_dfcNextToken = Nothing, _dfcLimit = Nothing, _dfcFleetIds = Nothing} -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning 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});+dfcNextToken = lens _dfcNextToken (\ s a -> s{_dfcNextToken = a}) -- | Maximum number of results to return. 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;+dfcLimit = lens _dfcLimit (\ s a -> s{_dfcLimit = a}) . mapping _Nat -- | Unique identifier for a fleet(s) to retrieve capacity information for. To request capacity information for all fleets, leave this parameter empty. dfcFleetIds :: Lens' DescribeFleetCapacity (Maybe (NonEmpty Text))-dfcFleetIds = lens _dfcFleetIds (\ s a -> s{_dfcFleetIds = a}) . mapping _List1;+dfcFleetIds = lens _dfcFleetIds (\ s a -> s{_dfcFleetIds = a}) . mapping _List1 instance AWSRequest DescribeFleetCapacity where type Rs DescribeFleetCapacity =@@ -204,22 +200,22 @@ -> DescribeFleetCapacityResponse describeFleetCapacityResponse pResponseStatus_ = DescribeFleetCapacityResponse'- { _dfcrsNextToken = Nothing- , _dfcrsFleetCapacity = Nothing- , _dfcrsResponseStatus = pResponseStatus_- }+ { _dfcrsNextToken = Nothing+ , _dfcrsFleetCapacity = Nothing+ , _dfcrsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dfcrsNextToken :: Lens' DescribeFleetCapacityResponse (Maybe Text)-dfcrsNextToken = lens _dfcrsNextToken (\ s a -> s{_dfcrsNextToken = a});+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;+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});+dfcrsResponseStatus = lens _dfcrsResponseStatus (\ s a -> s{_dfcrsResponseStatus = a}) instance NFData DescribeFleetCapacityResponse where
gen/Network/AWS/GameLift/DescribeFleetEvents.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeFleetEvents--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeFleetEvents ( -- * Creating a Request@@ -133,33 +129,33 @@ -> DescribeFleetEvents describeFleetEvents pFleetId_ = DescribeFleetEvents'- { _dfeStartTime = Nothing- , _dfeNextToken = Nothing- , _dfeEndTime = Nothing- , _dfeLimit = Nothing- , _dfeFleetId = pFleetId_- }+ { _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 a number expressed in Unix time as milliseconds (ex: "1469498468.057"). dfeStartTime :: Lens' DescribeFleetEvents (Maybe UTCTime)-dfeStartTime = lens _dfeStartTime (\ s a -> s{_dfeStartTime = a}) . mapping _Time;+dfeStartTime = lens _dfeStartTime (\ s a -> s{_dfeStartTime = a}) . mapping _Time -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dfeNextToken :: Lens' DescribeFleetEvents (Maybe Text)-dfeNextToken = lens _dfeNextToken (\ s a -> s{_dfeNextToken = a});+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 a number expressed in Unix time as milliseconds (ex: "1469498468.057"). dfeEndTime :: Lens' DescribeFleetEvents (Maybe UTCTime)-dfeEndTime = lens _dfeEndTime (\ s a -> s{_dfeEndTime = a}) . mapping _Time;+dfeEndTime = lens _dfeEndTime (\ s a -> s{_dfeEndTime = a}) . mapping _Time -- | Maximum number of results to return. 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;+dfeLimit = lens _dfeLimit (\ s a -> s{_dfeLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to get event logs for. dfeFleetId :: Lens' DescribeFleetEvents Text-dfeFleetId = lens _dfeFleetId (\ s a -> s{_dfeFleetId = a});+dfeFleetId = lens _dfeFleetId (\ s a -> s{_dfeFleetId = a}) instance AWSRequest DescribeFleetEvents where type Rs DescribeFleetEvents =@@ -227,22 +223,22 @@ -> DescribeFleetEventsResponse describeFleetEventsResponse pResponseStatus_ = DescribeFleetEventsResponse'- { _dfersNextToken = Nothing- , _dfersEvents = Nothing- , _dfersResponseStatus = pResponseStatus_- }+ { _dfersNextToken = Nothing+ , _dfersEvents = Nothing+ , _dfersResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dfersNextToken :: Lens' DescribeFleetEventsResponse (Maybe Text)-dfersNextToken = lens _dfersNextToken (\ s a -> s{_dfersNextToken = a});+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;+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});+dfersResponseStatus = lens _dfersResponseStatus (\ s a -> s{_dfersResponseStatus = a}) instance NFData DescribeFleetEventsResponse where
gen/Network/AWS/GameLift/DescribeFleetPortSettings.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeFleetPortSettings--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeFleetPortSettings ( -- * Creating a Request@@ -120,7 +116,7 @@ -- | Unique identifier for a fleet to retrieve port settings for. dfpsFleetId :: Lens' DescribeFleetPortSettings Text-dfpsFleetId = lens _dfpsFleetId (\ s a -> s{_dfpsFleetId = a});+dfpsFleetId = lens _dfpsFleetId (\ s a -> s{_dfpsFleetId = a}) instance AWSRequest DescribeFleetPortSettings where type Rs DescribeFleetPortSettings =@@ -180,18 +176,18 @@ -> DescribeFleetPortSettingsResponse describeFleetPortSettingsResponse pResponseStatus_ = DescribeFleetPortSettingsResponse'- { _dfpsrsInboundPermissions = Nothing- , _dfpsrsResponseStatus = pResponseStatus_- }+ { _dfpsrsInboundPermissions = Nothing+ , _dfpsrsResponseStatus = pResponseStatus_+ } -- | Object that contains port settings for the requested fleet ID. dfpsrsInboundPermissions :: Lens' DescribeFleetPortSettingsResponse [IPPermission]-dfpsrsInboundPermissions = lens _dfpsrsInboundPermissions (\ s a -> s{_dfpsrsInboundPermissions = a}) . _Default . _Coerce;+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});+dfpsrsResponseStatus = lens _dfpsrsResponseStatus (\ s a -> s{_dfpsrsResponseStatus = a}) instance NFData DescribeFleetPortSettingsResponse where
gen/Network/AWS/GameLift/DescribeFleetUtilization.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeFleetUtilization--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeFleetUtilization ( -- * Creating a Request@@ -124,20 +120,20 @@ :: DescribeFleetUtilization describeFleetUtilization = DescribeFleetUtilization'- {_dfuNextToken = Nothing, _dfuLimit = Nothing, _dfuFleetIds = Nothing}+ {_dfuNextToken = Nothing, _dfuLimit = Nothing, _dfuFleetIds = Nothing} -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning 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});+dfuNextToken = lens _dfuNextToken (\ s a -> s{_dfuNextToken = a}) -- | Maximum number of results to return. 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;+dfuLimit = lens _dfuLimit (\ s a -> s{_dfuLimit = a}) . mapping _Nat -- | Unique identifier for a fleet(s) to retrieve utilization data for. To request utilization data for all fleets, leave this parameter empty. dfuFleetIds :: Lens' DescribeFleetUtilization (Maybe (NonEmpty Text))-dfuFleetIds = lens _dfuFleetIds (\ s a -> s{_dfuFleetIds = a}) . mapping _List1;+dfuFleetIds = lens _dfuFleetIds (\ s a -> s{_dfuFleetIds = a}) . mapping _List1 instance AWSRequest DescribeFleetUtilization where type Rs DescribeFleetUtilization =@@ -204,23 +200,23 @@ -> DescribeFleetUtilizationResponse describeFleetUtilizationResponse pResponseStatus_ = DescribeFleetUtilizationResponse'- { _dfursNextToken = Nothing- , _dfursFleetUtilization = Nothing- , _dfursResponseStatus = pResponseStatus_- }+ { _dfursNextToken = Nothing+ , _dfursFleetUtilization = Nothing+ , _dfursResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dfursNextToken :: Lens' DescribeFleetUtilizationResponse (Maybe Text)-dfursNextToken = lens _dfursNextToken (\ s a -> s{_dfursNextToken = a});+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;+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});+dfursResponseStatus = lens _dfursResponseStatus (\ s a -> s{_dfursResponseStatus = a}) instance NFData DescribeFleetUtilizationResponse where
gen/Network/AWS/GameLift/DescribeGameSessionDetails.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeGameSessionDetails--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -112,38 +112,38 @@ :: DescribeGameSessionDetails describeGameSessionDetails = DescribeGameSessionDetails'- { _dgsdGameSessionId = Nothing- , _dgsdAliasId = Nothing- , _dgsdNextToken = Nothing- , _dgsdStatusFilter = Nothing- , _dgsdLimit = Nothing- , _dgsdFleetId = Nothing- }+ { _dgsdGameSessionId = Nothing+ , _dgsdAliasId = Nothing+ , _dgsdNextToken = Nothing+ , _dgsdStatusFilter = Nothing+ , _dgsdLimit = Nothing+ , _dgsdFleetId = Nothing+ } -- | Unique identifier for the game session to retrieve. dgsdGameSessionId :: Lens' DescribeGameSessionDetails (Maybe Text)-dgsdGameSessionId = lens _dgsdGameSessionId (\ s a -> s{_dgsdGameSessionId = a});+dgsdGameSessionId = lens _dgsdGameSessionId (\ s a -> s{_dgsdGameSessionId = a}) -- | Unique identifier for an alias associated with the fleet to retrieve all game sessions for. dgsdAliasId :: Lens' DescribeGameSessionDetails (Maybe Text)-dgsdAliasId = lens _dgsdAliasId (\ s a -> s{_dgsdAliasId = a});+dgsdAliasId = lens _dgsdAliasId (\ s a -> s{_dgsdAliasId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dgsdNextToken :: Lens' DescribeGameSessionDetails (Maybe Text)-dgsdNextToken = lens _dgsdNextToken (\ s a -> s{_dgsdNextToken = a});+dgsdNextToken = lens _dgsdNextToken (\ s a -> s{_dgsdNextToken = a}) -- | Game session status to filter results on. Possible game session statuses include @ACTIVE@ , @TERMINATED@ , @ACTIVATING@ and @TERMINATING@ (the last two are transitory). dgsdStatusFilter :: Lens' DescribeGameSessionDetails (Maybe Text)-dgsdStatusFilter = lens _dgsdStatusFilter (\ s a -> s{_dgsdStatusFilter = a});+dgsdStatusFilter = lens _dgsdStatusFilter (\ s a -> s{_dgsdStatusFilter = a}) -- | Maximum number of results to return. 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;+dgsdLimit = lens _dgsdLimit (\ s a -> s{_dgsdLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to retrieve all game sessions active on the fleet. dgsdFleetId :: Lens' DescribeGameSessionDetails (Maybe Text)-dgsdFleetId = lens _dgsdFleetId (\ s a -> s{_dgsdFleetId = a});+dgsdFleetId = lens _dgsdFleetId (\ s a -> s{_dgsdFleetId = a}) instance AWSRequest DescribeGameSessionDetails where type Rs DescribeGameSessionDetails =@@ -214,23 +214,23 @@ -> DescribeGameSessionDetailsResponse describeGameSessionDetailsResponse pResponseStatus_ = DescribeGameSessionDetailsResponse'- { _dgsdrsGameSessionDetails = Nothing- , _dgsdrsNextToken = Nothing- , _dgsdrsResponseStatus = pResponseStatus_- }+ { _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;+dgsdrsGameSessionDetails = lens _dgsdrsGameSessionDetails (\ s a -> s{_dgsdrsGameSessionDetails = a}) . _Default . _Coerce -- | Token that indicates 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. dgsdrsNextToken :: Lens' DescribeGameSessionDetailsResponse (Maybe Text)-dgsdrsNextToken = lens _dgsdrsNextToken (\ s a -> s{_dgsdrsNextToken = a});+dgsdrsNextToken = lens _dgsdrsNextToken (\ s a -> s{_dgsdrsNextToken = a}) -- | -- | The response status code. dgsdrsResponseStatus :: Lens' DescribeGameSessionDetailsResponse Int-dgsdrsResponseStatus = lens _dgsdrsResponseStatus (\ s a -> s{_dgsdrsResponseStatus = a});+dgsdrsResponseStatus = lens _dgsdrsResponseStatus (\ s a -> s{_dgsdrsResponseStatus = a}) instance NFData DescribeGameSessionDetailsResponse where
gen/Network/AWS/GameLift/DescribeGameSessionPlacement.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeGameSessionPlacement--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -94,7 +94,7 @@ -- | Unique identifier for a game session placement to retrieve. dgspPlacementId :: Lens' DescribeGameSessionPlacement Text-dgspPlacementId = lens _dgspPlacementId (\ s a -> s{_dgspPlacementId = a});+dgspPlacementId = lens _dgspPlacementId (\ s a -> s{_dgspPlacementId = a}) instance AWSRequest DescribeGameSessionPlacement where@@ -157,18 +157,18 @@ -> DescribeGameSessionPlacementResponse describeGameSessionPlacementResponse pResponseStatus_ = DescribeGameSessionPlacementResponse'- { _dgsprsGameSessionPlacement = Nothing- , _dgsprsResponseStatus = pResponseStatus_- }+ { _dgsprsGameSessionPlacement = Nothing+ , _dgsprsResponseStatus = pResponseStatus_+ } -- | Object that describes the requested game session placement. dgsprsGameSessionPlacement :: Lens' DescribeGameSessionPlacementResponse (Maybe GameSessionPlacement)-dgsprsGameSessionPlacement = lens _dgsprsGameSessionPlacement (\ s a -> s{_dgsprsGameSessionPlacement = a});+dgsprsGameSessionPlacement = lens _dgsprsGameSessionPlacement (\ s a -> s{_dgsprsGameSessionPlacement = a}) -- | -- | The response status code. dgsprsResponseStatus :: Lens' DescribeGameSessionPlacementResponse Int-dgsprsResponseStatus = lens _dgsprsResponseStatus (\ s a -> s{_dgsprsResponseStatus = a});+dgsprsResponseStatus = lens _dgsprsResponseStatus (\ s a -> s{_dgsprsResponseStatus = a}) instance NFData DescribeGameSessionPlacementResponse where
gen/Network/AWS/GameLift/DescribeGameSessionQueues.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeGameSessionQueues--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -84,20 +84,20 @@ :: DescribeGameSessionQueues describeGameSessionQueues = DescribeGameSessionQueues'- {_dgsqNextToken = Nothing, _dgsqNames = Nothing, _dgsqLimit = Nothing}+ {_dgsqNextToken = Nothing, _dgsqNames = Nothing, _dgsqLimit = Nothing} -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dgsqNextToken :: Lens' DescribeGameSessionQueues (Maybe Text)-dgsqNextToken = lens _dgsqNextToken (\ s a -> s{_dgsqNextToken = a});+dgsqNextToken = lens _dgsqNextToken (\ s a -> s{_dgsqNextToken = a}) -- | List of queue names to retrieve information for. To request settings for all queues, leave this parameter empty. dgsqNames :: Lens' DescribeGameSessionQueues [Text]-dgsqNames = lens _dgsqNames (\ s a -> s{_dgsqNames = a}) . _Default . _Coerce;+dgsqNames = lens _dgsqNames (\ s a -> s{_dgsqNames = a}) . _Default . _Coerce -- | Maximum number of results to return. Use this parameter with @NextToken@ to get results as a set of sequential pages. dgsqLimit :: Lens' DescribeGameSessionQueues (Maybe Natural)-dgsqLimit = lens _dgsqLimit (\ s a -> s{_dgsqLimit = a}) . mapping _Nat;+dgsqLimit = lens _dgsqLimit (\ s a -> s{_dgsqLimit = a}) . mapping _Nat instance AWSRequest DescribeGameSessionQueues where type Rs DescribeGameSessionQueues =@@ -164,23 +164,23 @@ -> DescribeGameSessionQueuesResponse describeGameSessionQueuesResponse pResponseStatus_ = DescribeGameSessionQueuesResponse'- { _drsNextToken = Nothing- , _drsGameSessionQueues = Nothing- , _drsResponseStatus = pResponseStatus_- }+ { _drsNextToken = Nothing+ , _drsGameSessionQueues = Nothing+ , _drsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. drsNextToken :: Lens' DescribeGameSessionQueuesResponse (Maybe Text)-drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a});+drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a}) -- | Collection of objects that describes the requested game session queues. drsGameSessionQueues :: Lens' DescribeGameSessionQueuesResponse [GameSessionQueue]-drsGameSessionQueues = lens _drsGameSessionQueues (\ s a -> s{_drsGameSessionQueues = a}) . _Default . _Coerce;+drsGameSessionQueues = lens _drsGameSessionQueues (\ s a -> s{_drsGameSessionQueues = a}) . _Default . _Coerce -- | -- | The response status code. drsResponseStatus :: Lens' DescribeGameSessionQueuesResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});+drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a}) instance NFData DescribeGameSessionQueuesResponse where
gen/Network/AWS/GameLift/DescribeGameSessions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeGameSessions--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -114,38 +114,38 @@ :: DescribeGameSessions describeGameSessions = DescribeGameSessions'- { _dgsGameSessionId = Nothing- , _dgsAliasId = Nothing- , _dgsNextToken = Nothing- , _dgsStatusFilter = Nothing- , _dgsLimit = Nothing- , _dgsFleetId = Nothing- }+ { _dgsGameSessionId = Nothing+ , _dgsAliasId = Nothing+ , _dgsNextToken = Nothing+ , _dgsStatusFilter = Nothing+ , _dgsLimit = Nothing+ , _dgsFleetId = Nothing+ } -- | Unique identifier for the game session to retrieve. You can use either a @GameSessionId@ or @GameSessionArn@ value. dgsGameSessionId :: Lens' DescribeGameSessions (Maybe Text)-dgsGameSessionId = lens _dgsGameSessionId (\ s a -> s{_dgsGameSessionId = a});+dgsGameSessionId = lens _dgsGameSessionId (\ s a -> s{_dgsGameSessionId = a}) -- | Unique identifier for an alias associated with the fleet to retrieve all game sessions for. dgsAliasId :: Lens' DescribeGameSessions (Maybe Text)-dgsAliasId = lens _dgsAliasId (\ s a -> s{_dgsAliasId = a});+dgsAliasId = lens _dgsAliasId (\ s a -> s{_dgsAliasId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dgsNextToken :: Lens' DescribeGameSessions (Maybe Text)-dgsNextToken = lens _dgsNextToken (\ s a -> s{_dgsNextToken = a});+dgsNextToken = lens _dgsNextToken (\ s a -> s{_dgsNextToken = a}) -- | Game session status to filter results on. Possible game session statuses include @ACTIVE@ , @TERMINATED@ , @ACTIVATING@ , and @TERMINATING@ (the last two are transitory). dgsStatusFilter :: Lens' DescribeGameSessions (Maybe Text)-dgsStatusFilter = lens _dgsStatusFilter (\ s a -> s{_dgsStatusFilter = a});+dgsStatusFilter = lens _dgsStatusFilter (\ s a -> s{_dgsStatusFilter = a}) -- | Maximum number of results to return. 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;+dgsLimit = lens _dgsLimit (\ s a -> s{_dgsLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to retrieve all game sessions for. dgsFleetId :: Lens' DescribeGameSessions (Maybe Text)-dgsFleetId = lens _dgsFleetId (\ s a -> s{_dgsFleetId = a});+dgsFleetId = lens _dgsFleetId (\ s a -> s{_dgsFleetId = a}) instance AWSRequest DescribeGameSessions where type Rs DescribeGameSessions =@@ -215,22 +215,22 @@ -> DescribeGameSessionsResponse describeGameSessionsResponse pResponseStatus_ = DescribeGameSessionsResponse'- { _dgsrsGameSessions = Nothing- , _dgsrsNextToken = Nothing- , _dgsrsResponseStatus = pResponseStatus_- }+ { _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;+dgsrsGameSessions = lens _dgsrsGameSessions (\ s a -> s{_dgsrsGameSessions = a}) . _Default . _Coerce -- | Token that indicates 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. dgsrsNextToken :: Lens' DescribeGameSessionsResponse (Maybe Text)-dgsrsNextToken = lens _dgsrsNextToken (\ s a -> s{_dgsrsNextToken = a});+dgsrsNextToken = lens _dgsrsNextToken (\ s a -> s{_dgsrsNextToken = a}) -- | -- | The response status code. dgsrsResponseStatus :: Lens' DescribeGameSessionsResponse Int-dgsrsResponseStatus = lens _dgsrsResponseStatus (\ s a -> s{_dgsrsResponseStatus = a});+dgsrsResponseStatus = lens _dgsrsResponseStatus (\ s a -> s{_dgsrsResponseStatus = a}) instance NFData DescribeGameSessionsResponse where
gen/Network/AWS/GameLift/DescribeInstances.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeInstances--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -79,28 +79,28 @@ -> DescribeInstances describeInstances pFleetId_ = DescribeInstances'- { _diInstanceId = Nothing- , _diNextToken = Nothing- , _diLimit = Nothing- , _diFleetId = pFleetId_- }+ { _diInstanceId = Nothing+ , _diNextToken = Nothing+ , _diLimit = Nothing+ , _diFleetId = pFleetId_+ } -- | Unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet. diInstanceId :: Lens' DescribeInstances (Maybe Text)-diInstanceId = lens _diInstanceId (\ s a -> s{_diInstanceId = a});+diInstanceId = lens _diInstanceId (\ s a -> s{_diInstanceId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. diNextToken :: Lens' DescribeInstances (Maybe Text)-diNextToken = lens _diNextToken (\ s a -> s{_diNextToken = a});+diNextToken = lens _diNextToken (\ s a -> s{_diNextToken = a}) -- | Maximum number of results to return. Use this parameter with @NextToken@ to get results as a set of sequential pages. diLimit :: Lens' DescribeInstances (Maybe Natural)-diLimit = lens _diLimit (\ s a -> s{_diLimit = a}) . mapping _Nat;+diLimit = lens _diLimit (\ s a -> s{_diLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to retrieve instance information for. diFleetId :: Lens' DescribeInstances Text-diFleetId = lens _diFleetId (\ s a -> s{_diFleetId = a});+diFleetId = lens _diFleetId (\ s a -> s{_diFleetId = a}) instance AWSRequest DescribeInstances where type Rs DescribeInstances = DescribeInstancesResponse@@ -167,22 +167,22 @@ -> DescribeInstancesResponse describeInstancesResponse pResponseStatus_ = DescribeInstancesResponse'- { _dirsNextToken = Nothing- , _dirsInstances = Nothing- , _dirsResponseStatus = pResponseStatus_- }+ { _dirsNextToken = Nothing+ , _dirsInstances = Nothing+ , _dirsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dirsNextToken :: Lens' DescribeInstancesResponse (Maybe Text)-dirsNextToken = lens _dirsNextToken (\ s a -> s{_dirsNextToken = a});+dirsNextToken = lens _dirsNextToken (\ s a -> s{_dirsNextToken = a}) -- | Collection of objects containing properties for each instance returned. dirsInstances :: Lens' DescribeInstancesResponse [Instance]-dirsInstances = lens _dirsInstances (\ s a -> s{_dirsInstances = a}) . _Default . _Coerce;+dirsInstances = lens _dirsInstances (\ s a -> s{_dirsInstances = a}) . _Default . _Coerce -- | -- | The response status code. dirsResponseStatus :: Lens' DescribeInstancesResponse Int-dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a});+dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a}) instance NFData DescribeInstancesResponse where
gen/Network/AWS/GameLift/DescribeMatchmaking.hs view
@@ -12,18 +12,18 @@ -- | -- Module : Network.AWS.GameLift.DescribeMatchmaking--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves a set of one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.+-- Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session. -- -- -- You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in 'StartMatchmaking' . ----- You can request data for a one or a list of ticket IDs. If the request is successful, a ticket object is returned for each requested ID. When specifying a list of ticket IDs, objects are returned only for tickets that currently exist.+-- To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists. -- -- Matchmaking-related operations include: --@@ -35,8 +35,10 @@ -- -- * 'AcceptMatch' --+-- * 'StartMatchBackfill' -- --+-- module Network.AWS.GameLift.DescribeMatchmaking ( -- * Creating a Request@@ -74,15 +76,15 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'dmTicketIds' - Unique identifier for a matchmaking ticket. To request all existing tickets, leave this parameter empty.+-- * 'dmTicketIds' - Unique identifier for a matchmaking ticket. You can include up to 10 ID values. describeMatchmaking :: DescribeMatchmaking describeMatchmaking = DescribeMatchmaking' {_dmTicketIds = mempty} --- | Unique identifier for a matchmaking ticket. To request all existing tickets, leave this parameter empty.+-- | Unique identifier for a matchmaking ticket. You can include up to 10 ID values. dmTicketIds :: Lens' DescribeMatchmaking [Text]-dmTicketIds = lens _dmTicketIds (\ s a -> s{_dmTicketIds = a}) . _Coerce;+dmTicketIds = lens _dmTicketIds (\ s a -> s{_dmTicketIds = a}) . _Coerce instance AWSRequest DescribeMatchmaking where type Rs DescribeMatchmaking =@@ -142,15 +144,15 @@ -> DescribeMatchmakingResponse describeMatchmakingResponse pResponseStatus_ = DescribeMatchmakingResponse'- {_dmrsTicketList = Nothing, _dmrsResponseStatus = pResponseStatus_}+ {_dmrsTicketList = Nothing, _dmrsResponseStatus = pResponseStatus_} -- | Collection of existing matchmaking ticket objects matching the request. dmrsTicketList :: Lens' DescribeMatchmakingResponse [MatchmakingTicket]-dmrsTicketList = lens _dmrsTicketList (\ s a -> s{_dmrsTicketList = a}) . _Default . _Coerce;+dmrsTicketList = lens _dmrsTicketList (\ s a -> s{_dmrsTicketList = a}) . _Default . _Coerce -- | -- | The response status code. dmrsResponseStatus :: Lens' DescribeMatchmakingResponse Int-dmrsResponseStatus = lens _dmrsResponseStatus (\ s a -> s{_dmrsResponseStatus = a});+dmrsResponseStatus = lens _dmrsResponseStatus (\ s a -> s{_dmrsResponseStatus = a}) instance NFData DescribeMatchmakingResponse where
gen/Network/AWS/GameLift/DescribeMatchmakingConfigurations.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeMatchmakingConfigurations--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -94,28 +94,28 @@ :: DescribeMatchmakingConfigurations describeMatchmakingConfigurations = DescribeMatchmakingConfigurations'- { _dmcRuleSetName = Nothing- , _dmcNextToken = Nothing- , _dmcNames = Nothing- , _dmcLimit = Nothing- }+ { _dmcRuleSetName = Nothing+ , _dmcNextToken = Nothing+ , _dmcNames = Nothing+ , _dmcLimit = Nothing+ } -- | Unique identifier for a matchmaking rule set. Use this parameter to retrieve all matchmaking configurations that use this rule set. dmcRuleSetName :: Lens' DescribeMatchmakingConfigurations (Maybe Text)-dmcRuleSetName = lens _dmcRuleSetName (\ s a -> s{_dmcRuleSetName = a});+dmcRuleSetName = lens _dmcRuleSetName (\ s a -> s{_dmcRuleSetName = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dmcNextToken :: Lens' DescribeMatchmakingConfigurations (Maybe Text)-dmcNextToken = lens _dmcNextToken (\ s a -> s{_dmcNextToken = a});+dmcNextToken = lens _dmcNextToken (\ s a -> s{_dmcNextToken = a}) -- | Unique identifier for a matchmaking configuration(s) to retrieve. To request all existing configurations, leave this parameter empty. dmcNames :: Lens' DescribeMatchmakingConfigurations [Text]-dmcNames = lens _dmcNames (\ s a -> s{_dmcNames = a}) . _Default . _Coerce;+dmcNames = lens _dmcNames (\ s a -> s{_dmcNames = a}) . _Default . _Coerce -- | Maximum number of results to return. Use this parameter with @NextToken@ to get results as a set of sequential pages. This parameter is limited to 10. dmcLimit :: Lens' DescribeMatchmakingConfigurations (Maybe Natural)-dmcLimit = lens _dmcLimit (\ s a -> s{_dmcLimit = a}) . mapping _Nat;+dmcLimit = lens _dmcLimit (\ s a -> s{_dmcLimit = a}) . mapping _Nat instance AWSRequest DescribeMatchmakingConfigurations where@@ -191,23 +191,23 @@ -> DescribeMatchmakingConfigurationsResponse describeMatchmakingConfigurationsResponse pResponseStatus_ = DescribeMatchmakingConfigurationsResponse'- { _dmcsrsConfigurations = Nothing- , _dmcsrsNextToken = Nothing- , _dmcsrsResponseStatus = pResponseStatus_- }+ { _dmcsrsConfigurations = Nothing+ , _dmcsrsNextToken = Nothing+ , _dmcsrsResponseStatus = pResponseStatus_+ } -- | Collection of requested matchmaking configuration objects. dmcsrsConfigurations :: Lens' DescribeMatchmakingConfigurationsResponse [MatchmakingConfiguration]-dmcsrsConfigurations = lens _dmcsrsConfigurations (\ s a -> s{_dmcsrsConfigurations = a}) . _Default . _Coerce;+dmcsrsConfigurations = lens _dmcsrsConfigurations (\ s a -> s{_dmcsrsConfigurations = a}) . _Default . _Coerce -- | Token that indicates 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. dmcsrsNextToken :: Lens' DescribeMatchmakingConfigurationsResponse (Maybe Text)-dmcsrsNextToken = lens _dmcsrsNextToken (\ s a -> s{_dmcsrsNextToken = a});+dmcsrsNextToken = lens _dmcsrsNextToken (\ s a -> s{_dmcsrsNextToken = a}) -- | -- | The response status code. dmcsrsResponseStatus :: Lens' DescribeMatchmakingConfigurationsResponse Int-dmcsrsResponseStatus = lens _dmcsrsResponseStatus (\ s a -> s{_dmcsrsResponseStatus = a});+dmcsrsResponseStatus = lens _dmcsrsResponseStatus (\ s a -> s{_dmcsrsResponseStatus = a}) instance NFData DescribeMatchmakingConfigurationsResponse
gen/Network/AWS/GameLift/DescribeMatchmakingRuleSets.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeMatchmakingRuleSets--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -90,20 +90,20 @@ :: DescribeMatchmakingRuleSets describeMatchmakingRuleSets = DescribeMatchmakingRuleSets'- {_dmrsNextToken = Nothing, _dmrsNames = Nothing, _dmrsLimit = Nothing}+ {_dmrsNextToken = Nothing, _dmrsNames = Nothing, _dmrsLimit = Nothing} -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dmrsNextToken :: Lens' DescribeMatchmakingRuleSets (Maybe Text)-dmrsNextToken = lens _dmrsNextToken (\ s a -> s{_dmrsNextToken = a});+dmrsNextToken = lens _dmrsNextToken (\ s a -> s{_dmrsNextToken = a}) -- | Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration. dmrsNames :: Lens' DescribeMatchmakingRuleSets (Maybe (NonEmpty Text))-dmrsNames = lens _dmrsNames (\ s a -> s{_dmrsNames = a}) . mapping _List1;+dmrsNames = lens _dmrsNames (\ s a -> s{_dmrsNames = a}) . mapping _List1 -- | Maximum number of results to return. Use this parameter with @NextToken@ to get results as a set of sequential pages. dmrsLimit :: Lens' DescribeMatchmakingRuleSets (Maybe Natural)-dmrsLimit = lens _dmrsLimit (\ s a -> s{_dmrsLimit = a}) . mapping _Nat;+dmrsLimit = lens _dmrsLimit (\ s a -> s{_dmrsLimit = a}) . mapping _Nat instance AWSRequest DescribeMatchmakingRuleSets where type Rs DescribeMatchmakingRuleSets =@@ -170,23 +170,23 @@ -> DescribeMatchmakingRuleSetsResponse describeMatchmakingRuleSetsResponse pResponseStatus_ = DescribeMatchmakingRuleSetsResponse'- { _dmrsrsNextToken = Nothing- , _dmrsrsResponseStatus = pResponseStatus_- , _dmrsrsRuleSets = mempty- }+ { _dmrsrsNextToken = Nothing+ , _dmrsrsResponseStatus = pResponseStatus_+ , _dmrsrsRuleSets = mempty+ } -- | Token that indicates 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. dmrsrsNextToken :: Lens' DescribeMatchmakingRuleSetsResponse (Maybe Text)-dmrsrsNextToken = lens _dmrsrsNextToken (\ s a -> s{_dmrsrsNextToken = a});+dmrsrsNextToken = lens _dmrsrsNextToken (\ s a -> s{_dmrsrsNextToken = a}) -- | -- | The response status code. dmrsrsResponseStatus :: Lens' DescribeMatchmakingRuleSetsResponse Int-dmrsrsResponseStatus = lens _dmrsrsResponseStatus (\ s a -> s{_dmrsrsResponseStatus = a});+dmrsrsResponseStatus = lens _dmrsrsResponseStatus (\ s a -> s{_dmrsrsResponseStatus = a}) -- | Collection of requested matchmaking rule set objects. dmrsrsRuleSets :: Lens' DescribeMatchmakingRuleSetsResponse [MatchmakingRuleSet]-dmrsrsRuleSets = lens _dmrsrsRuleSets (\ s a -> s{_dmrsrsRuleSets = a}) . _Coerce;+dmrsrsRuleSets = lens _dmrsrsRuleSets (\ s a -> s{_dmrsrsRuleSets = a}) . _Coerce instance NFData DescribeMatchmakingRuleSetsResponse where
gen/Network/AWS/GameLift/DescribePlayerSessions.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribePlayerSessions--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -108,38 +108,38 @@ :: DescribePlayerSessions describePlayerSessions = DescribePlayerSessions'- { _dpssGameSessionId = Nothing- , _dpssNextToken = Nothing- , _dpssLimit = Nothing- , _dpssPlayerSessionId = Nothing- , _dpssPlayerId = Nothing- , _dpssPlayerSessionStatusFilter = Nothing- }+ { _dpssGameSessionId = Nothing+ , _dpssNextToken = Nothing+ , _dpssLimit = Nothing+ , _dpssPlayerSessionId = Nothing+ , _dpssPlayerId = Nothing+ , _dpssPlayerSessionStatusFilter = Nothing+ } -- | Unique identifier for the game session to retrieve player sessions for. dpssGameSessionId :: Lens' DescribePlayerSessions (Maybe Text)-dpssGameSessionId = lens _dpssGameSessionId (\ s a -> s{_dpssGameSessionId = a});+dpssGameSessionId = lens _dpssGameSessionId (\ s a -> s{_dpssGameSessionId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored. dpssNextToken :: Lens' DescribePlayerSessions (Maybe Text)-dpssNextToken = lens _dpssNextToken (\ s a -> s{_dpssNextToken = a});+dpssNextToken = lens _dpssNextToken (\ s a -> s{_dpssNextToken = a}) -- | Maximum number of results to return. 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. dpssLimit :: Lens' DescribePlayerSessions (Maybe Natural)-dpssLimit = lens _dpssLimit (\ s a -> s{_dpssLimit = a}) . mapping _Nat;+dpssLimit = lens _dpssLimit (\ s a -> s{_dpssLimit = a}) . mapping _Nat -- | Unique identifier for a player session to retrieve. dpssPlayerSessionId :: Lens' DescribePlayerSessions (Maybe Text)-dpssPlayerSessionId = lens _dpssPlayerSessionId (\ s a -> s{_dpssPlayerSessionId = a});+dpssPlayerSessionId = lens _dpssPlayerSessionId (\ s a -> s{_dpssPlayerSessionId = a}) -- | Unique identifier for a player to retrieve player sessions for. dpssPlayerId :: Lens' DescribePlayerSessions (Maybe Text)-dpssPlayerId = lens _dpssPlayerId (\ s a -> s{_dpssPlayerId = a});+dpssPlayerId = lens _dpssPlayerId (\ s a -> s{_dpssPlayerId = a}) -- | Player session status to filter results on. Possible player session statuses include the following: * __RESERVED__ -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. * __ACTIVE__ -- The player has been validated by the server process 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 timeout limit (60 seconds). dpssPlayerSessionStatusFilter :: Lens' DescribePlayerSessions (Maybe Text)-dpssPlayerSessionStatusFilter = lens _dpssPlayerSessionStatusFilter (\ s a -> s{_dpssPlayerSessionStatusFilter = a});+dpssPlayerSessionStatusFilter = lens _dpssPlayerSessionStatusFilter (\ s a -> s{_dpssPlayerSessionStatusFilter = a}) instance AWSRequest DescribePlayerSessions where type Rs DescribePlayerSessions =@@ -210,22 +210,22 @@ -> DescribePlayerSessionsResponse describePlayerSessionsResponse pResponseStatus_ = DescribePlayerSessionsResponse'- { _dpsrsNextToken = Nothing- , _dpsrsPlayerSessions = Nothing- , _dpsrsResponseStatus = pResponseStatus_- }+ { _dpsrsNextToken = Nothing+ , _dpsrsPlayerSessions = Nothing+ , _dpsrsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dpsrsNextToken :: Lens' DescribePlayerSessionsResponse (Maybe Text)-dpsrsNextToken = lens _dpsrsNextToken (\ s a -> s{_dpsrsNextToken = a});+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;+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});+dpsrsResponseStatus = lens _dpsrsResponseStatus (\ s a -> s{_dpsrsResponseStatus = a}) instance NFData DescribePlayerSessionsResponse where
gen/Network/AWS/GameLift/DescribeRuntimeConfiguration.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeRuntimeConfiguration--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.DescribeRuntimeConfiguration ( -- * Creating a Request@@ -120,7 +116,7 @@ -- | Unique identifier for a fleet to get the run-time configuration for. drcFleetId :: Lens' DescribeRuntimeConfiguration Text-drcFleetId = lens _drcFleetId (\ s a -> s{_drcFleetId = a});+drcFleetId = lens _drcFleetId (\ s a -> s{_drcFleetId = a}) instance AWSRequest DescribeRuntimeConfiguration where@@ -182,18 +178,18 @@ -> DescribeRuntimeConfigurationResponse describeRuntimeConfigurationResponse pResponseStatus_ = DescribeRuntimeConfigurationResponse'- { _drcrsRuntimeConfiguration = Nothing- , _drcrsResponseStatus = pResponseStatus_- }+ { _drcrsRuntimeConfiguration = Nothing+ , _drcrsResponseStatus = pResponseStatus_+ } -- | Instructions describing how server processes should be launched and maintained on each instance in the fleet. drcrsRuntimeConfiguration :: Lens' DescribeRuntimeConfigurationResponse (Maybe RuntimeConfiguration)-drcrsRuntimeConfiguration = lens _drcrsRuntimeConfiguration (\ s a -> s{_drcrsRuntimeConfiguration = a});+drcrsRuntimeConfiguration = lens _drcrsRuntimeConfiguration (\ s a -> s{_drcrsRuntimeConfiguration = a}) -- | -- | The response status code. drcrsResponseStatus :: Lens' DescribeRuntimeConfigurationResponse Int-drcrsResponseStatus = lens _drcrsResponseStatus (\ s a -> s{_drcrsResponseStatus = a});+drcrsResponseStatus = lens _drcrsResponseStatus (\ s a -> s{_drcrsResponseStatus = a}) instance NFData DescribeRuntimeConfigurationResponse where
gen/Network/AWS/GameLift/DescribeScalingPolicies.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeScalingPolicies--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -23,58 +23,36 @@ -- -- 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. ----- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------+-- A fleet may have all of its scaling policies suspended ('StopFleetActions' ). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call 'DescribeFleetAttributes' and check the stopped actions. ----- * Update fleets:+-- Operations related to fleet capacity scaling include: ----- * 'UpdateFleetAttributes'+-- * 'DescribeFleetCapacity' -- -- * 'UpdateFleetCapacity' ----- * 'UpdateFleetPortSettings'+-- * 'DescribeEC2InstanceLimits' ----- * 'UpdateRuntimeConfiguration'+-- * Manage scaling policies: --+-- * 'PutScalingPolicy' (auto-scaling) --+-- * 'DescribeScalingPolicies' (auto-scaling) ----- * Manage fleet capacity:+-- * 'DeleteScalingPolicy' (auto-scaling) ----- * 'DescribeFleetCapacity' ----- * 'UpdateFleetCapacity' ----- * 'PutScalingPolicy' (automatic scaling)+-- * Manage fleet actions: ----- * 'DescribeScalingPolicies' (automatic scaling)+-- * 'StartFleetActions' ----- * 'DeleteScalingPolicy' (automatic scaling)+-- * 'StopFleetActions' ----- * 'DescribeEC2InstanceLimits' -- -- ----- * 'DeleteFleet' -------- module Network.AWS.GameLift.DescribeScalingPolicies ( -- * Creating a Request@@ -131,28 +109,28 @@ -> DescribeScalingPolicies describeScalingPolicies pFleetId_ = DescribeScalingPolicies'- { _dNextToken = Nothing- , _dStatusFilter = Nothing- , _dLimit = Nothing- , _dFleetId = pFleetId_- }+ { _dNextToken = Nothing+ , _dStatusFilter = Nothing+ , _dLimit = Nothing+ , _dFleetId = pFleetId_+ } -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. dNextToken :: Lens' DescribeScalingPolicies (Maybe Text)-dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a});+dNextToken = lens _dNextToken (\ s a -> s{_dNextToken = a}) -- | Scaling policy status to filter results on. A scaling policy is only in force when in an @ACTIVE@ status. * __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});+dStatusFilter = lens _dStatusFilter (\ s a -> s{_dStatusFilter = a}) -- | Maximum number of results to return. 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;+dLimit = lens _dLimit (\ s a -> s{_dLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to retrieve scaling policies for. dFleetId :: Lens' DescribeScalingPolicies Text-dFleetId = lens _dFleetId (\ s a -> s{_dFleetId = a});+dFleetId = lens _dFleetId (\ s a -> s{_dFleetId = a}) instance AWSRequest DescribeScalingPolicies where type Rs DescribeScalingPolicies =@@ -220,22 +198,22 @@ -> DescribeScalingPoliciesResponse describeScalingPoliciesResponse pResponseStatus_ = DescribeScalingPoliciesResponse'- { _dsprsNextToken = Nothing- , _dsprsScalingPolicies = Nothing- , _dsprsResponseStatus = pResponseStatus_- }+ { _dsprsNextToken = Nothing+ , _dsprsScalingPolicies = Nothing+ , _dsprsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. dsprsNextToken :: Lens' DescribeScalingPoliciesResponse (Maybe Text)-dsprsNextToken = lens _dsprsNextToken (\ s a -> s{_dsprsNextToken = a});+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;+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});+dsprsResponseStatus = lens _dsprsResponseStatus (\ s a -> s{_dsprsResponseStatus = a}) instance NFData DescribeScalingPoliciesResponse where
gen/Network/AWS/GameLift/DescribeVPCPeeringAuthorizations.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeVPCPeeringAuthorizations--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -131,18 +131,18 @@ -> DescribeVPCPeeringAuthorizationsResponse describeVPCPeeringAuthorizationsResponse pResponseStatus_ = DescribeVPCPeeringAuthorizationsResponse'- { _dvpcparsVPCPeeringAuthorizations = Nothing- , _dvpcparsResponseStatus = pResponseStatus_- }+ { _dvpcparsVPCPeeringAuthorizations = Nothing+ , _dvpcparsResponseStatus = pResponseStatus_+ } -- | Collection of objects that describe all valid VPC peering operations for the current AWS account. dvpcparsVPCPeeringAuthorizations :: Lens' DescribeVPCPeeringAuthorizationsResponse [VPCPeeringAuthorization]-dvpcparsVPCPeeringAuthorizations = lens _dvpcparsVPCPeeringAuthorizations (\ s a -> s{_dvpcparsVPCPeeringAuthorizations = a}) . _Default . _Coerce;+dvpcparsVPCPeeringAuthorizations = lens _dvpcparsVPCPeeringAuthorizations (\ s a -> s{_dvpcparsVPCPeeringAuthorizations = a}) . _Default . _Coerce -- | -- | The response status code. dvpcparsResponseStatus :: Lens' DescribeVPCPeeringAuthorizationsResponse Int-dvpcparsResponseStatus = lens _dvpcparsResponseStatus (\ s a -> s{_dvpcparsResponseStatus = a});+dvpcparsResponseStatus = lens _dvpcparsResponseStatus (\ s a -> s{_dvpcparsResponseStatus = a}) instance NFData DescribeVPCPeeringAuthorizationsResponse
gen/Network/AWS/GameLift/DescribeVPCPeeringConnections.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.DescribeVPCPeeringConnections--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -85,7 +85,7 @@ -- | Unique identifier for a fleet. dvpcpcFleetId :: Lens' DescribeVPCPeeringConnections (Maybe Text)-dvpcpcFleetId = lens _dvpcpcFleetId (\ s a -> s{_dvpcpcFleetId = a});+dvpcpcFleetId = lens _dvpcpcFleetId (\ s a -> s{_dvpcpcFleetId = a}) instance AWSRequest DescribeVPCPeeringConnections where@@ -148,18 +148,18 @@ -> DescribeVPCPeeringConnectionsResponse describeVPCPeeringConnectionsResponse pResponseStatus_ = DescribeVPCPeeringConnectionsResponse'- { _dvpcpcrsVPCPeeringConnections = Nothing- , _dvpcpcrsResponseStatus = pResponseStatus_- }+ { _dvpcpcrsVPCPeeringConnections = Nothing+ , _dvpcpcrsResponseStatus = pResponseStatus_+ } -- | Collection of VPC peering connection records that match the request. dvpcpcrsVPCPeeringConnections :: Lens' DescribeVPCPeeringConnectionsResponse [VPCPeeringConnection]-dvpcpcrsVPCPeeringConnections = lens _dvpcpcrsVPCPeeringConnections (\ s a -> s{_dvpcpcrsVPCPeeringConnections = a}) . _Default . _Coerce;+dvpcpcrsVPCPeeringConnections = lens _dvpcpcrsVPCPeeringConnections (\ s a -> s{_dvpcpcrsVPCPeeringConnections = a}) . _Default . _Coerce -- | -- | The response status code. dvpcpcrsResponseStatus :: Lens' DescribeVPCPeeringConnectionsResponse Int-dvpcpcrsResponseStatus = lens _dvpcpcrsResponseStatus (\ s a -> s{_dvpcpcrsResponseStatus = a});+dvpcpcrsResponseStatus = lens _dvpcpcrsResponseStatus (\ s a -> s{_dvpcpcrsResponseStatus = a}) instance NFData DescribeVPCPeeringConnectionsResponse where
gen/Network/AWS/GameLift/GetGameSessionLogURL.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.GetGameSessionLogURL--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -94,7 +94,7 @@ -- | Unique identifier for the game session to get logs for. ggsluGameSessionId :: Lens' GetGameSessionLogURL Text-ggsluGameSessionId = lens _ggsluGameSessionId (\ s a -> s{_ggsluGameSessionId = a});+ggsluGameSessionId = lens _ggsluGameSessionId (\ s a -> s{_ggsluGameSessionId = a}) instance AWSRequest GetGameSessionLogURL where type Rs GetGameSessionLogURL =@@ -154,15 +154,15 @@ -> GetGameSessionLogURLResponse getGameSessionLogURLResponse pResponseStatus_ = GetGameSessionLogURLResponse'- {_ggslursPreSignedURL = Nothing, _ggslursResponseStatus = pResponseStatus_}+ {_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});+ggslursPreSignedURL = lens _ggslursPreSignedURL (\ s a -> s{_ggslursPreSignedURL = a}) -- | -- | The response status code. ggslursResponseStatus :: Lens' GetGameSessionLogURLResponse Int-ggslursResponseStatus = lens _ggslursResponseStatus (\ s a -> s{_ggslursResponseStatus = a});+ggslursResponseStatus = lens _ggslursResponseStatus (\ s a -> s{_ggslursResponseStatus = a}) instance NFData GetGameSessionLogURLResponse where
gen/Network/AWS/GameLift/GetInstanceAccess.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.GetInstanceAccess--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -77,11 +77,11 @@ -- | Unique identifier for a fleet that contains the instance you want access to. The fleet can be in any of the following statuses: @ACTIVATING@ , @ACTIVE@ , or @ERROR@ . Fleets with an @ERROR@ status may be accessible for a short time before they are deleted. giaFleetId :: Lens' GetInstanceAccess Text-giaFleetId = lens _giaFleetId (\ s a -> s{_giaFleetId = a});+giaFleetId = lens _giaFleetId (\ s a -> s{_giaFleetId = a}) -- | Unique identifier for an instance you want to get access to. You can access an instance in any status. giaInstanceId :: Lens' GetInstanceAccess Text-giaInstanceId = lens _giaInstanceId (\ s a -> s{_giaInstanceId = a});+giaInstanceId = lens _giaInstanceId (\ s a -> s{_giaInstanceId = a}) instance AWSRequest GetInstanceAccess where type Rs GetInstanceAccess = GetInstanceAccessResponse@@ -141,15 +141,15 @@ -> GetInstanceAccessResponse getInstanceAccessResponse pResponseStatus_ = GetInstanceAccessResponse'- {_giarsInstanceAccess = Nothing, _giarsResponseStatus = pResponseStatus_}+ {_giarsInstanceAccess = Nothing, _giarsResponseStatus = pResponseStatus_} -- | Object that contains connection information for a fleet instance, including IP address and access credentials. giarsInstanceAccess :: Lens' GetInstanceAccessResponse (Maybe InstanceAccess)-giarsInstanceAccess = lens _giarsInstanceAccess (\ s a -> s{_giarsInstanceAccess = a});+giarsInstanceAccess = lens _giarsInstanceAccess (\ s a -> s{_giarsInstanceAccess = a}) -- | -- | The response status code. giarsResponseStatus :: Lens' GetInstanceAccessResponse Int-giarsResponseStatus = lens _giarsResponseStatus (\ s a -> s{_giarsResponseStatus = a});+giarsResponseStatus = lens _giarsResponseStatus (\ s a -> s{_giarsResponseStatus = a}) instance NFData GetInstanceAccessResponse where
gen/Network/AWS/GameLift/ListAliases.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.ListAliases--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -92,28 +92,28 @@ :: ListAliases listAliases = ListAliases'- { _laRoutingStrategyType = Nothing- , _laNextToken = Nothing- , _laName = Nothing- , _laLimit = Nothing- }+ { _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 the following: * __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});+laRoutingStrategyType = lens _laRoutingStrategyType (\ s a -> s{_laRoutingStrategyType = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. laNextToken :: Lens' ListAliases (Maybe Text)-laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});+laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a}) -- | Descriptive label that is associated with an alias. Alias names do not need to be unique. laName :: Lens' ListAliases (Maybe Text)-laName = lens _laName (\ s a -> s{_laName = a});+laName = lens _laName (\ s a -> s{_laName = a}) -- | Maximum number of results to return. 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;+laLimit = lens _laLimit (\ s a -> s{_laLimit = a}) . mapping _Nat instance AWSRequest ListAliases where type Rs ListAliases = ListAliasesResponse@@ -179,22 +179,22 @@ -> ListAliasesResponse listAliasesResponse pResponseStatus_ = ListAliasesResponse'- { _larsAliases = Nothing- , _larsNextToken = Nothing- , _larsResponseStatus = pResponseStatus_- }+ { _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;+larsAliases = lens _larsAliases (\ s a -> s{_larsAliases = a}) . _Default . _Coerce -- | Token that indicates 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. larsNextToken :: Lens' ListAliasesResponse (Maybe Text)-larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});+larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a}) -- | -- | The response status code. larsResponseStatus :: Lens' ListAliasesResponse Int-larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});+larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a}) instance NFData ListAliasesResponse where
gen/Network/AWS/GameLift/ListBuilds.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.ListBuilds--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -90,15 +90,15 @@ -- | Build status to filter results by. To retrieve all builds, leave this parameter empty. Possible build statuses include the following: * __INITIALIZED__ -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status 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});+lbStatus = lens _lbStatus (\ s a -> s{_lbStatus = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. lbNextToken :: Lens' ListBuilds (Maybe Text)-lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a});+lbNextToken = lens _lbNextToken (\ s a -> s{_lbNextToken = a}) -- | Maximum number of results to return. 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;+lbLimit = lens _lbLimit (\ s a -> s{_lbLimit = a}) . mapping _Nat instance AWSRequest ListBuilds where type Rs ListBuilds = ListBuildsResponse@@ -163,22 +163,22 @@ -> ListBuildsResponse listBuildsResponse pResponseStatus_ = ListBuildsResponse'- { _lbrsBuilds = Nothing- , _lbrsNextToken = Nothing- , _lbrsResponseStatus = pResponseStatus_- }+ { _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;+lbrsBuilds = lens _lbrsBuilds (\ s a -> s{_lbrsBuilds = a}) . _Default . _Coerce -- | Token that indicates 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. lbrsNextToken :: Lens' ListBuildsResponse (Maybe Text)-lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a});+lbrsNextToken = lens _lbrsNextToken (\ s a -> s{_lbrsNextToken = a}) -- | -- | The response status code. lbrsResponseStatus :: Lens' ListBuildsResponse Int-lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a});+lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a}) instance NFData ListBuildsResponse where
gen/Network/AWS/GameLift/ListFleets.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.ListFleets--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.ListFleets ( -- * Creating a Request@@ -128,15 +124,15 @@ -- | Unique identifier for a 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});+lfBuildId = lens _lfBuildId (\ s a -> s{_lfBuildId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. lfNextToken :: Lens' ListFleets (Maybe Text)-lfNextToken = lens _lfNextToken (\ s a -> s{_lfNextToken = a});+lfNextToken = lens _lfNextToken (\ s a -> s{_lfNextToken = a}) -- | Maximum number of results to return. 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;+lfLimit = lens _lfLimit (\ s a -> s{_lfLimit = a}) . mapping _Nat instance AWSRequest ListFleets where type Rs ListFleets = ListFleetsResponse@@ -201,22 +197,22 @@ -> ListFleetsResponse listFleetsResponse pResponseStatus_ = ListFleetsResponse'- { _lfrsNextToken = Nothing- , _lfrsFleetIds = Nothing- , _lfrsResponseStatus = pResponseStatus_- }+ { _lfrsNextToken = Nothing+ , _lfrsFleetIds = Nothing+ , _lfrsResponseStatus = pResponseStatus_+ } -- | Token that indicates 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. lfrsNextToken :: Lens' ListFleetsResponse (Maybe Text)-lfrsNextToken = lens _lfrsNextToken (\ s a -> s{_lfrsNextToken = a});+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' , or 'DescribeFleetUtilization' . lfrsFleetIds :: Lens' ListFleetsResponse (Maybe (NonEmpty Text))-lfrsFleetIds = lens _lfrsFleetIds (\ s a -> s{_lfrsFleetIds = a}) . mapping _List1;+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});+lfrsResponseStatus = lens _lfrsResponseStatus (\ s a -> s{_lfrsResponseStatus = a}) instance NFData ListFleetsResponse where
gen/Network/AWS/GameLift/PutScalingPolicy.hs view
@@ -12,90 +12,88 @@ -- | -- Module : Network.AWS.GameLift.PutScalingPolicy--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon 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.+-- Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling. -- ----- A scaling policy rule statement has the following structure:------ If @[MetricName]@ is @[ComparisonOperator]@ @[Threshold]@ for @[EvaluationPeriods]@ minutes, then @[ScalingAdjustmentType]@ to/by @[ScalingAdjustment]@ .+-- Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences. ----- 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:+-- You can temporarily suspend all scaling policies for a fleet by calling 'StopFleetActions' with the fleet action AUTO_SCALING. To resume scaling policies, call 'StartFleetActions' with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with 'DeleteScalingPolicy' . ----- If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10].+-- Learn more about how to work with auto-scaling in <http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html Set Up Fleet Automatic Scaling> . ----- 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' .+-- __Target-based policy__ ----- Fleet-related operations include:+-- A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target. ----- * 'CreateFleet'+-- For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer. ----- * 'ListFleets'+-- To create or update a target-based policy, specify a fleet ID and name, and set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions) and reference a 'TargetConfiguration' object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted. ----- * Describe fleets:+-- __Rule-based policy__ ----- * 'DescribeFleetAttributes'+-- A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action. ----- * 'DescribeFleetPortSettings'+-- For example, a policy may make the following statement: "If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%." ----- * 'DescribeFleetUtilization'+-- A policy's rule statement has the following structure: ----- * 'DescribeRuntimeConfiguration'+-- If @[MetricName]@ is @[ComparisonOperator]@ @[Threshold]@ for @[EvaluationPeriods]@ minutes, then @[ScalingAdjustmentType]@ to/by @[ScalingAdjustment]@ . ----- * 'DescribeFleetEvents'+-- To implement the example, the rule statement would look like this: --+-- If @[PercentIdleInstances]@ is @[GreaterThanThreshold]@ @[20]@ for @[15]@ minutes, then @[PercentChangeInCapacity]@ to/by @[10]@ . --+-- To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to "RuleBased". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted. ----- * Update fleets:+-- Operations related to fleet capacity scaling include: ----- * 'UpdateFleetAttributes'+-- * 'DescribeFleetCapacity' -- -- * 'UpdateFleetCapacity' ----- * 'UpdateFleetPortSettings'+-- * 'DescribeEC2InstanceLimits' ----- * 'UpdateRuntimeConfiguration'+-- * Manage scaling policies: --+-- * 'PutScalingPolicy' (auto-scaling) --+-- * 'DescribeScalingPolicies' (auto-scaling) ----- * Manage fleet capacity:+-- * 'DeleteScalingPolicy' (auto-scaling) ----- * 'DescribeFleetCapacity' ----- * 'UpdateFleetCapacity' ----- * 'PutScalingPolicy' (automatic scaling)+-- * Manage fleet actions: ----- * 'DescribeScalingPolicies' (automatic scaling)+-- * 'StartFleetActions' ----- * 'DeleteScalingPolicy' (automatic scaling)+-- * 'StopFleetActions' ----- * 'DescribeEC2InstanceLimits' -- -- ----- * 'DeleteFleet' -------- module Network.AWS.GameLift.PutScalingPolicy ( -- * Creating a Request putScalingPolicy , PutScalingPolicy -- * Request Lenses- , pspName- , pspFleetId- , pspScalingAdjustment , pspScalingAdjustmentType- , pspThreshold- , pspComparisonOperator , pspEvaluationPeriods+ , pspPolicyType+ , pspComparisonOperator+ , pspThreshold+ , pspScalingAdjustment+ , pspTargetConfiguration+ , pspName+ , pspFleetId , pspMetricName -- * Destructuring the Response@@ -119,13 +117,15 @@ -- -- /See:/ 'putScalingPolicy' smart constructor. data PutScalingPolicy = PutScalingPolicy'- { _pspName :: !Text+ { _pspScalingAdjustmentType :: !(Maybe ScalingAdjustmentType)+ , _pspEvaluationPeriods :: !(Maybe Nat)+ , _pspPolicyType :: !(Maybe PolicyType)+ , _pspComparisonOperator :: !(Maybe ComparisonOperatorType)+ , _pspThreshold :: !(Maybe Double)+ , _pspScalingAdjustment :: !(Maybe Int)+ , _pspTargetConfiguration :: !(Maybe TargetConfiguration)+ , _pspName :: !Text , _pspFleetId :: !Text- , _pspScalingAdjustment :: !Int- , _pspScalingAdjustmentType :: !ScalingAdjustmentType- , _pspThreshold :: !Double- , _pspComparisonOperator :: !ComparisonOperatorType- , _pspEvaluationPeriods :: !Nat , _pspMetricName :: !MetricName } deriving (Eq, Read, Show, Data, Typeable, Generic) @@ -134,75 +134,84 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'pspName' - Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.+-- * 'pspScalingAdjustmentType' - 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%. ----- * 'pspFleetId' - Unique identifier for a fleet to apply this policy to.+-- * 'pspEvaluationPeriods' - Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered. ----- * 'pspScalingAdjustment' - Amount of adjustment to make, based on the scaling adjustment type.+-- * 'pspPolicyType' - Type of scaling policy to create. For a target-based policy, set the parameter /MetricName/ to 'PercentAvailableGameSessions' and specify a /TargetConfiguration/ . For a rule-based policy set the following parameters: /MetricName/ , /ComparisonOperator/ , /Threshold/ , /EvaluationPeriods/ , /ScalingAdjustmentType/ , and /ScalingAdjustment/ . ----- * 'pspScalingAdjustmentType' - 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%.+-- * 'pspComparisonOperator' - Comparison operator to use when measuring the metric against the threshold value. -- -- * 'pspThreshold' - Metric value used to trigger a scaling event. ----- * 'pspComparisonOperator' - Comparison operator to use when measuring the metric against the threshold value.+-- * 'pspScalingAdjustment' - Amount of adjustment to make, based on the scaling adjustment type. ----- * 'pspEvaluationPeriods' - Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.+-- * 'pspTargetConfiguration' - Object that contains settings for a target-based scaling policy. ----- * 'pspMetricName' - Name of the Amazon 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 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.+-- * 'pspName' - Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.+--+-- * 'pspFleetId' - Unique identifier for a fleet to apply this policy to. The fleet cannot be in any of the following statuses: ERROR or DELETING.+--+-- * 'pspMetricName' - Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html Monitor Amazon GameLift with Amazon CloudWatch> . * __ActivatingGameSessions__ -- Game sessions in the process of being created. * __ActiveGameSessions__ -- Game sessions that are currently running. * __ActiveInstances__ -- Fleet instances that are currently running at least one game session. * __AvailableGameSessions__ -- Additional game sessions that fleet could host simultaneously, given current capacity. * __AvailablePlayerSessions__ -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included. * __CurrentPlayerSessions__ -- Player slots in active game sessions that are being used by a player or are reserved for a player. * __IdleInstances__ -- Active instances that are currently hosting zero game sessions. * __PercentAvailableGameSessions__ -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy. * __PercentIdleInstances__ -- Percentage of the total number of active instances that are hosting zero game sessions. * __QueueDepth__ -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination. * __WaitTime__ -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. 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 pName_ pFleetId_ pMetricName_ = PutScalingPolicy'- { _pspName = pName_- , _pspFleetId = pFleetId_- , _pspScalingAdjustment = pScalingAdjustment_- , _pspScalingAdjustmentType = pScalingAdjustmentType_- , _pspThreshold = pThreshold_- , _pspComparisonOperator = pComparisonOperator_- , _pspEvaluationPeriods = _Nat # pEvaluationPeriods_- , _pspMetricName = pMetricName_- }+ { _pspScalingAdjustmentType = Nothing+ , _pspEvaluationPeriods = Nothing+ , _pspPolicyType = Nothing+ , _pspComparisonOperator = Nothing+ , _pspThreshold = Nothing+ , _pspScalingAdjustment = Nothing+ , _pspTargetConfiguration = Nothing+ , _pspName = pName_+ , _pspFleetId = pFleetId_+ , _pspMetricName = pMetricName_+ } --- | Descriptive label that is associated with a 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});+-- | 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 (Maybe ScalingAdjustmentType)+pspScalingAdjustmentType = lens _pspScalingAdjustmentType (\ s a -> s{_pspScalingAdjustmentType = a}) --- | Unique identifier for a fleet to apply this policy to.-pspFleetId :: Lens' PutScalingPolicy Text-pspFleetId = lens _pspFleetId (\ s a -> s{_pspFleetId = a});+-- | Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.+pspEvaluationPeriods :: Lens' PutScalingPolicy (Maybe Natural)+pspEvaluationPeriods = lens _pspEvaluationPeriods (\ s a -> s{_pspEvaluationPeriods = a}) . mapping _Nat --- | 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 scaling policy to create. For a target-based policy, set the parameter /MetricName/ to 'PercentAvailableGameSessions' and specify a /TargetConfiguration/ . For a rule-based policy set the following parameters: /MetricName/ , /ComparisonOperator/ , /Threshold/ , /EvaluationPeriods/ , /ScalingAdjustmentType/ , and /ScalingAdjustment/ .+pspPolicyType :: Lens' PutScalingPolicy (Maybe PolicyType)+pspPolicyType = lens _pspPolicyType (\ s a -> s{_pspPolicyType = 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});+-- | Comparison operator to use when measuring the metric against the threshold value.+pspComparisonOperator :: Lens' PutScalingPolicy (Maybe ComparisonOperatorType)+pspComparisonOperator = lens _pspComparisonOperator (\ s a -> s{_pspComparisonOperator = a}) -- | Metric value used to trigger a scaling event.-pspThreshold :: Lens' PutScalingPolicy Double-pspThreshold = lens _pspThreshold (\ s a -> s{_pspThreshold = a});+pspThreshold :: Lens' PutScalingPolicy (Maybe 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});+-- | Amount of adjustment to make, based on the scaling adjustment type.+pspScalingAdjustment :: Lens' PutScalingPolicy (Maybe Int)+pspScalingAdjustment = lens _pspScalingAdjustment (\ s a -> s{_pspScalingAdjustment = 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;+-- | Object that contains settings for a target-based scaling policy.+pspTargetConfiguration :: Lens' PutScalingPolicy (Maybe TargetConfiguration)+pspTargetConfiguration = lens _pspTargetConfiguration (\ s a -> s{_pspTargetConfiguration = a}) --- | Name of the Amazon 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 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.+-- | Descriptive label that is associated with a 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 identifier for a fleet to apply this policy to. The fleet cannot be in any of the following statuses: ERROR or DELETING.+pspFleetId :: Lens' PutScalingPolicy Text+pspFleetId = lens _pspFleetId (\ s a -> s{_pspFleetId = a})++-- | Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html Monitor Amazon GameLift with Amazon CloudWatch> . * __ActivatingGameSessions__ -- Game sessions in the process of being created. * __ActiveGameSessions__ -- Game sessions that are currently running. * __ActiveInstances__ -- Fleet instances that are currently running at least one game session. * __AvailableGameSessions__ -- Additional game sessions that fleet could host simultaneously, given current capacity. * __AvailablePlayerSessions__ -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included. * __CurrentPlayerSessions__ -- Player slots in active game sessions that are being used by a player or are reserved for a player. * __IdleInstances__ -- Active instances that are currently hosting zero game sessions. * __PercentAvailableGameSessions__ -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy. * __PercentIdleInstances__ -- Percentage of the total number of active instances that are hosting zero game sessions. * __QueueDepth__ -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination. * __WaitTime__ -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. pspMetricName :: Lens' PutScalingPolicy MetricName-pspMetricName = lens _pspMetricName (\ s a -> s{_pspMetricName = a});+pspMetricName = lens _pspMetricName (\ s a -> s{_pspMetricName = a}) instance AWSRequest PutScalingPolicy where type Rs PutScalingPolicy = PutScalingPolicyResponse@@ -230,16 +239,17 @@ toJSON PutScalingPolicy'{..} = object (catMaybes- [Just ("Name" .= _pspName),+ [("ScalingAdjustmentType" .=) <$>+ _pspScalingAdjustmentType,+ ("EvaluationPeriods" .=) <$> _pspEvaluationPeriods,+ ("PolicyType" .=) <$> _pspPolicyType,+ ("ComparisonOperator" .=) <$> _pspComparisonOperator,+ ("Threshold" .=) <$> _pspThreshold,+ ("ScalingAdjustment" .=) <$> _pspScalingAdjustment,+ ("TargetConfiguration" .=) <$>+ _pspTargetConfiguration,+ 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@@ -271,15 +281,15 @@ -> PutScalingPolicyResponse putScalingPolicyResponse pResponseStatus_ = PutScalingPolicyResponse'- {_psprsName = Nothing, _psprsResponseStatus = pResponseStatus_}+ {_psprsName = Nothing, _psprsResponseStatus = pResponseStatus_} -- | Descriptive label that is associated with a scaling policy. Policy names do not need to be unique. psprsName :: Lens' PutScalingPolicyResponse (Maybe Text)-psprsName = lens _psprsName (\ s a -> s{_psprsName = a});+psprsName = lens _psprsName (\ s a -> s{_psprsName = a}) -- | -- | The response status code. psprsResponseStatus :: Lens' PutScalingPolicyResponse Int-psprsResponseStatus = lens _psprsResponseStatus (\ s a -> s{_psprsResponseStatus = a});+psprsResponseStatus = lens _psprsResponseStatus (\ s a -> s{_psprsResponseStatus = a}) instance NFData PutScalingPolicyResponse where
gen/Network/AWS/GameLift/RequestUploadCredentials.hs view
@@ -12,15 +12,17 @@ -- | -- Module : Network.AWS.GameLift.RequestUploadCredentials--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- /This API call is not currently in use. / 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.+-- Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see 'CreateBuild' . -- --+-- To request new credentials, specify the build ID as returned with an initial @CreateBuild@ request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.+-- module Network.AWS.GameLift.RequestUploadCredentials ( -- * Creating a Request@@ -69,7 +71,7 @@ -- | Unique identifier for a build to get credentials for. rucBuildId :: Lens' RequestUploadCredentials Text-rucBuildId = lens _rucBuildId (\ s a -> s{_rucBuildId = a});+rucBuildId = lens _rucBuildId (\ s a -> s{_rucBuildId = a}) instance AWSRequest RequestUploadCredentials where type Rs RequestUploadCredentials =@@ -133,23 +135,23 @@ -> RequestUploadCredentialsResponse requestUploadCredentialsResponse pResponseStatus_ = RequestUploadCredentialsResponse'- { _rucrsStorageLocation = Nothing- , _rucrsUploadCredentials = Nothing- , _rucrsResponseStatus = pResponseStatus_- }+ { _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});+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;+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});+rucrsResponseStatus = lens _rucrsResponseStatus (\ s a -> s{_rucrsResponseStatus = a}) instance NFData RequestUploadCredentialsResponse where
gen/Network/AWS/GameLift/ResolveAlias.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.ResolveAlias--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -83,7 +83,7 @@ -- | Unique identifier for the alias you want to resolve. raAliasId :: Lens' ResolveAlias Text-raAliasId = lens _raAliasId (\ s a -> s{_raAliasId = a});+raAliasId = lens _raAliasId (\ s a -> s{_raAliasId = a}) instance AWSRequest ResolveAlias where type Rs ResolveAlias = ResolveAliasResponse@@ -140,15 +140,15 @@ -> ResolveAliasResponse resolveAliasResponse pResponseStatus_ = ResolveAliasResponse'- {_rarsFleetId = Nothing, _rarsResponseStatus = pResponseStatus_}+ {_rarsFleetId = Nothing, _rarsResponseStatus = pResponseStatus_} -- | Fleet identifier that is associated with the requested alias. rarsFleetId :: Lens' ResolveAliasResponse (Maybe Text)-rarsFleetId = lens _rarsFleetId (\ s a -> s{_rarsFleetId = a});+rarsFleetId = lens _rarsFleetId (\ s a -> s{_rarsFleetId = a}) -- | -- | The response status code. rarsResponseStatus :: Lens' ResolveAliasResponse Int-rarsResponseStatus = lens _rarsResponseStatus (\ s a -> s{_rarsResponseStatus = a});+rarsResponseStatus = lens _rarsResponseStatus (\ s a -> s{_rarsResponseStatus = a}) instance NFData ResolveAliasResponse where
gen/Network/AWS/GameLift/SearchGameSessions.hs view
@@ -12,32 +12,34 @@ -- | -- Module : Network.AWS.GameLift.SearchGameSessions--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) ----- Retrieves a set of game sessions that match a set of search criteria and sorts them in a specified order. A game session search is limited to a single fleet. Search results include only game sessions that are in @ACTIVE@ status. If you need to retrieve game sessions with a status other than active, use 'DescribeGameSessions' . If you need to retrieve the protection policy for each game session, use 'DescribeGameSessionDetails' .+-- Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes: -- ----- You can search or sort by the following game session attributes:--- -- * __gameSessionId__ -- Unique identifier for the game session. You can use either a @GameSessionId@ or @GameSessionArn@ value. -- -- * __gameSessionName__ -- Name assigned to a game session. This value is set when requesting a new game session with 'CreateGameSession' or updating with 'UpdateGameSession' . Game session names do not need to be unique to a game session. --+-- * __gameSessionProperties__ -- Custom data defined in a game session's @GameProperty@ parameter. @GameProperty@ values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair "gameMode:brawl", specify the following: @gameSessionProperties.gameMode = "brawl"@ . All custom data values are searched as strings.+--+-- * __maximumSessions__ -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with 'CreateGameSession' or updating with 'UpdateGameSession' .+-- -- * __creationTimeMillis__ -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds. -- -- * __playerSessionCount__ -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out. ----- * __maximumSessions__ -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with 'CreateGameSession' or updating with 'UpdateGameSession' .+-- * __hasAvailablePlayerSessions__ -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. ----- * __hasAvailablePlayerSessions__ -- Boolean value indicating whether a game session has reached its maximum number of players. When searching with this attribute, the search value must be @true@ or @false@ . It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join. -- --+-- To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of 'GameSession' objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages. ----- To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of 'GameSession' objects matching the request is returned.+-- You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in @ACTIVE@ status. To locate games in statuses other than active, use 'DescribeGameSessionDetails' . -- -- Game-session-related operations include: --@@ -113,9 +115,9 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sgsFilterExpression' - String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in @ACTIVE@ status. A filter expression can contain one or multiple conditions. Each condition consists of the following: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @creationTimeMillis@ , @playerSessionCount@ , @maximumSessions@ , @hasAvailablePlayerSessions@ . * __Comparator__ -- Valid comparators are: @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ . * __Value__ -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators @=@ and @<>@ . For example, the following filter expression searches on @gameSessionName@ : "@FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'"@ . To chain multiple conditions in a single expression, use the logical keywords @AND@ , @OR@ , and @NOT@ and parentheses as needed. For example: @x AND y AND NOT z@ , @NOT (x OR y)@ . Session search evaluates conditions from left to right using the following precedence rules: * @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ * Parentheses * NOT * AND * OR For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: @"maximumSessions>=10 AND hasAvailablePlayerSessions=true"@ .+-- * 'sgsFilterExpression' - String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in @ACTIVE@ status. A filter expression can contain one or multiple conditions. Each condition consists of the following: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @gameSessionProperties@ , @maximumSessions@ , @creationTimeMillis@ , @playerSessionCount@ , @hasAvailablePlayerSessions@ . * __Comparator__ -- Valid comparators are: @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ . * __Value__ -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators @=@ and @<>@ . For example, the following filter expression searches on @gameSessionName@ : "@FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'"@ . To chain multiple conditions in a single expression, use the logical keywords @AND@ , @OR@ , and @NOT@ and parentheses as needed. For example: @x AND y AND NOT z@ , @NOT (x OR y)@ . Session search evaluates conditions from left to right using the following precedence rules: * @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ * Parentheses * NOT * AND * OR For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: @"maximumSessions>=10 AND hasAvailablePlayerSessions=true"@ . ----- * 'sgsSortExpression' - Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @creationTimeMillis@ , @playerSessionCount@ , @maximumSessions@ , @hasAvailablePlayerSessions@ . * __Order__ -- Valid sort orders are @ASC@ (ascending) and @DESC@ (descending). For example, this sort expression returns the oldest active sessions first: @"SortExpression": "creationTimeMillis ASC"@ . Results with a null value for the sort operand are returned at the end of the list.+-- * 'sgsSortExpression' - Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @gameSessionProperties@ , @maximumSessions@ , @creationTimeMillis@ , @playerSessionCount@ , @hasAvailablePlayerSessions@ . * __Order__ -- Valid sort orders are @ASC@ (ascending) and @DESC@ (descending). For example, this sort expression returns the oldest active sessions first: @"SortExpression": "creationTimeMillis ASC"@ . Results with a null value for the sort operand are returned at the end of the list. -- -- * 'sgsAliasId' - Unique identifier for an alias associated with the fleet to search for active game sessions. Each request must reference either a fleet ID or alias ID, but not both. --@@ -128,38 +130,38 @@ :: SearchGameSessions searchGameSessions = SearchGameSessions'- { _sgsFilterExpression = Nothing- , _sgsSortExpression = Nothing- , _sgsAliasId = Nothing- , _sgsNextToken = Nothing- , _sgsLimit = Nothing- , _sgsFleetId = Nothing- }+ { _sgsFilterExpression = Nothing+ , _sgsSortExpression = Nothing+ , _sgsAliasId = Nothing+ , _sgsNextToken = Nothing+ , _sgsLimit = Nothing+ , _sgsFleetId = Nothing+ } --- | String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in @ACTIVE@ status. A filter expression can contain one or multiple conditions. Each condition consists of the following: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @creationTimeMillis@ , @playerSessionCount@ , @maximumSessions@ , @hasAvailablePlayerSessions@ . * __Comparator__ -- Valid comparators are: @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ . * __Value__ -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators @=@ and @<>@ . For example, the following filter expression searches on @gameSessionName@ : "@FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'"@ . To chain multiple conditions in a single expression, use the logical keywords @AND@ , @OR@ , and @NOT@ and parentheses as needed. For example: @x AND y AND NOT z@ , @NOT (x OR y)@ . Session search evaluates conditions from left to right using the following precedence rules: * @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ * Parentheses * NOT * AND * OR For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: @"maximumSessions>=10 AND hasAvailablePlayerSessions=true"@ .+-- | String containing the search criteria for the session search. If no filter expression is included, the request returns results for all game sessions in the fleet that are in @ACTIVE@ status. A filter expression can contain one or multiple conditions. Each condition consists of the following: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @gameSessionProperties@ , @maximumSessions@ , @creationTimeMillis@ , @playerSessionCount@ , @hasAvailablePlayerSessions@ . * __Comparator__ -- Valid comparators are: @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ . * __Value__ -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators @=@ and @<>@ . For example, the following filter expression searches on @gameSessionName@ : "@FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'"@ . To chain multiple conditions in a single expression, use the logical keywords @AND@ , @OR@ , and @NOT@ and parentheses as needed. For example: @x AND y AND NOT z@ , @NOT (x OR y)@ . Session search evaluates conditions from left to right using the following precedence rules: * @=@ , @<>@ , @<@ , @>@ , @<=@ , @>=@ * Parentheses * NOT * AND * OR For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: @"maximumSessions>=10 AND hasAvailablePlayerSessions=true"@ . sgsFilterExpression :: Lens' SearchGameSessions (Maybe Text)-sgsFilterExpression = lens _sgsFilterExpression (\ s a -> s{_sgsFilterExpression = a});+sgsFilterExpression = lens _sgsFilterExpression (\ s a -> s{_sgsFilterExpression = a}) --- | Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @creationTimeMillis@ , @playerSessionCount@ , @maximumSessions@ , @hasAvailablePlayerSessions@ . * __Order__ -- Valid sort orders are @ASC@ (ascending) and @DESC@ (descending). For example, this sort expression returns the oldest active sessions first: @"SortExpression": "creationTimeMillis ASC"@ . Results with a null value for the sort operand are returned at the end of the list.+-- | Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements: * __Operand__ -- Name of a game session attribute. Valid values are @gameSessionName@ , @gameSessionId@ , @gameSessionProperties@ , @maximumSessions@ , @creationTimeMillis@ , @playerSessionCount@ , @hasAvailablePlayerSessions@ . * __Order__ -- Valid sort orders are @ASC@ (ascending) and @DESC@ (descending). For example, this sort expression returns the oldest active sessions first: @"SortExpression": "creationTimeMillis ASC"@ . Results with a null value for the sort operand are returned at the end of the list. sgsSortExpression :: Lens' SearchGameSessions (Maybe Text)-sgsSortExpression = lens _sgsSortExpression (\ s a -> s{_sgsSortExpression = a});+sgsSortExpression = lens _sgsSortExpression (\ s a -> s{_sgsSortExpression = a}) -- | Unique identifier for an alias associated with the fleet to search for active game sessions. Each request must reference either a fleet ID or alias ID, but not both. sgsAliasId :: Lens' SearchGameSessions (Maybe Text)-sgsAliasId = lens _sgsAliasId (\ s a -> s{_sgsAliasId = a});+sgsAliasId = lens _sgsAliasId (\ s a -> s{_sgsAliasId = a}) -- | Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. sgsNextToken :: Lens' SearchGameSessions (Maybe Text)-sgsNextToken = lens _sgsNextToken (\ s a -> s{_sgsNextToken = a});+sgsNextToken = lens _sgsNextToken (\ s a -> s{_sgsNextToken = a}) -- | Maximum number of results to return. Use this parameter with @NextToken@ to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20. sgsLimit :: Lens' SearchGameSessions (Maybe Natural)-sgsLimit = lens _sgsLimit (\ s a -> s{_sgsLimit = a}) . mapping _Nat;+sgsLimit = lens _sgsLimit (\ s a -> s{_sgsLimit = a}) . mapping _Nat -- | Unique identifier for a fleet to search for active game sessions. Each request must reference either a fleet ID or alias ID, but not both. sgsFleetId :: Lens' SearchGameSessions (Maybe Text)-sgsFleetId = lens _sgsFleetId (\ s a -> s{_sgsFleetId = a});+sgsFleetId = lens _sgsFleetId (\ s a -> s{_sgsFleetId = a}) instance AWSRequest SearchGameSessions where type Rs SearchGameSessions =@@ -229,22 +231,22 @@ -> SearchGameSessionsResponse searchGameSessionsResponse pResponseStatus_ = SearchGameSessionsResponse'- { _sgsrsGameSessions = Nothing- , _sgsrsNextToken = Nothing- , _sgsrsResponseStatus = pResponseStatus_- }+ { _sgsrsGameSessions = Nothing+ , _sgsrsNextToken = Nothing+ , _sgsrsResponseStatus = pResponseStatus_+ } -- | Collection of objects containing game session properties for each session matching the request. sgsrsGameSessions :: Lens' SearchGameSessionsResponse [GameSession]-sgsrsGameSessions = lens _sgsrsGameSessions (\ s a -> s{_sgsrsGameSessions = a}) . _Default . _Coerce;+sgsrsGameSessions = lens _sgsrsGameSessions (\ s a -> s{_sgsrsGameSessions = a}) . _Default . _Coerce -- | Token that indicates 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. sgsrsNextToken :: Lens' SearchGameSessionsResponse (Maybe Text)-sgsrsNextToken = lens _sgsrsNextToken (\ s a -> s{_sgsrsNextToken = a});+sgsrsNextToken = lens _sgsrsNextToken (\ s a -> s{_sgsrsNextToken = a}) -- | -- | The response status code. sgsrsResponseStatus :: Lens' SearchGameSessionsResponse Int-sgsrsResponseStatus = lens _sgsrsResponseStatus (\ s a -> s{_sgsrsResponseStatus = a});+sgsrsResponseStatus = lens _sgsrsResponseStatus (\ s a -> s{_sgsrsResponseStatus = a}) instance NFData SearchGameSessionsResponse where
+ gen/Network/AWS/GameLift/StartFleetActions.hs view
@@ -0,0 +1,163 @@+{-# 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.StartFleetActions+-- Copyright : (c) 2013-2018 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Resumes activity on a fleet that was suspended with 'StopFleetActions' . Currently, this operation is used to restart a fleet's auto-scaling activity.+--+--+-- To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using 'DescribeFleetAttributes' .+--+-- Operations related to fleet capacity scaling include:+--+-- * 'DescribeFleetCapacity'+--+-- * 'UpdateFleetCapacity'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * Manage scaling policies:+--+-- * 'PutScalingPolicy' (auto-scaling)+--+-- * 'DescribeScalingPolicies' (auto-scaling)+--+-- * 'DeleteScalingPolicy' (auto-scaling)+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+module Network.AWS.GameLift.StartFleetActions+ (+ -- * Creating a Request+ startFleetActions+ , StartFleetActions+ -- * Request Lenses+ , sfaFleetId+ , sfaActions++ -- * Destructuring the Response+ , startFleetActionsResponse+ , StartFleetActionsResponse+ -- * Response Lenses+ , sfarsResponseStatus+ ) 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++-- | /See:/ 'startFleetActions' smart constructor.+data StartFleetActions = StartFleetActions'+ { _sfaFleetId :: !Text+ , _sfaActions :: !(List1 FleetAction)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartFleetActions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfaFleetId' - Unique identifier for a fleet+--+-- * 'sfaActions' - List of actions to restart on the fleet.+startFleetActions+ :: Text -- ^ 'sfaFleetId'+ -> NonEmpty FleetAction -- ^ 'sfaActions'+ -> StartFleetActions+startFleetActions pFleetId_ pActions_ =+ StartFleetActions' {_sfaFleetId = pFleetId_, _sfaActions = _List1 # pActions_}+++-- | Unique identifier for a fleet+sfaFleetId :: Lens' StartFleetActions Text+sfaFleetId = lens _sfaFleetId (\ s a -> s{_sfaFleetId = a})++-- | List of actions to restart on the fleet.+sfaActions :: Lens' StartFleetActions (NonEmpty FleetAction)+sfaActions = lens _sfaActions (\ s a -> s{_sfaActions = a}) . _List1++instance AWSRequest StartFleetActions where+ type Rs StartFleetActions = StartFleetActionsResponse+ request = postJSON gameLift+ response+ = receiveEmpty+ (\ s h x ->+ StartFleetActionsResponse' <$> (pure (fromEnum s)))++instance Hashable StartFleetActions where++instance NFData StartFleetActions where++instance ToHeaders StartFleetActions where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("GameLift.StartFleetActions" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartFleetActions where+ toJSON StartFleetActions'{..}+ = object+ (catMaybes+ [Just ("FleetId" .= _sfaFleetId),+ Just ("Actions" .= _sfaActions)])++instance ToPath StartFleetActions where+ toPath = const "/"++instance ToQuery StartFleetActions where+ toQuery = const mempty++-- | /See:/ 'startFleetActionsResponse' smart constructor.+newtype StartFleetActionsResponse = StartFleetActionsResponse'+ { _sfarsResponseStatus :: Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartFleetActionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfarsResponseStatus' - -- | The response status code.+startFleetActionsResponse+ :: Int -- ^ 'sfarsResponseStatus'+ -> StartFleetActionsResponse+startFleetActionsResponse pResponseStatus_ =+ StartFleetActionsResponse' {_sfarsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+sfarsResponseStatus :: Lens' StartFleetActionsResponse Int+sfarsResponseStatus = lens _sfarsResponseStatus (\ s a -> s{_sfarsResponseStatus = a})++instance NFData StartFleetActionsResponse where
gen/Network/AWS/GameLift/StartGameSessionPlacement.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.StartGameSessionPlacement--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -120,13 +120,13 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sgspGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- * 'sgspGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). -- -- * 'sgspGameSessionName' - Descriptive label that is associated with a game session. Session names do not need to be unique. -- -- * 'sgspPlayerLatencies' - Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players. ----- * 'sgspGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- * 'sgspGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). -- -- * 'sgspDesiredPlayerSessions' - Set of information on each player to create a player session for. --@@ -142,48 +142,48 @@ -> StartGameSessionPlacement startGameSessionPlacement pPlacementId_ pGameSessionQueueName_ pMaximumPlayerSessionCount_ = StartGameSessionPlacement'- { _sgspGameProperties = Nothing- , _sgspGameSessionName = Nothing- , _sgspPlayerLatencies = Nothing- , _sgspGameSessionData = Nothing- , _sgspDesiredPlayerSessions = Nothing- , _sgspPlacementId = pPlacementId_- , _sgspGameSessionQueueName = pGameSessionQueueName_- , _sgspMaximumPlayerSessionCount = _Nat # pMaximumPlayerSessionCount_- }+ { _sgspGameProperties = Nothing+ , _sgspGameSessionName = Nothing+ , _sgspPlayerLatencies = Nothing+ , _sgspGameSessionData = Nothing+ , _sgspDesiredPlayerSessions = Nothing+ , _sgspPlacementId = pPlacementId_+ , _sgspGameSessionQueueName = pGameSessionQueueName_+ , _sgspMaximumPlayerSessionCount = _Nat # pMaximumPlayerSessionCount_+ } --- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). sgspGameProperties :: Lens' StartGameSessionPlacement [GameProperty]-sgspGameProperties = lens _sgspGameProperties (\ s a -> s{_sgspGameProperties = a}) . _Default . _Coerce;+sgspGameProperties = lens _sgspGameProperties (\ s a -> s{_sgspGameProperties = a}) . _Default . _Coerce -- | Descriptive label that is associated with a game session. Session names do not need to be unique. sgspGameSessionName :: Lens' StartGameSessionPlacement (Maybe Text)-sgspGameSessionName = lens _sgspGameSessionName (\ s a -> s{_sgspGameSessionName = a});+sgspGameSessionName = lens _sgspGameSessionName (\ s a -> s{_sgspGameSessionName = a}) -- | Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players. sgspPlayerLatencies :: Lens' StartGameSessionPlacement [PlayerLatency]-sgspPlayerLatencies = lens _sgspPlayerLatencies (\ s a -> s{_sgspPlayerLatencies = a}) . _Default . _Coerce;+sgspPlayerLatencies = lens _sgspPlayerLatencies (\ s a -> s{_sgspPlayerLatencies = a}) . _Default . _Coerce --- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). sgspGameSessionData :: Lens' StartGameSessionPlacement (Maybe Text)-sgspGameSessionData = lens _sgspGameSessionData (\ s a -> s{_sgspGameSessionData = a});+sgspGameSessionData = lens _sgspGameSessionData (\ s a -> s{_sgspGameSessionData = a}) -- | Set of information on each player to create a player session for. sgspDesiredPlayerSessions :: Lens' StartGameSessionPlacement [DesiredPlayerSession]-sgspDesiredPlayerSessions = lens _sgspDesiredPlayerSessions (\ s a -> s{_sgspDesiredPlayerSessions = a}) . _Default . _Coerce;+sgspDesiredPlayerSessions = lens _sgspDesiredPlayerSessions (\ s a -> s{_sgspDesiredPlayerSessions = a}) . _Default . _Coerce -- | Unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request. sgspPlacementId :: Lens' StartGameSessionPlacement Text-sgspPlacementId = lens _sgspPlacementId (\ s a -> s{_sgspPlacementId = a});+sgspPlacementId = lens _sgspPlacementId (\ s a -> s{_sgspPlacementId = a}) -- | Name of the queue to use to place the new game session. sgspGameSessionQueueName :: Lens' StartGameSessionPlacement Text-sgspGameSessionQueueName = lens _sgspGameSessionQueueName (\ s a -> s{_sgspGameSessionQueueName = a});+sgspGameSessionQueueName = lens _sgspGameSessionQueueName (\ s a -> s{_sgspGameSessionQueueName = a}) -- | Maximum number of players that can be connected simultaneously to the game session. sgspMaximumPlayerSessionCount :: Lens' StartGameSessionPlacement Natural-sgspMaximumPlayerSessionCount = lens _sgspMaximumPlayerSessionCount (\ s a -> s{_sgspMaximumPlayerSessionCount = a}) . _Nat;+sgspMaximumPlayerSessionCount = lens _sgspMaximumPlayerSessionCount (\ s a -> s{_sgspMaximumPlayerSessionCount = a}) . _Nat instance AWSRequest StartGameSessionPlacement where type Rs StartGameSessionPlacement =@@ -256,18 +256,18 @@ -> StartGameSessionPlacementResponse startGameSessionPlacementResponse pResponseStatus_ = StartGameSessionPlacementResponse'- { _sgsprsGameSessionPlacement = Nothing- , _sgsprsResponseStatus = pResponseStatus_- }+ { _sgsprsGameSessionPlacement = Nothing+ , _sgsprsResponseStatus = pResponseStatus_+ } -- | Object that describes the newly created game session placement. This object includes all the information provided in the request, as well as start/end time stamps and placement status. sgsprsGameSessionPlacement :: Lens' StartGameSessionPlacementResponse (Maybe GameSessionPlacement)-sgsprsGameSessionPlacement = lens _sgsprsGameSessionPlacement (\ s a -> s{_sgsprsGameSessionPlacement = a});+sgsprsGameSessionPlacement = lens _sgsprsGameSessionPlacement (\ s a -> s{_sgsprsGameSessionPlacement = a}) -- | -- | The response status code. sgsprsResponseStatus :: Lens' StartGameSessionPlacementResponse Int-sgsprsResponseStatus = lens _sgsprsResponseStatus (\ s a -> s{_sgsprsResponseStatus = a});+sgsprsResponseStatus = lens _sgsprsResponseStatus (\ s a -> s{_sgsprsResponseStatus = a}) instance NFData StartGameSessionPlacementResponse where
+ gen/Network/AWS/GameLift/StartMatchBackfill.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.StartMatchBackfill+-- Copyright : (c) 2013-2018 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created.+--+--+-- To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. For more detail how to set up backfilling, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html Backfill Existing Games with FlexMatch> .+--+-- The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the 'GameSession' object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html How Amazon GameLift FlexMatch Works> .+--+-- Matchmaking-related operations include:+--+-- * 'StartMatchmaking'+--+-- * 'DescribeMatchmaking'+--+-- * 'StopMatchmaking'+--+-- * 'AcceptMatch'+--+-- * 'StartMatchBackfill'+--+--+--+module Network.AWS.GameLift.StartMatchBackfill+ (+ -- * Creating a Request+ startMatchBackfill+ , StartMatchBackfill+ -- * Request Lenses+ , smbTicketId+ , smbConfigurationName+ , smbGameSessionARN+ , smbPlayers++ -- * Destructuring the Response+ , startMatchBackfillResponse+ , StartMatchBackfillResponse+ -- * Response Lenses+ , smbrsMatchmakingTicket+ , smbrsResponseStatus+ ) 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:/ 'startMatchBackfill' smart constructor.+data StartMatchBackfill = StartMatchBackfill'+ { _smbTicketId :: !(Maybe Text)+ , _smbConfigurationName :: !Text+ , _smbGameSessionARN :: !Text+ , _smbPlayers :: ![Player]+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartMatchBackfill' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smbTicketId' - Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results.+--+-- * 'smbConfigurationName' - Name of the matchmaker to use for this request. The name of the matchmaker that was used with the original game session is listed in the 'GameSession' object, @MatchmakerData@ property. This property contains a matchmaking configuration ARN value, which includes the matchmaker name. (In the ARN value "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4", the matchmaking configuration name is "MM-4v4".) Use only the name for this parameter.+--+-- * 'smbGameSessionARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.+--+-- * 'smbPlayers' - Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game. * PlayerID, PlayerAttributes, Team -\\- This information is maintained in the 'GameSession' object, @MatchmakerData@ property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> . * LatencyInMs -\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the region that the game session is currently in. Do not include latency values for any other region.+startMatchBackfill+ :: Text -- ^ 'smbConfigurationName'+ -> Text -- ^ 'smbGameSessionARN'+ -> StartMatchBackfill+startMatchBackfill pConfigurationName_ pGameSessionARN_ =+ StartMatchBackfill'+ { _smbTicketId = Nothing+ , _smbConfigurationName = pConfigurationName_+ , _smbGameSessionARN = pGameSessionARN_+ , _smbPlayers = mempty+ }+++-- | Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results.+smbTicketId :: Lens' StartMatchBackfill (Maybe Text)+smbTicketId = lens _smbTicketId (\ s a -> s{_smbTicketId = a})++-- | Name of the matchmaker to use for this request. The name of the matchmaker that was used with the original game session is listed in the 'GameSession' object, @MatchmakerData@ property. This property contains a matchmaking configuration ARN value, which includes the matchmaker name. (In the ARN value "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4", the matchmaking configuration name is "MM-4v4".) Use only the name for this parameter.+smbConfigurationName :: Lens' StartMatchBackfill Text+smbConfigurationName = lens _smbConfigurationName (\ s a -> s{_smbConfigurationName = a})++-- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.+smbGameSessionARN :: Lens' StartMatchBackfill Text+smbGameSessionARN = lens _smbGameSessionARN (\ s a -> s{_smbGameSessionARN = a})++-- | Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game. * PlayerID, PlayerAttributes, Team -\\- This information is maintained in the 'GameSession' object, @MatchmakerData@ property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> . * LatencyInMs -\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the region that the game session is currently in. Do not include latency values for any other region.+smbPlayers :: Lens' StartMatchBackfill [Player]+smbPlayers = lens _smbPlayers (\ s a -> s{_smbPlayers = a}) . _Coerce++instance AWSRequest StartMatchBackfill where+ type Rs StartMatchBackfill =+ StartMatchBackfillResponse+ request = postJSON gameLift+ response+ = receiveJSON+ (\ s h x ->+ StartMatchBackfillResponse' <$>+ (x .?> "MatchmakingTicket") <*> (pure (fromEnum s)))++instance Hashable StartMatchBackfill where++instance NFData StartMatchBackfill where++instance ToHeaders StartMatchBackfill where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("GameLift.StartMatchBackfill" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StartMatchBackfill where+ toJSON StartMatchBackfill'{..}+ = object+ (catMaybes+ [("TicketId" .=) <$> _smbTicketId,+ Just ("ConfigurationName" .= _smbConfigurationName),+ Just ("GameSessionArn" .= _smbGameSessionARN),+ Just ("Players" .= _smbPlayers)])++instance ToPath StartMatchBackfill where+ toPath = const "/"++instance ToQuery StartMatchBackfill where+ toQuery = const mempty++-- | Represents the returned data in response to a request action.+--+--+--+-- /See:/ 'startMatchBackfillResponse' smart constructor.+data StartMatchBackfillResponse = StartMatchBackfillResponse'+ { _smbrsMatchmakingTicket :: !(Maybe MatchmakingTicket)+ , _smbrsResponseStatus :: !Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StartMatchBackfillResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'smbrsMatchmakingTicket' - Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process.+--+-- * 'smbrsResponseStatus' - -- | The response status code.+startMatchBackfillResponse+ :: Int -- ^ 'smbrsResponseStatus'+ -> StartMatchBackfillResponse+startMatchBackfillResponse pResponseStatus_ =+ StartMatchBackfillResponse'+ {_smbrsMatchmakingTicket = Nothing, _smbrsResponseStatus = pResponseStatus_}+++-- | Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process.+smbrsMatchmakingTicket :: Lens' StartMatchBackfillResponse (Maybe MatchmakingTicket)+smbrsMatchmakingTicket = lens _smbrsMatchmakingTicket (\ s a -> s{_smbrsMatchmakingTicket = a})++-- | -- | The response status code.+smbrsResponseStatus :: Lens' StartMatchBackfillResponse Int+smbrsResponseStatus = lens _smbrsResponseStatus (\ s a -> s{_smbrsResponseStatus = a})++instance NFData StartMatchBackfillResponse where
gen/Network/AWS/GameLift/StartMatchmaking.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.StartMatchmaking--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -55,8 +55,10 @@ -- -- * 'AcceptMatch' --+-- * 'StartMatchBackfill' -- --+-- module Network.AWS.GameLift.StartMatchmaking ( -- * Creating a Request@@ -98,7 +100,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'sTicketId' - Unique identifier for a matchmaking ticket. Use this identifier to track the matchmaking ticket status and retrieve match results.+-- * 'sTicketId' - Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results. -- -- * 'sConfigurationName' - Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request. --@@ -108,23 +110,23 @@ -> StartMatchmaking startMatchmaking pConfigurationName_ = StartMatchmaking'- { _sTicketId = Nothing- , _sConfigurationName = pConfigurationName_- , _sPlayers = mempty- }+ { _sTicketId = Nothing+ , _sConfigurationName = pConfigurationName_+ , _sPlayers = mempty+ } --- | Unique identifier for a matchmaking ticket. Use this identifier to track the matchmaking ticket status and retrieve match results.+-- | Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results. sTicketId :: Lens' StartMatchmaking (Maybe Text)-sTicketId = lens _sTicketId (\ s a -> s{_sTicketId = a});+sTicketId = lens _sTicketId (\ s a -> s{_sTicketId = a}) -- | Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request. sConfigurationName :: Lens' StartMatchmaking Text-sConfigurationName = lens _sConfigurationName (\ s a -> s{_sConfigurationName = a});+sConfigurationName = lens _sConfigurationName (\ s a -> s{_sConfigurationName = a}) -- | Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, @Player@ objects contain the name of the team the player is assigned to. sPlayers :: Lens' StartMatchmaking [Player]-sPlayers = lens _sPlayers (\ s a -> s{_sPlayers = a}) . _Coerce;+sPlayers = lens _sPlayers (\ s a -> s{_sPlayers = a}) . _Coerce instance AWSRequest StartMatchmaking where type Rs StartMatchmaking = StartMatchmakingResponse@@ -185,15 +187,15 @@ -> StartMatchmakingResponse startMatchmakingResponse pResponseStatus_ = StartMatchmakingResponse'- {_srsMatchmakingTicket = Nothing, _srsResponseStatus = pResponseStatus_}+ {_srsMatchmakingTicket = Nothing, _srsResponseStatus = pResponseStatus_} -- | Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process. srsMatchmakingTicket :: Lens' StartMatchmakingResponse (Maybe MatchmakingTicket)-srsMatchmakingTicket = lens _srsMatchmakingTicket (\ s a -> s{_srsMatchmakingTicket = a});+srsMatchmakingTicket = lens _srsMatchmakingTicket (\ s a -> s{_srsMatchmakingTicket = a}) -- | -- | The response status code. srsResponseStatus :: Lens' StartMatchmakingResponse Int-srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a});+srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a}) instance NFData StartMatchmakingResponse where
+ gen/Network/AWS/GameLift/StopFleetActions.hs view
@@ -0,0 +1,135 @@+{-# 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.StopFleetActions+-- Copyright : (c) 2013-2018 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop scaling events triggered by the fleet's scaling policies. The policies can be retained and auto-scaling activity can be restarted using 'StartFleetActions' . You can view a fleet's stopped actions using 'DescribeFleetAttributes' .+--+--+-- To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except to maintain the fleet's desired instances setting ('FleetCapacity' . Changes to the fleet's capacity must be done manually using 'UpdateFleetCapacity' .+--+module Network.AWS.GameLift.StopFleetActions+ (+ -- * Creating a Request+ stopFleetActions+ , StopFleetActions+ -- * Request Lenses+ , sFleetId+ , sActions++ -- * Destructuring the Response+ , stopFleetActionsResponse+ , StopFleetActionsResponse+ -- * Response Lenses+ , sfasrsResponseStatus+ ) 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++-- | /See:/ 'stopFleetActions' smart constructor.+data StopFleetActions = StopFleetActions'+ { _sFleetId :: !Text+ , _sActions :: !(List1 FleetAction)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopFleetActions' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sFleetId' - Unique identifier for a fleet+--+-- * 'sActions' - List of actions to suspend on the fleet.+stopFleetActions+ :: Text -- ^ 'sFleetId'+ -> NonEmpty FleetAction -- ^ 'sActions'+ -> StopFleetActions+stopFleetActions pFleetId_ pActions_ =+ StopFleetActions' {_sFleetId = pFleetId_, _sActions = _List1 # pActions_}+++-- | Unique identifier for a fleet+sFleetId :: Lens' StopFleetActions Text+sFleetId = lens _sFleetId (\ s a -> s{_sFleetId = a})++-- | List of actions to suspend on the fleet.+sActions :: Lens' StopFleetActions (NonEmpty FleetAction)+sActions = lens _sActions (\ s a -> s{_sActions = a}) . _List1++instance AWSRequest StopFleetActions where+ type Rs StopFleetActions = StopFleetActionsResponse+ request = postJSON gameLift+ response+ = receiveEmpty+ (\ s h x ->+ StopFleetActionsResponse' <$> (pure (fromEnum s)))++instance Hashable StopFleetActions where++instance NFData StopFleetActions where++instance ToHeaders StopFleetActions where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("GameLift.StopFleetActions" :: ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON StopFleetActions where+ toJSON StopFleetActions'{..}+ = object+ (catMaybes+ [Just ("FleetId" .= _sFleetId),+ Just ("Actions" .= _sActions)])++instance ToPath StopFleetActions where+ toPath = const "/"++instance ToQuery StopFleetActions where+ toQuery = const mempty++-- | /See:/ 'stopFleetActionsResponse' smart constructor.+newtype StopFleetActionsResponse = StopFleetActionsResponse'+ { _sfasrsResponseStatus :: Int+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StopFleetActionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sfasrsResponseStatus' - -- | The response status code.+stopFleetActionsResponse+ :: Int -- ^ 'sfasrsResponseStatus'+ -> StopFleetActionsResponse+stopFleetActionsResponse pResponseStatus_ =+ StopFleetActionsResponse' {_sfasrsResponseStatus = pResponseStatus_}+++-- | -- | The response status code.+sfasrsResponseStatus :: Lens' StopFleetActionsResponse Int+sfasrsResponseStatus = lens _sfasrsResponseStatus (\ s a -> s{_sfasrsResponseStatus = a})++instance NFData StopFleetActionsResponse where
gen/Network/AWS/GameLift/StopGameSessionPlacement.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.StopGameSessionPlacement--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -94,7 +94,7 @@ -- | Unique identifier for a game session placement to cancel. sPlacementId :: Lens' StopGameSessionPlacement Text-sPlacementId = lens _sPlacementId (\ s a -> s{_sPlacementId = a});+sPlacementId = lens _sPlacementId (\ s a -> s{_sPlacementId = a}) instance AWSRequest StopGameSessionPlacement where type Rs StopGameSessionPlacement =@@ -154,18 +154,18 @@ -> StopGameSessionPlacementResponse stopGameSessionPlacementResponse pResponseStatus_ = StopGameSessionPlacementResponse'- { _storsGameSessionPlacement = Nothing- , _storsResponseStatus = pResponseStatus_- }+ { _storsGameSessionPlacement = Nothing+ , _storsResponseStatus = pResponseStatus_+ } -- | Object that describes the canceled game session placement, with @CANCELLED@ status and an end time stamp. storsGameSessionPlacement :: Lens' StopGameSessionPlacementResponse (Maybe GameSessionPlacement)-storsGameSessionPlacement = lens _storsGameSessionPlacement (\ s a -> s{_storsGameSessionPlacement = a});+storsGameSessionPlacement = lens _storsGameSessionPlacement (\ s a -> s{_storsGameSessionPlacement = a}) -- | -- | The response status code. storsResponseStatus :: Lens' StopGameSessionPlacementResponse Int-storsResponseStatus = lens _storsResponseStatus (\ s a -> s{_storsResponseStatus = a});+storsResponseStatus = lens _storsResponseStatus (\ s a -> s{_storsResponseStatus = a}) instance NFData StopGameSessionPlacementResponse where
gen/Network/AWS/GameLift/StopMatchmaking.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.StopMatchmaking--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -31,8 +31,10 @@ -- -- * 'AcceptMatch' --+-- * 'StartMatchBackfill' -- --+-- module Network.AWS.GameLift.StopMatchmaking ( -- * Creating a Request@@ -78,7 +80,7 @@ -- | Unique identifier for a matchmaking ticket. smTicketId :: Lens' StopMatchmaking Text-smTicketId = lens _smTicketId (\ s a -> s{_smTicketId = a});+smTicketId = lens _smTicketId (\ s a -> s{_smTicketId = a}) instance AWSRequest StopMatchmaking where type Rs StopMatchmaking = StopMatchmakingResponse@@ -132,6 +134,6 @@ -- | -- | The response status code. smrsResponseStatus :: Lens' StopMatchmakingResponse Int-smrsResponseStatus = lens _smrsResponseStatus (\ s a -> s{_smrsResponseStatus = a});+smrsResponseStatus = lens _smrsResponseStatus (\ s a -> s{_smrsResponseStatus = a}) instance NFData StopMatchmakingResponse where
gen/Network/AWS/GameLift/Types.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Network.AWS.GameLift.Types--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -45,15 +45,24 @@ -- * EventCode , EventCode (..) + -- * FleetAction+ , FleetAction (..)+ -- * FleetStatus , FleetStatus (..) + -- * FleetType+ , FleetType (..)+ -- * GameSessionPlacementState , GameSessionPlacementState (..) -- * GameSessionStatus , GameSessionStatus (..) + -- * GameSessionStatusReason+ , GameSessionStatusReason (..)+ -- * IPProtocol , IPProtocol (..) @@ -75,6 +84,9 @@ -- * PlayerSessionStatus , PlayerSessionStatus (..) + -- * PolicyType+ , PolicyType (..)+ -- * ProtectionPolicy , ProtectionPolicy (..) @@ -168,7 +180,10 @@ , faOperatingSystem , faBuildId , faFleetARN+ , faFleetType , faTerminationTime+ , faInstanceType+ , faStoppedActions , faNewGameSessionProtectionPolicy , faName , faServerLaunchPath@@ -207,11 +222,13 @@ , gsGameProperties , gsIPAddress , gsGameSessionId+ , gsMatchmakerData , gsMaximumPlayerSessionCount , gsTerminationTime , gsPlayerSessionCreationPolicy , gsName , gsCurrentPlayerSessionCount+ , gsStatusReason , gsGameSessionData , gsFleetId , gsCreatorId@@ -242,6 +259,7 @@ , gspStartTime , gspGameSessionId , gspGameSessionRegion+ , gspMatchmakerData , gspMaximumPlayerSessionCount , gspEndTime , gspGameSessionARN@@ -417,12 +435,14 @@ , spStatus , spScalingAdjustmentType , spEvaluationPeriods+ , spPolicyType , spMetricName , spComparisonOperator , spName , spThreshold , spScalingAdjustment , spFleetId+ , spTargetConfiguration -- * ServerProcess , ServerProcess@@ -431,6 +451,11 @@ , spLaunchPath , spConcurrentExecutions + -- * TargetConfiguration+ , TargetConfiguration+ , targetConfiguration+ , tcTargetValue+ -- * VPCPeeringAuthorization , VPCPeeringAuthorization , vpcPeeringAuthorization@@ -467,24 +492,24 @@ gameLift :: Service gameLift = Service- { _svcAbbrev = "GameLift"- , _svcSigner = v4- , _svcPrefix = "gamelift"- , _svcVersion = "2015-10-01"- , _svcEndpoint = defaultEndpoint gameLift- , _svcTimeout = Just 70- , _svcCheck = statusSuccess- , _svcError = parseJSONError "GameLift"- , _svcRetry = retry- }+ { _svcAbbrev = "GameLift"+ , _svcSigner = v4+ , _svcPrefix = "gamelift"+ , _svcVersion = "2015-10-01"+ , _svcEndpoint = defaultEndpoint gameLift+ , _svcTimeout = Just 70+ , _svcCheck = statusSuccess+ , _svcError = parseJSONError "GameLift"+ , _svcRetry = retry+ } where retry = Exponential- { _retryBase = 5.0e-2- , _retryGrowth = 2- , _retryAttempts = 5- , _retryCheck = check- }+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ } check e | has (hasCode "ThrottledException" . hasStatus 400) e = Just "throttled_exception"@@ -493,6 +518,8 @@ Just "throttling_exception" | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling" | has (hasStatus 504) e = Just "gateway_timeout"+ | has (hasCode "RequestThrottledException" . hasStatus 400) e =+ Just "request_throttled_exception" | has (hasStatus 502) e = Just "bad_gateway" | has (hasStatus 503) e = Just "service_unavailable" | has (hasStatus 500) e = Just "general_server_error"
gen/Network/AWS/GameLift/Types/Product.hs view
@@ -9,3658 +9,3754 @@ -- | -- Module : Network.AWS.GameLift.Types.Product--- Copyright : (c) 2013-2017 Brendan Hay--- License : Mozilla Public License, v. 2.0.--- Maintainer : Brendan Hay <brendan.g.hay+amazonka@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---- | Temporary access credentials used for uploading game build files to Amazon GameLift. They 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, 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' - Temporary secret key allowing access to the Amazon GameLift S3 account.------ * 'acSessionToken' - Token used to associate a specific build ID with the files uploaded using these credentials.------ * 'acAccessKeyId' - Temporary key allowing access to the Amazon GameLift S3 account.-awsCredentials- :: AWSCredentials-awsCredentials =- AWSCredentials'- { _acSecretAccessKey = Nothing- , _acSessionToken = Nothing- , _acAccessKeyId = Nothing- }----- | Temporary secret key allowing access to the Amazon GameLift S3 account.-acSecretAccessKey :: Lens' AWSCredentials (Maybe Text)-acSecretAccessKey = lens _acSecretAccessKey (\ s a -> s{_acSecretAccessKey = a});---- | Token used to associate a specific build ID with the files uploaded using these credentials.-acSessionToken :: Lens' AWSCredentials (Maybe Text)-acSessionToken = lens _acSessionToken (\ s a -> s{_acSessionToken = a});---- | Temporary key allowing access to the Amazon GameLift S3 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 where--instance NFData AWSCredentials where---- | Properties describing a fleet alias.--------- Alias-related operations include:------ * 'CreateAlias'------ * 'ListAliases'------ * 'DescribeAlias'------ * 'UpdateAlias'------ * 'DeleteAlias'------ * 'ResolveAlias'--------------- /See:/ 'alias' smart constructor.-data Alias = Alias'- { _aCreationTime :: !(Maybe POSIX)- , _aLastUpdatedTime :: !(Maybe POSIX)- , _aAliasId :: !(Maybe Text)- , _aRoutingStrategy :: !(Maybe RoutingStrategy)- , _aName :: !(Maybe Text)- , _aAliasARN :: !(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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'aLastUpdatedTime' - Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'aAliasId' - Unique identifier for an alias; alias IDs are unique within a region.------ * 'aRoutingStrategy' - Alias configuration for the alias, including routing type and settings.------ * 'aName' - Descriptive label that is associated with an alias. Alias names do not need to be unique.------ * 'aAliasARN' - Unique identifier for an alias; alias ARNs are unique across all regions.------ * 'aDescription' - Human-readable description of an alias.-alias- :: Alias-alias =- Alias'- { _aCreationTime = Nothing- , _aLastUpdatedTime = Nothing- , _aAliasId = Nothing- , _aRoutingStrategy = Nothing- , _aName = Nothing- , _aAliasARN = Nothing- , _aDescription = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-aCreationTime :: Lens' Alias (Maybe UTCTime)-aCreationTime = lens _aCreationTime (\ s a -> s{_aCreationTime = a}) . mapping _Time;---- | Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-aLastUpdatedTime :: Lens' Alias (Maybe UTCTime)-aLastUpdatedTime = lens _aLastUpdatedTime (\ s a -> s{_aLastUpdatedTime = a}) . mapping _Time;---- | Unique identifier for an alias; alias IDs are unique within a region.-aAliasId :: Lens' Alias (Maybe Text)-aAliasId = lens _aAliasId (\ s a -> s{_aAliasId = a});---- | Alias configuration for the alias, including routing type and settings.-aRoutingStrategy :: Lens' Alias (Maybe RoutingStrategy)-aRoutingStrategy = lens _aRoutingStrategy (\ s a -> s{_aRoutingStrategy = a});---- | Descriptive label that is associated with an alias. Alias names do not need to be unique.-aName :: Lens' Alias (Maybe Text)-aName = lens _aName (\ s a -> s{_aName = a});---- | Unique identifier for an alias; alias ARNs are unique across all regions.-aAliasARN :: Lens' Alias (Maybe Text)-aAliasARN = lens _aAliasARN (\ s a -> s{_aAliasARN = a});---- | Human-readable description of an 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 .:? "AliasArn")- <*> (x .:? "Description"))--instance Hashable Alias where--instance NFData Alias where---- | Values for use in 'Player' attribute type:value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array or data map. Each @AttributeValue@ object can use only one of the available properties.------------ /See:/ 'attributeValue' smart constructor.-data AttributeValue = AttributeValue'- { _avSL :: !(Maybe [Text])- , _avSDM :: !(Maybe (Map Text Double))- , _avN :: !(Maybe Double)- , _avS :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'avSL' - For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.------ * 'avSDM' - For a map of up to 10 type:value pairs. Maximum length for each string value is 100 characters.------ * 'avN' - For number values, expressed as double.------ * 'avS' - For single string values. Maximum string length is 100 characters.-attributeValue- :: AttributeValue-attributeValue =- AttributeValue'- {_avSL = Nothing, _avSDM = Nothing, _avN = Nothing, _avS = Nothing}----- | For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.-avSL :: Lens' AttributeValue [Text]-avSL = lens _avSL (\ s a -> s{_avSL = a}) . _Default . _Coerce;---- | For a map of up to 10 type:value pairs. Maximum length for each string value is 100 characters.-avSDM :: Lens' AttributeValue (HashMap Text Double)-avSDM = lens _avSDM (\ s a -> s{_avSDM = a}) . _Default . _Map;---- | For number values, expressed as double.-avN :: Lens' AttributeValue (Maybe Double)-avN = lens _avN (\ s a -> s{_avN = a});---- | For single string values. Maximum string length is 100 characters.-avS :: Lens' AttributeValue (Maybe Text)-avS = lens _avS (\ s a -> s{_avS = a});--instance FromJSON AttributeValue where- parseJSON- = withObject "AttributeValue"- (\ x ->- AttributeValue' <$>- (x .:? "SL" .!= mempty) <*> (x .:? "SDM" .!= mempty)- <*> (x .:? "N")- <*> (x .:? "S"))--instance Hashable AttributeValue where--instance NFData AttributeValue where--instance ToJSON AttributeValue where- toJSON AttributeValue'{..}- = object- (catMaybes- [("SL" .=) <$> _avSL, ("SDM" .=) <$> _avSDM,- ("N" .=) <$> _avN, ("S" .=) <$> _avS])---- | Properties describing a game build.--------- Build-related operations include:------ * 'CreateBuild'------ * 'ListBuilds'------ * 'DescribeBuild'------ * 'UpdateBuild'------ * 'DeleteBuild'--------------- /See:/ 'build' smart constructor.-data Build = Build'- { _bCreationTime :: !(Maybe POSIX)- , _bStatus :: !(Maybe BuildStatus)- , _bOperatingSystem :: !(Maybe OperatingSystem)- , _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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'bStatus' - Current status of the build. Possible build statuses include the following: * __INITIALIZED__ -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status 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.------ * 'bOperatingSystem' - Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.------ * 'bBuildId' - Unique identifier for a build.------ * 'bName' - Descriptive label that is associated with a build. Build names do not need to be unique. It can be set using 'CreateBuild' or 'UpdateBuild' .------ * 'bVersion' - Version that is associated with this build. Version strings do not need to be unique. This value can be set using 'CreateBuild' or 'UpdateBuild' .------ * 'bSizeOnDisk' - File size of the uploaded game build, expressed in bytes. When the build status is @INITIALIZED@ , this value is 0.-build- :: Build-build =- Build'- { _bCreationTime = Nothing- , _bStatus = Nothing- , _bOperatingSystem = Nothing- , _bBuildId = Nothing- , _bName = Nothing- , _bVersion = Nothing- , _bSizeOnDisk = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-bCreationTime :: Lens' Build (Maybe UTCTime)-bCreationTime = lens _bCreationTime (\ s a -> s{_bCreationTime = a}) . mapping _Time;---- | Current status of the build. Possible build statuses include the following: * __INITIALIZED__ -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status 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});---- | Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.-bOperatingSystem :: Lens' Build (Maybe OperatingSystem)-bOperatingSystem = lens _bOperatingSystem (\ s a -> s{_bOperatingSystem = a});---- | Unique identifier for a build.-bBuildId :: Lens' Build (Maybe Text)-bBuildId = lens _bBuildId (\ s a -> s{_bBuildId = a});---- | Descriptive label that is associated with a 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 that is associated with this build. Version strings do not need to be unique. 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 status 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 .:? "OperatingSystem")- <*> (x .:? "BuildId")- <*> (x .:? "Name")- <*> (x .:? "Version")- <*> (x .:? "SizeOnDisk"))--instance Hashable Build where--instance NFData Build where---- | Player information for use when creating player sessions using a game session placement request with 'StartGameSessionPlacement' .------------ /See:/ 'desiredPlayerSession' smart constructor.-data DesiredPlayerSession = DesiredPlayerSession'- { _dpsPlayerData :: !(Maybe Text)- , _dpsPlayerId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DesiredPlayerSession' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dpsPlayerData' - Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.------ * 'dpsPlayerId' - Unique identifier for a player to associate with the player session.-desiredPlayerSession- :: DesiredPlayerSession-desiredPlayerSession =- DesiredPlayerSession' {_dpsPlayerData = Nothing, _dpsPlayerId = Nothing}----- | Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.-dpsPlayerData :: Lens' DesiredPlayerSession (Maybe Text)-dpsPlayerData = lens _dpsPlayerData (\ s a -> s{_dpsPlayerData = a});---- | Unique identifier for a player to associate with the player session.-dpsPlayerId :: Lens' DesiredPlayerSession (Maybe Text)-dpsPlayerId = lens _dpsPlayerId (\ s a -> s{_dpsPlayerId = a});--instance Hashable DesiredPlayerSession where--instance NFData DesiredPlayerSession where--instance ToJSON DesiredPlayerSession where- toJSON DesiredPlayerSession'{..}- = object- (catMaybes- [("PlayerData" .=) <$> _dpsPlayerData,- ("PlayerId" .=) <$> _dpsPlayerId])---- | 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.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /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' - Number of active instances in the fleet that are not currently hosting a game session.------ * 'eicTERMINATING' - Number of instances in the fleet that are no longer active but haven't yet been terminated.------ * 'eicPENDING' - Number of instances in the fleet that are starting but not yet active.------ * 'eicMAXIMUM' - Maximum value allowed for the fleet's instance count.------ * 'eicDESIRED' - Ideal number of active instances in the fleet.------ * 'eicMINIMUM' - Minimum value allowed for the fleet's instance count.------ * 'eicACTIVE' - Actual number of active instances in the fleet.-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 where--instance NFData EC2InstanceCounts where---- | 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' - Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.------ * 'eilCurrentInstances' - Number of instances of the specified type that are currently in use by this AWS account.------ * 'eilInstanceLimit' - Number of instances allowed.-ec2InstanceLimit- :: EC2InstanceLimit-ec2InstanceLimit =- EC2InstanceLimit'- { _eilEC2InstanceType = Nothing- , _eilCurrentInstances = Nothing- , _eilInstanceLimit = Nothing- }----- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.-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 where--instance NFData EC2InstanceLimit where---- | Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.------------ /See:/ 'event' smart constructor.-data Event = Event'- { _eResourceId :: !(Maybe Text)- , _ePreSignedLogURL :: !(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' - Unique identifier for an event resource, such as a fleet ID.------ * 'ePreSignedLogURL' - Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.------ * 'eEventTime' - Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'eMessage' - Additional information related to the event.------ * 'eEventCode' - Type of event being logged. The following events are currently in use: __General events:__ * GENERIC_EVENT -- An unspecified event has occurred. __Fleet creation events:__ * FLEET_CREATED -- A fleet record was successfully created with a status of @NEW@ . Event messaging includes the fleet ID. * FLEET_STATE_DOWNLOADING -- Fleet status changed from @NEW@ to @DOWNLOADING@ . The compressed build has started downloading to a fleet instance for installation. * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance. * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to @ACTIVE@ status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_STATE_VALIDATING -- Fleet status changed from @DOWNLOADING@ to @VALIDATING@ . * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance. * FLEET_STATE_BUILDING -- Fleet status changed from @VALIDATING@ to @BUILDING@ . * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance. * FLEET_STATE_ACTIVATING -- Fleet status changed from @BUILDING@ to @ACTIVATING@ . * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting "process ready" to the Amazon GameLift service. * FLEET_STATE_ACTIVE -- The fleet's status changed from @ACTIVATING@ to @ACTIVE@ . The fleet is now ready to host game sessions. __VPC peering events:__ * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see 'DescribeVpcPeeringConnections' ) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see <http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html> * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted. __Other fleet events:__ * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings. * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting. * FLEET_DELETED -- A request to delete a fleet was initiated.------ * 'eEventId' - Unique identifier for a fleet event.-event- :: Event-event =- Event'- { _eResourceId = Nothing- , _ePreSignedLogURL = Nothing- , _eEventTime = Nothing- , _eMessage = Nothing- , _eEventCode = Nothing- , _eEventId = Nothing- }----- | Unique identifier for an event resource, such as a fleet ID.-eResourceId :: Lens' Event (Maybe Text)-eResourceId = lens _eResourceId (\ s a -> s{_eResourceId = a});---- | Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.-ePreSignedLogURL :: Lens' Event (Maybe Text)-ePreSignedLogURL = lens _ePreSignedLogURL (\ s a -> s{_ePreSignedLogURL = a});---- | Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-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. The following events are currently in use: __General events:__ * GENERIC_EVENT -- An unspecified event has occurred. __Fleet creation events:__ * FLEET_CREATED -- A fleet record was successfully created with a status of @NEW@ . Event messaging includes the fleet ID. * FLEET_STATE_DOWNLOADING -- Fleet status changed from @NEW@ to @DOWNLOADING@ . The compressed build has started downloading to a fleet instance for installation. * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance. * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to @ACTIVE@ status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_STATE_VALIDATING -- Fleet status changed from @DOWNLOADING@ to @VALIDATING@ . * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance. * FLEET_STATE_BUILDING -- Fleet status changed from @VALIDATING@ to @BUILDING@ . * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance. * FLEET_STATE_ACTIVATING -- Fleet status changed from @BUILDING@ to @ACTIVATING@ . * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting "process ready" to the Amazon GameLift service. * FLEET_STATE_ACTIVE -- The fleet's status changed from @ACTIVATING@ to @ACTIVE@ . The fleet is now ready to host game sessions. __VPC peering events:__ * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see 'DescribeVpcPeeringConnections' ) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see <http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html> * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted. __Other fleet events:__ * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings. * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting. * FLEET_DELETED -- A request to delete a fleet was initiated.-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 .:? "PreSignedLogUrl")- <*> (x .:? "EventTime")- <*> (x .:? "Message")- <*> (x .:? "EventCode")- <*> (x .:? "EventId"))--instance Hashable Event where--instance NFData Event where---- | General properties describing a fleet.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /See:/ 'fleetAttributes' smart constructor.-data FleetAttributes = FleetAttributes'- { _faCreationTime :: !(Maybe POSIX)- , _faStatus :: !(Maybe FleetStatus)- , _faServerLaunchParameters :: !(Maybe Text)- , _faLogPaths :: !(Maybe [Text])- , _faOperatingSystem :: !(Maybe OperatingSystem)- , _faBuildId :: !(Maybe Text)- , _faFleetARN :: !(Maybe Text)- , _faTerminationTime :: !(Maybe POSIX)- , _faNewGameSessionProtectionPolicy :: !(Maybe ProtectionPolicy)- , _faName :: !(Maybe Text)- , _faServerLaunchPath :: !(Maybe Text)- , _faMetricGroups :: !(Maybe [Text])- , _faFleetId :: !(Maybe Text)- , _faDescription :: !(Maybe Text)- , _faResourceCreationLimitPolicy :: !(Maybe ResourceCreationLimitPolicy)- } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'faStatus' - Current status of the fleet. Possible fleet statuses include the following: * __NEW__ -- A new fleet has been defined and desired instances is set to 1. * __DOWNLOADING/VALIDATING/BUILDING/ACTIVATING__ -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes. * __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.------ * 'faServerLaunchParameters' - Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .------ * 'faLogPaths' - Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code Amazon GameLift Developer Guide> . If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at @C:\game\logs@ (for Windows) or @/local/game/logs@ (for Linux). Use the Amazon GameLift console to access stored logs.------ * 'faOperatingSystem' - Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.------ * 'faBuildId' - Unique identifier for a build.------ * 'faFleetARN' - Identifier for a fleet that is unique across all regions.------ * 'faTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'faNewGameSessionProtectionPolicy' - 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.------ * 'faName' - Descriptive label that is associated with a fleet. Fleet names do not need to be unique.------ * 'faServerLaunchPath' - Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .------ * 'faMetricGroups' - Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.------ * 'faFleetId' - Unique identifier for a fleet.------ * 'faDescription' - Human-readable description of the fleet.------ * 'faResourceCreationLimitPolicy' - Fleet policy to limit the number of game sessions an individual player can create over a span of time.-fleetAttributes- :: FleetAttributes-fleetAttributes =- FleetAttributes'- { _faCreationTime = Nothing- , _faStatus = Nothing- , _faServerLaunchParameters = Nothing- , _faLogPaths = Nothing- , _faOperatingSystem = Nothing- , _faBuildId = Nothing- , _faFleetARN = Nothing- , _faTerminationTime = Nothing- , _faNewGameSessionProtectionPolicy = Nothing- , _faName = Nothing- , _faServerLaunchPath = Nothing- , _faMetricGroups = Nothing- , _faFleetId = Nothing- , _faDescription = Nothing- , _faResourceCreationLimitPolicy = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-faCreationTime :: Lens' FleetAttributes (Maybe UTCTime)-faCreationTime = lens _faCreationTime (\ s a -> s{_faCreationTime = a}) . mapping _Time;---- | Current status of the fleet. Possible fleet statuses include the following: * __NEW__ -- A new fleet has been defined and desired instances is set to 1. * __DOWNLOADING/VALIDATING/BUILDING/ACTIVATING__ -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes. * __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});---- | Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .-faServerLaunchParameters :: Lens' FleetAttributes (Maybe Text)-faServerLaunchParameters = lens _faServerLaunchParameters (\ s a -> s{_faServerLaunchParameters = a});---- | Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code Amazon GameLift Developer Guide> . If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at @C:\game\logs@ (for Windows) or @/local/game/logs@ (for Linux). Use the Amazon GameLift console to access stored logs.-faLogPaths :: Lens' FleetAttributes [Text]-faLogPaths = lens _faLogPaths (\ s a -> s{_faLogPaths = a}) . _Default . _Coerce;---- | Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.-faOperatingSystem :: Lens' FleetAttributes (Maybe OperatingSystem)-faOperatingSystem = lens _faOperatingSystem (\ s a -> s{_faOperatingSystem = a});---- | Unique identifier for a build.-faBuildId :: Lens' FleetAttributes (Maybe Text)-faBuildId = lens _faBuildId (\ s a -> s{_faBuildId = a});---- | Identifier for a fleet that is unique across all regions.-faFleetARN :: Lens' FleetAttributes (Maybe Text)-faFleetARN = lens _faFleetARN (\ s a -> s{_faFleetARN = a});---- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-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 that is associated with a fleet. Fleet names do not need to be unique.-faName :: Lens' FleetAttributes (Maybe Text)-faName = lens _faName (\ s a -> s{_faName = a});---- | Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .-faServerLaunchPath :: Lens' FleetAttributes (Maybe Text)-faServerLaunchPath = lens _faServerLaunchPath (\ s a -> s{_faServerLaunchPath = a});---- | Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.-faMetricGroups :: Lens' FleetAttributes [Text]-faMetricGroups = lens _faMetricGroups (\ s a -> s{_faMetricGroups = a}) . _Default . _Coerce;---- | 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});---- | Fleet policy to limit the number of game sessions an individual player can create over a span of time.-faResourceCreationLimitPolicy :: Lens' FleetAttributes (Maybe ResourceCreationLimitPolicy)-faResourceCreationLimitPolicy = lens _faResourceCreationLimitPolicy (\ s a -> s{_faResourceCreationLimitPolicy = a});--instance FromJSON FleetAttributes where- parseJSON- = withObject "FleetAttributes"- (\ x ->- FleetAttributes' <$>- (x .:? "CreationTime") <*> (x .:? "Status") <*>- (x .:? "ServerLaunchParameters")- <*> (x .:? "LogPaths" .!= mempty)- <*> (x .:? "OperatingSystem")- <*> (x .:? "BuildId")- <*> (x .:? "FleetArn")- <*> (x .:? "TerminationTime")- <*> (x .:? "NewGameSessionProtectionPolicy")- <*> (x .:? "Name")- <*> (x .:? "ServerLaunchPath")- <*> (x .:? "MetricGroups" .!= mempty)- <*> (x .:? "FleetId")- <*> (x .:? "Description")- <*> (x .:? "ResourceCreationLimitPolicy"))--instance Hashable FleetAttributes where--instance NFData FleetAttributes where---- | 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.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /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' - Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.------ * 'fcFleetId' - Unique identifier for a fleet.------ * 'fcInstanceCounts' - Current status of fleet capacity.-fleetCapacity- :: FleetCapacity-fleetCapacity =- FleetCapacity'- {_fcInstanceType = Nothing, _fcFleetId = Nothing, _fcInstanceCounts = Nothing}----- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.-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 where--instance NFData FleetCapacity where---- | Current status of fleet utilization, including the number of game and player sessions being hosted.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /See:/ 'fleetUtilization' smart constructor.-data FleetUtilization = FleetUtilization'- { _fuActiveGameSessionCount :: !(Maybe Nat)- , _fuMaximumPlayerSessionCount :: !(Maybe Nat)- , _fuCurrentPlayerSessionCount :: !(Maybe Nat)- , _fuFleetId :: !(Maybe Text)- , _fuActiveServerProcessCount :: !(Maybe Nat)- } 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' - Number of active game sessions currently being hosted on all instances in the fleet.------ * 'fuMaximumPlayerSessionCount' - Maximum players allowed across all game sessions currently being hosted on all instances in the fleet.------ * 'fuCurrentPlayerSessionCount' - Number of active player sessions currently being hosted on all instances in the fleet.------ * 'fuFleetId' - Unique identifier for a fleet.------ * 'fuActiveServerProcessCount' - Number of server processes in an @ACTIVE@ status currently running across all instances in the fleet-fleetUtilization- :: FleetUtilization-fleetUtilization =- FleetUtilization'- { _fuActiveGameSessionCount = Nothing- , _fuMaximumPlayerSessionCount = Nothing- , _fuCurrentPlayerSessionCount = Nothing- , _fuFleetId = Nothing- , _fuActiveServerProcessCount = Nothing- }----- | Number of active game sessions currently being hosted on all instances in the fleet.-fuActiveGameSessionCount :: Lens' FleetUtilization (Maybe Natural)-fuActiveGameSessionCount = lens _fuActiveGameSessionCount (\ s a -> s{_fuActiveGameSessionCount = a}) . mapping _Nat;---- | Maximum players allowed across all game sessions currently being hosted on all instances 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 all instances in the fleet.-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});---- | Number of server processes in an @ACTIVE@ status currently running across all instances in the fleet-fuActiveServerProcessCount :: Lens' FleetUtilization (Maybe Natural)-fuActiveServerProcessCount = lens _fuActiveServerProcessCount (\ s a -> s{_fuActiveServerProcessCount = a}) . mapping _Nat;--instance FromJSON FleetUtilization where- parseJSON- = withObject "FleetUtilization"- (\ x ->- FleetUtilization' <$>- (x .:? "ActiveGameSessionCount") <*>- (x .:? "MaximumPlayerSessionCount")- <*> (x .:? "CurrentPlayerSessionCount")- <*> (x .:? "FleetId")- <*> (x .:? "ActiveServerProcessCount"))--instance Hashable FleetUtilization where--instance NFData FleetUtilization where---- | Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create 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' - Game property identifier.------ * 'gpValue' - Game property value.-gameProperty- :: Text -- ^ 'gpKey'- -> Text -- ^ 'gpValue'- -> GameProperty-gameProperty pKey_ pValue_ = GameProperty' {_gpKey = pKey_, _gpValue = pValue_}----- | Game property identifier.-gpKey :: Lens' GameProperty Text-gpKey = lens _gpKey (\ s a -> s{_gpKey = a});---- | Game property value.-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 where--instance NFData GameProperty where--instance ToJSON GameProperty where- toJSON GameProperty'{..}- = object- (catMaybes- [Just ("Key" .= _gpKey), Just ("Value" .= _gpValue)])---- | Properties describing a game session.--------- A game session in ACTIVE status can host players. When a game session ends, its status is set to @TERMINATED@ .------ Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.------ Game-session-related operations include:------ * 'CreateGameSession'------ * 'DescribeGameSessions'------ * 'DescribeGameSessionDetails'------ * 'SearchGameSessions'------ * 'UpdateGameSession'------ * 'GetGameSessionLogUrl'------ * Game session placements------ * 'StartGameSessionPlacement'------ * 'DescribeGameSessionPlacement'------ * 'StopGameSessionPlacement'--------------------- /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)- , _gsGameSessionData :: !(Maybe Text)- , _gsFleetId :: !(Maybe Text)- , _gsCreatorId :: !(Maybe Text)- , _gsPort :: !(Maybe Nat)- } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'gsStatus' - Current status of the game session. A game session must have an @ACTIVE@ status to have player sessions.------ * 'gsGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).------ * 'gsIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.------ * 'gsGameSessionId' - Unique identifier for the game session. A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .------ * 'gsMaximumPlayerSessionCount' - Maximum number of players that can be connected simultaneously to the game session.------ * 'gsTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'gsPlayerSessionCreationPolicy' - Indicates whether or not the game session is accepting new players.------ * 'gsName' - Descriptive label that is associated with a game session. Session names do not need to be unique.------ * 'gsCurrentPlayerSessionCount' - Number of players currently in the game session.------ * 'gsGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).------ * 'gsFleetId' - Unique identifier for a fleet that the game session is running on.------ * 'gsCreatorId' - Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.------ * 'gsPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gameSession- :: GameSession-gameSession =- GameSession'- { _gsCreationTime = Nothing- , _gsStatus = Nothing- , _gsGameProperties = Nothing- , _gsIPAddress = Nothing- , _gsGameSessionId = Nothing- , _gsMaximumPlayerSessionCount = Nothing- , _gsTerminationTime = Nothing- , _gsPlayerSessionCreationPolicy = Nothing- , _gsName = Nothing- , _gsCurrentPlayerSessionCount = Nothing- , _gsGameSessionData = Nothing- , _gsFleetId = Nothing- , _gsCreatorId = Nothing- , _gsPort = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-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 have an @ACTIVE@ status to have player sessions.-gsStatus :: Lens' GameSession (Maybe GameSessionStatus)-gsStatus = lens _gsStatus (\ s a -> s{_gsStatus = a});---- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).-gsGameProperties :: Lens' GameSession [GameProperty]-gsGameProperties = lens _gsGameProperties (\ s a -> s{_gsGameProperties = a}) . _Default . _Coerce;---- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gsIPAddress :: Lens' GameSession (Maybe Text)-gsIPAddress = lens _gsIPAddress (\ s a -> s{_gsIPAddress = a});---- | Unique identifier for the game session. A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .-gsGameSessionId :: Lens' GameSession (Maybe Text)-gsGameSessionId = lens _gsGameSessionId (\ s a -> s{_gsGameSessionId = a});---- | Maximum number of players that can be connected simultaneously to the game session.-gsMaximumPlayerSessionCount :: Lens' GameSession (Maybe Natural)-gsMaximumPlayerSessionCount = lens _gsMaximumPlayerSessionCount (\ s a -> s{_gsMaximumPlayerSessionCount = a}) . mapping _Nat;---- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-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 that is associated with a 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;---- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).-gsGameSessionData :: Lens' GameSession (Maybe Text)-gsGameSessionData = lens _gsGameSessionData (\ s a -> s{_gsGameSessionData = a});---- | Unique identifier for a fleet that the game session is running on.-gsFleetId :: Lens' GameSession (Maybe Text)-gsFleetId = lens _gsFleetId (\ s a -> s{_gsFleetId = a});---- | Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.-gsCreatorId :: Lens' GameSession (Maybe Text)-gsCreatorId = lens _gsCreatorId (\ s a -> s{_gsCreatorId = a});---- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gsPort :: Lens' GameSession (Maybe Natural)-gsPort = lens _gsPort (\ s a -> s{_gsPort = a}) . mapping _Nat;--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 .:? "GameSessionData")- <*> (x .:? "FleetId")- <*> (x .:? "CreatorId")- <*> (x .:? "Port"))--instance Hashable GameSession where--instance NFData GameSession where---- | Connection information for the new game session that is created with matchmaking. (with 'StartMatchmaking' ). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the 'MatchmakingTicket' , which can be retrieved by calling 'DescribeMatchmaking' .------------ /See:/ 'gameSessionConnectionInfo' smart constructor.-data GameSessionConnectionInfo = GameSessionConnectionInfo'- { _gsciMatchedPlayerSessions :: !(Maybe [MatchedPlayerSession])- , _gsciIPAddress :: !(Maybe Text)- , _gsciGameSessionARN :: !(Maybe Text)- , _gsciPort :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GameSessionConnectionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsciMatchedPlayerSessions' - Collection of player session IDs, one for each player ID that was included in the original matchmaking request.------ * 'gsciIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.------ * 'gsciGameSessionARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.------ * 'gsciPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gameSessionConnectionInfo- :: GameSessionConnectionInfo-gameSessionConnectionInfo =- GameSessionConnectionInfo'- { _gsciMatchedPlayerSessions = Nothing- , _gsciIPAddress = Nothing- , _gsciGameSessionARN = Nothing- , _gsciPort = Nothing- }----- | Collection of player session IDs, one for each player ID that was included in the original matchmaking request.-gsciMatchedPlayerSessions :: Lens' GameSessionConnectionInfo [MatchedPlayerSession]-gsciMatchedPlayerSessions = lens _gsciMatchedPlayerSessions (\ s a -> s{_gsciMatchedPlayerSessions = a}) . _Default . _Coerce;---- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gsciIPAddress :: Lens' GameSessionConnectionInfo (Maybe Text)-gsciIPAddress = lens _gsciIPAddress (\ s a -> s{_gsciIPAddress = a});---- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.-gsciGameSessionARN :: Lens' GameSessionConnectionInfo (Maybe Text)-gsciGameSessionARN = lens _gsciGameSessionARN (\ s a -> s{_gsciGameSessionARN = a});---- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-gsciPort :: Lens' GameSessionConnectionInfo (Maybe Natural)-gsciPort = lens _gsciPort (\ s a -> s{_gsciPort = a}) . mapping _Nat;--instance FromJSON GameSessionConnectionInfo where- parseJSON- = withObject "GameSessionConnectionInfo"- (\ x ->- GameSessionConnectionInfo' <$>- (x .:? "MatchedPlayerSessions" .!= mempty) <*>- (x .:? "IpAddress")- <*> (x .:? "GameSessionArn")- <*> (x .:? "Port"))--instance Hashable GameSessionConnectionInfo where--instance NFData GameSessionConnectionInfo where---- | A game session's properties plus 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' - Object that describes a game session.------ * 'gsdProtectionPolicy' - 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.-gameSessionDetail- :: GameSessionDetail-gameSessionDetail =- GameSessionDetail' {_gsdGameSession = Nothing, _gsdProtectionPolicy = Nothing}----- | Object that describes a game session.-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 where--instance NFData GameSessionDetail where---- | Object that describes a 'StartGameSessionPlacement' request. This object includes the full details of the original request plus the current status and start/end time stamps.--------- Game session placement-related operations include:------ * 'StartGameSessionPlacement'------ * 'DescribeGameSessionPlacement'------ * 'StopGameSessionPlacement'--------------- /See:/ 'gameSessionPlacement' smart constructor.-data GameSessionPlacement = GameSessionPlacement'- { _gspStatus :: !(Maybe GameSessionPlacementState)- , _gspPlacementId :: !(Maybe Text)- , _gspGameProperties :: !(Maybe [GameProperty])- , _gspIPAddress :: !(Maybe Text)- , _gspGameSessionName :: !(Maybe Text)- , _gspStartTime :: !(Maybe POSIX)- , _gspGameSessionId :: !(Maybe Text)- , _gspGameSessionRegion :: !(Maybe Text)- , _gspMaximumPlayerSessionCount :: !(Maybe Nat)- , _gspEndTime :: !(Maybe POSIX)- , _gspGameSessionARN :: !(Maybe Text)- , _gspPlayerLatencies :: !(Maybe [PlayerLatency])- , _gspGameSessionData :: !(Maybe Text)- , _gspGameSessionQueueName :: !(Maybe Text)- , _gspPlacedPlayerSessions :: !(Maybe [PlacedPlayerSession])- , _gspPort :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GameSessionPlacement' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gspStatus' - Current status of the game session placement request. * __PENDING__ -- The placement request is currently in the queue waiting to be processed. * __FULFILLED__ -- A new game session and player sessions (if requested) have been successfully created. Values for /GameSessionArn/ and /GameSessionRegion/ are available. * __CANCELLED__ -- The placement request was canceled with a call to 'StopGameSessionPlacement' . * __TIMED_OUT__ -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.------ * 'gspPlacementId' - Unique identifier for a game session placement.------ * 'gspGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).------ * 'gspIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).------ * 'gspGameSessionName' - Descriptive label that is associated with a game session. Session names do not need to be unique.------ * 'gspStartTime' - Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'gspGameSessionId' - Unique identifier for the game session. This value is set once the new game session is placed (placement status is @FULFILLED@ ).------ * 'gspGameSessionRegion' - Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is @FULFILLED@ ).------ * 'gspMaximumPlayerSessionCount' - Maximum number of players that can be connected simultaneously to the game session.------ * 'gspEndTime' - Time stamp indicating when this request was completed, canceled, or timed out.------ * 'gspGameSessionARN' - Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is @FULFILLED@ ). This identifier is unique across all regions. You can use this value as a @GameSessionId@ value as needed.------ * 'gspPlayerLatencies' - Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions.------ * 'gspGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).------ * 'gspGameSessionQueueName' - Descriptive label that is associated with game session queue. Queue names must be unique within each region.------ * 'gspPlacedPlayerSessions' - Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is @FULFILLED@ ). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling 'DescribePlayerSessions' with the player session ID.------ * 'gspPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).-gameSessionPlacement- :: GameSessionPlacement-gameSessionPlacement =- GameSessionPlacement'- { _gspStatus = Nothing- , _gspPlacementId = Nothing- , _gspGameProperties = Nothing- , _gspIPAddress = Nothing- , _gspGameSessionName = Nothing- , _gspStartTime = Nothing- , _gspGameSessionId = Nothing- , _gspGameSessionRegion = Nothing- , _gspMaximumPlayerSessionCount = Nothing- , _gspEndTime = Nothing- , _gspGameSessionARN = Nothing- , _gspPlayerLatencies = Nothing- , _gspGameSessionData = Nothing- , _gspGameSessionQueueName = Nothing- , _gspPlacedPlayerSessions = Nothing- , _gspPort = Nothing- }----- | Current status of the game session placement request. * __PENDING__ -- The placement request is currently in the queue waiting to be processed. * __FULFILLED__ -- A new game session and player sessions (if requested) have been successfully created. Values for /GameSessionArn/ and /GameSessionRegion/ are available. * __CANCELLED__ -- The placement request was canceled with a call to 'StopGameSessionPlacement' . * __TIMED_OUT__ -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.-gspStatus :: Lens' GameSessionPlacement (Maybe GameSessionPlacementState)-gspStatus = lens _gspStatus (\ s a -> s{_gspStatus = a});---- | Unique identifier for a game session placement.-gspPlacementId :: Lens' GameSessionPlacement (Maybe Text)-gspPlacementId = lens _gspPlacementId (\ s a -> s{_gspPlacementId = a});---- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).-gspGameProperties :: Lens' GameSessionPlacement [GameProperty]-gspGameProperties = lens _gspGameProperties (\ s a -> s{_gspGameProperties = a}) . _Default . _Coerce;---- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).-gspIPAddress :: Lens' GameSessionPlacement (Maybe Text)-gspIPAddress = lens _gspIPAddress (\ s a -> s{_gspIPAddress = a});---- | Descriptive label that is associated with a game session. Session names do not need to be unique.-gspGameSessionName :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionName = lens _gspGameSessionName (\ s a -> s{_gspGameSessionName = a});---- | Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-gspStartTime :: Lens' GameSessionPlacement (Maybe UTCTime)-gspStartTime = lens _gspStartTime (\ s a -> s{_gspStartTime = a}) . mapping _Time;---- | Unique identifier for the game session. This value is set once the new game session is placed (placement status is @FULFILLED@ ).-gspGameSessionId :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionId = lens _gspGameSessionId (\ s a -> s{_gspGameSessionId = a});---- | Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is @FULFILLED@ ).-gspGameSessionRegion :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionRegion = lens _gspGameSessionRegion (\ s a -> s{_gspGameSessionRegion = a});---- | Maximum number of players that can be connected simultaneously to the game session.-gspMaximumPlayerSessionCount :: Lens' GameSessionPlacement (Maybe Natural)-gspMaximumPlayerSessionCount = lens _gspMaximumPlayerSessionCount (\ s a -> s{_gspMaximumPlayerSessionCount = a}) . mapping _Nat;---- | Time stamp indicating when this request was completed, canceled, or timed out.-gspEndTime :: Lens' GameSessionPlacement (Maybe UTCTime)-gspEndTime = lens _gspEndTime (\ s a -> s{_gspEndTime = a}) . mapping _Time;---- | Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is @FULFILLED@ ). This identifier is unique across all regions. You can use this value as a @GameSessionId@ value as needed.-gspGameSessionARN :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionARN = lens _gspGameSessionARN (\ s a -> s{_gspGameSessionARN = a});---- | Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions.-gspPlayerLatencies :: Lens' GameSessionPlacement [PlayerLatency]-gspPlayerLatencies = lens _gspPlayerLatencies (\ s a -> s{_gspPlayerLatencies = a}) . _Default . _Coerce;---- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).-gspGameSessionData :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionData = lens _gspGameSessionData (\ s a -> s{_gspGameSessionData = a});---- | Descriptive label that is associated with game session queue. Queue names must be unique within each region.-gspGameSessionQueueName :: Lens' GameSessionPlacement (Maybe Text)-gspGameSessionQueueName = lens _gspGameSessionQueueName (\ s a -> s{_gspGameSessionQueueName = a});---- | Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is @FULFILLED@ ). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling 'DescribePlayerSessions' with the player session ID.-gspPlacedPlayerSessions :: Lens' GameSessionPlacement [PlacedPlayerSession]-gspPlacedPlayerSessions = lens _gspPlacedPlayerSessions (\ s a -> s{_gspPlacedPlayerSessions = a}) . _Default . _Coerce;---- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).-gspPort :: Lens' GameSessionPlacement (Maybe Natural)-gspPort = lens _gspPort (\ s a -> s{_gspPort = a}) . mapping _Nat;--instance FromJSON GameSessionPlacement where- parseJSON- = withObject "GameSessionPlacement"- (\ x ->- GameSessionPlacement' <$>- (x .:? "Status") <*> (x .:? "PlacementId") <*>- (x .:? "GameProperties" .!= mempty)- <*> (x .:? "IpAddress")- <*> (x .:? "GameSessionName")- <*> (x .:? "StartTime")- <*> (x .:? "GameSessionId")- <*> (x .:? "GameSessionRegion")- <*> (x .:? "MaximumPlayerSessionCount")- <*> (x .:? "EndTime")- <*> (x .:? "GameSessionArn")- <*> (x .:? "PlayerLatencies" .!= mempty)- <*> (x .:? "GameSessionData")- <*> (x .:? "GameSessionQueueName")- <*> (x .:? "PlacedPlayerSessions" .!= mempty)- <*> (x .:? "Port"))--instance Hashable GameSessionPlacement where--instance NFData GameSessionPlacement where---- | Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:--------- * The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.------ * The length of time that placement requests can wait in the queue before timing out.------ * A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.------------ Queue-related operations include:------ * 'CreateGameSessionQueue'------ * 'DescribeGameSessionQueues'------ * 'UpdateGameSessionQueue'------ * 'DeleteGameSessionQueue'--------------- /See:/ 'gameSessionQueue' smart constructor.-data GameSessionQueue = GameSessionQueue'- { _gsqGameSessionQueueARN :: !(Maybe Text)- , _gsqPlayerLatencyPolicies :: !(Maybe [PlayerLatencyPolicy])- , _gsqTimeoutInSeconds :: !(Maybe Nat)- , _gsqDestinations :: !(Maybe [GameSessionQueueDestination])- , _gsqName :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GameSessionQueue' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsqGameSessionQueueARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ .------ * 'gsqPlayerLatencyPolicies' - Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.------ * 'gsqTimeoutInSeconds' - Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status.------ * 'gsqDestinations' - List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.------ * 'gsqName' - Descriptive label that is associated with game session queue. Queue names must be unique within each region.-gameSessionQueue- :: GameSessionQueue-gameSessionQueue =- GameSessionQueue'- { _gsqGameSessionQueueARN = Nothing- , _gsqPlayerLatencyPolicies = Nothing- , _gsqTimeoutInSeconds = Nothing- , _gsqDestinations = Nothing- , _gsqName = Nothing- }----- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ .-gsqGameSessionQueueARN :: Lens' GameSessionQueue (Maybe Text)-gsqGameSessionQueueARN = lens _gsqGameSessionQueueARN (\ s a -> s{_gsqGameSessionQueueARN = a});---- | Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.-gsqPlayerLatencyPolicies :: Lens' GameSessionQueue [PlayerLatencyPolicy]-gsqPlayerLatencyPolicies = lens _gsqPlayerLatencyPolicies (\ s a -> s{_gsqPlayerLatencyPolicies = a}) . _Default . _Coerce;---- | Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status.-gsqTimeoutInSeconds :: Lens' GameSessionQueue (Maybe Natural)-gsqTimeoutInSeconds = lens _gsqTimeoutInSeconds (\ s a -> s{_gsqTimeoutInSeconds = a}) . mapping _Nat;---- | List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.-gsqDestinations :: Lens' GameSessionQueue [GameSessionQueueDestination]-gsqDestinations = lens _gsqDestinations (\ s a -> s{_gsqDestinations = a}) . _Default . _Coerce;---- | Descriptive label that is associated with game session queue. Queue names must be unique within each region.-gsqName :: Lens' GameSessionQueue (Maybe Text)-gsqName = lens _gsqName (\ s a -> s{_gsqName = a});--instance FromJSON GameSessionQueue where- parseJSON- = withObject "GameSessionQueue"- (\ x ->- GameSessionQueue' <$>- (x .:? "GameSessionQueueArn") <*>- (x .:? "PlayerLatencyPolicies" .!= mempty)- <*> (x .:? "TimeoutInSeconds")- <*> (x .:? "Destinations" .!= mempty)- <*> (x .:? "Name"))--instance Hashable GameSessionQueue where--instance NFData GameSessionQueue where---- | Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.--------- Queue-related operations include:------ * 'CreateGameSessionQueue'------ * 'DescribeGameSessionQueues'------ * 'UpdateGameSessionQueue'------ * 'DeleteGameSessionQueue'--------------- /See:/ 'gameSessionQueueDestination' smart constructor.-newtype GameSessionQueueDestination = GameSessionQueueDestination'- { _gsqdDestinationARN :: Maybe Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GameSessionQueueDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gsqdDestinationARN' - Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.-gameSessionQueueDestination- :: GameSessionQueueDestination-gameSessionQueueDestination =- GameSessionQueueDestination' {_gsqdDestinationARN = Nothing}----- | Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.-gsqdDestinationARN :: Lens' GameSessionQueueDestination (Maybe Text)-gsqdDestinationARN = lens _gsqdDestinationARN (\ s a -> s{_gsqdDestinationARN = a});--instance FromJSON GameSessionQueueDestination where- parseJSON- = withObject "GameSessionQueueDestination"- (\ x ->- GameSessionQueueDestination' <$>- (x .:? "DestinationArn"))--instance Hashable GameSessionQueueDestination where--instance NFData GameSessionQueueDestination where--instance ToJSON GameSessionQueueDestination where- toJSON GameSessionQueueDestination'{..}- = object- (catMaybes- [("DestinationArn" .=) <$> _gsqdDestinationARN])---- | A range of IP addresses and port settings that allow inbound traffic to connect to server processes on Amazon GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the 'GameSession' object.------------ /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' - Starting value for a range of allowed port numbers.------ * 'ipToPort' - Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than @FromPort@ .------ * 'ipIPRange' - Range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "@000.000.000.000/[subnet mask]@ " or optionally the shortened version "@0.0.0.0/[subnet mask]@ ".------ * 'ipProtocol' - Network communication protocol used by the fleet.-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 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 where--instance NFData IPPermission where--instance ToJSON IPPermission where- toJSON IPPermission'{..}- = object- (catMaybes- [Just ("FromPort" .= _ipFromPort),- Just ("ToPort" .= _ipToPort),- Just ("IpRange" .= _ipIPRange),- Just ("Protocol" .= _ipProtocol)])---- | Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.------------ /See:/ 'instance'' smart constructor.-data Instance = Instance'- { _iCreationTime :: !(Maybe POSIX)- , _iInstanceId :: !(Maybe Text)- , _iStatus :: !(Maybe InstanceStatus)- , _iIPAddress :: !(Maybe Text)- , _iOperatingSystem :: !(Maybe OperatingSystem)- , _iType :: !(Maybe EC2InstanceType)- , _iFleetId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Instance' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'iInstanceId' - Unique identifier for an instance.------ * 'iStatus' - Current status of the instance. Possible statuses include the following: * __PENDING__ -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration. * __ACTIVE__ -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions. * __TERMINATING__ -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.------ * 'iIPAddress' - IP address assigned to the instance.------ * 'iOperatingSystem' - Operating system that is running on this instance.------ * 'iType' - EC2 instance type that defines the computing resources of this instance.------ * 'iFleetId' - Unique identifier for a fleet that the instance is in.-instance'- :: Instance-instance' =- Instance'- { _iCreationTime = Nothing- , _iInstanceId = Nothing- , _iStatus = Nothing- , _iIPAddress = Nothing- , _iOperatingSystem = Nothing- , _iType = Nothing- , _iFleetId = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-iCreationTime :: Lens' Instance (Maybe UTCTime)-iCreationTime = lens _iCreationTime (\ s a -> s{_iCreationTime = a}) . mapping _Time;---- | Unique identifier for an instance.-iInstanceId :: Lens' Instance (Maybe Text)-iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a});---- | Current status of the instance. Possible statuses include the following: * __PENDING__ -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration. * __ACTIVE__ -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions. * __TERMINATING__ -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.-iStatus :: Lens' Instance (Maybe InstanceStatus)-iStatus = lens _iStatus (\ s a -> s{_iStatus = a});---- | IP address assigned to the instance.-iIPAddress :: Lens' Instance (Maybe Text)-iIPAddress = lens _iIPAddress (\ s a -> s{_iIPAddress = a});---- | Operating system that is running on this instance.-iOperatingSystem :: Lens' Instance (Maybe OperatingSystem)-iOperatingSystem = lens _iOperatingSystem (\ s a -> s{_iOperatingSystem = a});---- | EC2 instance type that defines the computing resources of this instance.-iType :: Lens' Instance (Maybe EC2InstanceType)-iType = lens _iType (\ s a -> s{_iType = a});---- | Unique identifier for a fleet that the instance is in.-iFleetId :: Lens' Instance (Maybe Text)-iFleetId = lens _iFleetId (\ s a -> s{_iFleetId = a});--instance FromJSON Instance where- parseJSON- = withObject "Instance"- (\ x ->- Instance' <$>- (x .:? "CreationTime") <*> (x .:? "InstanceId") <*>- (x .:? "Status")- <*> (x .:? "IpAddress")- <*> (x .:? "OperatingSystem")- <*> (x .:? "Type")- <*> (x .:? "FleetId"))--instance Hashable Instance where--instance NFData Instance where---- | Information required to remotely connect to a fleet instance. Access is requested by calling 'GetInstanceAccess' .------------ /See:/ 'instanceAccess' smart constructor.-data InstanceAccess = InstanceAccess'- { _iaInstanceId :: !(Maybe Text)- , _iaIPAddress :: !(Maybe Text)- , _iaOperatingSystem :: !(Maybe OperatingSystem)- , _iaCredentials :: !(Maybe (Sensitive InstanceCredentials))- , _iaFleetId :: !(Maybe Text)- } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceAccess' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iaInstanceId' - Unique identifier for an instance being accessed.------ * 'iaIPAddress' - IP address assigned to the instance.------ * 'iaOperatingSystem' - Operating system that is running on the instance.------ * 'iaCredentials' - Credentials required to access the instance.------ * 'iaFleetId' - Unique identifier for a fleet containing the instance being accessed.-instanceAccess- :: InstanceAccess-instanceAccess =- InstanceAccess'- { _iaInstanceId = Nothing- , _iaIPAddress = Nothing- , _iaOperatingSystem = Nothing- , _iaCredentials = Nothing- , _iaFleetId = Nothing- }----- | Unique identifier for an instance being accessed.-iaInstanceId :: Lens' InstanceAccess (Maybe Text)-iaInstanceId = lens _iaInstanceId (\ s a -> s{_iaInstanceId = a});---- | IP address assigned to the instance.-iaIPAddress :: Lens' InstanceAccess (Maybe Text)-iaIPAddress = lens _iaIPAddress (\ s a -> s{_iaIPAddress = a});---- | Operating system that is running on the instance.-iaOperatingSystem :: Lens' InstanceAccess (Maybe OperatingSystem)-iaOperatingSystem = lens _iaOperatingSystem (\ s a -> s{_iaOperatingSystem = a});---- | Credentials required to access the instance.-iaCredentials :: Lens' InstanceAccess (Maybe InstanceCredentials)-iaCredentials = lens _iaCredentials (\ s a -> s{_iaCredentials = a}) . mapping _Sensitive;---- | Unique identifier for a fleet containing the instance being accessed.-iaFleetId :: Lens' InstanceAccess (Maybe Text)-iaFleetId = lens _iaFleetId (\ s a -> s{_iaFleetId = a});--instance FromJSON InstanceAccess where- parseJSON- = withObject "InstanceAccess"- (\ x ->- InstanceAccess' <$>- (x .:? "InstanceId") <*> (x .:? "IpAddress") <*>- (x .:? "OperatingSystem")- <*> (x .:? "Credentials")- <*> (x .:? "FleetId"))--instance Hashable InstanceAccess where--instance NFData InstanceAccess where---- | Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling 'GetInstanceAccess' and returned in an 'InstanceAccess' object.------------ /See:/ 'instanceCredentials' smart constructor.-data InstanceCredentials = InstanceCredentials'- { _icUserName :: !(Maybe Text)- , _icSecret :: !(Maybe Text)- } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InstanceCredentials' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icUserName' - User login string.------ * 'icSecret' - Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a @.pem@ file) for use with SSH.-instanceCredentials- :: InstanceCredentials-instanceCredentials =- InstanceCredentials' {_icUserName = Nothing, _icSecret = Nothing}----- | User login string.-icUserName :: Lens' InstanceCredentials (Maybe Text)-icUserName = lens _icUserName (\ s a -> s{_icUserName = a});---- | Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a @.pem@ file) for use with SSH.-icSecret :: Lens' InstanceCredentials (Maybe Text)-icSecret = lens _icSecret (\ s a -> s{_icSecret = a});--instance FromJSON InstanceCredentials where- parseJSON- = withObject "InstanceCredentials"- (\ x ->- InstanceCredentials' <$>- (x .:? "UserName") <*> (x .:? "Secret"))--instance Hashable InstanceCredentials where--instance NFData InstanceCredentials where---- | Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.--------- When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.--------- /See:/ 'matchedPlayerSession' smart constructor.-data MatchedPlayerSession = MatchedPlayerSession'- { _mpsPlayerSessionId :: !(Maybe Text)- , _mpsPlayerId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MatchedPlayerSession' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mpsPlayerSessionId' - Unique identifier for a player session------ * 'mpsPlayerId' - Unique identifier for a player-matchedPlayerSession- :: MatchedPlayerSession-matchedPlayerSession =- MatchedPlayerSession' {_mpsPlayerSessionId = Nothing, _mpsPlayerId = Nothing}----- | Unique identifier for a player session-mpsPlayerSessionId :: Lens' MatchedPlayerSession (Maybe Text)-mpsPlayerSessionId = lens _mpsPlayerSessionId (\ s a -> s{_mpsPlayerSessionId = a});---- | Unique identifier for a player-mpsPlayerId :: Lens' MatchedPlayerSession (Maybe Text)-mpsPlayerId = lens _mpsPlayerId (\ s a -> s{_mpsPlayerId = a});--instance FromJSON MatchedPlayerSession where- parseJSON- = withObject "MatchedPlayerSession"- (\ x ->- MatchedPlayerSession' <$>- (x .:? "PlayerSessionId") <*> (x .:? "PlayerId"))--instance Hashable MatchedPlayerSession where--instance NFData MatchedPlayerSession where---- | Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.------------ /See:/ 'matchmakingConfiguration' smart constructor.-data MatchmakingConfiguration = MatchmakingConfiguration'- { _mcCreationTime :: !(Maybe POSIX)- , _mcGameProperties :: !(Maybe [GameProperty])- , _mcRuleSetName :: !(Maybe Text)- , _mcAcceptanceTimeoutSeconds :: !(Maybe Nat)- , _mcRequestTimeoutSeconds :: !(Maybe Nat)- , _mcNotificationTarget :: !(Maybe Text)- , _mcGameSessionQueueARNs :: !(Maybe [Text])- , _mcName :: !(Maybe Text)- , _mcCustomEventData :: !(Maybe Text)- , _mcAcceptanceRequired :: !(Maybe Bool)- , _mcGameSessionData :: !(Maybe Text)- , _mcDescription :: !(Maybe Text)- , _mcAdditionalPlayerCount :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MatchmakingConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'mcGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.------ * 'mcRuleSetName' - Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.------ * 'mcAcceptanceTimeoutSeconds' - Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.------ * 'mcRequestTimeoutSeconds' - Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.------ * 'mcNotificationTarget' - SNS topic ARN that is set up to receive matchmaking notifications.------ * 'mcGameSessionQueueARNs' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.------ * 'mcName' - Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.------ * 'mcCustomEventData' - Information to attached to all events related to the matchmaking configuration.------ * 'mcAcceptanceRequired' - Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.------ * 'mcGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.------ * 'mcDescription' - Descriptive label that is associated with matchmaking configuration.------ * 'mcAdditionalPlayerCount' - Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.-matchmakingConfiguration- :: MatchmakingConfiguration-matchmakingConfiguration =- MatchmakingConfiguration'- { _mcCreationTime = Nothing- , _mcGameProperties = Nothing- , _mcRuleSetName = Nothing- , _mcAcceptanceTimeoutSeconds = Nothing- , _mcRequestTimeoutSeconds = Nothing- , _mcNotificationTarget = Nothing- , _mcGameSessionQueueARNs = Nothing- , _mcName = Nothing- , _mcCustomEventData = Nothing- , _mcAcceptanceRequired = Nothing- , _mcGameSessionData = Nothing- , _mcDescription = Nothing- , _mcAdditionalPlayerCount = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-mcCreationTime :: Lens' MatchmakingConfiguration (Maybe UTCTime)-mcCreationTime = lens _mcCreationTime (\ s a -> s{_mcCreationTime = a}) . mapping _Time;---- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.-mcGameProperties :: Lens' MatchmakingConfiguration [GameProperty]-mcGameProperties = lens _mcGameProperties (\ s a -> s{_mcGameProperties = a}) . _Default . _Coerce;---- | Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.-mcRuleSetName :: Lens' MatchmakingConfiguration (Maybe Text)-mcRuleSetName = lens _mcRuleSetName (\ s a -> s{_mcRuleSetName = a});---- | Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.-mcAcceptanceTimeoutSeconds :: Lens' MatchmakingConfiguration (Maybe Natural)-mcAcceptanceTimeoutSeconds = lens _mcAcceptanceTimeoutSeconds (\ s a -> s{_mcAcceptanceTimeoutSeconds = a}) . mapping _Nat;---- | Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.-mcRequestTimeoutSeconds :: Lens' MatchmakingConfiguration (Maybe Natural)-mcRequestTimeoutSeconds = lens _mcRequestTimeoutSeconds (\ s a -> s{_mcRequestTimeoutSeconds = a}) . mapping _Nat;---- | SNS topic ARN that is set up to receive matchmaking notifications.-mcNotificationTarget :: Lens' MatchmakingConfiguration (Maybe Text)-mcNotificationTarget = lens _mcNotificationTarget (\ s a -> s{_mcNotificationTarget = a});---- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.-mcGameSessionQueueARNs :: Lens' MatchmakingConfiguration [Text]-mcGameSessionQueueARNs = lens _mcGameSessionQueueARNs (\ s a -> s{_mcGameSessionQueueARNs = a}) . _Default . _Coerce;---- | Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.-mcName :: Lens' MatchmakingConfiguration (Maybe Text)-mcName = lens _mcName (\ s a -> s{_mcName = a});---- | Information to attached to all events related to the matchmaking configuration.-mcCustomEventData :: Lens' MatchmakingConfiguration (Maybe Text)-mcCustomEventData = lens _mcCustomEventData (\ s a -> s{_mcCustomEventData = a});---- | Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.-mcAcceptanceRequired :: Lens' MatchmakingConfiguration (Maybe Bool)-mcAcceptanceRequired = lens _mcAcceptanceRequired (\ s a -> s{_mcAcceptanceRequired = a});---- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.-mcGameSessionData :: Lens' MatchmakingConfiguration (Maybe Text)-mcGameSessionData = lens _mcGameSessionData (\ s a -> s{_mcGameSessionData = a});---- | Descriptive label that is associated with matchmaking configuration.-mcDescription :: Lens' MatchmakingConfiguration (Maybe Text)-mcDescription = lens _mcDescription (\ s a -> s{_mcDescription = a});---- | Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.-mcAdditionalPlayerCount :: Lens' MatchmakingConfiguration (Maybe Natural)-mcAdditionalPlayerCount = lens _mcAdditionalPlayerCount (\ s a -> s{_mcAdditionalPlayerCount = a}) . mapping _Nat;--instance FromJSON MatchmakingConfiguration where- parseJSON- = withObject "MatchmakingConfiguration"- (\ x ->- MatchmakingConfiguration' <$>- (x .:? "CreationTime") <*>- (x .:? "GameProperties" .!= mempty)- <*> (x .:? "RuleSetName")- <*> (x .:? "AcceptanceTimeoutSeconds")- <*> (x .:? "RequestTimeoutSeconds")- <*> (x .:? "NotificationTarget")- <*> (x .:? "GameSessionQueueArns" .!= mempty)- <*> (x .:? "Name")- <*> (x .:? "CustomEventData")- <*> (x .:? "AcceptanceRequired")- <*> (x .:? "GameSessionData")- <*> (x .:? "Description")- <*> (x .:? "AdditionalPlayerCount"))--instance Hashable MatchmakingConfiguration where--instance NFData MatchmakingConfiguration where---- | Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in 'MatchmakingConfiguration' objects.--------- A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rules.html Create Matchmaking Rules for Your Game> .------ * Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.------ * Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.------ * Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players--such as each player must meet a certain skill level, or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.------ * Expansions -- Optional. Expansions allow you to relax the rules after a period of time if no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.--------------- /See:/ 'matchmakingRuleSet' smart constructor.-data MatchmakingRuleSet = MatchmakingRuleSet'- { _mrsCreationTime :: !(Maybe POSIX)- , _mrsRuleSetName :: !(Maybe Text)- , _mrsRuleSetBody :: !Text- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MatchmakingRuleSet' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mrsCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'mrsRuleSetName' - Unique identifier for a matchmaking rule set------ * 'mrsRuleSetBody' - Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)-matchmakingRuleSet- :: Text -- ^ 'mrsRuleSetBody'- -> MatchmakingRuleSet-matchmakingRuleSet pRuleSetBody_ =- MatchmakingRuleSet'- { _mrsCreationTime = Nothing- , _mrsRuleSetName = Nothing- , _mrsRuleSetBody = pRuleSetBody_- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-mrsCreationTime :: Lens' MatchmakingRuleSet (Maybe UTCTime)-mrsCreationTime = lens _mrsCreationTime (\ s a -> s{_mrsCreationTime = a}) . mapping _Time;---- | Unique identifier for a matchmaking rule set-mrsRuleSetName :: Lens' MatchmakingRuleSet (Maybe Text)-mrsRuleSetName = lens _mrsRuleSetName (\ s a -> s{_mrsRuleSetName = a});---- | Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)-mrsRuleSetBody :: Lens' MatchmakingRuleSet Text-mrsRuleSetBody = lens _mrsRuleSetBody (\ s a -> s{_mrsRuleSetBody = a});--instance FromJSON MatchmakingRuleSet where- parseJSON- = withObject "MatchmakingRuleSet"- (\ x ->- MatchmakingRuleSet' <$>- (x .:? "CreationTime") <*> (x .:? "RuleSetName") <*>- (x .: "RuleSetBody"))--instance Hashable MatchmakingRuleSet where--instance NFData MatchmakingRuleSet where---- | Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with 'StartMatchmaking' . Tickets can be retrieved by calling 'DescribeMatchmaking' with the ticket ID.------------ /See:/ 'matchmakingTicket' smart constructor.-data MatchmakingTicket = MatchmakingTicket'- { _mtStatus :: !(Maybe MatchmakingConfigurationStatus)- , _mtConfigurationName :: !(Maybe Text)- , _mtStartTime :: !(Maybe POSIX)- , _mtGameSessionConnectionInfo :: !(Maybe GameSessionConnectionInfo)- , _mtTicketId :: !(Maybe Text)- , _mtEstimatedWaitTime :: !(Maybe Nat)- , _mtStatusMessage :: !(Maybe Text)- , _mtEndTime :: !(Maybe POSIX)- , _mtStatusReason :: !(Maybe Text)- , _mtPlayers :: !(Maybe [Player])- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MatchmakingTicket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtStatus' - Current status of the matchmaking request. * __QUEUED__ -- The matchmaking request has been received and is currently waiting to be processed. * __SEARCHING__ -- The matchmaking request is currently being processed. * __REQUIRES_ACCEPTANCE__ -- A match has been proposed and the players must accept the match (see 'AcceptMatch' ). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement. * __PLACING__ -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match. * __COMPLETED__ -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players. * __FAILED__ -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in @FAILED@ status; new matchmaking requests can be submitted for these players. * __CANCELLED__ -- The matchmaking request was canceled with a call to 'StopMatchmaking' . * __TIMED_OUT__ -- The matchmaking request was not completed within the duration specified in the matchmaking configuration. Matchmaking requests that time out can be resubmitted.------ * 'mtConfigurationName' - Name of the 'MatchmakingConfiguration' that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.------ * 'mtStartTime' - Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'mtGameSessionConnectionInfo' - Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.------ * 'mtTicketId' - Unique identifier for a matchmaking ticket.------ * 'mtEstimatedWaitTime' - Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.------ * 'mtStatusMessage' - Additional information about the current status.------ * 'mtEndTime' - Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'mtStatusReason' - Code to explain the current status. For example, a status reason may indicate when a ticket has returned to @SEARCHING@ status after a proposed match fails to receive player acceptances.------ * 'mtPlayers' - A set of @Player@ objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status @COMPLETED@ , the @Player@ objects include the team the players were assigned to in the resulting match.-matchmakingTicket- :: MatchmakingTicket-matchmakingTicket =- MatchmakingTicket'- { _mtStatus = Nothing- , _mtConfigurationName = Nothing- , _mtStartTime = Nothing- , _mtGameSessionConnectionInfo = Nothing- , _mtTicketId = Nothing- , _mtEstimatedWaitTime = Nothing- , _mtStatusMessage = Nothing- , _mtEndTime = Nothing- , _mtStatusReason = Nothing- , _mtPlayers = Nothing- }----- | Current status of the matchmaking request. * __QUEUED__ -- The matchmaking request has been received and is currently waiting to be processed. * __SEARCHING__ -- The matchmaking request is currently being processed. * __REQUIRES_ACCEPTANCE__ -- A match has been proposed and the players must accept the match (see 'AcceptMatch' ). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement. * __PLACING__ -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match. * __COMPLETED__ -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players. * __FAILED__ -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in @FAILED@ status; new matchmaking requests can be submitted for these players. * __CANCELLED__ -- The matchmaking request was canceled with a call to 'StopMatchmaking' . * __TIMED_OUT__ -- The matchmaking request was not completed within the duration specified in the matchmaking configuration. Matchmaking requests that time out can be resubmitted.-mtStatus :: Lens' MatchmakingTicket (Maybe MatchmakingConfigurationStatus)-mtStatus = lens _mtStatus (\ s a -> s{_mtStatus = a});---- | Name of the 'MatchmakingConfiguration' that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.-mtConfigurationName :: Lens' MatchmakingTicket (Maybe Text)-mtConfigurationName = lens _mtConfigurationName (\ s a -> s{_mtConfigurationName = a});---- | Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-mtStartTime :: Lens' MatchmakingTicket (Maybe UTCTime)-mtStartTime = lens _mtStartTime (\ s a -> s{_mtStartTime = a}) . mapping _Time;---- | Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.-mtGameSessionConnectionInfo :: Lens' MatchmakingTicket (Maybe GameSessionConnectionInfo)-mtGameSessionConnectionInfo = lens _mtGameSessionConnectionInfo (\ s a -> s{_mtGameSessionConnectionInfo = a});---- | Unique identifier for a matchmaking ticket.-mtTicketId :: Lens' MatchmakingTicket (Maybe Text)-mtTicketId = lens _mtTicketId (\ s a -> s{_mtTicketId = a});---- | Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.-mtEstimatedWaitTime :: Lens' MatchmakingTicket (Maybe Natural)-mtEstimatedWaitTime = lens _mtEstimatedWaitTime (\ s a -> s{_mtEstimatedWaitTime = a}) . mapping _Nat;---- | Additional information about the current status.-mtStatusMessage :: Lens' MatchmakingTicket (Maybe Text)-mtStatusMessage = lens _mtStatusMessage (\ s a -> s{_mtStatusMessage = a});---- | Time stamp indicating when the matchmaking request stopped being processed due to successful completion, timeout, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-mtEndTime :: Lens' MatchmakingTicket (Maybe UTCTime)-mtEndTime = lens _mtEndTime (\ s a -> s{_mtEndTime = a}) . mapping _Time;---- | Code to explain the current status. For example, a status reason may indicate when a ticket has returned to @SEARCHING@ status after a proposed match fails to receive player acceptances.-mtStatusReason :: Lens' MatchmakingTicket (Maybe Text)-mtStatusReason = lens _mtStatusReason (\ s a -> s{_mtStatusReason = a});---- | A set of @Player@ objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status @COMPLETED@ , the @Player@ objects include the team the players were assigned to in the resulting match.-mtPlayers :: Lens' MatchmakingTicket [Player]-mtPlayers = lens _mtPlayers (\ s a -> s{_mtPlayers = a}) . _Default . _Coerce;--instance FromJSON MatchmakingTicket where- parseJSON- = withObject "MatchmakingTicket"- (\ x ->- MatchmakingTicket' <$>- (x .:? "Status") <*> (x .:? "ConfigurationName") <*>- (x .:? "StartTime")- <*> (x .:? "GameSessionConnectionInfo")- <*> (x .:? "TicketId")- <*> (x .:? "EstimatedWaitTime")- <*> (x .:? "StatusMessage")- <*> (x .:? "EndTime")- <*> (x .:? "StatusReason")- <*> (x .:? "Players" .!= mempty))--instance Hashable MatchmakingTicket where--instance NFData MatchmakingTicket where---- | Information about a player session that was created as part of a 'StartGameSessionPlacement' request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call 'DescribePlayerSessions' with the player session ID.--------- Player-session-related operations include:------ * 'CreatePlayerSession'------ * 'CreatePlayerSessions'------ * 'DescribePlayerSessions'------ * Game session placements------ * 'StartGameSessionPlacement'------ * 'DescribeGameSessionPlacement'------ * 'StopGameSessionPlacement'--------------------- /See:/ 'placedPlayerSession' smart constructor.-data PlacedPlayerSession = PlacedPlayerSession'- { _ppsPlayerSessionId :: !(Maybe Text)- , _ppsPlayerId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PlacedPlayerSession' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ppsPlayerSessionId' - Unique identifier for a player session.------ * 'ppsPlayerId' - Unique identifier for a player that is associated with this player session.-placedPlayerSession- :: PlacedPlayerSession-placedPlayerSession =- PlacedPlayerSession' {_ppsPlayerSessionId = Nothing, _ppsPlayerId = Nothing}----- | Unique identifier for a player session.-ppsPlayerSessionId :: Lens' PlacedPlayerSession (Maybe Text)-ppsPlayerSessionId = lens _ppsPlayerSessionId (\ s a -> s{_ppsPlayerSessionId = a});---- | Unique identifier for a player that is associated with this player session.-ppsPlayerId :: Lens' PlacedPlayerSession (Maybe Text)-ppsPlayerId = lens _ppsPlayerId (\ s a -> s{_ppsPlayerId = a});--instance FromJSON PlacedPlayerSession where- parseJSON- = withObject "PlacedPlayerSession"- (\ x ->- PlacedPlayerSession' <$>- (x .:? "PlayerSessionId") <*> (x .:? "PlayerId"))--instance Hashable PlacedPlayerSession where--instance NFData PlacedPlayerSession where---- | Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.------------ /See:/ 'player' smart constructor.-data Player = Player'- { _pPlayerAttributes :: !(Maybe (Map Text AttributeValue))- , _pTeam :: !(Maybe Text)- , _pPlayerId :: !(Maybe Text)- , _pLatencyInMs :: !(Maybe (Map Text Nat))- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Player' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pPlayerAttributes' - Collection of name:value pairs containing player information for use in matchmaking. Player attribute names need to match /playerAttributes/ names in the rule set being used. Example: @"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}@ .------ * 'pTeam' - Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.------ * 'pPlayerId' - Unique identifier for a player------ * 'pLatencyInMs' - Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported. If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.-player- :: Player-player =- Player'- { _pPlayerAttributes = Nothing- , _pTeam = Nothing- , _pPlayerId = Nothing- , _pLatencyInMs = Nothing- }----- | Collection of name:value pairs containing player information for use in matchmaking. Player attribute names need to match /playerAttributes/ names in the rule set being used. Example: @"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}@ .-pPlayerAttributes :: Lens' Player (HashMap Text AttributeValue)-pPlayerAttributes = lens _pPlayerAttributes (\ s a -> s{_pPlayerAttributes = a}) . _Default . _Map;---- | Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.-pTeam :: Lens' Player (Maybe Text)-pTeam = lens _pTeam (\ s a -> s{_pTeam = a});---- | Unique identifier for a player-pPlayerId :: Lens' Player (Maybe Text)-pPlayerId = lens _pPlayerId (\ s a -> s{_pPlayerId = a});---- | Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported. If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.-pLatencyInMs :: Lens' Player (HashMap Text Natural)-pLatencyInMs = lens _pLatencyInMs (\ s a -> s{_pLatencyInMs = a}) . _Default . _Map;--instance FromJSON Player where- parseJSON- = withObject "Player"- (\ x ->- Player' <$>- (x .:? "PlayerAttributes" .!= mempty) <*>- (x .:? "Team")- <*> (x .:? "PlayerId")- <*> (x .:? "LatencyInMs" .!= mempty))--instance Hashable Player where--instance NFData Player where--instance ToJSON Player where- toJSON Player'{..}- = object- (catMaybes- [("PlayerAttributes" .=) <$> _pPlayerAttributes,- ("Team" .=) <$> _pTeam,- ("PlayerId" .=) <$> _pPlayerId,- ("LatencyInMs" .=) <$> _pLatencyInMs])---- | Regional latency information for a player, used when requesting a new game session with 'StartGameSessionPlacement' . This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified region. The relative difference between a player's latency values for multiple regions are used to determine which fleets are best suited to place a new game session for the player.------------ /See:/ 'playerLatency' smart constructor.-data PlayerLatency = PlayerLatency'- { _plLatencyInMilliseconds :: !(Maybe Double)- , _plRegionIdentifier :: !(Maybe Text)- , _plPlayerId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PlayerLatency' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plLatencyInMilliseconds' - Amount of time that represents the time lag experienced by the player when connected to the specified region.------ * 'plRegionIdentifier' - Name of the region that is associated with the latency value.------ * 'plPlayerId' - Unique identifier for a player associated with the latency data.-playerLatency- :: PlayerLatency-playerLatency =- PlayerLatency'- { _plLatencyInMilliseconds = Nothing- , _plRegionIdentifier = Nothing- , _plPlayerId = Nothing- }----- | Amount of time that represents the time lag experienced by the player when connected to the specified region.-plLatencyInMilliseconds :: Lens' PlayerLatency (Maybe Double)-plLatencyInMilliseconds = lens _plLatencyInMilliseconds (\ s a -> s{_plLatencyInMilliseconds = a});---- | Name of the region that is associated with the latency value.-plRegionIdentifier :: Lens' PlayerLatency (Maybe Text)-plRegionIdentifier = lens _plRegionIdentifier (\ s a -> s{_plRegionIdentifier = a});---- | Unique identifier for a player associated with the latency data.-plPlayerId :: Lens' PlayerLatency (Maybe Text)-plPlayerId = lens _plPlayerId (\ s a -> s{_plPlayerId = a});--instance FromJSON PlayerLatency where- parseJSON- = withObject "PlayerLatency"- (\ x ->- PlayerLatency' <$>- (x .:? "LatencyInMilliseconds") <*>- (x .:? "RegionIdentifier")- <*> (x .:? "PlayerId"))--instance Hashable PlayerLatency where--instance NFData PlayerLatency where--instance ToJSON PlayerLatency where- toJSON PlayerLatency'{..}- = object- (catMaybes- [("LatencyInMilliseconds" .=) <$>- _plLatencyInMilliseconds,- ("RegionIdentifier" .=) <$> _plRegionIdentifier,- ("PlayerId" .=) <$> _plPlayerId])---- | Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.--------- Queue-related operations include:------ * 'CreateGameSessionQueue'------ * 'DescribeGameSessionQueues'------ * 'UpdateGameSessionQueue'------ * 'DeleteGameSessionQueue'--------------- /See:/ 'playerLatencyPolicy' smart constructor.-data PlayerLatencyPolicy = PlayerLatencyPolicy'- { _plpPolicyDurationSeconds :: !(Maybe Nat)- , _plpMaximumIndividualPlayerLatencyMilliseconds :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PlayerLatencyPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'plpPolicyDurationSeconds' - The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.------ * 'plpMaximumIndividualPlayerLatencyMilliseconds' - The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.-playerLatencyPolicy- :: PlayerLatencyPolicy-playerLatencyPolicy =- PlayerLatencyPolicy'- { _plpPolicyDurationSeconds = Nothing- , _plpMaximumIndividualPlayerLatencyMilliseconds = Nothing- }----- | The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.-plpPolicyDurationSeconds :: Lens' PlayerLatencyPolicy (Maybe Natural)-plpPolicyDurationSeconds = lens _plpPolicyDurationSeconds (\ s a -> s{_plpPolicyDurationSeconds = a}) . mapping _Nat;---- | The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.-plpMaximumIndividualPlayerLatencyMilliseconds :: Lens' PlayerLatencyPolicy (Maybe Natural)-plpMaximumIndividualPlayerLatencyMilliseconds = lens _plpMaximumIndividualPlayerLatencyMilliseconds (\ s a -> s{_plpMaximumIndividualPlayerLatencyMilliseconds = a}) . mapping _Nat;--instance FromJSON PlayerLatencyPolicy where- parseJSON- = withObject "PlayerLatencyPolicy"- (\ x ->- PlayerLatencyPolicy' <$>- (x .:? "PolicyDurationSeconds") <*>- (x .:? "MaximumIndividualPlayerLatencyMilliseconds"))--instance Hashable PlayerLatencyPolicy where--instance NFData PlayerLatencyPolicy where--instance ToJSON PlayerLatencyPolicy where- toJSON PlayerLatencyPolicy'{..}- = object- (catMaybes- [("PolicyDurationSeconds" .=) <$>- _plpPolicyDurationSeconds,- ("MaximumIndividualPlayerLatencyMilliseconds" .=) <$>- _plpMaximumIndividualPlayerLatencyMilliseconds])---- | Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status @RESERVED@ ) or actual player activity in a game session (status @ACTIVE@ ). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.--------- When a player disconnects, the player session status changes to @COMPLETED@ . Once the session ends, the player session object is retained for 30 days and then removed.------ Player-session-related operations include:------ * 'CreatePlayerSession'------ * 'CreatePlayerSessions'------ * 'DescribePlayerSessions'------ * Game session placements------ * 'StartGameSessionPlacement'------ * 'DescribeGameSessionPlacement'------ * 'StopGameSessionPlacement'--------------------- /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)- , _psPlayerData :: !(Maybe Text)- , _psPlayerId :: !(Maybe Text)- , _psPort :: !(Maybe Nat)- } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'psStatus' - Current status of the player session. Possible player session statuses include the following: * __RESERVED__ -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. * __ACTIVE__ -- The player has been validated by the server process 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 timeout limit (60 seconds).------ * 'psIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.------ * 'psGameSessionId' - Unique identifier for the game session that the player session is connected to.------ * 'psTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'psPlayerSessionId' - Unique identifier for a player session.------ * 'psFleetId' - Unique identifier for a fleet that the player's game session is running on.------ * 'psPlayerData' - Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.------ * 'psPlayerId' - Unique identifier for a player that is associated with this player session.------ * 'psPort' - Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.-playerSession- :: PlayerSession-playerSession =- PlayerSession'- { _psCreationTime = Nothing- , _psStatus = Nothing- , _psIPAddress = Nothing- , _psGameSessionId = Nothing- , _psTerminationTime = Nothing- , _psPlayerSessionId = Nothing- , _psFleetId = Nothing- , _psPlayerData = Nothing- , _psPlayerId = Nothing- , _psPort = Nothing- }----- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-psCreationTime :: Lens' PlayerSession (Maybe UTCTime)-psCreationTime = lens _psCreationTime (\ s a -> s{_psCreationTime = a}) . mapping _Time;---- | Current status of the player session. Possible player session statuses include the following: * __RESERVED__ -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. * __ACTIVE__ -- The player has been validated by the server process 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 timeout limit (60 seconds).-psStatus :: Lens' PlayerSession (Maybe PlayerSessionStatus)-psStatus = lens _psStatus (\ s a -> s{_psStatus = a});---- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.-psIPAddress :: Lens' PlayerSession (Maybe Text)-psIPAddress = lens _psIPAddress (\ s a -> s{_psIPAddress = a});---- | Unique identifier for the game session that the player session is connected to.-psGameSessionId :: Lens' PlayerSession (Maybe Text)-psGameSessionId = lens _psGameSessionId (\ s a -> s{_psGameSessionId = a});---- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-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 that the player's game session is running on.-psFleetId :: Lens' PlayerSession (Maybe Text)-psFleetId = lens _psFleetId (\ s a -> s{_psFleetId = a});---- | Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.-psPlayerData :: Lens' PlayerSession (Maybe Text)-psPlayerData = lens _psPlayerData (\ s a -> s{_psPlayerData = a});---- | Unique identifier for a player that is associated with this player session.-psPlayerId :: Lens' PlayerSession (Maybe Text)-psPlayerId = lens _psPlayerId (\ s a -> s{_psPlayerId = a});---- | Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.-psPort :: Lens' PlayerSession (Maybe Natural)-psPort = lens _psPort (\ s a -> s{_psPort = a}) . mapping _Nat;--instance FromJSON PlayerSession where- parseJSON- = withObject "PlayerSession"- (\ x ->- PlayerSession' <$>- (x .:? "CreationTime") <*> (x .:? "Status") <*>- (x .:? "IpAddress")- <*> (x .:? "GameSessionId")- <*> (x .:? "TerminationTime")- <*> (x .:? "PlayerSessionId")- <*> (x .:? "FleetId")- <*> (x .:? "PlayerData")- <*> (x .:? "PlayerId")- <*> (x .:? "Port"))--instance Hashable PlayerSession where--instance NFData PlayerSession where---- | Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: "An individual player can create a maximum number of new game sessions within a specified time period".--------- The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a @CreateGameSession@ request, Amazon GameLift checks that the player (identified by @CreatorId@ ) has created fewer than 10 game sessions in the past 60 minutes.--------- /See:/ 'resourceCreationLimitPolicy' smart constructor.-data ResourceCreationLimitPolicy = ResourceCreationLimitPolicy'- { _rclpNewGameSessionsPerCreator :: !(Maybe Nat)- , _rclpPolicyPeriodInMinutes :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ResourceCreationLimitPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rclpNewGameSessionsPerCreator' - Maximum number of game sessions that an individual can create during the policy period.------ * 'rclpPolicyPeriodInMinutes' - Time span used in evaluating the resource creation limit policy.-resourceCreationLimitPolicy- :: ResourceCreationLimitPolicy-resourceCreationLimitPolicy =- ResourceCreationLimitPolicy'- { _rclpNewGameSessionsPerCreator = Nothing- , _rclpPolicyPeriodInMinutes = Nothing- }----- | Maximum number of game sessions that an individual can create during the policy period.-rclpNewGameSessionsPerCreator :: Lens' ResourceCreationLimitPolicy (Maybe Natural)-rclpNewGameSessionsPerCreator = lens _rclpNewGameSessionsPerCreator (\ s a -> s{_rclpNewGameSessionsPerCreator = a}) . mapping _Nat;---- | Time span used in evaluating the resource creation limit policy.-rclpPolicyPeriodInMinutes :: Lens' ResourceCreationLimitPolicy (Maybe Natural)-rclpPolicyPeriodInMinutes = lens _rclpPolicyPeriodInMinutes (\ s a -> s{_rclpPolicyPeriodInMinutes = a}) . mapping _Nat;--instance FromJSON ResourceCreationLimitPolicy where- parseJSON- = withObject "ResourceCreationLimitPolicy"- (\ x ->- ResourceCreationLimitPolicy' <$>- (x .:? "NewGameSessionsPerCreator") <*>- (x .:? "PolicyPeriodInMinutes"))--instance Hashable ResourceCreationLimitPolicy where--instance NFData ResourceCreationLimitPolicy where--instance ToJSON ResourceCreationLimitPolicy where- toJSON ResourceCreationLimitPolicy'{..}- = object- (catMaybes- [("NewGameSessionsPerCreator" .=) <$>- _rclpNewGameSessionsPerCreator,- ("PolicyPeriodInMinutes" .=) <$>- _rclpPolicyPeriodInMinutes])---- | Routing configuration for a fleet alias.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /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' - Type of routing strategy. Possible routing types include the following: * __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.------ * 'rsMessage' - Message text to be used with a terminal routing strategy.------ * 'rsFleetId' - Unique identifier for a fleet that the alias points to.-routingStrategy- :: RoutingStrategy-routingStrategy =- RoutingStrategy'- {_rsType = Nothing, _rsMessage = Nothing, _rsFleetId = Nothing}----- | Type of routing strategy. Possible routing types include the following: * __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 that the alias points to.-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 where--instance NFData RoutingStrategy where--instance ToJSON RoutingStrategy where- toJSON RoutingStrategy'{..}- = object- (catMaybes- [("Type" .=) <$> _rsType,- ("Message" .=) <$> _rsMessage,- ("FleetId" .=) <$> _rsFleetId])---- | A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.--------- The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.------ A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the @ConcurrentExecutions@ parameter for each @'ServerProcess' @ object in the run-time configuration.------ Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /See:/ 'runtimeConfiguration' smart constructor.-data RuntimeConfiguration = RuntimeConfiguration'- { _rcGameSessionActivationTimeoutSeconds :: !(Maybe Nat)- , _rcServerProcesses :: !(Maybe (List1 ServerProcess))- , _rcMaxConcurrentGameSessionActivations :: !(Maybe Nat)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RuntimeConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcGameSessionActivationTimeoutSeconds' - Maximum amount of time (in seconds) that a game session can remain in status @ACTIVATING@ . If the game session is not active before the timeout, activation is terminated and the game session status is changed to @TERMINATED@ .------ * 'rcServerProcesses' - Collection of server process configurations that describe which server processes to run on each instance in a fleet.------ * 'rcMaxConcurrentGameSessionActivations' - Maximum number of game sessions with status @ACTIVATING@ to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.-runtimeConfiguration- :: RuntimeConfiguration-runtimeConfiguration =- RuntimeConfiguration'- { _rcGameSessionActivationTimeoutSeconds = Nothing- , _rcServerProcesses = Nothing- , _rcMaxConcurrentGameSessionActivations = Nothing- }----- | Maximum amount of time (in seconds) that a game session can remain in status @ACTIVATING@ . If the game session is not active before the timeout, activation is terminated and the game session status is changed to @TERMINATED@ .-rcGameSessionActivationTimeoutSeconds :: Lens' RuntimeConfiguration (Maybe Natural)-rcGameSessionActivationTimeoutSeconds = lens _rcGameSessionActivationTimeoutSeconds (\ s a -> s{_rcGameSessionActivationTimeoutSeconds = a}) . mapping _Nat;---- | Collection of server process configurations that describe which server processes to run on each instance in a fleet.-rcServerProcesses :: Lens' RuntimeConfiguration (Maybe (NonEmpty ServerProcess))-rcServerProcesses = lens _rcServerProcesses (\ s a -> s{_rcServerProcesses = a}) . mapping _List1;---- | Maximum number of game sessions with status @ACTIVATING@ to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.-rcMaxConcurrentGameSessionActivations :: Lens' RuntimeConfiguration (Maybe Natural)-rcMaxConcurrentGameSessionActivations = lens _rcMaxConcurrentGameSessionActivations (\ s a -> s{_rcMaxConcurrentGameSessionActivations = a}) . mapping _Nat;--instance FromJSON RuntimeConfiguration where- parseJSON- = withObject "RuntimeConfiguration"- (\ x ->- RuntimeConfiguration' <$>- (x .:? "GameSessionActivationTimeoutSeconds") <*>- (x .:? "ServerProcesses")- <*> (x .:? "MaxConcurrentGameSessionActivations"))--instance Hashable RuntimeConfiguration where--instance NFData RuntimeConfiguration where--instance ToJSON RuntimeConfiguration where- toJSON RuntimeConfiguration'{..}- = object- (catMaybes- [("GameSessionActivationTimeoutSeconds" .=) <$>- _rcGameSessionActivationTimeoutSeconds,- ("ServerProcesses" .=) <$> _rcServerProcesses,- ("MaxConcurrentGameSessionActivations" .=) <$>- _rcMaxConcurrentGameSessionActivations])---- | Location in Amazon Simple Storage Service (Amazon S3) where build files can be stored for access by Amazon GameLift. This location is specified in a 'CreateBuild' request. For more details, see the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build Create a Build with Files in Amazon S3> .------------ /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' - Amazon S3 bucket identifier. This is the name of your S3 bucket.------ * 'slKey' - Name of the zip file containing your build files.------ * 'slRoleARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) for the access role that allows Amazon GameLift to access your S3 bucket.-s3Location- :: S3Location-s3Location =- S3Location' {_slBucket = Nothing, _slKey = Nothing, _slRoleARN = Nothing}----- | Amazon S3 bucket identifier. This is the name of your S3 bucket.-slBucket :: Lens' S3Location (Maybe Text)-slBucket = lens _slBucket (\ s a -> s{_slBucket = a});---- | Name of the zip file containing your build files.-slKey :: Lens' S3Location (Maybe Text)-slKey = lens _slKey (\ s a -> s{_slKey = a});---- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) for the access role that allows Amazon GameLift to access your S3 bucket.-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 where--instance NFData S3Location where--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.--------- Fleet-related operations include:------ * 'CreateFleet'------ * 'ListFleets'------ * Describe fleets:------ * 'DescribeFleetAttributes'------ * 'DescribeFleetPortSettings'------ * 'DescribeFleetUtilization'------ * 'DescribeRuntimeConfiguration'------ * 'DescribeFleetEvents'------------ * Update fleets:------ * 'UpdateFleetAttributes'------ * 'UpdateFleetCapacity'------ * 'UpdateFleetPortSettings'------ * 'UpdateRuntimeConfiguration'------------ * Manage fleet capacity:------ * 'DescribeFleetCapacity'------ * 'UpdateFleetCapacity'------ * 'PutScalingPolicy' (automatic scaling)------ * 'DescribeScalingPolicies' (automatic scaling)------ * 'DeleteScalingPolicy' (automatic scaling)------ * 'DescribeEC2InstanceLimits'------------ * 'DeleteFleet'--------------- /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' - Current status of the scaling policy. The scaling policy is only in force when in an @ACTIVE@ status. * __ACTIVE__ -- The scaling policy is currently in force. * __UPDATE_REQUESTED__ -- A request to update the scaling policy has been received. * __UPDATING__ -- A change is being made to the scaling policy. * __DELETE_REQUESTED__ -- 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.------ * 'spScalingAdjustmentType' - 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.------ * 'spEvaluationPeriods' - Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.------ * 'spMetricName' - Name of the Amazon 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.------ * 'spComparisonOperator' - Comparison operator to use when measuring a metric against the threshold value.------ * 'spName' - Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.------ * 'spThreshold' - Metric value used to trigger a scaling event.------ * 'spScalingAdjustment' - Amount of adjustment to make, based on the scaling adjustment type.------ * 'spFleetId' - Unique identifier for a fleet that is associated with this scaling policy.-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@ status. * __ACTIVE__ -- The scaling policy is currently in force. * __UPDATE_REQUESTED__ -- A request to update the scaling policy has been received. * __UPDATING__ -- A change is being made to the scaling policy. * __DELETE_REQUESTED__ -- 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 Amazon 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 that is associated with a 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 identifier for a fleet that is 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 where--instance NFData ScalingPolicy where---- | A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's @'RuntimeConfiguration' @ .------------ /See:/ 'serverProcess' smart constructor.-data ServerProcess = ServerProcess'- { _spParameters :: !(Maybe Text)- , _spLaunchPath :: !Text- , _spConcurrentExecutions :: !Nat- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ServerProcess' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spParameters' - Optional list of parameters to pass to the server executable on launch.------ * 'spLaunchPath' - Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances @C:\game@ , and for Linux instances @/local/game@ . A Windows game build with an executable file located at @MyGame\latest\server.exe@ must have a launch path of "@C:\game\MyGame\latest\server.exe@ ". A Linux game build with an executable file located at @MyGame/latest/server.exe@ must have a launch path of "@/local/game/MyGame/latest/server.exe@ ".------ * 'spConcurrentExecutions' - Number of server processes using this configuration to run concurrently on an instance.-serverProcess- :: Text -- ^ 'spLaunchPath'- -> Natural -- ^ 'spConcurrentExecutions'- -> ServerProcess-serverProcess pLaunchPath_ pConcurrentExecutions_ =- ServerProcess'- { _spParameters = Nothing- , _spLaunchPath = pLaunchPath_- , _spConcurrentExecutions = _Nat # pConcurrentExecutions_- }----- | Optional list of parameters to pass to the server executable on launch.-spParameters :: Lens' ServerProcess (Maybe Text)-spParameters = lens _spParameters (\ s a -> s{_spParameters = a});---- | Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances @C:\game@ , and for Linux instances @/local/game@ . A Windows game build with an executable file located at @MyGame\latest\server.exe@ must have a launch path of "@C:\game\MyGame\latest\server.exe@ ". A Linux game build with an executable file located at @MyGame/latest/server.exe@ must have a launch path of "@/local/game/MyGame/latest/server.exe@ ".-spLaunchPath :: Lens' ServerProcess Text-spLaunchPath = lens _spLaunchPath (\ s a -> s{_spLaunchPath = a});---- | Number of server processes using this configuration to run concurrently on an instance.-spConcurrentExecutions :: Lens' ServerProcess Natural-spConcurrentExecutions = lens _spConcurrentExecutions (\ s a -> s{_spConcurrentExecutions = a}) . _Nat;--instance FromJSON ServerProcess where- parseJSON- = withObject "ServerProcess"- (\ x ->- ServerProcess' <$>- (x .:? "Parameters") <*> (x .: "LaunchPath") <*>- (x .: "ConcurrentExecutions"))--instance Hashable ServerProcess where--instance NFData ServerProcess where--instance ToJSON ServerProcess where- toJSON ServerProcess'{..}- = object- (catMaybes- [("Parameters" .=) <$> _spParameters,- Just ("LaunchPath" .= _spLaunchPath),- Just- ("ConcurrentExecutions" .= _spConcurrentExecutions)])---- | Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.--------- VPC peering connection operations include:------ * 'CreateVpcPeeringAuthorization'------ * 'DescribeVpcPeeringAuthorizations'------ * 'DeleteVpcPeeringAuthorization'------ * 'CreateVpcPeeringConnection'------ * 'DescribeVpcPeeringConnections'------ * 'DeleteVpcPeeringConnection'--------------- /See:/ 'vpcPeeringAuthorization' smart constructor.-data VPCPeeringAuthorization = VPCPeeringAuthorization'- { _vpaCreationTime :: !(Maybe POSIX)- , _vpaPeerVPCId :: !(Maybe Text)- , _vpaPeerVPCAWSAccountId :: !(Maybe Text)- , _vpaGameLiftAWSAccountId :: !(Maybe Text)- , _vpaExpirationTime :: !(Maybe POSIX)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VPCPeeringAuthorization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpaCreationTime' - Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").------ * 'vpaPeerVPCId' - Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.------ * 'vpaPeerVPCAWSAccountId' ------- * 'vpaGameLiftAWSAccountId' - Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.------ * 'vpaExpirationTime' - Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-vpcPeeringAuthorization- :: VPCPeeringAuthorization-vpcPeeringAuthorization =- VPCPeeringAuthorization'- { _vpaCreationTime = Nothing- , _vpaPeerVPCId = Nothing- , _vpaPeerVPCAWSAccountId = Nothing- , _vpaGameLiftAWSAccountId = Nothing- , _vpaExpirationTime = Nothing- }----- | Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-vpaCreationTime :: Lens' VPCPeeringAuthorization (Maybe UTCTime)-vpaCreationTime = lens _vpaCreationTime (\ s a -> s{_vpaCreationTime = a}) . mapping _Time;---- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.-vpaPeerVPCId :: Lens' VPCPeeringAuthorization (Maybe Text)-vpaPeerVPCId = lens _vpaPeerVPCId (\ s a -> s{_vpaPeerVPCId = a});---- |-vpaPeerVPCAWSAccountId :: Lens' VPCPeeringAuthorization (Maybe Text)-vpaPeerVPCAWSAccountId = lens _vpaPeerVPCAWSAccountId (\ s a -> s{_vpaPeerVPCAWSAccountId = a});---- | Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.-vpaGameLiftAWSAccountId :: Lens' VPCPeeringAuthorization (Maybe Text)-vpaGameLiftAWSAccountId = lens _vpaGameLiftAWSAccountId (\ s a -> s{_vpaGameLiftAWSAccountId = a});---- | Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").-vpaExpirationTime :: Lens' VPCPeeringAuthorization (Maybe UTCTime)-vpaExpirationTime = lens _vpaExpirationTime (\ s a -> s{_vpaExpirationTime = a}) . mapping _Time;--instance FromJSON VPCPeeringAuthorization where- parseJSON- = withObject "VPCPeeringAuthorization"- (\ x ->- VPCPeeringAuthorization' <$>- (x .:? "CreationTime") <*> (x .:? "PeerVpcId") <*>- (x .:? "PeerVpcAwsAccountId")- <*> (x .:? "GameLiftAwsAccountId")- <*> (x .:? "ExpirationTime"))--instance Hashable VPCPeeringAuthorization where--instance NFData VPCPeeringAuthorization where---- | Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.--------- VPC peering connection operations include:------ * 'CreateVpcPeeringAuthorization'------ * 'DescribeVpcPeeringAuthorizations'------ * 'DeleteVpcPeeringAuthorization'------ * 'CreateVpcPeeringConnection'------ * 'DescribeVpcPeeringConnections'------ * 'DeleteVpcPeeringConnection'--------------- /See:/ 'vpcPeeringConnection' smart constructor.-data VPCPeeringConnection = VPCPeeringConnection'- { _vpcVPCPeeringConnectionId :: !(Maybe Text)- , _vpcStatus :: !(Maybe VPCPeeringConnectionStatus)- , _vpcPeerVPCId :: !(Maybe Text)- , _vpcIPV4CidrBlock :: !(Maybe Text)- , _vpcGameLiftVPCId :: !(Maybe Text)- , _vpcFleetId :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VPCPeeringConnection' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcVPCPeeringConnectionId' - Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with 'DeleteVpcPeeringConnection' .------ * 'vpcStatus' - Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.------ * 'vpcPeerVPCId' - Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.------ * 'vpcIPV4CidrBlock' - CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.------ * 'vpcGameLiftVPCId' - Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.------ * 'vpcFleetId' - Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.-vpcPeeringConnection- :: VPCPeeringConnection-vpcPeeringConnection =- VPCPeeringConnection'- { _vpcVPCPeeringConnectionId = Nothing- , _vpcStatus = Nothing- , _vpcPeerVPCId = Nothing- , _vpcIPV4CidrBlock = Nothing- , _vpcGameLiftVPCId = Nothing- , _vpcFleetId = Nothing- }----- | Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with 'DeleteVpcPeeringConnection' .-vpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)-vpcVPCPeeringConnectionId = lens _vpcVPCPeeringConnectionId (\ s a -> s{_vpcVPCPeeringConnectionId = a});---- | Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.-vpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStatus)-vpcStatus = lens _vpcStatus (\ s a -> s{_vpcStatus = a});---- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.-vpcPeerVPCId :: Lens' VPCPeeringConnection (Maybe Text)-vpcPeerVPCId = lens _vpcPeerVPCId (\ s a -> s{_vpcPeerVPCId = a});---- | CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.-vpcIPV4CidrBlock :: Lens' VPCPeeringConnection (Maybe Text)-vpcIPV4CidrBlock = lens _vpcIPV4CidrBlock (\ s a -> s{_vpcIPV4CidrBlock = a});---- | Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.-vpcGameLiftVPCId :: Lens' VPCPeeringConnection (Maybe Text)-vpcGameLiftVPCId = lens _vpcGameLiftVPCId (\ s a -> s{_vpcGameLiftVPCId = a});---- | Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.-vpcFleetId :: Lens' VPCPeeringConnection (Maybe Text)-vpcFleetId = lens _vpcFleetId (\ s a -> s{_vpcFleetId = a});--instance FromJSON VPCPeeringConnection where- parseJSON- = withObject "VPCPeeringConnection"- (\ x ->- VPCPeeringConnection' <$>- (x .:? "VpcPeeringConnectionId") <*> (x .:? "Status")- <*> (x .:? "PeerVpcId")- <*> (x .:? "IpV4CidrBlock")- <*> (x .:? "GameLiftVpcId")- <*> (x .:? "FleetId"))--instance Hashable VPCPeeringConnection where--instance NFData VPCPeeringConnection where---- | Represents status information for a VPC peering connection. Status is associated with a 'VpcPeeringConnection' object. Status codes and messages are provided from EC2 (<http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html ).> Connection status information is also communicated as a fleet 'Event' .------------ /See:/ 'vpcPeeringConnectionStatus' smart constructor.-data VPCPeeringConnectionStatus = VPCPeeringConnectionStatus'- { _vpcsCode :: !(Maybe Text)- , _vpcsMessage :: !(Maybe Text)- } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VPCPeeringConnectionStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vpcsCode' - Code indicating the status of a VPC peering connection.------ * 'vpcsMessage' - Additional messaging associated with the connection status.-vpcPeeringConnectionStatus- :: VPCPeeringConnectionStatus-vpcPeeringConnectionStatus =- VPCPeeringConnectionStatus' {_vpcsCode = Nothing, _vpcsMessage = Nothing}----- | Code indicating the status of a VPC peering connection.-vpcsCode :: Lens' VPCPeeringConnectionStatus (Maybe Text)-vpcsCode = lens _vpcsCode (\ s a -> s{_vpcsCode = a});---- | Additional messaging associated with the connection status.-vpcsMessage :: Lens' VPCPeeringConnectionStatus (Maybe Text)-vpcsMessage = lens _vpcsMessage (\ s a -> s{_vpcsMessage = a});+-- Copyright : (c) 2013-2018 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@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++-- | Temporary access credentials used for uploading game build files to Amazon GameLift. They 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, 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' - Temporary secret key allowing access to the Amazon GameLift S3 account.+--+-- * 'acSessionToken' - Token used to associate a specific build ID with the files uploaded using these credentials.+--+-- * 'acAccessKeyId' - Temporary key allowing access to the Amazon GameLift S3 account.+awsCredentials+ :: AWSCredentials+awsCredentials =+ AWSCredentials'+ { _acSecretAccessKey = Nothing+ , _acSessionToken = Nothing+ , _acAccessKeyId = Nothing+ }+++-- | Temporary secret key allowing access to the Amazon GameLift S3 account.+acSecretAccessKey :: Lens' AWSCredentials (Maybe Text)+acSecretAccessKey = lens _acSecretAccessKey (\ s a -> s{_acSecretAccessKey = a})++-- | Token used to associate a specific build ID with the files uploaded using these credentials.+acSessionToken :: Lens' AWSCredentials (Maybe Text)+acSessionToken = lens _acSessionToken (\ s a -> s{_acSessionToken = a})++-- | Temporary key allowing access to the Amazon GameLift S3 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 where++instance NFData AWSCredentials where++-- | Properties describing a fleet alias.+--+--+-- Alias-related operations include:+--+-- * 'CreateAlias'+--+-- * 'ListAliases'+--+-- * 'DescribeAlias'+--+-- * 'UpdateAlias'+--+-- * 'DeleteAlias'+--+-- * 'ResolveAlias'+--+--+--+--+-- /See:/ 'alias' smart constructor.+data Alias = Alias'+ { _aCreationTime :: !(Maybe POSIX)+ , _aLastUpdatedTime :: !(Maybe POSIX)+ , _aAliasId :: !(Maybe Text)+ , _aRoutingStrategy :: !(Maybe RoutingStrategy)+ , _aName :: !(Maybe Text)+ , _aAliasARN :: !(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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'aLastUpdatedTime' - Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'aAliasId' - Unique identifier for an alias; alias IDs are unique within a region.+--+-- * 'aRoutingStrategy' - Alias configuration for the alias, including routing type and settings.+--+-- * 'aName' - Descriptive label that is associated with an alias. Alias names do not need to be unique.+--+-- * 'aAliasARN' - Unique identifier for an alias; alias ARNs are unique across all regions.+--+-- * 'aDescription' - Human-readable description of an alias.+alias+ :: Alias+alias =+ Alias'+ { _aCreationTime = Nothing+ , _aLastUpdatedTime = Nothing+ , _aAliasId = Nothing+ , _aRoutingStrategy = Nothing+ , _aName = Nothing+ , _aAliasARN = Nothing+ , _aDescription = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+aCreationTime :: Lens' Alias (Maybe UTCTime)+aCreationTime = lens _aCreationTime (\ s a -> s{_aCreationTime = a}) . mapping _Time++-- | Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+aLastUpdatedTime :: Lens' Alias (Maybe UTCTime)+aLastUpdatedTime = lens _aLastUpdatedTime (\ s a -> s{_aLastUpdatedTime = a}) . mapping _Time++-- | Unique identifier for an alias; alias IDs are unique within a region.+aAliasId :: Lens' Alias (Maybe Text)+aAliasId = lens _aAliasId (\ s a -> s{_aAliasId = a})++-- | Alias configuration for the alias, including routing type and settings.+aRoutingStrategy :: Lens' Alias (Maybe RoutingStrategy)+aRoutingStrategy = lens _aRoutingStrategy (\ s a -> s{_aRoutingStrategy = a})++-- | Descriptive label that is associated with an alias. Alias names do not need to be unique.+aName :: Lens' Alias (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a})++-- | Unique identifier for an alias; alias ARNs are unique across all regions.+aAliasARN :: Lens' Alias (Maybe Text)+aAliasARN = lens _aAliasARN (\ s a -> s{_aAliasARN = a})++-- | Human-readable description of an 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 .:? "AliasArn")+ <*> (x .:? "Description"))++instance Hashable Alias where++instance NFData Alias where++-- | Values for use in 'Player' attribute key:value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array or data map. Each @AttributeValue@ object can use only one of the available properties.+--+--+--+-- /See:/ 'attributeValue' smart constructor.+data AttributeValue = AttributeValue'+ { _avSL :: !(Maybe [Text])+ , _avSDM :: !(Maybe (Map Text Double))+ , _avN :: !(Maybe Double)+ , _avS :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AttributeValue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'avSL' - For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.+--+-- * 'avSDM' - For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters.+--+-- * 'avN' - For number values, expressed as double.+--+-- * 'avS' - For single string values. Maximum string length is 100 characters.+attributeValue+ :: AttributeValue+attributeValue =+ AttributeValue'+ {_avSL = Nothing, _avSDM = Nothing, _avN = Nothing, _avS = Nothing}+++-- | For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.+avSL :: Lens' AttributeValue [Text]+avSL = lens _avSL (\ s a -> s{_avSL = a}) . _Default . _Coerce++-- | For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters.+avSDM :: Lens' AttributeValue (HashMap Text Double)+avSDM = lens _avSDM (\ s a -> s{_avSDM = a}) . _Default . _Map++-- | For number values, expressed as double.+avN :: Lens' AttributeValue (Maybe Double)+avN = lens _avN (\ s a -> s{_avN = a})++-- | For single string values. Maximum string length is 100 characters.+avS :: Lens' AttributeValue (Maybe Text)+avS = lens _avS (\ s a -> s{_avS = a})++instance FromJSON AttributeValue where+ parseJSON+ = withObject "AttributeValue"+ (\ x ->+ AttributeValue' <$>+ (x .:? "SL" .!= mempty) <*> (x .:? "SDM" .!= mempty)+ <*> (x .:? "N")+ <*> (x .:? "S"))++instance Hashable AttributeValue where++instance NFData AttributeValue where++instance ToJSON AttributeValue where+ toJSON AttributeValue'{..}+ = object+ (catMaybes+ [("SL" .=) <$> _avSL, ("SDM" .=) <$> _avSDM,+ ("N" .=) <$> _avN, ("S" .=) <$> _avS])++-- | Properties describing a game build.+--+--+-- Build-related operations include:+--+-- * 'CreateBuild'+--+-- * 'ListBuilds'+--+-- * 'DescribeBuild'+--+-- * 'UpdateBuild'+--+-- * 'DeleteBuild'+--+--+--+--+-- /See:/ 'build' smart constructor.+data Build = Build'+ { _bCreationTime :: !(Maybe POSIX)+ , _bStatus :: !(Maybe BuildStatus)+ , _bOperatingSystem :: !(Maybe OperatingSystem)+ , _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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'bStatus' - Current status of the build. Possible build statuses include the following: * __INITIALIZED__ -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status 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.+--+-- * 'bOperatingSystem' - Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.+--+-- * 'bBuildId' - Unique identifier for a build.+--+-- * 'bName' - Descriptive label that is associated with a build. Build names do not need to be unique. It can be set using 'CreateBuild' or 'UpdateBuild' .+--+-- * 'bVersion' - Version that is associated with this build. Version strings do not need to be unique. This value can be set using 'CreateBuild' or 'UpdateBuild' .+--+-- * 'bSizeOnDisk' - File size of the uploaded game build, expressed in bytes. When the build status is @INITIALIZED@ , this value is 0.+build+ :: Build+build =+ Build'+ { _bCreationTime = Nothing+ , _bStatus = Nothing+ , _bOperatingSystem = Nothing+ , _bBuildId = Nothing+ , _bName = Nothing+ , _bVersion = Nothing+ , _bSizeOnDisk = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+bCreationTime :: Lens' Build (Maybe UTCTime)+bCreationTime = lens _bCreationTime (\ s a -> s{_bCreationTime = a}) . mapping _Time++-- | Current status of the build. Possible build statuses include the following: * __INITIALIZED__ -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status 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})++-- | Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.+bOperatingSystem :: Lens' Build (Maybe OperatingSystem)+bOperatingSystem = lens _bOperatingSystem (\ s a -> s{_bOperatingSystem = a})++-- | Unique identifier for a build.+bBuildId :: Lens' Build (Maybe Text)+bBuildId = lens _bBuildId (\ s a -> s{_bBuildId = a})++-- | Descriptive label that is associated with a 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 that is associated with this build. Version strings do not need to be unique. 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 status 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 .:? "OperatingSystem")+ <*> (x .:? "BuildId")+ <*> (x .:? "Name")+ <*> (x .:? "Version")+ <*> (x .:? "SizeOnDisk"))++instance Hashable Build where++instance NFData Build where++-- | Player information for use when creating player sessions using a game session placement request with 'StartGameSessionPlacement' .+--+--+--+-- /See:/ 'desiredPlayerSession' smart constructor.+data DesiredPlayerSession = DesiredPlayerSession'+ { _dpsPlayerData :: !(Maybe Text)+ , _dpsPlayerId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DesiredPlayerSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dpsPlayerData' - Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.+--+-- * 'dpsPlayerId' - Unique identifier for a player to associate with the player session.+desiredPlayerSession+ :: DesiredPlayerSession+desiredPlayerSession =+ DesiredPlayerSession' {_dpsPlayerData = Nothing, _dpsPlayerId = Nothing}+++-- | Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.+dpsPlayerData :: Lens' DesiredPlayerSession (Maybe Text)+dpsPlayerData = lens _dpsPlayerData (\ s a -> s{_dpsPlayerData = a})++-- | Unique identifier for a player to associate with the player session.+dpsPlayerId :: Lens' DesiredPlayerSession (Maybe Text)+dpsPlayerId = lens _dpsPlayerId (\ s a -> s{_dpsPlayerId = a})++instance Hashable DesiredPlayerSession where++instance NFData DesiredPlayerSession where++instance ToJSON DesiredPlayerSession where+ toJSON DesiredPlayerSession'{..}+ = object+ (catMaybes+ [("PlayerData" .=) <$> _dpsPlayerData,+ ("PlayerId" .=) <$> _dpsPlayerId])++-- | 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.+--+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /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' - Number of active instances in the fleet that are not currently hosting a game session.+--+-- * 'eicTERMINATING' - Number of instances in the fleet that are no longer active but haven't yet been terminated.+--+-- * 'eicPENDING' - Number of instances in the fleet that are starting but not yet active.+--+-- * 'eicMAXIMUM' - Maximum value allowed for the fleet's instance count.+--+-- * 'eicDESIRED' - Ideal number of active instances in the fleet.+--+-- * 'eicMINIMUM' - Minimum value allowed for the fleet's instance count.+--+-- * 'eicACTIVE' - Actual number of active instances in the fleet.+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 where++instance NFData EC2InstanceCounts where++-- | 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' - Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+--+-- * 'eilCurrentInstances' - Number of instances of the specified type that are currently in use by this AWS account.+--+-- * 'eilInstanceLimit' - Number of instances allowed.+ec2InstanceLimit+ :: EC2InstanceLimit+ec2InstanceLimit =+ EC2InstanceLimit'+ { _eilEC2InstanceType = Nothing+ , _eilCurrentInstances = Nothing+ , _eilInstanceLimit = Nothing+ }+++-- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+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 where++instance NFData EC2InstanceLimit where++-- | Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.+--+--+--+-- /See:/ 'event' smart constructor.+data Event = Event'+ { _eResourceId :: !(Maybe Text)+ , _ePreSignedLogURL :: !(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' - Unique identifier for an event resource, such as a fleet ID.+--+-- * 'ePreSignedLogURL' - Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.+--+-- * 'eEventTime' - Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'eMessage' - Additional information related to the event.+--+-- * 'eEventCode' - Type of event being logged. The following events are currently in use: __Fleet creation events:__ * FLEET_CREATED -- A fleet record was successfully created with a status of @NEW@ . Event messaging includes the fleet ID. * FLEET_STATE_DOWNLOADING -- Fleet status changed from @NEW@ to @DOWNLOADING@ . The compressed build has started downloading to a fleet instance for installation. * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance. * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to @ACTIVE@ status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_STATE_VALIDATING -- Fleet status changed from @DOWNLOADING@ to @VALIDATING@ . * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance. * FLEET_STATE_BUILDING -- Fleet status changed from @VALIDATING@ to @BUILDING@ . * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance. * FLEET_STATE_ACTIVATING -- Fleet status changed from @BUILDING@ to @ACTIVATING@ . * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting "process ready" to the Amazon GameLift service. * FLEET_STATE_ACTIVE -- The fleet's status changed from @ACTIVATING@ to @ACTIVE@ . The fleet is now ready to host game sessions. __VPC peering events:__ * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see 'DescribeVpcPeeringConnections' ) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see <http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html> * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted. __Spot instance events:__ * INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification. __Other fleet events:__ * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings. * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting. * FLEET_DELETED -- A request to delete a fleet was initiated. * GENERIC_EVENT -- An unspecified event has occurred.+--+-- * 'eEventId' - Unique identifier for a fleet event.+event+ :: Event+event =+ Event'+ { _eResourceId = Nothing+ , _ePreSignedLogURL = Nothing+ , _eEventTime = Nothing+ , _eMessage = Nothing+ , _eEventCode = Nothing+ , _eEventId = Nothing+ }+++-- | Unique identifier for an event resource, such as a fleet ID.+eResourceId :: Lens' Event (Maybe Text)+eResourceId = lens _eResourceId (\ s a -> s{_eResourceId = a})++-- | Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.+ePreSignedLogURL :: Lens' Event (Maybe Text)+ePreSignedLogURL = lens _ePreSignedLogURL (\ s a -> s{_ePreSignedLogURL = a})++-- | Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+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. The following events are currently in use: __Fleet creation events:__ * FLEET_CREATED -- A fleet record was successfully created with a status of @NEW@ . Event messaging includes the fleet ID. * FLEET_STATE_DOWNLOADING -- Fleet status changed from @NEW@ to @DOWNLOADING@ . The compressed build has started downloading to a fleet instance for installation. * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance. * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to @ACTIVE@ status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to @ACTIVE@ status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in /PreSignedLogUrl/ . * FLEET_STATE_VALIDATING -- Fleet status changed from @DOWNLOADING@ to @VALIDATING@ . * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance. * FLEET_STATE_BUILDING -- Fleet status changed from @VALIDATING@ to @BUILDING@ . * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance. * FLEET_STATE_ACTIVATING -- Fleet status changed from @BUILDING@ to @ACTIVATING@ . * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting "process ready" to the Amazon GameLift service. * FLEET_STATE_ACTIVE -- The fleet's status changed from @ACTIVATING@ to @ACTIVE@ . The fleet is now ready to host game sessions. __VPC peering events:__ * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account. * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see 'DescribeVpcPeeringConnections' ) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see <http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html> * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted. __Spot instance events:__ * INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification. __Other fleet events:__ * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings. * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting. * FLEET_DELETED -- A request to delete a fleet was initiated. * GENERIC_EVENT -- An unspecified event has occurred.+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 .:? "PreSignedLogUrl")+ <*> (x .:? "EventTime")+ <*> (x .:? "Message")+ <*> (x .:? "EventCode")+ <*> (x .:? "EventId"))++instance Hashable Event where++instance NFData Event where++-- | General properties describing a fleet.+--+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /See:/ 'fleetAttributes' smart constructor.+data FleetAttributes = FleetAttributes'+ { _faCreationTime :: !(Maybe POSIX)+ , _faStatus :: !(Maybe FleetStatus)+ , _faServerLaunchParameters :: !(Maybe Text)+ , _faLogPaths :: !(Maybe [Text])+ , _faOperatingSystem :: !(Maybe OperatingSystem)+ , _faBuildId :: !(Maybe Text)+ , _faFleetARN :: !(Maybe Text)+ , _faFleetType :: !(Maybe FleetType)+ , _faTerminationTime :: !(Maybe POSIX)+ , _faInstanceType :: !(Maybe EC2InstanceType)+ , _faStoppedActions :: !(Maybe (List1 FleetAction))+ , _faNewGameSessionProtectionPolicy :: !(Maybe ProtectionPolicy)+ , _faName :: !(Maybe Text)+ , _faServerLaunchPath :: !(Maybe Text)+ , _faMetricGroups :: !(Maybe [Text])+ , _faFleetId :: !(Maybe Text)+ , _faDescription :: !(Maybe Text)+ , _faResourceCreationLimitPolicy :: !(Maybe ResourceCreationLimitPolicy)+ } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'faStatus' - Current status of the fleet. Possible fleet statuses include the following: * __NEW__ -- A new fleet has been defined and desired instances is set to 1. * __DOWNLOADING/VALIDATING/BUILDING/ACTIVATING__ -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes. * __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.+--+-- * 'faServerLaunchParameters' - Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .+--+-- * 'faLogPaths' - Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code Amazon GameLift Developer Guide> . If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at @C:\game\logs@ (for Windows) or @/local/game/logs@ (for Linux). Use the Amazon GameLift console to access stored logs.+--+-- * 'faOperatingSystem' - Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.+--+-- * 'faBuildId' - Unique identifier for a build.+--+-- * 'faFleetARN' - Identifier for a fleet that is unique across all regions.+--+-- * 'faFleetType' - Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.+--+-- * 'faTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'faInstanceType' - EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+--+-- * 'faStoppedActions' - List of fleet actions that have been suspended using 'StopFleetActions' . This includes auto-scaling.+--+-- * 'faNewGameSessionProtectionPolicy' - 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.+--+-- * 'faName' - Descriptive label that is associated with a fleet. Fleet names do not need to be unique.+--+-- * 'faServerLaunchPath' - Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .+--+-- * 'faMetricGroups' - Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.+--+-- * 'faFleetId' - Unique identifier for a fleet.+--+-- * 'faDescription' - Human-readable description of the fleet.+--+-- * 'faResourceCreationLimitPolicy' - Fleet policy to limit the number of game sessions an individual player can create over a span of time.+fleetAttributes+ :: FleetAttributes+fleetAttributes =+ FleetAttributes'+ { _faCreationTime = Nothing+ , _faStatus = Nothing+ , _faServerLaunchParameters = Nothing+ , _faLogPaths = Nothing+ , _faOperatingSystem = Nothing+ , _faBuildId = Nothing+ , _faFleetARN = Nothing+ , _faFleetType = Nothing+ , _faTerminationTime = Nothing+ , _faInstanceType = Nothing+ , _faStoppedActions = Nothing+ , _faNewGameSessionProtectionPolicy = Nothing+ , _faName = Nothing+ , _faServerLaunchPath = Nothing+ , _faMetricGroups = Nothing+ , _faFleetId = Nothing+ , _faDescription = Nothing+ , _faResourceCreationLimitPolicy = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+faCreationTime :: Lens' FleetAttributes (Maybe UTCTime)+faCreationTime = lens _faCreationTime (\ s a -> s{_faCreationTime = a}) . mapping _Time++-- | Current status of the fleet. Possible fleet statuses include the following: * __NEW__ -- A new fleet has been defined and desired instances is set to 1. * __DOWNLOADING/VALIDATING/BUILDING/ACTIVATING__ -- Amazon GameLift is setting up the new fleet, creating new instances with the game build and starting server processes. * __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})++-- | Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .+faServerLaunchParameters :: Lens' FleetAttributes (Maybe Text)+faServerLaunchParameters = lens _faServerLaunchParameters (\ s a -> s{_faServerLaunchParameters = a})++-- | Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code Amazon GameLift Developer Guide> . If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at @C:\game\logs@ (for Windows) or @/local/game/logs@ (for Linux). Use the Amazon GameLift console to access stored logs.+faLogPaths :: Lens' FleetAttributes [Text]+faLogPaths = lens _faLogPaths (\ s a -> s{_faLogPaths = a}) . _Default . _Coerce++-- | Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.+faOperatingSystem :: Lens' FleetAttributes (Maybe OperatingSystem)+faOperatingSystem = lens _faOperatingSystem (\ s a -> s{_faOperatingSystem = a})++-- | Unique identifier for a build.+faBuildId :: Lens' FleetAttributes (Maybe Text)+faBuildId = lens _faBuildId (\ s a -> s{_faBuildId = a})++-- | Identifier for a fleet that is unique across all regions.+faFleetARN :: Lens' FleetAttributes (Maybe Text)+faFleetARN = lens _faFleetARN (\ s a -> s{_faFleetARN = a})++-- | Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.+faFleetType :: Lens' FleetAttributes (Maybe FleetType)+faFleetType = lens _faFleetType (\ s a -> s{_faFleetType = a})++-- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+faTerminationTime :: Lens' FleetAttributes (Maybe UTCTime)+faTerminationTime = lens _faTerminationTime (\ s a -> s{_faTerminationTime = a}) . mapping _Time++-- | EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+faInstanceType :: Lens' FleetAttributes (Maybe EC2InstanceType)+faInstanceType = lens _faInstanceType (\ s a -> s{_faInstanceType = a})++-- | List of fleet actions that have been suspended using 'StopFleetActions' . This includes auto-scaling.+faStoppedActions :: Lens' FleetAttributes (Maybe (NonEmpty FleetAction))+faStoppedActions = lens _faStoppedActions (\ s a -> s{_faStoppedActions = a}) . mapping _List1++-- | 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 that is associated with a fleet. Fleet names do not need to be unique.+faName :: Lens' FleetAttributes (Maybe Text)+faName = lens _faName (\ s a -> s{_faName = a})++-- | Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's 'RuntimeConfiguration' .+faServerLaunchPath :: Lens' FleetAttributes (Maybe Text)+faServerLaunchPath = lens _faServerLaunchPath (\ s a -> s{_faServerLaunchPath = a})++-- | Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.+faMetricGroups :: Lens' FleetAttributes [Text]+faMetricGroups = lens _faMetricGroups (\ s a -> s{_faMetricGroups = a}) . _Default . _Coerce++-- | 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})++-- | Fleet policy to limit the number of game sessions an individual player can create over a span of time.+faResourceCreationLimitPolicy :: Lens' FleetAttributes (Maybe ResourceCreationLimitPolicy)+faResourceCreationLimitPolicy = lens _faResourceCreationLimitPolicy (\ s a -> s{_faResourceCreationLimitPolicy = a})++instance FromJSON FleetAttributes where+ parseJSON+ = withObject "FleetAttributes"+ (\ x ->+ FleetAttributes' <$>+ (x .:? "CreationTime") <*> (x .:? "Status") <*>+ (x .:? "ServerLaunchParameters")+ <*> (x .:? "LogPaths" .!= mempty)+ <*> (x .:? "OperatingSystem")+ <*> (x .:? "BuildId")+ <*> (x .:? "FleetArn")+ <*> (x .:? "FleetType")+ <*> (x .:? "TerminationTime")+ <*> (x .:? "InstanceType")+ <*> (x .:? "StoppedActions")+ <*> (x .:? "NewGameSessionProtectionPolicy")+ <*> (x .:? "Name")+ <*> (x .:? "ServerLaunchPath")+ <*> (x .:? "MetricGroups" .!= mempty)+ <*> (x .:? "FleetId")+ <*> (x .:? "Description")+ <*> (x .:? "ResourceCreationLimitPolicy"))++instance Hashable FleetAttributes where++instance NFData FleetAttributes where++-- | 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.+--+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /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' - Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+--+-- * 'fcFleetId' - Unique identifier for a fleet.+--+-- * 'fcInstanceCounts' - Current status of fleet capacity.+fleetCapacity+ :: FleetCapacity+fleetCapacity =+ FleetCapacity'+ { _fcInstanceType = Nothing+ , _fcFleetId = Nothing+ , _fcInstanceCounts = Nothing+ }+++-- | Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See <http://aws.amazon.com/ec2/instance-types/ Amazon EC2 Instance Types> for detailed descriptions.+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 where++instance NFData FleetCapacity where++-- | Current status of fleet utilization, including the number of game and player sessions being hosted.+--+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /See:/ 'fleetUtilization' smart constructor.+data FleetUtilization = FleetUtilization'+ { _fuActiveGameSessionCount :: !(Maybe Nat)+ , _fuMaximumPlayerSessionCount :: !(Maybe Nat)+ , _fuCurrentPlayerSessionCount :: !(Maybe Nat)+ , _fuFleetId :: !(Maybe Text)+ , _fuActiveServerProcessCount :: !(Maybe Nat)+ } 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' - Number of active game sessions currently being hosted on all instances in the fleet.+--+-- * 'fuMaximumPlayerSessionCount' - Maximum players allowed across all game sessions currently being hosted on all instances in the fleet.+--+-- * 'fuCurrentPlayerSessionCount' - Number of active player sessions currently being hosted on all instances in the fleet.+--+-- * 'fuFleetId' - Unique identifier for a fleet.+--+-- * 'fuActiveServerProcessCount' - Number of server processes in an @ACTIVE@ status currently running across all instances in the fleet+fleetUtilization+ :: FleetUtilization+fleetUtilization =+ FleetUtilization'+ { _fuActiveGameSessionCount = Nothing+ , _fuMaximumPlayerSessionCount = Nothing+ , _fuCurrentPlayerSessionCount = Nothing+ , _fuFleetId = Nothing+ , _fuActiveServerProcessCount = Nothing+ }+++-- | Number of active game sessions currently being hosted on all instances in the fleet.+fuActiveGameSessionCount :: Lens' FleetUtilization (Maybe Natural)+fuActiveGameSessionCount = lens _fuActiveGameSessionCount (\ s a -> s{_fuActiveGameSessionCount = a}) . mapping _Nat++-- | Maximum players allowed across all game sessions currently being hosted on all instances 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 all instances in the fleet.+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})++-- | Number of server processes in an @ACTIVE@ status currently running across all instances in the fleet+fuActiveServerProcessCount :: Lens' FleetUtilization (Maybe Natural)+fuActiveServerProcessCount = lens _fuActiveServerProcessCount (\ s a -> s{_fuActiveServerProcessCount = a}) . mapping _Nat++instance FromJSON FleetUtilization where+ parseJSON+ = withObject "FleetUtilization"+ (\ x ->+ FleetUtilization' <$>+ (x .:? "ActiveGameSessionCount") <*>+ (x .:? "MaximumPlayerSessionCount")+ <*> (x .:? "CurrentPlayerSessionCount")+ <*> (x .:? "FleetId")+ <*> (x .:? "ActiveServerProcessCount"))++instance Hashable FleetUtilization where++instance NFData FleetUtilization where++-- | Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create 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' - Game property identifier.+--+-- * 'gpValue' - Game property value.+gameProperty+ :: Text -- ^ 'gpKey'+ -> Text -- ^ 'gpValue'+ -> GameProperty+gameProperty pKey_ pValue_ = GameProperty' {_gpKey = pKey_, _gpValue = pValue_}+++-- | Game property identifier.+gpKey :: Lens' GameProperty Text+gpKey = lens _gpKey (\ s a -> s{_gpKey = a})++-- | Game property value.+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 where++instance NFData GameProperty where++instance ToJSON GameProperty where+ toJSON GameProperty'{..}+ = object+ (catMaybes+ [Just ("Key" .= _gpKey), Just ("Value" .= _gpValue)])++-- | Properties describing a game session.+--+--+-- A game session in ACTIVE status can host players. When a game session ends, its status is set to @TERMINATED@ .+--+-- Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.+--+-- Game-session-related operations include:+--+-- * 'CreateGameSession'+--+-- * 'DescribeGameSessions'+--+-- * 'DescribeGameSessionDetails'+--+-- * 'SearchGameSessions'+--+-- * 'UpdateGameSession'+--+-- * 'GetGameSessionLogUrl'+--+-- * Game session placements+--+-- * 'StartGameSessionPlacement'+--+-- * 'DescribeGameSessionPlacement'+--+-- * 'StopGameSessionPlacement'+--+--+--+--+--+--+-- /See:/ 'gameSession' smart constructor.+data GameSession = GameSession'+ { _gsCreationTime :: !(Maybe POSIX)+ , _gsStatus :: !(Maybe GameSessionStatus)+ , _gsGameProperties :: !(Maybe [GameProperty])+ , _gsIPAddress :: !(Maybe Text)+ , _gsGameSessionId :: !(Maybe Text)+ , _gsMatchmakerData :: !(Maybe Text)+ , _gsMaximumPlayerSessionCount :: !(Maybe Nat)+ , _gsTerminationTime :: !(Maybe POSIX)+ , _gsPlayerSessionCreationPolicy :: !(Maybe PlayerSessionCreationPolicy)+ , _gsName :: !(Maybe Text)+ , _gsCurrentPlayerSessionCount :: !(Maybe Nat)+ , _gsStatusReason :: !(Maybe GameSessionStatusReason)+ , _gsGameSessionData :: !(Maybe Text)+ , _gsFleetId :: !(Maybe Text)+ , _gsCreatorId :: !(Maybe Text)+ , _gsPort :: !(Maybe Nat)+ } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'gsStatus' - Current status of the game session. A game session must have an @ACTIVE@ status to have player sessions.+--+-- * 'gsGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). You can search for active game sessions based on this custom data with 'SearchGameSessions' .+--+-- * 'gsIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+--+-- * 'gsGameSessionId' - Unique identifier for the game session. A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .+--+-- * 'gsMatchmakerData' - Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> . Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see 'StartMatchBackfill' ).+--+-- * 'gsMaximumPlayerSessionCount' - Maximum number of players that can be connected simultaneously to the game session.+--+-- * 'gsTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'gsPlayerSessionCreationPolicy' - Indicates whether or not the game session is accepting new players.+--+-- * 'gsName' - Descriptive label that is associated with a game session. Session names do not need to be unique.+--+-- * 'gsCurrentPlayerSessionCount' - Number of players currently in the game session.+--+-- * 'gsStatusReason' - Provides additional information about game session status. @INTERRUPTED@ indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.+--+-- * 'gsGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+--+-- * 'gsFleetId' - Unique identifier for a fleet that the game session is running on.+--+-- * 'gsCreatorId' - Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.+--+-- * 'gsPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gameSession+ :: GameSession+gameSession =+ GameSession'+ { _gsCreationTime = Nothing+ , _gsStatus = Nothing+ , _gsGameProperties = Nothing+ , _gsIPAddress = Nothing+ , _gsGameSessionId = Nothing+ , _gsMatchmakerData = Nothing+ , _gsMaximumPlayerSessionCount = Nothing+ , _gsTerminationTime = Nothing+ , _gsPlayerSessionCreationPolicy = Nothing+ , _gsName = Nothing+ , _gsCurrentPlayerSessionCount = Nothing+ , _gsStatusReason = Nothing+ , _gsGameSessionData = Nothing+ , _gsFleetId = Nothing+ , _gsCreatorId = Nothing+ , _gsPort = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+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 have an @ACTIVE@ status to have player sessions.+gsStatus :: Lens' GameSession (Maybe GameSessionStatus)+gsStatus = lens _gsStatus (\ s a -> s{_gsStatus = a})++-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). You can search for active game sessions based on this custom data with 'SearchGameSessions' .+gsGameProperties :: Lens' GameSession [GameProperty]+gsGameProperties = lens _gsGameProperties (\ s a -> s{_gsGameProperties = a}) . _Default . _Coerce++-- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gsIPAddress :: Lens' GameSession (Maybe Text)+gsIPAddress = lens _gsIPAddress (\ s a -> s{_gsIPAddress = a})++-- | Unique identifier for the game session. A game session ARN has the following format: @arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>@ .+gsGameSessionId :: Lens' GameSession (Maybe Text)+gsGameSessionId = lens _gsGameSessionId (\ s a -> s{_gsGameSessionId = a})++-- | Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> . Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see 'StartMatchBackfill' ).+gsMatchmakerData :: Lens' GameSession (Maybe Text)+gsMatchmakerData = lens _gsMatchmakerData (\ s a -> s{_gsMatchmakerData = a})++-- | Maximum number of players that can be connected simultaneously to the game session.+gsMaximumPlayerSessionCount :: Lens' GameSession (Maybe Natural)+gsMaximumPlayerSessionCount = lens _gsMaximumPlayerSessionCount (\ s a -> s{_gsMaximumPlayerSessionCount = a}) . mapping _Nat++-- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+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 that is associated with a 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++-- | Provides additional information about game session status. @INTERRUPTED@ indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.+gsStatusReason :: Lens' GameSession (Maybe GameSessionStatusReason)+gsStatusReason = lens _gsStatusReason (\ s a -> s{_gsStatusReason = a})++-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+gsGameSessionData :: Lens' GameSession (Maybe Text)+gsGameSessionData = lens _gsGameSessionData (\ s a -> s{_gsGameSessionData = a})++-- | Unique identifier for a fleet that the game session is running on.+gsFleetId :: Lens' GameSession (Maybe Text)+gsFleetId = lens _gsFleetId (\ s a -> s{_gsFleetId = a})++-- | Unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.+gsCreatorId :: Lens' GameSession (Maybe Text)+gsCreatorId = lens _gsCreatorId (\ s a -> s{_gsCreatorId = a})++-- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gsPort :: Lens' GameSession (Maybe Natural)+gsPort = lens _gsPort (\ s a -> s{_gsPort = a}) . mapping _Nat++instance FromJSON GameSession where+ parseJSON+ = withObject "GameSession"+ (\ x ->+ GameSession' <$>+ (x .:? "CreationTime") <*> (x .:? "Status") <*>+ (x .:? "GameProperties" .!= mempty)+ <*> (x .:? "IpAddress")+ <*> (x .:? "GameSessionId")+ <*> (x .:? "MatchmakerData")+ <*> (x .:? "MaximumPlayerSessionCount")+ <*> (x .:? "TerminationTime")+ <*> (x .:? "PlayerSessionCreationPolicy")+ <*> (x .:? "Name")+ <*> (x .:? "CurrentPlayerSessionCount")+ <*> (x .:? "StatusReason")+ <*> (x .:? "GameSessionData")+ <*> (x .:? "FleetId")+ <*> (x .:? "CreatorId")+ <*> (x .:? "Port"))++instance Hashable GameSession where++instance NFData GameSession where++-- | Connection information for the new game session that is created with matchmaking. (with 'StartMatchmaking' ). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the 'MatchmakingTicket' , which can be retrieved by calling 'DescribeMatchmaking' .+--+--+--+-- /See:/ 'gameSessionConnectionInfo' smart constructor.+data GameSessionConnectionInfo = GameSessionConnectionInfo'+ { _gsciMatchedPlayerSessions :: !(Maybe [MatchedPlayerSession])+ , _gsciIPAddress :: !(Maybe Text)+ , _gsciGameSessionARN :: !(Maybe Text)+ , _gsciPort :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GameSessionConnectionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsciMatchedPlayerSessions' - Collection of player session IDs, one for each player ID that was included in the original matchmaking request.+--+-- * 'gsciIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+--+-- * 'gsciGameSessionARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.+--+-- * 'gsciPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gameSessionConnectionInfo+ :: GameSessionConnectionInfo+gameSessionConnectionInfo =+ GameSessionConnectionInfo'+ { _gsciMatchedPlayerSessions = Nothing+ , _gsciIPAddress = Nothing+ , _gsciGameSessionARN = Nothing+ , _gsciPort = Nothing+ }+++-- | Collection of player session IDs, one for each player ID that was included in the original matchmaking request.+gsciMatchedPlayerSessions :: Lens' GameSessionConnectionInfo [MatchedPlayerSession]+gsciMatchedPlayerSessions = lens _gsciMatchedPlayerSessions (\ s a -> s{_gsciMatchedPlayerSessions = a}) . _Default . _Coerce++-- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gsciIPAddress :: Lens' GameSessionConnectionInfo (Maybe Text)+gsciIPAddress = lens _gsciIPAddress (\ s a -> s{_gsciIPAddress = a})++-- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session and uniquely identifies it.+gsciGameSessionARN :: Lens' GameSessionConnectionInfo (Maybe Text)+gsciGameSessionARN = lens _gsciGameSessionARN (\ s a -> s{_gsciGameSessionARN = a})++-- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+gsciPort :: Lens' GameSessionConnectionInfo (Maybe Natural)+gsciPort = lens _gsciPort (\ s a -> s{_gsciPort = a}) . mapping _Nat++instance FromJSON GameSessionConnectionInfo where+ parseJSON+ = withObject "GameSessionConnectionInfo"+ (\ x ->+ GameSessionConnectionInfo' <$>+ (x .:? "MatchedPlayerSessions" .!= mempty) <*>+ (x .:? "IpAddress")+ <*> (x .:? "GameSessionArn")+ <*> (x .:? "Port"))++instance Hashable GameSessionConnectionInfo where++instance NFData GameSessionConnectionInfo where++-- | A game session's properties plus 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' - Object that describes a game session.+--+-- * 'gsdProtectionPolicy' - 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.+gameSessionDetail+ :: GameSessionDetail+gameSessionDetail =+ GameSessionDetail' {_gsdGameSession = Nothing, _gsdProtectionPolicy = Nothing}+++-- | Object that describes a game session.+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 where++instance NFData GameSessionDetail where++-- | Object that describes a 'StartGameSessionPlacement' request. This object includes the full details of the original request plus the current status and start/end time stamps.+--+--+-- Game session placement-related operations include:+--+-- * 'StartGameSessionPlacement'+--+-- * 'DescribeGameSessionPlacement'+--+-- * 'StopGameSessionPlacement'+--+--+--+--+-- /See:/ 'gameSessionPlacement' smart constructor.+data GameSessionPlacement = GameSessionPlacement'+ { _gspStatus :: !(Maybe GameSessionPlacementState)+ , _gspPlacementId :: !(Maybe Text)+ , _gspGameProperties :: !(Maybe [GameProperty])+ , _gspIPAddress :: !(Maybe Text)+ , _gspGameSessionName :: !(Maybe Text)+ , _gspStartTime :: !(Maybe POSIX)+ , _gspGameSessionId :: !(Maybe Text)+ , _gspGameSessionRegion :: !(Maybe Text)+ , _gspMatchmakerData :: !(Maybe Text)+ , _gspMaximumPlayerSessionCount :: !(Maybe Nat)+ , _gspEndTime :: !(Maybe POSIX)+ , _gspGameSessionARN :: !(Maybe Text)+ , _gspPlayerLatencies :: !(Maybe [PlayerLatency])+ , _gspGameSessionData :: !(Maybe Text)+ , _gspGameSessionQueueName :: !(Maybe Text)+ , _gspPlacedPlayerSessions :: !(Maybe [PlacedPlayerSession])+ , _gspPort :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GameSessionPlacement' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gspStatus' - Current status of the game session placement request. * __PENDING__ -- The placement request is currently in the queue waiting to be processed. * __FULFILLED__ -- A new game session and player sessions (if requested) have been successfully created. Values for /GameSessionArn/ and /GameSessionRegion/ are available. * __CANCELLED__ -- The placement request was canceled with a call to 'StopGameSessionPlacement' . * __TIMED_OUT__ -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.+--+-- * 'gspPlacementId' - Unique identifier for a game session placement.+--+-- * 'gspGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+--+-- * 'gspIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+--+-- * 'gspGameSessionName' - Descriptive label that is associated with a game session. Session names do not need to be unique.+--+-- * 'gspStartTime' - Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'gspGameSessionId' - Unique identifier for the game session. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+--+-- * 'gspGameSessionRegion' - Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+--+-- * 'gspMatchmakerData' - Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> .+--+-- * 'gspMaximumPlayerSessionCount' - Maximum number of players that can be connected simultaneously to the game session.+--+-- * 'gspEndTime' - Time stamp indicating when this request was completed, canceled, or timed out.+--+-- * 'gspGameSessionARN' - Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is @FULFILLED@ ). This identifier is unique across all regions. You can use this value as a @GameSessionId@ value as needed.+--+-- * 'gspPlayerLatencies' - Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions.+--+-- * 'gspGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+--+-- * 'gspGameSessionQueueName' - Descriptive label that is associated with game session queue. Queue names must be unique within each region.+--+-- * 'gspPlacedPlayerSessions' - Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is @FULFILLED@ ). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling 'DescribePlayerSessions' with the player session ID.+--+-- * 'gspPort' - Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+gameSessionPlacement+ :: GameSessionPlacement+gameSessionPlacement =+ GameSessionPlacement'+ { _gspStatus = Nothing+ , _gspPlacementId = Nothing+ , _gspGameProperties = Nothing+ , _gspIPAddress = Nothing+ , _gspGameSessionName = Nothing+ , _gspStartTime = Nothing+ , _gspGameSessionId = Nothing+ , _gspGameSessionRegion = Nothing+ , _gspMatchmakerData = Nothing+ , _gspMaximumPlayerSessionCount = Nothing+ , _gspEndTime = Nothing+ , _gspGameSessionARN = Nothing+ , _gspPlayerLatencies = Nothing+ , _gspGameSessionData = Nothing+ , _gspGameSessionQueueName = Nothing+ , _gspPlacedPlayerSessions = Nothing+ , _gspPort = Nothing+ }+++-- | Current status of the game session placement request. * __PENDING__ -- The placement request is currently in the queue waiting to be processed. * __FULFILLED__ -- A new game session and player sessions (if requested) have been successfully created. Values for /GameSessionArn/ and /GameSessionRegion/ are available. * __CANCELLED__ -- The placement request was canceled with a call to 'StopGameSessionPlacement' . * __TIMED_OUT__ -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.+gspStatus :: Lens' GameSessionPlacement (Maybe GameSessionPlacementState)+gspStatus = lens _gspStatus (\ s a -> s{_gspStatus = a})++-- | Unique identifier for a game session placement.+gspPlacementId :: Lens' GameSessionPlacement (Maybe Text)+gspPlacementId = lens _gspPlacementId (\ s a -> s{_gspPlacementId = a})++-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+gspGameProperties :: Lens' GameSessionPlacement [GameProperty]+gspGameProperties = lens _gspGameProperties (\ s a -> s{_gspGameProperties = a}) . _Default . _Coerce++-- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+gspIPAddress :: Lens' GameSessionPlacement (Maybe Text)+gspIPAddress = lens _gspIPAddress (\ s a -> s{_gspIPAddress = a})++-- | Descriptive label that is associated with a game session. Session names do not need to be unique.+gspGameSessionName :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionName = lens _gspGameSessionName (\ s a -> s{_gspGameSessionName = a})++-- | Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+gspStartTime :: Lens' GameSessionPlacement (Maybe UTCTime)+gspStartTime = lens _gspStartTime (\ s a -> s{_gspStartTime = a}) . mapping _Time++-- | Unique identifier for the game session. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+gspGameSessionId :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionId = lens _gspGameSessionId (\ s a -> s{_gspGameSessionId = a})++-- | Name of the region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+gspGameSessionRegion :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionRegion = lens _gspGameSessionRegion (\ s a -> s{_gspGameSessionRegion = a})++-- | Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data Match Data> .+gspMatchmakerData :: Lens' GameSessionPlacement (Maybe Text)+gspMatchmakerData = lens _gspMatchmakerData (\ s a -> s{_gspMatchmakerData = a})++-- | Maximum number of players that can be connected simultaneously to the game session.+gspMaximumPlayerSessionCount :: Lens' GameSessionPlacement (Maybe Natural)+gspMaximumPlayerSessionCount = lens _gspMaximumPlayerSessionCount (\ s a -> s{_gspMaximumPlayerSessionCount = a}) . mapping _Nat++-- | Time stamp indicating when this request was completed, canceled, or timed out.+gspEndTime :: Lens' GameSessionPlacement (Maybe UTCTime)+gspEndTime = lens _gspEndTime (\ s a -> s{_gspEndTime = a}) . mapping _Time++-- | Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is @FULFILLED@ ). This identifier is unique across all regions. You can use this value as a @GameSessionId@ value as needed.+gspGameSessionARN :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionARN = lens _gspGameSessionARN (\ s a -> s{_gspGameSessionARN = a})++-- | Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions.+gspPlayerLatencies :: Lens' GameSessionPlacement [PlayerLatency]+gspPlayerLatencies = lens _gspPlayerLatencies (\ s a -> s{_gspPlayerLatencies = a}) . _Default . _Coerce++-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ).+gspGameSessionData :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionData = lens _gspGameSessionData (\ s a -> s{_gspGameSessionData = a})++-- | Descriptive label that is associated with game session queue. Queue names must be unique within each region.+gspGameSessionQueueName :: Lens' GameSessionPlacement (Maybe Text)+gspGameSessionQueueName = lens _gspGameSessionQueueName (\ s a -> s{_gspGameSessionQueueName = a})++-- | Collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is @FULFILLED@ ). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling 'DescribePlayerSessions' with the player session ID.+gspPlacedPlayerSessions :: Lens' GameSessionPlacement [PlacedPlayerSession]+gspPlacedPlayerSessions = lens _gspPlacedPlayerSessions (\ s a -> s{_gspPlacedPlayerSessions = a}) . _Default . _Coerce++-- | Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is @FULFILLED@ ).+gspPort :: Lens' GameSessionPlacement (Maybe Natural)+gspPort = lens _gspPort (\ s a -> s{_gspPort = a}) . mapping _Nat++instance FromJSON GameSessionPlacement where+ parseJSON+ = withObject "GameSessionPlacement"+ (\ x ->+ GameSessionPlacement' <$>+ (x .:? "Status") <*> (x .:? "PlacementId") <*>+ (x .:? "GameProperties" .!= mempty)+ <*> (x .:? "IpAddress")+ <*> (x .:? "GameSessionName")+ <*> (x .:? "StartTime")+ <*> (x .:? "GameSessionId")+ <*> (x .:? "GameSessionRegion")+ <*> (x .:? "MatchmakerData")+ <*> (x .:? "MaximumPlayerSessionCount")+ <*> (x .:? "EndTime")+ <*> (x .:? "GameSessionArn")+ <*> (x .:? "PlayerLatencies" .!= mempty)+ <*> (x .:? "GameSessionData")+ <*> (x .:? "GameSessionQueueName")+ <*> (x .:? "PlacedPlayerSessions" .!= mempty)+ <*> (x .:? "Port"))++instance Hashable GameSessionPlacement where++instance NFData GameSessionPlacement where++-- | Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:+--+--+-- * The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.+--+-- * The length of time that placement requests can wait in the queue before timing out.+--+-- * A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.+--+--+--+-- Queue-related operations include:+--+-- * 'CreateGameSessionQueue'+--+-- * 'DescribeGameSessionQueues'+--+-- * 'UpdateGameSessionQueue'+--+-- * 'DeleteGameSessionQueue'+--+--+--+--+-- /See:/ 'gameSessionQueue' smart constructor.+data GameSessionQueue = GameSessionQueue'+ { _gsqGameSessionQueueARN :: !(Maybe Text)+ , _gsqPlayerLatencyPolicies :: !(Maybe [PlayerLatencyPolicy])+ , _gsqTimeoutInSeconds :: !(Maybe Nat)+ , _gsqDestinations :: !(Maybe [GameSessionQueueDestination])+ , _gsqName :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GameSessionQueue' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsqGameSessionQueueARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ .+--+-- * 'gsqPlayerLatencyPolicies' - Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.+--+-- * 'gsqTimeoutInSeconds' - Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status.+--+-- * 'gsqDestinations' - List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.+--+-- * 'gsqName' - Descriptive label that is associated with game session queue. Queue names must be unique within each region.+gameSessionQueue+ :: GameSessionQueue+gameSessionQueue =+ GameSessionQueue'+ { _gsqGameSessionQueueARN = Nothing+ , _gsqPlayerLatencyPolicies = Nothing+ , _gsqTimeoutInSeconds = Nothing+ , _gsqDestinations = Nothing+ , _gsqName = Nothing+ }+++-- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ .+gsqGameSessionQueueARN :: Lens' GameSessionQueue (Maybe Text)+gsqGameSessionQueueARN = lens _gsqGameSessionQueueARN (\ s a -> s{_gsqGameSessionQueueARN = a})++-- | Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.+gsqPlayerLatencyPolicies :: Lens' GameSessionQueue [PlayerLatencyPolicy]+gsqPlayerLatencyPolicies = lens _gsqPlayerLatencyPolicies (\ s a -> s{_gsqPlayerLatencyPolicies = a}) . _Default . _Coerce++-- | Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status.+gsqTimeoutInSeconds :: Lens' GameSessionQueue (Maybe Natural)+gsqTimeoutInSeconds = lens _gsqTimeoutInSeconds (\ s a -> s{_gsqTimeoutInSeconds = a}) . mapping _Nat++-- | List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.+gsqDestinations :: Lens' GameSessionQueue [GameSessionQueueDestination]+gsqDestinations = lens _gsqDestinations (\ s a -> s{_gsqDestinations = a}) . _Default . _Coerce++-- | Descriptive label that is associated with game session queue. Queue names must be unique within each region.+gsqName :: Lens' GameSessionQueue (Maybe Text)+gsqName = lens _gsqName (\ s a -> s{_gsqName = a})++instance FromJSON GameSessionQueue where+ parseJSON+ = withObject "GameSessionQueue"+ (\ x ->+ GameSessionQueue' <$>+ (x .:? "GameSessionQueueArn") <*>+ (x .:? "PlayerLatencyPolicies" .!= mempty)+ <*> (x .:? "TimeoutInSeconds")+ <*> (x .:? "Destinations" .!= mempty)+ <*> (x .:? "Name"))++instance Hashable GameSessionQueue where++instance NFData GameSessionQueue where++-- | Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination configured for a queue.+--+--+-- Queue-related operations include:+--+-- * 'CreateGameSessionQueue'+--+-- * 'DescribeGameSessionQueues'+--+-- * 'UpdateGameSessionQueue'+--+-- * 'DeleteGameSessionQueue'+--+--+--+--+-- /See:/ 'gameSessionQueueDestination' smart constructor.+newtype GameSessionQueueDestination = GameSessionQueueDestination'+ { _gsqdDestinationARN :: Maybe Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'GameSessionQueueDestination' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gsqdDestinationARN' - Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.+gameSessionQueueDestination+ :: GameSessionQueueDestination+gameSessionQueueDestination =+ GameSessionQueueDestination' {_gsqdDestinationARN = Nothing}+++-- | Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a region name, provide a unique identifier across all regions.+gsqdDestinationARN :: Lens' GameSessionQueueDestination (Maybe Text)+gsqdDestinationARN = lens _gsqdDestinationARN (\ s a -> s{_gsqdDestinationARN = a})++instance FromJSON GameSessionQueueDestination where+ parseJSON+ = withObject "GameSessionQueueDestination"+ (\ x ->+ GameSessionQueueDestination' <$>+ (x .:? "DestinationArn"))++instance Hashable GameSessionQueueDestination where++instance NFData GameSessionQueueDestination where++instance ToJSON GameSessionQueueDestination where+ toJSON GameSessionQueueDestination'{..}+ = object+ (catMaybes+ [("DestinationArn" .=) <$> _gsqdDestinationARN])++-- | A range of IP addresses and port settings that allow inbound traffic to connect to server processes on Amazon GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the 'GameSession' object.+--+--+--+-- /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' - Starting value for a range of allowed port numbers.+--+-- * 'ipToPort' - Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than @FromPort@ .+--+-- * 'ipIPRange' - Range of allowed IP addresses. This value must be expressed in CIDR notation. Example: "@000.000.000.000/[subnet mask]@ " or optionally the shortened version "@0.0.0.0/[subnet mask]@ ".+--+-- * 'ipProtocol' - Network communication protocol used by the fleet.+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 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 where++instance NFData IPPermission where++instance ToJSON IPPermission where+ toJSON IPPermission'{..}+ = object+ (catMaybes+ [Just ("FromPort" .= _ipFromPort),+ Just ("ToPort" .= _ipToPort),+ Just ("IpRange" .= _ipIPRange),+ Just ("Protocol" .= _ipProtocol)])++-- | Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.+--+--+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+ { _iCreationTime :: !(Maybe POSIX)+ , _iInstanceId :: !(Maybe Text)+ , _iStatus :: !(Maybe InstanceStatus)+ , _iIPAddress :: !(Maybe Text)+ , _iOperatingSystem :: !(Maybe OperatingSystem)+ , _iType :: !(Maybe EC2InstanceType)+ , _iFleetId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Instance' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'iInstanceId' - Unique identifier for an instance.+--+-- * 'iStatus' - Current status of the instance. Possible statuses include the following: * __PENDING__ -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration. * __ACTIVE__ -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions. * __TERMINATING__ -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.+--+-- * 'iIPAddress' - IP address assigned to the instance.+--+-- * 'iOperatingSystem' - Operating system that is running on this instance.+--+-- * 'iType' - EC2 instance type that defines the computing resources of this instance.+--+-- * 'iFleetId' - Unique identifier for a fleet that the instance is in.+instance'+ :: Instance+instance' =+ Instance'+ { _iCreationTime = Nothing+ , _iInstanceId = Nothing+ , _iStatus = Nothing+ , _iIPAddress = Nothing+ , _iOperatingSystem = Nothing+ , _iType = Nothing+ , _iFleetId = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+iCreationTime :: Lens' Instance (Maybe UTCTime)+iCreationTime = lens _iCreationTime (\ s a -> s{_iCreationTime = a}) . mapping _Time++-- | Unique identifier for an instance.+iInstanceId :: Lens' Instance (Maybe Text)+iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a})++-- | Current status of the instance. Possible statuses include the following: * __PENDING__ -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration. * __ACTIVE__ -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions. * __TERMINATING__ -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.+iStatus :: Lens' Instance (Maybe InstanceStatus)+iStatus = lens _iStatus (\ s a -> s{_iStatus = a})++-- | IP address assigned to the instance.+iIPAddress :: Lens' Instance (Maybe Text)+iIPAddress = lens _iIPAddress (\ s a -> s{_iIPAddress = a})++-- | Operating system that is running on this instance.+iOperatingSystem :: Lens' Instance (Maybe OperatingSystem)+iOperatingSystem = lens _iOperatingSystem (\ s a -> s{_iOperatingSystem = a})++-- | EC2 instance type that defines the computing resources of this instance.+iType :: Lens' Instance (Maybe EC2InstanceType)+iType = lens _iType (\ s a -> s{_iType = a})++-- | Unique identifier for a fleet that the instance is in.+iFleetId :: Lens' Instance (Maybe Text)+iFleetId = lens _iFleetId (\ s a -> s{_iFleetId = a})++instance FromJSON Instance where+ parseJSON+ = withObject "Instance"+ (\ x ->+ Instance' <$>+ (x .:? "CreationTime") <*> (x .:? "InstanceId") <*>+ (x .:? "Status")+ <*> (x .:? "IpAddress")+ <*> (x .:? "OperatingSystem")+ <*> (x .:? "Type")+ <*> (x .:? "FleetId"))++instance Hashable Instance where++instance NFData Instance where++-- | Information required to remotely connect to a fleet instance. Access is requested by calling 'GetInstanceAccess' .+--+--+--+-- /See:/ 'instanceAccess' smart constructor.+data InstanceAccess = InstanceAccess'+ { _iaInstanceId :: !(Maybe Text)+ , _iaIPAddress :: !(Maybe Text)+ , _iaOperatingSystem :: !(Maybe OperatingSystem)+ , _iaCredentials :: !(Maybe (Sensitive InstanceCredentials))+ , _iaFleetId :: !(Maybe Text)+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iaInstanceId' - Unique identifier for an instance being accessed.+--+-- * 'iaIPAddress' - IP address assigned to the instance.+--+-- * 'iaOperatingSystem' - Operating system that is running on the instance.+--+-- * 'iaCredentials' - Credentials required to access the instance.+--+-- * 'iaFleetId' - Unique identifier for a fleet containing the instance being accessed.+instanceAccess+ :: InstanceAccess+instanceAccess =+ InstanceAccess'+ { _iaInstanceId = Nothing+ , _iaIPAddress = Nothing+ , _iaOperatingSystem = Nothing+ , _iaCredentials = Nothing+ , _iaFleetId = Nothing+ }+++-- | Unique identifier for an instance being accessed.+iaInstanceId :: Lens' InstanceAccess (Maybe Text)+iaInstanceId = lens _iaInstanceId (\ s a -> s{_iaInstanceId = a})++-- | IP address assigned to the instance.+iaIPAddress :: Lens' InstanceAccess (Maybe Text)+iaIPAddress = lens _iaIPAddress (\ s a -> s{_iaIPAddress = a})++-- | Operating system that is running on the instance.+iaOperatingSystem :: Lens' InstanceAccess (Maybe OperatingSystem)+iaOperatingSystem = lens _iaOperatingSystem (\ s a -> s{_iaOperatingSystem = a})++-- | Credentials required to access the instance.+iaCredentials :: Lens' InstanceAccess (Maybe InstanceCredentials)+iaCredentials = lens _iaCredentials (\ s a -> s{_iaCredentials = a}) . mapping _Sensitive++-- | Unique identifier for a fleet containing the instance being accessed.+iaFleetId :: Lens' InstanceAccess (Maybe Text)+iaFleetId = lens _iaFleetId (\ s a -> s{_iaFleetId = a})++instance FromJSON InstanceAccess where+ parseJSON+ = withObject "InstanceAccess"+ (\ x ->+ InstanceAccess' <$>+ (x .:? "InstanceId") <*> (x .:? "IpAddress") <*>+ (x .:? "OperatingSystem")+ <*> (x .:? "Credentials")+ <*> (x .:? "FleetId"))++instance Hashable InstanceAccess where++instance NFData InstanceAccess where++-- | Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling 'GetInstanceAccess' and returned in an 'InstanceAccess' object.+--+--+--+-- /See:/ 'instanceCredentials' smart constructor.+data InstanceCredentials = InstanceCredentials'+ { _icUserName :: !(Maybe Text)+ , _icSecret :: !(Maybe Text)+ } deriving (Eq, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceCredentials' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'icUserName' - User login string.+--+-- * 'icSecret' - Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a @.pem@ file) for use with SSH.+instanceCredentials+ :: InstanceCredentials+instanceCredentials =+ InstanceCredentials' {_icUserName = Nothing, _icSecret = Nothing}+++-- | User login string.+icUserName :: Lens' InstanceCredentials (Maybe Text)+icUserName = lens _icUserName (\ s a -> s{_icUserName = a})++-- | Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a @.pem@ file) for use with SSH.+icSecret :: Lens' InstanceCredentials (Maybe Text)+icSecret = lens _icSecret (\ s a -> s{_icSecret = a})++instance FromJSON InstanceCredentials where+ parseJSON+ = withObject "InstanceCredentials"+ (\ x ->+ InstanceCredentials' <$>+ (x .:? "UserName") <*> (x .:? "Secret"))++instance Hashable InstanceCredentials where++instance NFData InstanceCredentials where++-- | Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.+--+--+-- When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.+--+--+-- /See:/ 'matchedPlayerSession' smart constructor.+data MatchedPlayerSession = MatchedPlayerSession'+ { _mpsPlayerSessionId :: !(Maybe Text)+ , _mpsPlayerId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MatchedPlayerSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mpsPlayerSessionId' - Unique identifier for a player session+--+-- * 'mpsPlayerId' - Unique identifier for a player+matchedPlayerSession+ :: MatchedPlayerSession+matchedPlayerSession =+ MatchedPlayerSession' {_mpsPlayerSessionId = Nothing, _mpsPlayerId = Nothing}+++-- | Unique identifier for a player session+mpsPlayerSessionId :: Lens' MatchedPlayerSession (Maybe Text)+mpsPlayerSessionId = lens _mpsPlayerSessionId (\ s a -> s{_mpsPlayerSessionId = a})++-- | Unique identifier for a player+mpsPlayerId :: Lens' MatchedPlayerSession (Maybe Text)+mpsPlayerId = lens _mpsPlayerId (\ s a -> s{_mpsPlayerId = a})++instance FromJSON MatchedPlayerSession where+ parseJSON+ = withObject "MatchedPlayerSession"+ (\ x ->+ MatchedPlayerSession' <$>+ (x .:? "PlayerSessionId") <*> (x .:? "PlayerId"))++instance Hashable MatchedPlayerSession where++instance NFData MatchedPlayerSession where++-- | Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.+--+--+--+-- /See:/ 'matchmakingConfiguration' smart constructor.+data MatchmakingConfiguration = MatchmakingConfiguration'+ { _mcCreationTime :: !(Maybe POSIX)+ , _mcGameProperties :: !(Maybe [GameProperty])+ , _mcRuleSetName :: !(Maybe Text)+ , _mcAcceptanceTimeoutSeconds :: !(Maybe Nat)+ , _mcRequestTimeoutSeconds :: !(Maybe Nat)+ , _mcNotificationTarget :: !(Maybe Text)+ , _mcGameSessionQueueARNs :: !(Maybe [Text])+ , _mcName :: !(Maybe Text)+ , _mcCustomEventData :: !(Maybe Text)+ , _mcAcceptanceRequired :: !(Maybe Bool)+ , _mcGameSessionData :: !(Maybe Text)+ , _mcDescription :: !(Maybe Text)+ , _mcAdditionalPlayerCount :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MatchmakingConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'mcGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+--+-- * 'mcRuleSetName' - Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.+--+-- * 'mcAcceptanceTimeoutSeconds' - Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.+--+-- * 'mcRequestTimeoutSeconds' - Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.+--+-- * 'mcNotificationTarget' - SNS topic ARN that is set up to receive matchmaking notifications.+--+-- * 'mcGameSessionQueueARNs' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.+--+-- * 'mcName' - Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.+--+-- * 'mcCustomEventData' - Information to attached to all events related to the matchmaking configuration.+--+-- * 'mcAcceptanceRequired' - Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.+--+-- * 'mcGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+--+-- * 'mcDescription' - Descriptive label that is associated with matchmaking configuration.+--+-- * 'mcAdditionalPlayerCount' - Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.+matchmakingConfiguration+ :: MatchmakingConfiguration+matchmakingConfiguration =+ MatchmakingConfiguration'+ { _mcCreationTime = Nothing+ , _mcGameProperties = Nothing+ , _mcRuleSetName = Nothing+ , _mcAcceptanceTimeoutSeconds = Nothing+ , _mcRequestTimeoutSeconds = Nothing+ , _mcNotificationTarget = Nothing+ , _mcGameSessionQueueARNs = Nothing+ , _mcName = Nothing+ , _mcCustomEventData = Nothing+ , _mcAcceptanceRequired = Nothing+ , _mcGameSessionData = Nothing+ , _mcDescription = Nothing+ , _mcAdditionalPlayerCount = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+mcCreationTime :: Lens' MatchmakingConfiguration (Maybe UTCTime)+mcCreationTime = lens _mcCreationTime (\ s a -> s{_mcCreationTime = a}) . mapping _Time++-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+mcGameProperties :: Lens' MatchmakingConfiguration [GameProperty]+mcGameProperties = lens _mcGameProperties (\ s a -> s{_mcGameProperties = a}) . _Default . _Coerce++-- | Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.+mcRuleSetName :: Lens' MatchmakingConfiguration (Maybe Text)+mcRuleSetName = lens _mcRuleSetName (\ s a -> s{_mcRuleSetName = a})++-- | Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.+mcAcceptanceTimeoutSeconds :: Lens' MatchmakingConfiguration (Maybe Natural)+mcAcceptanceTimeoutSeconds = lens _mcAcceptanceTimeoutSeconds (\ s a -> s{_mcAcceptanceTimeoutSeconds = a}) . mapping _Nat++-- | Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.+mcRequestTimeoutSeconds :: Lens' MatchmakingConfiguration (Maybe Natural)+mcRequestTimeoutSeconds = lens _mcRequestTimeoutSeconds (\ s a -> s{_mcRequestTimeoutSeconds = a}) . mapping _Nat++-- | SNS topic ARN that is set up to receive matchmaking notifications.+mcNotificationTarget :: Lens' MatchmakingConfiguration (Maybe Text)+mcNotificationTarget = lens _mcNotificationTarget (\ s a -> s{_mcNotificationTarget = a})++-- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.+mcGameSessionQueueARNs :: Lens' MatchmakingConfiguration [Text]+mcGameSessionQueueARNs = lens _mcGameSessionQueueARNs (\ s a -> s{_mcGameSessionQueueARNs = a}) . _Default . _Coerce++-- | Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.+mcName :: Lens' MatchmakingConfiguration (Maybe Text)+mcName = lens _mcName (\ s a -> s{_mcName = a})++-- | Information to attached to all events related to the matchmaking configuration.+mcCustomEventData :: Lens' MatchmakingConfiguration (Maybe Text)+mcCustomEventData = lens _mcCustomEventData (\ s a -> s{_mcCustomEventData = a})++-- | Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.+mcAcceptanceRequired :: Lens' MatchmakingConfiguration (Maybe Bool)+mcAcceptanceRequired = lens _mcAcceptanceRequired (\ s a -> s{_mcAcceptanceRequired = a})++-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+mcGameSessionData :: Lens' MatchmakingConfiguration (Maybe Text)+mcGameSessionData = lens _mcGameSessionData (\ s a -> s{_mcGameSessionData = a})++-- | Descriptive label that is associated with matchmaking configuration.+mcDescription :: Lens' MatchmakingConfiguration (Maybe Text)+mcDescription = lens _mcDescription (\ s a -> s{_mcDescription = a})++-- | Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.+mcAdditionalPlayerCount :: Lens' MatchmakingConfiguration (Maybe Natural)+mcAdditionalPlayerCount = lens _mcAdditionalPlayerCount (\ s a -> s{_mcAdditionalPlayerCount = a}) . mapping _Nat++instance FromJSON MatchmakingConfiguration where+ parseJSON+ = withObject "MatchmakingConfiguration"+ (\ x ->+ MatchmakingConfiguration' <$>+ (x .:? "CreationTime") <*>+ (x .:? "GameProperties" .!= mempty)+ <*> (x .:? "RuleSetName")+ <*> (x .:? "AcceptanceTimeoutSeconds")+ <*> (x .:? "RequestTimeoutSeconds")+ <*> (x .:? "NotificationTarget")+ <*> (x .:? "GameSessionQueueArns" .!= mempty)+ <*> (x .:? "Name")+ <*> (x .:? "CustomEventData")+ <*> (x .:? "AcceptanceRequired")+ <*> (x .:? "GameSessionData")+ <*> (x .:? "Description")+ <*> (x .:? "AdditionalPlayerCount"))++instance Hashable MatchmakingConfiguration where++instance NFData MatchmakingConfiguration where++-- | Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in 'MatchmakingConfiguration' objects.+--+--+-- A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html Build a FlexMatch Rule Set> .+--+-- * Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.+--+-- * Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.+--+-- * Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.+--+-- * Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.+--+--+--+--+-- /See:/ 'matchmakingRuleSet' smart constructor.+data MatchmakingRuleSet = MatchmakingRuleSet'+ { _mrsCreationTime :: !(Maybe POSIX)+ , _mrsRuleSetName :: !(Maybe Text)+ , _mrsRuleSetBody :: !Text+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MatchmakingRuleSet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mrsCreationTime' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'mrsRuleSetName' - Unique identifier for a matchmaking rule set+--+-- * 'mrsRuleSetBody' - Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)+matchmakingRuleSet+ :: Text -- ^ 'mrsRuleSetBody'+ -> MatchmakingRuleSet+matchmakingRuleSet pRuleSetBody_ =+ MatchmakingRuleSet'+ { _mrsCreationTime = Nothing+ , _mrsRuleSetName = Nothing+ , _mrsRuleSetBody = pRuleSetBody_+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+mrsCreationTime :: Lens' MatchmakingRuleSet (Maybe UTCTime)+mrsCreationTime = lens _mrsCreationTime (\ s a -> s{_mrsCreationTime = a}) . mapping _Time++-- | Unique identifier for a matchmaking rule set+mrsRuleSetName :: Lens' MatchmakingRuleSet (Maybe Text)+mrsRuleSetName = lens _mrsRuleSetName (\ s a -> s{_mrsRuleSetName = a})++-- | Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)+mrsRuleSetBody :: Lens' MatchmakingRuleSet Text+mrsRuleSetBody = lens _mrsRuleSetBody (\ s a -> s{_mrsRuleSetBody = a})++instance FromJSON MatchmakingRuleSet where+ parseJSON+ = withObject "MatchmakingRuleSet"+ (\ x ->+ MatchmakingRuleSet' <$>+ (x .:? "CreationTime") <*> (x .:? "RuleSetName") <*>+ (x .: "RuleSetBody"))++instance Hashable MatchmakingRuleSet where++instance NFData MatchmakingRuleSet where++-- | Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with 'StartMatchmaking' . Tickets can be retrieved by calling 'DescribeMatchmaking' with the ticket ID.+--+--+--+-- /See:/ 'matchmakingTicket' smart constructor.+data MatchmakingTicket = MatchmakingTicket'+ { _mtStatus :: !(Maybe MatchmakingConfigurationStatus)+ , _mtConfigurationName :: !(Maybe Text)+ , _mtStartTime :: !(Maybe POSIX)+ , _mtGameSessionConnectionInfo :: !(Maybe GameSessionConnectionInfo)+ , _mtTicketId :: !(Maybe Text)+ , _mtEstimatedWaitTime :: !(Maybe Nat)+ , _mtStatusMessage :: !(Maybe Text)+ , _mtEndTime :: !(Maybe POSIX)+ , _mtStatusReason :: !(Maybe Text)+ , _mtPlayers :: !(Maybe [Player])+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MatchmakingTicket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtStatus' - Current status of the matchmaking request. * __QUEUED__ -- The matchmaking request has been received and is currently waiting to be processed. * __SEARCHING__ -- The matchmaking request is currently being processed. * __REQUIRES_ACCEPTANCE__ -- A match has been proposed and the players must accept the match (see 'AcceptMatch' ). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement. * __PLACING__ -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match. * __COMPLETED__ -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players. * __FAILED__ -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in @FAILED@ status. * __CANCELLED__ -- The matchmaking request was canceled with a call to 'StopMatchmaking' . * __TIMED_OUT__ -- The matchmaking request was not successful within the duration specified in the matchmaking configuration.+--+-- * 'mtConfigurationName' - Name of the 'MatchmakingConfiguration' that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.+--+-- * 'mtStartTime' - Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'mtGameSessionConnectionInfo' - Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.+--+-- * 'mtTicketId' - Unique identifier for a matchmaking ticket.+--+-- * 'mtEstimatedWaitTime' - Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.+--+-- * 'mtStatusMessage' - Additional information about the current status.+--+-- * 'mtEndTime' - Time stamp indicating when this matchmaking request stopped being processed due to success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'mtStatusReason' - Code to explain the current status. For example, a status reason may indicate when a ticket has returned to @SEARCHING@ status after a proposed match fails to receive player acceptances.+--+-- * 'mtPlayers' - A set of @Player@ objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status @COMPLETED@ , the @Player@ objects include the team the players were assigned to in the resulting match.+matchmakingTicket+ :: MatchmakingTicket+matchmakingTicket =+ MatchmakingTicket'+ { _mtStatus = Nothing+ , _mtConfigurationName = Nothing+ , _mtStartTime = Nothing+ , _mtGameSessionConnectionInfo = Nothing+ , _mtTicketId = Nothing+ , _mtEstimatedWaitTime = Nothing+ , _mtStatusMessage = Nothing+ , _mtEndTime = Nothing+ , _mtStatusReason = Nothing+ , _mtPlayers = Nothing+ }+++-- | Current status of the matchmaking request. * __QUEUED__ -- The matchmaking request has been received and is currently waiting to be processed. * __SEARCHING__ -- The matchmaking request is currently being processed. * __REQUIRES_ACCEPTANCE__ -- A match has been proposed and the players must accept the match (see 'AcceptMatch' ). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement. * __PLACING__ -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match. * __COMPLETED__ -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players. * __FAILED__ -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in @FAILED@ status. * __CANCELLED__ -- The matchmaking request was canceled with a call to 'StopMatchmaking' . * __TIMED_OUT__ -- The matchmaking request was not successful within the duration specified in the matchmaking configuration.+mtStatus :: Lens' MatchmakingTicket (Maybe MatchmakingConfigurationStatus)+mtStatus = lens _mtStatus (\ s a -> s{_mtStatus = a})++-- | Name of the 'MatchmakingConfiguration' that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.+mtConfigurationName :: Lens' MatchmakingTicket (Maybe Text)+mtConfigurationName = lens _mtConfigurationName (\ s a -> s{_mtConfigurationName = a})++-- | Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+mtStartTime :: Lens' MatchmakingTicket (Maybe UTCTime)+mtStartTime = lens _mtStartTime (\ s a -> s{_mtStartTime = a}) . mapping _Time++-- | Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.+mtGameSessionConnectionInfo :: Lens' MatchmakingTicket (Maybe GameSessionConnectionInfo)+mtGameSessionConnectionInfo = lens _mtGameSessionConnectionInfo (\ s a -> s{_mtGameSessionConnectionInfo = a})++-- | Unique identifier for a matchmaking ticket.+mtTicketId :: Lens' MatchmakingTicket (Maybe Text)+mtTicketId = lens _mtTicketId (\ s a -> s{_mtTicketId = a})++-- | Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.+mtEstimatedWaitTime :: Lens' MatchmakingTicket (Maybe Natural)+mtEstimatedWaitTime = lens _mtEstimatedWaitTime (\ s a -> s{_mtEstimatedWaitTime = a}) . mapping _Nat++-- | Additional information about the current status.+mtStatusMessage :: Lens' MatchmakingTicket (Maybe Text)+mtStatusMessage = lens _mtStatusMessage (\ s a -> s{_mtStatusMessage = a})++-- | Time stamp indicating when this matchmaking request stopped being processed due to success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+mtEndTime :: Lens' MatchmakingTicket (Maybe UTCTime)+mtEndTime = lens _mtEndTime (\ s a -> s{_mtEndTime = a}) . mapping _Time++-- | Code to explain the current status. For example, a status reason may indicate when a ticket has returned to @SEARCHING@ status after a proposed match fails to receive player acceptances.+mtStatusReason :: Lens' MatchmakingTicket (Maybe Text)+mtStatusReason = lens _mtStatusReason (\ s a -> s{_mtStatusReason = a})++-- | A set of @Player@ objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status @COMPLETED@ , the @Player@ objects include the team the players were assigned to in the resulting match.+mtPlayers :: Lens' MatchmakingTicket [Player]+mtPlayers = lens _mtPlayers (\ s a -> s{_mtPlayers = a}) . _Default . _Coerce++instance FromJSON MatchmakingTicket where+ parseJSON+ = withObject "MatchmakingTicket"+ (\ x ->+ MatchmakingTicket' <$>+ (x .:? "Status") <*> (x .:? "ConfigurationName") <*>+ (x .:? "StartTime")+ <*> (x .:? "GameSessionConnectionInfo")+ <*> (x .:? "TicketId")+ <*> (x .:? "EstimatedWaitTime")+ <*> (x .:? "StatusMessage")+ <*> (x .:? "EndTime")+ <*> (x .:? "StatusReason")+ <*> (x .:? "Players" .!= mempty))++instance Hashable MatchmakingTicket where++instance NFData MatchmakingTicket where++-- | Information about a player session that was created as part of a 'StartGameSessionPlacement' request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call 'DescribePlayerSessions' with the player session ID.+--+--+-- Player-session-related operations include:+--+-- * 'CreatePlayerSession'+--+-- * 'CreatePlayerSessions'+--+-- * 'DescribePlayerSessions'+--+-- * Game session placements+--+-- * 'StartGameSessionPlacement'+--+-- * 'DescribeGameSessionPlacement'+--+-- * 'StopGameSessionPlacement'+--+--+--+--+--+--+-- /See:/ 'placedPlayerSession' smart constructor.+data PlacedPlayerSession = PlacedPlayerSession'+ { _ppsPlayerSessionId :: !(Maybe Text)+ , _ppsPlayerId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PlacedPlayerSession' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ppsPlayerSessionId' - Unique identifier for a player session.+--+-- * 'ppsPlayerId' - Unique identifier for a player that is associated with this player session.+placedPlayerSession+ :: PlacedPlayerSession+placedPlayerSession =+ PlacedPlayerSession' {_ppsPlayerSessionId = Nothing, _ppsPlayerId = Nothing}+++-- | Unique identifier for a player session.+ppsPlayerSessionId :: Lens' PlacedPlayerSession (Maybe Text)+ppsPlayerSessionId = lens _ppsPlayerSessionId (\ s a -> s{_ppsPlayerSessionId = a})++-- | Unique identifier for a player that is associated with this player session.+ppsPlayerId :: Lens' PlacedPlayerSession (Maybe Text)+ppsPlayerId = lens _ppsPlayerId (\ s a -> s{_ppsPlayerId = a})++instance FromJSON PlacedPlayerSession where+ parseJSON+ = withObject "PlacedPlayerSession"+ (\ x ->+ PlacedPlayerSession' <$>+ (x .:? "PlayerSessionId") <*> (x .:? "PlayerId"))++instance Hashable PlacedPlayerSession where++instance NFData PlacedPlayerSession where++-- | Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.+--+--+--+-- /See:/ 'player' smart constructor.+data Player = Player'+ { _pPlayerAttributes :: !(Maybe (Map Text AttributeValue))+ , _pTeam :: !(Maybe Text)+ , _pPlayerId :: !(Maybe Text)+ , _pLatencyInMs :: !(Maybe (Map Text Nat))+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Player' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pPlayerAttributes' - Collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the /playerAttributes/ used in a matchmaking rule set. Example: @"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}@ .+--+-- * 'pTeam' - Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.+--+-- * 'pPlayerId' - Unique identifier for a player+--+-- * 'pLatencyInMs' - Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported. If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.+player+ :: Player+player =+ Player'+ { _pPlayerAttributes = Nothing+ , _pTeam = Nothing+ , _pPlayerId = Nothing+ , _pLatencyInMs = Nothing+ }+++-- | Collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the /playerAttributes/ used in a matchmaking rule set. Example: @"PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}@ .+pPlayerAttributes :: Lens' Player (HashMap Text AttributeValue)+pPlayerAttributes = lens _pPlayerAttributes (\ s a -> s{_pPlayerAttributes = a}) . _Default . _Map++-- | Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.+pTeam :: Lens' Player (Maybe Text)+pTeam = lens _pTeam (\ s a -> s{_pTeam = a})++-- | Unique identifier for a player+pPlayerId :: Lens' Player (Maybe Text)+pPlayerId = lens _pPlayerId (\ s a -> s{_pPlayerId = a})++-- | Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported. If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.+pLatencyInMs :: Lens' Player (HashMap Text Natural)+pLatencyInMs = lens _pLatencyInMs (\ s a -> s{_pLatencyInMs = a}) . _Default . _Map++instance FromJSON Player where+ parseJSON+ = withObject "Player"+ (\ x ->+ Player' <$>+ (x .:? "PlayerAttributes" .!= mempty) <*>+ (x .:? "Team")+ <*> (x .:? "PlayerId")+ <*> (x .:? "LatencyInMs" .!= mempty))++instance Hashable Player where++instance NFData Player where++instance ToJSON Player where+ toJSON Player'{..}+ = object+ (catMaybes+ [("PlayerAttributes" .=) <$> _pPlayerAttributes,+ ("Team" .=) <$> _pTeam,+ ("PlayerId" .=) <$> _pPlayerId,+ ("LatencyInMs" .=) <$> _pLatencyInMs])++-- | Regional latency information for a player, used when requesting a new game session with 'StartGameSessionPlacement' . This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified region. The relative difference between a player's latency values for multiple regions are used to determine which fleets are best suited to place a new game session for the player.+--+--+--+-- /See:/ 'playerLatency' smart constructor.+data PlayerLatency = PlayerLatency'+ { _plLatencyInMilliseconds :: !(Maybe Double)+ , _plRegionIdentifier :: !(Maybe Text)+ , _plPlayerId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PlayerLatency' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plLatencyInMilliseconds' - Amount of time that represents the time lag experienced by the player when connected to the specified region.+--+-- * 'plRegionIdentifier' - Name of the region that is associated with the latency value.+--+-- * 'plPlayerId' - Unique identifier for a player associated with the latency data.+playerLatency+ :: PlayerLatency+playerLatency =+ PlayerLatency'+ { _plLatencyInMilliseconds = Nothing+ , _plRegionIdentifier = Nothing+ , _plPlayerId = Nothing+ }+++-- | Amount of time that represents the time lag experienced by the player when connected to the specified region.+plLatencyInMilliseconds :: Lens' PlayerLatency (Maybe Double)+plLatencyInMilliseconds = lens _plLatencyInMilliseconds (\ s a -> s{_plLatencyInMilliseconds = a})++-- | Name of the region that is associated with the latency value.+plRegionIdentifier :: Lens' PlayerLatency (Maybe Text)+plRegionIdentifier = lens _plRegionIdentifier (\ s a -> s{_plRegionIdentifier = a})++-- | Unique identifier for a player associated with the latency data.+plPlayerId :: Lens' PlayerLatency (Maybe Text)+plPlayerId = lens _plPlayerId (\ s a -> s{_plPlayerId = a})++instance FromJSON PlayerLatency where+ parseJSON+ = withObject "PlayerLatency"+ (\ x ->+ PlayerLatency' <$>+ (x .:? "LatencyInMilliseconds") <*>+ (x .:? "RegionIdentifier")+ <*> (x .:? "PlayerId"))++instance Hashable PlayerLatency where++instance NFData PlayerLatency where++instance ToJSON PlayerLatency where+ toJSON PlayerLatency'{..}+ = object+ (catMaybes+ [("LatencyInMilliseconds" .=) <$>+ _plLatencyInMilliseconds,+ ("RegionIdentifier" .=) <$> _plRegionIdentifier,+ ("PlayerId" .=) <$> _plPlayerId])++-- | Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed at any destination in a region where a player is reporting latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.+--+--+-- Queue-related operations include:+--+-- * 'CreateGameSessionQueue'+--+-- * 'DescribeGameSessionQueues'+--+-- * 'UpdateGameSessionQueue'+--+-- * 'DeleteGameSessionQueue'+--+--+--+--+-- /See:/ 'playerLatencyPolicy' smart constructor.+data PlayerLatencyPolicy = PlayerLatencyPolicy'+ { _plpPolicyDurationSeconds :: !(Maybe Nat)+ , _plpMaximumIndividualPlayerLatencyMilliseconds :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PlayerLatencyPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'plpPolicyDurationSeconds' - The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.+--+-- * 'plpMaximumIndividualPlayerLatencyMilliseconds' - The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.+playerLatencyPolicy+ :: PlayerLatencyPolicy+playerLatencyPolicy =+ PlayerLatencyPolicy'+ { _plpPolicyDurationSeconds = Nothing+ , _plpMaximumIndividualPlayerLatencyMilliseconds = Nothing+ }+++-- | The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.+plpPolicyDurationSeconds :: Lens' PlayerLatencyPolicy (Maybe Natural)+plpPolicyDurationSeconds = lens _plpPolicyDurationSeconds (\ s a -> s{_plpPolicyDurationSeconds = a}) . mapping _Nat++-- | The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.+plpMaximumIndividualPlayerLatencyMilliseconds :: Lens' PlayerLatencyPolicy (Maybe Natural)+plpMaximumIndividualPlayerLatencyMilliseconds = lens _plpMaximumIndividualPlayerLatencyMilliseconds (\ s a -> s{_plpMaximumIndividualPlayerLatencyMilliseconds = a}) . mapping _Nat++instance FromJSON PlayerLatencyPolicy where+ parseJSON+ = withObject "PlayerLatencyPolicy"+ (\ x ->+ PlayerLatencyPolicy' <$>+ (x .:? "PolicyDurationSeconds") <*>+ (x .:? "MaximumIndividualPlayerLatencyMilliseconds"))++instance Hashable PlayerLatencyPolicy where++instance NFData PlayerLatencyPolicy where++instance ToJSON PlayerLatencyPolicy where+ toJSON PlayerLatencyPolicy'{..}+ = object+ (catMaybes+ [("PolicyDurationSeconds" .=) <$>+ _plpPolicyDurationSeconds,+ ("MaximumIndividualPlayerLatencyMilliseconds" .=) <$>+ _plpMaximumIndividualPlayerLatencyMilliseconds])++-- | Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status @RESERVED@ ) or actual player activity in a game session (status @ACTIVE@ ). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.+--+--+-- When a player disconnects, the player session status changes to @COMPLETED@ . Once the session ends, the player session object is retained for 30 days and then removed.+--+-- Player-session-related operations include:+--+-- * 'CreatePlayerSession'+--+-- * 'CreatePlayerSessions'+--+-- * 'DescribePlayerSessions'+--+-- * Game session placements+--+-- * 'StartGameSessionPlacement'+--+-- * 'DescribeGameSessionPlacement'+--+-- * 'StopGameSessionPlacement'+--+--+--+--+--+--+-- /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)+ , _psPlayerData :: !(Maybe Text)+ , _psPlayerId :: !(Maybe Text)+ , _psPort :: !(Maybe Nat)+ } 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' - Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'psStatus' - Current status of the player session. Possible player session statuses include the following: * __RESERVED__ -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. * __ACTIVE__ -- The player has been validated by the server process 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 timeout limit (60 seconds).+--+-- * 'psIPAddress' - IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+--+-- * 'psGameSessionId' - Unique identifier for the game session that the player session is connected to.+--+-- * 'psTerminationTime' - Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'psPlayerSessionId' - Unique identifier for a player session.+--+-- * 'psFleetId' - Unique identifier for a fleet that the player's game session is running on.+--+-- * 'psPlayerData' - Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.+--+-- * 'psPlayerId' - Unique identifier for a player that is associated with this player session.+--+-- * 'psPort' - Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.+playerSession+ :: PlayerSession+playerSession =+ PlayerSession'+ { _psCreationTime = Nothing+ , _psStatus = Nothing+ , _psIPAddress = Nothing+ , _psGameSessionId = Nothing+ , _psTerminationTime = Nothing+ , _psPlayerSessionId = Nothing+ , _psFleetId = Nothing+ , _psPlayerData = Nothing+ , _psPlayerId = Nothing+ , _psPort = Nothing+ }+++-- | Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+psCreationTime :: Lens' PlayerSession (Maybe UTCTime)+psCreationTime = lens _psCreationTime (\ s a -> s{_psCreationTime = a}) . mapping _Time++-- | Current status of the player session. Possible player session statuses include the following: * __RESERVED__ -- The player session request has been received, but the player has not yet connected to the server process and/or been validated. * __ACTIVE__ -- The player has been validated by the server process 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 timeout limit (60 seconds).+psStatus :: Lens' PlayerSession (Maybe PlayerSessionStatus)+psStatus = lens _psStatus (\ s a -> s{_psStatus = a})++-- | IP address of the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.+psIPAddress :: Lens' PlayerSession (Maybe Text)+psIPAddress = lens _psIPAddress (\ s a -> s{_psIPAddress = a})++-- | Unique identifier for the game session that the player session is connected to.+psGameSessionId :: Lens' PlayerSession (Maybe Text)+psGameSessionId = lens _psGameSessionId (\ s a -> s{_psGameSessionId = a})++-- | Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+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 that the player's game session is running on.+psFleetId :: Lens' PlayerSession (Maybe Text)+psFleetId = lens _psFleetId (\ s a -> s{_psFleetId = a})++-- | Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.+psPlayerData :: Lens' PlayerSession (Maybe Text)+psPlayerData = lens _psPlayerData (\ s a -> s{_psPlayerData = a})++-- | Unique identifier for a player that is associated with this player session.+psPlayerId :: Lens' PlayerSession (Maybe Text)+psPlayerId = lens _psPlayerId (\ s a -> s{_psPlayerId = a})++-- | Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.+psPort :: Lens' PlayerSession (Maybe Natural)+psPort = lens _psPort (\ s a -> s{_psPort = a}) . mapping _Nat++instance FromJSON PlayerSession where+ parseJSON+ = withObject "PlayerSession"+ (\ x ->+ PlayerSession' <$>+ (x .:? "CreationTime") <*> (x .:? "Status") <*>+ (x .:? "IpAddress")+ <*> (x .:? "GameSessionId")+ <*> (x .:? "TerminationTime")+ <*> (x .:? "PlayerSessionId")+ <*> (x .:? "FleetId")+ <*> (x .:? "PlayerData")+ <*> (x .:? "PlayerId")+ <*> (x .:? "Port"))++instance Hashable PlayerSession where++instance NFData PlayerSession where++-- | Policy that limits the number of game sessions a player can create on the same fleet. This optional policy gives game owners control over how players can consume available game server resources. A resource creation policy makes the following statement: "An individual player can create a maximum number of new game sessions within a specified time period".+--+--+-- The policy is evaluated when a player tries to create a new game session. For example, with a policy of 10 new game sessions and a time period of 60 minutes, on receiving a @CreateGameSession@ request, Amazon GameLift checks that the player (identified by @CreatorId@ ) has created fewer than 10 game sessions in the past 60 minutes.+--+--+-- /See:/ 'resourceCreationLimitPolicy' smart constructor.+data ResourceCreationLimitPolicy = ResourceCreationLimitPolicy'+ { _rclpNewGameSessionsPerCreator :: !(Maybe Nat)+ , _rclpPolicyPeriodInMinutes :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceCreationLimitPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rclpNewGameSessionsPerCreator' - Maximum number of game sessions that an individual can create during the policy period.+--+-- * 'rclpPolicyPeriodInMinutes' - Time span used in evaluating the resource creation limit policy.+resourceCreationLimitPolicy+ :: ResourceCreationLimitPolicy+resourceCreationLimitPolicy =+ ResourceCreationLimitPolicy'+ { _rclpNewGameSessionsPerCreator = Nothing+ , _rclpPolicyPeriodInMinutes = Nothing+ }+++-- | Maximum number of game sessions that an individual can create during the policy period.+rclpNewGameSessionsPerCreator :: Lens' ResourceCreationLimitPolicy (Maybe Natural)+rclpNewGameSessionsPerCreator = lens _rclpNewGameSessionsPerCreator (\ s a -> s{_rclpNewGameSessionsPerCreator = a}) . mapping _Nat++-- | Time span used in evaluating the resource creation limit policy.+rclpPolicyPeriodInMinutes :: Lens' ResourceCreationLimitPolicy (Maybe Natural)+rclpPolicyPeriodInMinutes = lens _rclpPolicyPeriodInMinutes (\ s a -> s{_rclpPolicyPeriodInMinutes = a}) . mapping _Nat++instance FromJSON ResourceCreationLimitPolicy where+ parseJSON+ = withObject "ResourceCreationLimitPolicy"+ (\ x ->+ ResourceCreationLimitPolicy' <$>+ (x .:? "NewGameSessionsPerCreator") <*>+ (x .:? "PolicyPeriodInMinutes"))++instance Hashable ResourceCreationLimitPolicy where++instance NFData ResourceCreationLimitPolicy where++instance ToJSON ResourceCreationLimitPolicy where+ toJSON ResourceCreationLimitPolicy'{..}+ = object+ (catMaybes+ [("NewGameSessionsPerCreator" .=) <$>+ _rclpNewGameSessionsPerCreator,+ ("PolicyPeriodInMinutes" .=) <$>+ _rclpPolicyPeriodInMinutes])++-- | Routing configuration for a fleet alias.+--+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /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' - Type of routing strategy. Possible routing types include the following: * __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.+--+-- * 'rsMessage' - Message text to be used with a terminal routing strategy.+--+-- * 'rsFleetId' - Unique identifier for a fleet that the alias points to.+routingStrategy+ :: RoutingStrategy+routingStrategy =+ RoutingStrategy'+ {_rsType = Nothing, _rsMessage = Nothing, _rsFleetId = Nothing}+++-- | Type of routing strategy. Possible routing types include the following: * __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 that the alias points to.+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 where++instance NFData RoutingStrategy where++instance ToJSON RoutingStrategy where+ toJSON RoutingStrategy'{..}+ = object+ (catMaybes+ [("Type" .=) <$> _rsType,+ ("Message" .=) <$> _rsMessage,+ ("FleetId" .=) <$> _rsFleetId])++-- | A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.+--+--+-- The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.+--+-- A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the @ConcurrentExecutions@ parameter for each @'ServerProcess' @ object in the run-time configuration.+--+-- Fleet-related operations include:+--+-- * 'CreateFleet'+--+-- * 'ListFleets'+--+-- * 'DeleteFleet'+--+-- * Describe fleets:+--+-- * 'DescribeFleetAttributes'+--+-- * 'DescribeFleetCapacity'+--+-- * 'DescribeFleetPortSettings'+--+-- * 'DescribeFleetUtilization'+--+-- * 'DescribeRuntimeConfiguration'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * 'DescribeFleetEvents'+--+--+--+-- * Update fleets:+--+-- * 'UpdateFleetAttributes'+--+-- * 'UpdateFleetCapacity'+--+-- * 'UpdateFleetPortSettings'+--+-- * 'UpdateRuntimeConfiguration'+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /See:/ 'runtimeConfiguration' smart constructor.+data RuntimeConfiguration = RuntimeConfiguration'+ { _rcGameSessionActivationTimeoutSeconds :: !(Maybe Nat)+ , _rcServerProcesses :: !(Maybe (List1 ServerProcess))+ , _rcMaxConcurrentGameSessionActivations :: !(Maybe Nat)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RuntimeConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcGameSessionActivationTimeoutSeconds' - Maximum amount of time (in seconds) that a game session can remain in status @ACTIVATING@ . If the game session is not active before the timeout, activation is terminated and the game session status is changed to @TERMINATED@ .+--+-- * 'rcServerProcesses' - Collection of server process configurations that describe which server processes to run on each instance in a fleet.+--+-- * 'rcMaxConcurrentGameSessionActivations' - Maximum number of game sessions with status @ACTIVATING@ to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.+runtimeConfiguration+ :: RuntimeConfiguration+runtimeConfiguration =+ RuntimeConfiguration'+ { _rcGameSessionActivationTimeoutSeconds = Nothing+ , _rcServerProcesses = Nothing+ , _rcMaxConcurrentGameSessionActivations = Nothing+ }+++-- | Maximum amount of time (in seconds) that a game session can remain in status @ACTIVATING@ . If the game session is not active before the timeout, activation is terminated and the game session status is changed to @TERMINATED@ .+rcGameSessionActivationTimeoutSeconds :: Lens' RuntimeConfiguration (Maybe Natural)+rcGameSessionActivationTimeoutSeconds = lens _rcGameSessionActivationTimeoutSeconds (\ s a -> s{_rcGameSessionActivationTimeoutSeconds = a}) . mapping _Nat++-- | Collection of server process configurations that describe which server processes to run on each instance in a fleet.+rcServerProcesses :: Lens' RuntimeConfiguration (Maybe (NonEmpty ServerProcess))+rcServerProcesses = lens _rcServerProcesses (\ s a -> s{_rcServerProcesses = a}) . mapping _List1++-- | Maximum number of game sessions with status @ACTIVATING@ to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.+rcMaxConcurrentGameSessionActivations :: Lens' RuntimeConfiguration (Maybe Natural)+rcMaxConcurrentGameSessionActivations = lens _rcMaxConcurrentGameSessionActivations (\ s a -> s{_rcMaxConcurrentGameSessionActivations = a}) . mapping _Nat++instance FromJSON RuntimeConfiguration where+ parseJSON+ = withObject "RuntimeConfiguration"+ (\ x ->+ RuntimeConfiguration' <$>+ (x .:? "GameSessionActivationTimeoutSeconds") <*>+ (x .:? "ServerProcesses")+ <*> (x .:? "MaxConcurrentGameSessionActivations"))++instance Hashable RuntimeConfiguration where++instance NFData RuntimeConfiguration where++instance ToJSON RuntimeConfiguration where+ toJSON RuntimeConfiguration'{..}+ = object+ (catMaybes+ [("GameSessionActivationTimeoutSeconds" .=) <$>+ _rcGameSessionActivationTimeoutSeconds,+ ("ServerProcesses" .=) <$> _rcServerProcesses,+ ("MaxConcurrentGameSessionActivations" .=) <$>+ _rcMaxConcurrentGameSessionActivations])++-- | Location in Amazon Simple Storage Service (Amazon S3) where build files can be stored for access by Amazon GameLift. This location is specified in a 'CreateBuild' request. For more details, see the <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build Create a Build with Files in Amazon S3> .+--+--+--+-- /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' - Amazon S3 bucket identifier. This is the name of your S3 bucket.+--+-- * 'slKey' - Name of the zip file containing your build files.+--+-- * 'slRoleARN' - Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) for the access role that allows Amazon GameLift to access your S3 bucket.+s3Location+ :: S3Location+s3Location =+ S3Location' {_slBucket = Nothing, _slKey = Nothing, _slRoleARN = Nothing}+++-- | Amazon S3 bucket identifier. This is the name of your S3 bucket.+slBucket :: Lens' S3Location (Maybe Text)+slBucket = lens _slBucket (\ s a -> s{_slBucket = a})++-- | Name of the zip file containing your build files.+slKey :: Lens' S3Location (Maybe Text)+slKey = lens _slKey (\ s a -> s{_slKey = a})++-- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) for the access role that allows Amazon GameLift to access your S3 bucket.+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 where++instance NFData S3Location where++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.+--+--+-- Operations related to fleet capacity scaling include:+--+-- * 'DescribeFleetCapacity'+--+-- * 'UpdateFleetCapacity'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * Manage scaling policies:+--+-- * 'PutScalingPolicy' (auto-scaling)+--+-- * 'DescribeScalingPolicies' (auto-scaling)+--+-- * 'DeleteScalingPolicy' (auto-scaling)+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /See:/ 'scalingPolicy' smart constructor.+data ScalingPolicy = ScalingPolicy'+ { _spStatus :: !(Maybe ScalingStatusType)+ , _spScalingAdjustmentType :: !(Maybe ScalingAdjustmentType)+ , _spEvaluationPeriods :: !(Maybe Nat)+ , _spPolicyType :: !(Maybe PolicyType)+ , _spMetricName :: !(Maybe MetricName)+ , _spComparisonOperator :: !(Maybe ComparisonOperatorType)+ , _spName :: !(Maybe Text)+ , _spThreshold :: !(Maybe Double)+ , _spScalingAdjustment :: !(Maybe Int)+ , _spFleetId :: !(Maybe Text)+ , _spTargetConfiguration :: !(Maybe TargetConfiguration)+ } 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' - Current status of the scaling policy. The scaling policy can be in force only when in an @ACTIVE@ status. Scaling policies can be suspended for individual fleets (see 'StopFleetActions' ; if suspended for a fleet, the policy status does not change. View a fleet's stopped actions by calling 'DescribeFleetCapacity' . * __ACTIVE__ -- The scaling policy can be used for auto-scaling a fleet. * __UPDATE_REQUESTED__ -- A request to update the scaling policy has been received. * __UPDATING__ -- A change is being made to the scaling policy. * __DELETE_REQUESTED__ -- 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.+--+-- * 'spScalingAdjustmentType' - 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.+--+-- * 'spEvaluationPeriods' - Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.+--+-- * 'spPolicyType' - Type of scaling policy to create. For a target-based policy, set the parameter /MetricName/ to 'PercentAvailableGameSessions' and specify a /TargetConfiguration/ . For a rule-based policy set the following parameters: /MetricName/ , /ComparisonOperator/ , /Threshold/ , /EvaluationPeriods/ , /ScalingAdjustmentType/ , and /ScalingAdjustment/ .+--+-- * 'spMetricName' - Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html Monitor Amazon GameLift with Amazon CloudWatch> . * __ActivatingGameSessions__ -- Game sessions in the process of being created. * __ActiveGameSessions__ -- Game sessions that are currently running. * __ActiveInstances__ -- Fleet instances that are currently running at least one game session. * __AvailableGameSessions__ -- Additional game sessions that fleet could host simultaneously, given current capacity. * __AvailablePlayerSessions__ -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included. * __CurrentPlayerSessions__ -- Player slots in active game sessions that are being used by a player or are reserved for a player. * __IdleInstances__ -- Active instances that are currently hosting zero game sessions. * __PercentAvailableGameSessions__ -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy. * __PercentIdleInstances__ -- Percentage of the total number of active instances that are hosting zero game sessions. * __QueueDepth__ -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination. * __WaitTime__ -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.+--+-- * 'spComparisonOperator' - Comparison operator to use when measuring a metric against the threshold value.+--+-- * 'spName' - Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.+--+-- * 'spThreshold' - Metric value used to trigger a scaling event.+--+-- * 'spScalingAdjustment' - Amount of adjustment to make, based on the scaling adjustment type.+--+-- * 'spFleetId' - Unique identifier for a fleet that is associated with this scaling policy.+--+-- * 'spTargetConfiguration' - Object that contains settings for a target-based scaling policy.+scalingPolicy+ :: ScalingPolicy+scalingPolicy =+ ScalingPolicy'+ { _spStatus = Nothing+ , _spScalingAdjustmentType = Nothing+ , _spEvaluationPeriods = Nothing+ , _spPolicyType = Nothing+ , _spMetricName = Nothing+ , _spComparisonOperator = Nothing+ , _spName = Nothing+ , _spThreshold = Nothing+ , _spScalingAdjustment = Nothing+ , _spFleetId = Nothing+ , _spTargetConfiguration = Nothing+ }+++-- | Current status of the scaling policy. The scaling policy can be in force only when in an @ACTIVE@ status. Scaling policies can be suspended for individual fleets (see 'StopFleetActions' ; if suspended for a fleet, the policy status does not change. View a fleet's stopped actions by calling 'DescribeFleetCapacity' . * __ACTIVE__ -- The scaling policy can be used for auto-scaling a fleet. * __UPDATE_REQUESTED__ -- A request to update the scaling policy has been received. * __UPDATING__ -- A change is being made to the scaling policy. * __DELETE_REQUESTED__ -- 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++-- | Type of scaling policy to create. For a target-based policy, set the parameter /MetricName/ to 'PercentAvailableGameSessions' and specify a /TargetConfiguration/ . For a rule-based policy set the following parameters: /MetricName/ , /ComparisonOperator/ , /Threshold/ , /EvaluationPeriods/ , /ScalingAdjustmentType/ , and /ScalingAdjustment/ .+spPolicyType :: Lens' ScalingPolicy (Maybe PolicyType)+spPolicyType = lens _spPolicyType (\ s a -> s{_spPolicyType = a})++-- | Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html Monitor Amazon GameLift with Amazon CloudWatch> . * __ActivatingGameSessions__ -- Game sessions in the process of being created. * __ActiveGameSessions__ -- Game sessions that are currently running. * __ActiveInstances__ -- Fleet instances that are currently running at least one game session. * __AvailableGameSessions__ -- Additional game sessions that fleet could host simultaneously, given current capacity. * __AvailablePlayerSessions__ -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included. * __CurrentPlayerSessions__ -- Player slots in active game sessions that are being used by a player or are reserved for a player. * __IdleInstances__ -- Active instances that are currently hosting zero game sessions. * __PercentAvailableGameSessions__ -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy. * __PercentIdleInstances__ -- Percentage of the total number of active instances that are hosting zero game sessions. * __QueueDepth__ -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination. * __WaitTime__ -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.+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 that is associated with a 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 identifier for a fleet that is associated with this scaling policy.+spFleetId :: Lens' ScalingPolicy (Maybe Text)+spFleetId = lens _spFleetId (\ s a -> s{_spFleetId = a})++-- | Object that contains settings for a target-based scaling policy.+spTargetConfiguration :: Lens' ScalingPolicy (Maybe TargetConfiguration)+spTargetConfiguration = lens _spTargetConfiguration (\ s a -> s{_spTargetConfiguration = a})++instance FromJSON ScalingPolicy where+ parseJSON+ = withObject "ScalingPolicy"+ (\ x ->+ ScalingPolicy' <$>+ (x .:? "Status") <*> (x .:? "ScalingAdjustmentType")+ <*> (x .:? "EvaluationPeriods")+ <*> (x .:? "PolicyType")+ <*> (x .:? "MetricName")+ <*> (x .:? "ComparisonOperator")+ <*> (x .:? "Name")+ <*> (x .:? "Threshold")+ <*> (x .:? "ScalingAdjustment")+ <*> (x .:? "FleetId")+ <*> (x .:? "TargetConfiguration"))++instance Hashable ScalingPolicy where++instance NFData ScalingPolicy where++-- | A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's @'RuntimeConfiguration' @ .+--+--+--+-- /See:/ 'serverProcess' smart constructor.+data ServerProcess = ServerProcess'+ { _spParameters :: !(Maybe Text)+ , _spLaunchPath :: !Text+ , _spConcurrentExecutions :: !Nat+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ServerProcess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'spParameters' - Optional list of parameters to pass to the server executable on launch.+--+-- * 'spLaunchPath' - Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances @C:\game@ , and for Linux instances @/local/game@ . A Windows game build with an executable file located at @MyGame\latest\server.exe@ must have a launch path of "@C:\game\MyGame\latest\server.exe@ ". A Linux game build with an executable file located at @MyGame/latest/server.exe@ must have a launch path of "@/local/game/MyGame/latest/server.exe@ ".+--+-- * 'spConcurrentExecutions' - Number of server processes using this configuration to run concurrently on an instance.+serverProcess+ :: Text -- ^ 'spLaunchPath'+ -> Natural -- ^ 'spConcurrentExecutions'+ -> ServerProcess+serverProcess pLaunchPath_ pConcurrentExecutions_ =+ ServerProcess'+ { _spParameters = Nothing+ , _spLaunchPath = pLaunchPath_+ , _spConcurrentExecutions = _Nat # pConcurrentExecutions_+ }+++-- | Optional list of parameters to pass to the server executable on launch.+spParameters :: Lens' ServerProcess (Maybe Text)+spParameters = lens _spParameters (\ s a -> s{_spParameters = a})++-- | Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances @C:\game@ , and for Linux instances @/local/game@ . A Windows game build with an executable file located at @MyGame\latest\server.exe@ must have a launch path of "@C:\game\MyGame\latest\server.exe@ ". A Linux game build with an executable file located at @MyGame/latest/server.exe@ must have a launch path of "@/local/game/MyGame/latest/server.exe@ ".+spLaunchPath :: Lens' ServerProcess Text+spLaunchPath = lens _spLaunchPath (\ s a -> s{_spLaunchPath = a})++-- | Number of server processes using this configuration to run concurrently on an instance.+spConcurrentExecutions :: Lens' ServerProcess Natural+spConcurrentExecutions = lens _spConcurrentExecutions (\ s a -> s{_spConcurrentExecutions = a}) . _Nat++instance FromJSON ServerProcess where+ parseJSON+ = withObject "ServerProcess"+ (\ x ->+ ServerProcess' <$>+ (x .:? "Parameters") <*> (x .: "LaunchPath") <*>+ (x .: "ConcurrentExecutions"))++instance Hashable ServerProcess where++instance NFData ServerProcess where++instance ToJSON ServerProcess where+ toJSON ServerProcess'{..}+ = object+ (catMaybes+ [("Parameters" .=) <$> _spParameters,+ Just ("LaunchPath" .= _spLaunchPath),+ Just+ ("ConcurrentExecutions" .= _spConcurrentExecutions)])++-- | Settings for a target-based scaling policy (see 'ScalingPolicy' . A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.+--+--+-- Operations related to fleet capacity scaling include:+--+-- * 'DescribeFleetCapacity'+--+-- * 'UpdateFleetCapacity'+--+-- * 'DescribeEC2InstanceLimits'+--+-- * Manage scaling policies:+--+-- * 'PutScalingPolicy' (auto-scaling)+--+-- * 'DescribeScalingPolicies' (auto-scaling)+--+-- * 'DeleteScalingPolicy' (auto-scaling)+--+--+--+-- * Manage fleet actions:+--+-- * 'StartFleetActions'+--+-- * 'StopFleetActions'+--+--+--+--+--+--+-- /See:/ 'targetConfiguration' smart constructor.+newtype TargetConfiguration = TargetConfiguration'+ { _tcTargetValue :: Double+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'TargetConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcTargetValue' - Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).+targetConfiguration+ :: Double -- ^ 'tcTargetValue'+ -> TargetConfiguration+targetConfiguration pTargetValue_ =+ TargetConfiguration' {_tcTargetValue = pTargetValue_}+++-- | Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).+tcTargetValue :: Lens' TargetConfiguration Double+tcTargetValue = lens _tcTargetValue (\ s a -> s{_tcTargetValue = a})++instance FromJSON TargetConfiguration where+ parseJSON+ = withObject "TargetConfiguration"+ (\ x ->+ TargetConfiguration' <$> (x .: "TargetValue"))++instance Hashable TargetConfiguration where++instance NFData TargetConfiguration where++instance ToJSON TargetConfiguration where+ toJSON TargetConfiguration'{..}+ = object+ (catMaybes [Just ("TargetValue" .= _tcTargetValue)])++-- | Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.+--+--+-- VPC peering connection operations include:+--+-- * 'CreateVpcPeeringAuthorization'+--+-- * 'DescribeVpcPeeringAuthorizations'+--+-- * 'DeleteVpcPeeringAuthorization'+--+-- * 'CreateVpcPeeringConnection'+--+-- * 'DescribeVpcPeeringConnections'+--+-- * 'DeleteVpcPeeringConnection'+--+--+--+--+-- /See:/ 'vpcPeeringAuthorization' smart constructor.+data VPCPeeringAuthorization = VPCPeeringAuthorization'+ { _vpaCreationTime :: !(Maybe POSIX)+ , _vpaPeerVPCId :: !(Maybe Text)+ , _vpaPeerVPCAWSAccountId :: !(Maybe Text)+ , _vpaGameLiftAWSAccountId :: !(Maybe Text)+ , _vpaExpirationTime :: !(Maybe POSIX)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VPCPeeringAuthorization' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpaCreationTime' - Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+--+-- * 'vpaPeerVPCId' - Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.+--+-- * 'vpaPeerVPCAWSAccountId' -+--+-- * 'vpaGameLiftAWSAccountId' - Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.+--+-- * 'vpaExpirationTime' - Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+vpcPeeringAuthorization+ :: VPCPeeringAuthorization+vpcPeeringAuthorization =+ VPCPeeringAuthorization'+ { _vpaCreationTime = Nothing+ , _vpaPeerVPCId = Nothing+ , _vpaPeerVPCAWSAccountId = Nothing+ , _vpaGameLiftAWSAccountId = Nothing+ , _vpaExpirationTime = Nothing+ }+++-- | Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+vpaCreationTime :: Lens' VPCPeeringAuthorization (Maybe UTCTime)+vpaCreationTime = lens _vpaCreationTime (\ s a -> s{_vpaCreationTime = a}) . mapping _Time++-- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.+vpaPeerVPCId :: Lens' VPCPeeringAuthorization (Maybe Text)+vpaPeerVPCId = lens _vpaPeerVPCId (\ s a -> s{_vpaPeerVPCId = a})++-- |+vpaPeerVPCAWSAccountId :: Lens' VPCPeeringAuthorization (Maybe Text)+vpaPeerVPCAWSAccountId = lens _vpaPeerVPCAWSAccountId (\ s a -> s{_vpaPeerVPCAWSAccountId = a})++-- | Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.+vpaGameLiftAWSAccountId :: Lens' VPCPeeringAuthorization (Maybe Text)+vpaGameLiftAWSAccountId = lens _vpaGameLiftAWSAccountId (\ s a -> s{_vpaGameLiftAWSAccountId = a})++-- | Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").+vpaExpirationTime :: Lens' VPCPeeringAuthorization (Maybe UTCTime)+vpaExpirationTime = lens _vpaExpirationTime (\ s a -> s{_vpaExpirationTime = a}) . mapping _Time++instance FromJSON VPCPeeringAuthorization where+ parseJSON+ = withObject "VPCPeeringAuthorization"+ (\ x ->+ VPCPeeringAuthorization' <$>+ (x .:? "CreationTime") <*> (x .:? "PeerVpcId") <*>+ (x .:? "PeerVpcAwsAccountId")+ <*> (x .:? "GameLiftAwsAccountId")+ <*> (x .:? "ExpirationTime"))++instance Hashable VPCPeeringAuthorization where++instance NFData VPCPeeringAuthorization where++-- | Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.+--+--+-- VPC peering connection operations include:+--+-- * 'CreateVpcPeeringAuthorization'+--+-- * 'DescribeVpcPeeringAuthorizations'+--+-- * 'DeleteVpcPeeringAuthorization'+--+-- * 'CreateVpcPeeringConnection'+--+-- * 'DescribeVpcPeeringConnections'+--+-- * 'DeleteVpcPeeringConnection'+--+--+--+--+-- /See:/ 'vpcPeeringConnection' smart constructor.+data VPCPeeringConnection = VPCPeeringConnection'+ { _vpcVPCPeeringConnectionId :: !(Maybe Text)+ , _vpcStatus :: !(Maybe VPCPeeringConnectionStatus)+ , _vpcPeerVPCId :: !(Maybe Text)+ , _vpcIPV4CidrBlock :: !(Maybe Text)+ , _vpcGameLiftVPCId :: !(Maybe Text)+ , _vpcFleetId :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VPCPeeringConnection' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcVPCPeeringConnectionId' - Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with 'DeleteVpcPeeringConnection' .+--+-- * 'vpcStatus' - Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.+--+-- * 'vpcPeerVPCId' - Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.+--+-- * 'vpcIPV4CidrBlock' - CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.+--+-- * 'vpcGameLiftVPCId' - Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.+--+-- * 'vpcFleetId' - Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.+vpcPeeringConnection+ :: VPCPeeringConnection+vpcPeeringConnection =+ VPCPeeringConnection'+ { _vpcVPCPeeringConnectionId = Nothing+ , _vpcStatus = Nothing+ , _vpcPeerVPCId = Nothing+ , _vpcIPV4CidrBlock = Nothing+ , _vpcGameLiftVPCId = Nothing+ , _vpcFleetId = Nothing+ }+++-- | Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with 'DeleteVpcPeeringConnection' .+vpcVPCPeeringConnectionId :: Lens' VPCPeeringConnection (Maybe Text)+vpcVPCPeeringConnectionId = lens _vpcVPCPeeringConnectionId (\ s a -> s{_vpcVPCPeeringConnectionId = a})++-- | Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.+vpcStatus :: Lens' VPCPeeringConnection (Maybe VPCPeeringConnectionStatus)+vpcStatus = lens _vpcStatus (\ s a -> s{_vpcStatus = a})++-- | Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.+vpcPeerVPCId :: Lens' VPCPeeringConnection (Maybe Text)+vpcPeerVPCId = lens _vpcPeerVPCId (\ s a -> s{_vpcPeerVPCId = a})++-- | CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.+vpcIPV4CidrBlock :: Lens' VPCPeeringConnection (Maybe Text)+vpcIPV4CidrBlock = lens _vpcIPV4CidrBlock (\ s a -> s{_vpcIPV4CidrBlock = a})++-- | Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.+vpcGameLiftVPCId :: Lens' VPCPeeringConnection (Maybe Text)+vpcGameLiftVPCId = lens _vpcGameLiftVPCId (\ s a -> s{_vpcGameLiftVPCId = a})++-- | Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.+vpcFleetId :: Lens' VPCPeeringConnection (Maybe Text)+vpcFleetId = lens _vpcFleetId (\ s a -> s{_vpcFleetId = a})++instance FromJSON VPCPeeringConnection where+ parseJSON+ = withObject "VPCPeeringConnection"+ (\ x ->+ VPCPeeringConnection' <$>+ (x .:? "VpcPeeringConnectionId") <*> (x .:? "Status")+ <*> (x .:? "PeerVpcId")+ <*> (x .:? "IpV4CidrBlock")+ <*> (x .:? "GameLiftVpcId")+ <*> (x .:? "FleetId"))++instance Hashable VPCPeeringConnection where++instance NFData VPCPeeringConnection where++-- | Represents status information for a VPC peering connection. Status is associated with a 'VpcPeeringConnection' object. Status codes and messages are provided from EC2 (see <http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html VpcPeeringConnectionStateReason> ). Connection status information is also communicated as a fleet 'Event' .+--+--+--+-- /See:/ 'vpcPeeringConnectionStatus' smart constructor.+data VPCPeeringConnectionStatus = VPCPeeringConnectionStatus'+ { _vpcsCode :: !(Maybe Text)+ , _vpcsMessage :: !(Maybe Text)+ } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'VPCPeeringConnectionStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vpcsCode' - Code indicating the status of a VPC peering connection.+--+-- * 'vpcsMessage' - Additional messaging associated with the connection status.+vpcPeeringConnectionStatus+ :: VPCPeeringConnectionStatus+vpcPeeringConnectionStatus =+ VPCPeeringConnectionStatus' {_vpcsCode = Nothing, _vpcsMessage = Nothing}+++-- | Code indicating the status of a VPC peering connection.+vpcsCode :: Lens' VPCPeeringConnectionStatus (Maybe Text)+vpcsCode = lens _vpcsCode (\ s a -> s{_vpcsCode = a})++-- | Additional messaging associated with the connection status.+vpcsMessage :: Lens' VPCPeeringConnectionStatus (Maybe Text)+vpcsMessage = lens _vpcsMessage (\ s a -> s{_vpcsMessage = a}) instance FromJSON VPCPeeringConnectionStatus where parseJSON
gen/Network/AWS/GameLift/Types/Sum.hs view
@@ -9,7 +9,7 @@ -- | -- Module : Network.AWS.GameLift.Types.Sum--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -267,6 +267,7 @@ | FleetValidationTimedOut | GameSessionActivationTimeout | GenericEvent+ | InstanceInterrupted | ServerProcessCrashed | ServerProcessForceTerminated | ServerProcessInvalidPath@@ -304,6 +305,7 @@ "fleet_validation_timed_out" -> pure FleetValidationTimedOut "game_session_activation_timeout" -> pure GameSessionActivationTimeout "generic_event" -> pure GenericEvent+ "instance_interrupted" -> pure InstanceInterrupted "server_process_crashed" -> pure ServerProcessCrashed "server_process_force_terminated" -> pure ServerProcessForceTerminated "server_process_invalid_path" -> pure ServerProcessInvalidPath@@ -312,7 +314,7 @@ "server_process_sdk_initialization_timeout" -> pure ServerProcessSDKInitializationTimeout "server_process_terminated_unhealthy" -> pure ServerProcessTerminatedUnhealthy 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_creation_extracting_build, fleet_creation_running_installer, fleet_creation_validating_runtime_config, 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_vpc_peering_deleted, fleet_vpc_peering_failed, fleet_vpc_peering_succeeded, fleet_validation_executable_runtime_failure, fleet_validation_launch_path_not_found, fleet_validation_timed_out, game_session_activation_timeout, generic_event, server_process_crashed, server_process_force_terminated, server_process_invalid_path, server_process_process_exit_timeout, server_process_process_ready_timeout, server_process_sdk_initialization_timeout, server_process_terminated_unhealthy"+ <> "'. Accepted values: fleet_activation_failed, fleet_activation_failed_no_instances, fleet_binary_download_failed, fleet_created, fleet_creation_extracting_build, fleet_creation_running_installer, fleet_creation_validating_runtime_config, 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_vpc_peering_deleted, fleet_vpc_peering_failed, fleet_vpc_peering_succeeded, fleet_validation_executable_runtime_failure, fleet_validation_launch_path_not_found, fleet_validation_timed_out, game_session_activation_timeout, generic_event, instance_interrupted, server_process_crashed, server_process_force_terminated, server_process_invalid_path, server_process_process_exit_timeout, server_process_process_ready_timeout, server_process_sdk_initialization_timeout, server_process_terminated_unhealthy" instance ToText EventCode where toText = \case@@ -341,6 +343,7 @@ FleetValidationTimedOut -> "FLEET_VALIDATION_TIMED_OUT" GameSessionActivationTimeout -> "GAME_SESSION_ACTIVATION_TIMEOUT" GenericEvent -> "GENERIC_EVENT"+ InstanceInterrupted -> "INSTANCE_INTERRUPTED" ServerProcessCrashed -> "SERVER_PROCESS_CRASHED" ServerProcessForceTerminated -> "SERVER_PROCESS_FORCE_TERMINATED" ServerProcessInvalidPath -> "SERVER_PROCESS_INVALID_PATH"@@ -358,6 +361,33 @@ instance FromJSON EventCode where parseJSON = parseJSONText "EventCode" +data FleetAction =+ AutoScaling+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText FleetAction where+ parser = takeLowerText >>= \case+ "auto_scaling" -> pure AutoScaling+ e -> fromTextError $ "Failure parsing FleetAction from value: '" <> e+ <> "'. Accepted values: auto_scaling"++instance ToText FleetAction where+ toText = \case+ AutoScaling -> "AUTO_SCALING"++instance Hashable FleetAction+instance NFData FleetAction+instance ToByteString FleetAction+instance ToQuery FleetAction+instance ToHeader FleetAction++instance ToJSON FleetAction where+ toJSON = toJSONText++instance FromJSON FleetAction where+ parseJSON = parseJSONText "FleetAction"+ data FleetStatus = FSActivating | FSActive@@ -406,6 +436,36 @@ instance FromJSON FleetStatus where parseJSON = parseJSONText "FleetStatus" +data FleetType+ = OnDemand+ | Spot+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText FleetType where+ parser = takeLowerText >>= \case+ "on_demand" -> pure OnDemand+ "spot" -> pure Spot+ e -> fromTextError $ "Failure parsing FleetType from value: '" <> e+ <> "'. Accepted values: on_demand, spot"++instance ToText FleetType where+ toText = \case+ OnDemand -> "ON_DEMAND"+ Spot -> "SPOT"++instance Hashable FleetType+instance NFData FleetType+instance ToByteString FleetType+instance ToQuery FleetType+instance ToHeader FleetType++instance ToJSON FleetType where+ toJSON = toJSONText++instance FromJSON FleetType where+ parseJSON = parseJSONText "FleetType"+ data GameSessionPlacementState = Cancelled | Fulfilled@@ -475,6 +535,30 @@ instance FromJSON GameSessionStatus where parseJSON = parseJSONText "GameSessionStatus" +data GameSessionStatusReason =+ Interrupted+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText GameSessionStatusReason where+ parser = takeLowerText >>= \case+ "interrupted" -> pure Interrupted+ e -> fromTextError $ "Failure parsing GameSessionStatusReason from value: '" <> e+ <> "'. Accepted values: interrupted"++instance ToText GameSessionStatusReason where+ toText = \case+ Interrupted -> "INTERRUPTED"++instance Hashable GameSessionStatusReason+instance NFData GameSessionStatusReason+instance ToByteString GameSessionStatusReason+instance ToQuery GameSessionStatusReason+instance ToHeader GameSessionStatusReason++instance FromJSON GameSessionStatusReason where+ parseJSON = parseJSONText "GameSessionStatusReason"+ data IPProtocol = TCP | Udp@@ -729,6 +813,36 @@ instance FromJSON PlayerSessionStatus where parseJSON = parseJSONText "PlayerSessionStatus"++data PolicyType+ = RuleBased+ | TargetBased+ deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText PolicyType where+ parser = takeLowerText >>= \case+ "rulebased" -> pure RuleBased+ "targetbased" -> pure TargetBased+ e -> fromTextError $ "Failure parsing PolicyType from value: '" <> e+ <> "'. Accepted values: rulebased, targetbased"++instance ToText PolicyType where+ toText = \case+ RuleBased -> "RuleBased"+ TargetBased -> "TargetBased"++instance Hashable PolicyType+instance NFData PolicyType+instance ToByteString PolicyType+instance ToQuery PolicyType+instance ToHeader PolicyType++instance ToJSON PolicyType where+ toJSON = toJSONText++instance FromJSON PolicyType where+ parseJSON = parseJSONText "PolicyType" data ProtectionPolicy = FullProtection
gen/Network/AWS/GameLift/UpdateAlias.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateAlias--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -92,28 +92,28 @@ -> UpdateAlias updateAlias pAliasId_ = UpdateAlias'- { _uaRoutingStrategy = Nothing- , _uaName = Nothing- , _uaDescription = Nothing- , _uaAliasId = pAliasId_- }+ { _uaRoutingStrategy = Nothing+ , _uaName = Nothing+ , _uaDescription = Nothing+ , _uaAliasId = pAliasId_+ } -- | Object that specifies the fleet and routing type to use for the alias. uaRoutingStrategy :: Lens' UpdateAlias (Maybe RoutingStrategy)-uaRoutingStrategy = lens _uaRoutingStrategy (\ s a -> s{_uaRoutingStrategy = a});+uaRoutingStrategy = lens _uaRoutingStrategy (\ s a -> s{_uaRoutingStrategy = a}) -- | Descriptive label that is associated with an alias. Alias names do not need to be unique. uaName :: Lens' UpdateAlias (Maybe Text)-uaName = lens _uaName (\ s a -> s{_uaName = a});+uaName = lens _uaName (\ s a -> s{_uaName = a}) -- | Human-readable description of an alias. uaDescription :: Lens' UpdateAlias (Maybe Text)-uaDescription = lens _uaDescription (\ s a -> s{_uaDescription = a});+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});+uaAliasId = lens _uaAliasId (\ s a -> s{_uaAliasId = a}) instance AWSRequest UpdateAlias where type Rs UpdateAlias = UpdateAliasResponse@@ -175,15 +175,15 @@ -> UpdateAliasResponse updateAliasResponse pResponseStatus_ = UpdateAliasResponse'- {_uarsAlias = Nothing, _uarsResponseStatus = pResponseStatus_}+ {_uarsAlias = Nothing, _uarsResponseStatus = pResponseStatus_} -- | Object that contains the updated alias configuration. uarsAlias :: Lens' UpdateAliasResponse (Maybe Alias)-uarsAlias = lens _uarsAlias (\ s a -> s{_uarsAlias = a});+uarsAlias = lens _uarsAlias (\ s a -> s{_uarsAlias = a}) -- | -- | The response status code. uarsResponseStatus :: Lens' UpdateAliasResponse Int-uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a});+uarsResponseStatus = lens _uarsResponseStatus (\ s a -> s{_uarsResponseStatus = a}) instance NFData UpdateAliasResponse where
gen/Network/AWS/GameLift/UpdateBuild.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateBuild--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -90,15 +90,15 @@ -- | Descriptive label that is associated with a build. Build names do not need to be unique. ubName :: Lens' UpdateBuild (Maybe Text)-ubName = lens _ubName (\ s a -> s{_ubName = a});+ubName = lens _ubName (\ s a -> s{_ubName = a}) -- | Version that is associated with this build. Version strings do not need to be unique. ubVersion :: Lens' UpdateBuild (Maybe Text)-ubVersion = lens _ubVersion (\ s a -> s{_ubVersion = a});+ubVersion = lens _ubVersion (\ s a -> s{_ubVersion = a}) -- | Unique identifier for a build to update. ubBuildId :: Lens' UpdateBuild Text-ubBuildId = lens _ubBuildId (\ s a -> s{_ubBuildId = a});+ubBuildId = lens _ubBuildId (\ s a -> s{_ubBuildId = a}) instance AWSRequest UpdateBuild where type Rs UpdateBuild = UpdateBuildResponse@@ -159,15 +159,15 @@ -> UpdateBuildResponse updateBuildResponse pResponseStatus_ = UpdateBuildResponse'- {_ubrsBuild = Nothing, _ubrsResponseStatus = pResponseStatus_}+ {_ubrsBuild = Nothing, _ubrsResponseStatus = pResponseStatus_} -- | Object that contains the updated build record. ubrsBuild :: Lens' UpdateBuildResponse (Maybe Build)-ubrsBuild = lens _ubrsBuild (\ s a -> s{_ubrsBuild = a});+ubrsBuild = lens _ubrsBuild (\ s a -> s{_ubrsBuild = a}) -- | -- | The response status code. ubrsResponseStatus :: Lens' UpdateBuildResponse Int-ubrsResponseStatus = lens _ubrsResponseStatus (\ s a -> s{_ubrsResponseStatus = a});+ubrsResponseStatus = lens _ubrsResponseStatus (\ s a -> s{_ubrsResponseStatus = a}) instance NFData UpdateBuildResponse where
gen/Network/AWS/GameLift/UpdateFleetAttributes.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateFleetAttributes--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.UpdateFleetAttributes ( -- * Creating a Request@@ -136,38 +132,38 @@ -> UpdateFleetAttributes updateFleetAttributes pFleetId_ = UpdateFleetAttributes'- { _ufaNewGameSessionProtectionPolicy = Nothing- , _ufaName = Nothing- , _ufaMetricGroups = Nothing- , _ufaDescription = Nothing- , _ufaResourceCreationLimitPolicy = Nothing- , _ufaFleetId = pFleetId_- }+ { _ufaNewGameSessionProtectionPolicy = Nothing+ , _ufaName = Nothing+ , _ufaMetricGroups = Nothing+ , _ufaDescription = Nothing+ , _ufaResourceCreationLimitPolicy = Nothing+ , _ufaFleetId = pFleetId_+ } -- | Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not 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});+ufaNewGameSessionProtectionPolicy = lens _ufaNewGameSessionProtectionPolicy (\ s a -> s{_ufaNewGameSessionProtectionPolicy = a}) -- | Descriptive label that is associated with a fleet. Fleet names do not need to be unique. ufaName :: Lens' UpdateFleetAttributes (Maybe Text)-ufaName = lens _ufaName (\ s a -> s{_ufaName = a});+ufaName = lens _ufaName (\ s a -> s{_ufaName = a}) -- | Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet metric group is to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time. ufaMetricGroups :: Lens' UpdateFleetAttributes [Text]-ufaMetricGroups = lens _ufaMetricGroups (\ s a -> s{_ufaMetricGroups = a}) . _Default . _Coerce;+ufaMetricGroups = lens _ufaMetricGroups (\ s a -> s{_ufaMetricGroups = a}) . _Default . _Coerce -- | Human-readable description of a fleet. ufaDescription :: Lens' UpdateFleetAttributes (Maybe Text)-ufaDescription = lens _ufaDescription (\ s a -> s{_ufaDescription = a});+ufaDescription = lens _ufaDescription (\ s a -> s{_ufaDescription = a}) -- | Policy that limits the number of game sessions an individual player can create over a span of time. ufaResourceCreationLimitPolicy :: Lens' UpdateFleetAttributes (Maybe ResourceCreationLimitPolicy)-ufaResourceCreationLimitPolicy = lens _ufaResourceCreationLimitPolicy (\ s a -> s{_ufaResourceCreationLimitPolicy = a});+ufaResourceCreationLimitPolicy = lens _ufaResourceCreationLimitPolicy (\ s a -> s{_ufaResourceCreationLimitPolicy = a}) -- | Unique identifier for a fleet to update attribute metadata for. ufaFleetId :: Lens' UpdateFleetAttributes Text-ufaFleetId = lens _ufaFleetId (\ s a -> s{_ufaFleetId = a});+ufaFleetId = lens _ufaFleetId (\ s a -> s{_ufaFleetId = a}) instance AWSRequest UpdateFleetAttributes where type Rs UpdateFleetAttributes =@@ -234,15 +230,15 @@ -> UpdateFleetAttributesResponse updateFleetAttributesResponse pResponseStatus_ = UpdateFleetAttributesResponse'- {_ufarsFleetId = Nothing, _ufarsResponseStatus = pResponseStatus_}+ {_ufarsFleetId = Nothing, _ufarsResponseStatus = pResponseStatus_} -- | Unique identifier for a fleet that was updated. ufarsFleetId :: Lens' UpdateFleetAttributesResponse (Maybe Text)-ufarsFleetId = lens _ufarsFleetId (\ s a -> s{_ufarsFleetId = a});+ufarsFleetId = lens _ufarsFleetId (\ s a -> s{_ufarsFleetId = a}) -- | -- | The response status code. ufarsResponseStatus :: Lens' UpdateFleetAttributesResponse Int-ufarsResponseStatus = lens _ufarsResponseStatus (\ s a -> s{_ufarsResponseStatus = a});+ufarsResponseStatus = lens _ufarsResponseStatus (\ s a -> s{_ufarsResponseStatus = a}) instance NFData UpdateFleetAttributesResponse where
gen/Network/AWS/GameLift/UpdateFleetCapacity.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateFleetCapacity--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -21,7 +21,7 @@ -- Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that 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 autoscaling (see 'PutScalingPolicy' ), you may want to specify a minimum and/or maximum capacity. If you don't provide these, autoscaling can set capacity anywhere between zero and the <http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift service limits> .+-- Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see 'PutScalingPolicy' ) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments. -- -- To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. 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 occurs. --@@ -31,16 +31,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -57,26 +63,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.UpdateFleetCapacity ( -- * Creating a Request@@ -132,28 +128,28 @@ -> UpdateFleetCapacity updateFleetCapacity pFleetId_ = UpdateFleetCapacity'- { _ufcMaxSize = Nothing- , _ufcMinSize = Nothing- , _ufcDesiredInstances = Nothing- , _ufcFleetId = pFleetId_- }+ { _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;+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;+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;+ufcDesiredInstances = lens _ufcDesiredInstances (\ s a -> s{_ufcDesiredInstances = a}) . mapping _Nat -- | Unique identifier for a fleet to update capacity for. ufcFleetId :: Lens' UpdateFleetCapacity Text-ufcFleetId = lens _ufcFleetId (\ s a -> s{_ufcFleetId = a});+ufcFleetId = lens _ufcFleetId (\ s a -> s{_ufcFleetId = a}) instance AWSRequest UpdateFleetCapacity where type Rs UpdateFleetCapacity =@@ -216,15 +212,15 @@ -> UpdateFleetCapacityResponse updateFleetCapacityResponse pResponseStatus_ = UpdateFleetCapacityResponse'- {_ufcrsFleetId = Nothing, _ufcrsResponseStatus = pResponseStatus_}+ {_ufcrsFleetId = Nothing, _ufcrsResponseStatus = pResponseStatus_} -- | Unique identifier for a fleet that was updated. ufcrsFleetId :: Lens' UpdateFleetCapacityResponse (Maybe Text)-ufcrsFleetId = lens _ufcrsFleetId (\ s a -> s{_ufcrsFleetId = a});+ufcrsFleetId = lens _ufcrsFleetId (\ s a -> s{_ufcrsFleetId = a}) -- | -- | The response status code. ufcrsResponseStatus :: Lens' UpdateFleetCapacityResponse Int-ufcrsResponseStatus = lens _ufcrsResponseStatus (\ s a -> s{_ufcrsResponseStatus = a});+ufcrsResponseStatus = lens _ufcrsResponseStatus (\ s a -> s{_ufcrsResponseStatus = a}) instance NFData UpdateFleetCapacityResponse where
gen/Network/AWS/GameLift/UpdateFleetPortSettings.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateFleetPortSettings--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -27,16 +27,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -53,26 +59,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.UpdateFleetPortSettings ( -- * Creating a Request@@ -124,23 +120,23 @@ -> UpdateFleetPortSettings updateFleetPortSettings pFleetId_ = UpdateFleetPortSettings'- { _ufpsInboundPermissionRevocations = Nothing- , _ufpsInboundPermissionAuthorizations = Nothing- , _ufpsFleetId = pFleetId_- }+ { _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;+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;+ufpsInboundPermissionAuthorizations = lens _ufpsInboundPermissionAuthorizations (\ s a -> s{_ufpsInboundPermissionAuthorizations = a}) . _Default . _Coerce -- | Unique identifier for a fleet to update port settings for. ufpsFleetId :: Lens' UpdateFleetPortSettings Text-ufpsFleetId = lens _ufpsFleetId (\ s a -> s{_ufpsFleetId = a});+ufpsFleetId = lens _ufpsFleetId (\ s a -> s{_ufpsFleetId = a}) instance AWSRequest UpdateFleetPortSettings where type Rs UpdateFleetPortSettings =@@ -204,15 +200,15 @@ -> UpdateFleetPortSettingsResponse updateFleetPortSettingsResponse pResponseStatus_ = UpdateFleetPortSettingsResponse'- {_ufpsrsFleetId = Nothing, _ufpsrsResponseStatus = pResponseStatus_}+ {_ufpsrsFleetId = Nothing, _ufpsrsResponseStatus = pResponseStatus_} -- | Unique identifier for a fleet that was updated. ufpsrsFleetId :: Lens' UpdateFleetPortSettingsResponse (Maybe Text)-ufpsrsFleetId = lens _ufpsrsFleetId (\ s a -> s{_ufpsrsFleetId = a});+ufpsrsFleetId = lens _ufpsrsFleetId (\ s a -> s{_ufpsrsFleetId = a}) -- | -- | The response status code. ufpsrsResponseStatus :: Lens' UpdateFleetPortSettingsResponse Int-ufpsrsResponseStatus = lens _ufpsrsResponseStatus (\ s a -> s{_ufpsrsResponseStatus = a});+ufpsrsResponseStatus = lens _ufpsrsResponseStatus (\ s a -> s{_ufpsrsResponseStatus = a}) instance NFData UpdateFleetPortSettingsResponse where
gen/Network/AWS/GameLift/UpdateGameSession.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateGameSession--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -106,33 +106,33 @@ -> UpdateGameSession updateGameSession pGameSessionId_ = UpdateGameSession'- { _ugsMaximumPlayerSessionCount = Nothing- , _ugsPlayerSessionCreationPolicy = Nothing- , _ugsName = Nothing- , _ugsProtectionPolicy = Nothing- , _ugsGameSessionId = pGameSessionId_- }+ { _ugsMaximumPlayerSessionCount = Nothing+ , _ugsPlayerSessionCreationPolicy = Nothing+ , _ugsName = Nothing+ , _ugsProtectionPolicy = Nothing+ , _ugsGameSessionId = pGameSessionId_+ } -- | Maximum number of players that can be connected simultaneously to the game session. ugsMaximumPlayerSessionCount :: Lens' UpdateGameSession (Maybe Natural)-ugsMaximumPlayerSessionCount = lens _ugsMaximumPlayerSessionCount (\ s a -> s{_ugsMaximumPlayerSessionCount = a}) . mapping _Nat;+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});+ugsPlayerSessionCreationPolicy = lens _ugsPlayerSessionCreationPolicy (\ s a -> s{_ugsPlayerSessionCreationPolicy = a}) -- | Descriptive label that is associated with a game session. Session names do not need to be unique. ugsName :: Lens' UpdateGameSession (Maybe Text)-ugsName = lens _ugsName (\ s a -> s{_ugsName = a});+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});+ugsProtectionPolicy = lens _ugsProtectionPolicy (\ s a -> s{_ugsProtectionPolicy = a}) -- | Unique identifier for the game session to update. ugsGameSessionId :: Lens' UpdateGameSession Text-ugsGameSessionId = lens _ugsGameSessionId (\ s a -> s{_ugsGameSessionId = a});+ugsGameSessionId = lens _ugsGameSessionId (\ s a -> s{_ugsGameSessionId = a}) instance AWSRequest UpdateGameSession where type Rs UpdateGameSession = UpdateGameSessionResponse@@ -197,15 +197,15 @@ -> UpdateGameSessionResponse updateGameSessionResponse pResponseStatus_ = UpdateGameSessionResponse'- {_ugsrsGameSession = Nothing, _ugsrsResponseStatus = pResponseStatus_}+ {_ugsrsGameSession = Nothing, _ugsrsResponseStatus = pResponseStatus_} -- | Object that contains the updated game session metadata. ugsrsGameSession :: Lens' UpdateGameSessionResponse (Maybe GameSession)-ugsrsGameSession = lens _ugsrsGameSession (\ s a -> s{_ugsrsGameSession = a});+ugsrsGameSession = lens _ugsrsGameSession (\ s a -> s{_ugsrsGameSession = a}) -- | -- | The response status code. ugsrsResponseStatus :: Lens' UpdateGameSessionResponse Int-ugsrsResponseStatus = lens _ugsrsResponseStatus (\ s a -> s{_ugsrsResponseStatus = a});+ugsrsResponseStatus = lens _ugsrsResponseStatus (\ s a -> s{_ugsrsResponseStatus = a}) instance NFData UpdateGameSessionResponse where
gen/Network/AWS/GameLift/UpdateGameSessionQueue.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateGameSessionQueue--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -88,28 +88,28 @@ -> UpdateGameSessionQueue updateGameSessionQueue pName_ = UpdateGameSessionQueue'- { _ugsqPlayerLatencyPolicies = Nothing- , _ugsqTimeoutInSeconds = Nothing- , _ugsqDestinations = Nothing- , _ugsqName = pName_- }+ { _ugsqPlayerLatencyPolicies = Nothing+ , _ugsqTimeoutInSeconds = Nothing+ , _ugsqDestinations = Nothing+ , _ugsqName = pName_+ } -- | Collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, it is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies. ugsqPlayerLatencyPolicies :: Lens' UpdateGameSessionQueue [PlayerLatencyPolicy]-ugsqPlayerLatencyPolicies = lens _ugsqPlayerLatencyPolicies (\ s a -> s{_ugsqPlayerLatencyPolicies = a}) . _Default . _Coerce;+ugsqPlayerLatencyPolicies = lens _ugsqPlayerLatencyPolicies (\ s a -> s{_ugsqPlayerLatencyPolicies = a}) . _Default . _Coerce -- | Maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a @TIMED_OUT@ status. ugsqTimeoutInSeconds :: Lens' UpdateGameSessionQueue (Maybe Natural)-ugsqTimeoutInSeconds = lens _ugsqTimeoutInSeconds (\ s a -> s{_ugsqTimeoutInSeconds = a}) . mapping _Nat;+ugsqTimeoutInSeconds = lens _ugsqTimeoutInSeconds (\ s a -> s{_ugsqTimeoutInSeconds = a}) . mapping _Nat -- | List of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations. ugsqDestinations :: Lens' UpdateGameSessionQueue [GameSessionQueueDestination]-ugsqDestinations = lens _ugsqDestinations (\ s a -> s{_ugsqDestinations = a}) . _Default . _Coerce;+ugsqDestinations = lens _ugsqDestinations (\ s a -> s{_ugsqDestinations = a}) . _Default . _Coerce -- | Descriptive label that is associated with game session queue. Queue names must be unique within each region. ugsqName :: Lens' UpdateGameSessionQueue Text-ugsqName = lens _ugsqName (\ s a -> s{_ugsqName = a});+ugsqName = lens _ugsqName (\ s a -> s{_ugsqName = a}) instance AWSRequest UpdateGameSessionQueue where type Rs UpdateGameSessionQueue =@@ -173,15 +173,17 @@ -> UpdateGameSessionQueueResponse updateGameSessionQueueResponse pResponseStatus_ = UpdateGameSessionQueueResponse'- {_ugsqrsGameSessionQueue = Nothing, _ugsqrsResponseStatus = pResponseStatus_}+ { _ugsqrsGameSessionQueue = Nothing+ , _ugsqrsResponseStatus = pResponseStatus_+ } -- | Object that describes the newly updated game session queue. ugsqrsGameSessionQueue :: Lens' UpdateGameSessionQueueResponse (Maybe GameSessionQueue)-ugsqrsGameSessionQueue = lens _ugsqrsGameSessionQueue (\ s a -> s{_ugsqrsGameSessionQueue = a});+ugsqrsGameSessionQueue = lens _ugsqrsGameSessionQueue (\ s a -> s{_ugsqrsGameSessionQueue = a}) -- | -- | The response status code. ugsqrsResponseStatus :: Lens' UpdateGameSessionQueueResponse Int-ugsqrsResponseStatus = lens _ugsqrsResponseStatus (\ s a -> s{_ugsqrsResponseStatus = a});+ugsqrsResponseStatus = lens _ugsqrsResponseStatus (\ s a -> s{_ugsqrsResponseStatus = a}) instance NFData UpdateGameSessionQueueResponse where
gen/Network/AWS/GameLift/UpdateMatchmakingConfiguration.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateMatchmakingConfiguration--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -98,7 +98,7 @@ -- -- Use one of the following lenses to modify other fields as desired: ----- * 'umcGameProperties' - Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- * 'umcGameProperties' - Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. -- -- * 'umcRuleSetName' - Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region. --@@ -114,7 +114,7 @@ -- -- * 'umcAcceptanceRequired' - Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. ----- * 'umcGameSessionData' - Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- * 'umcGameSessionData' - Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. -- -- * 'umcDescription' - Descriptive label that is associated with matchmaking configuration. --@@ -126,68 +126,68 @@ -> UpdateMatchmakingConfiguration updateMatchmakingConfiguration pName_ = UpdateMatchmakingConfiguration'- { _umcGameProperties = Nothing- , _umcRuleSetName = Nothing- , _umcAcceptanceTimeoutSeconds = Nothing- , _umcRequestTimeoutSeconds = Nothing- , _umcNotificationTarget = Nothing- , _umcGameSessionQueueARNs = Nothing- , _umcCustomEventData = Nothing- , _umcAcceptanceRequired = Nothing- , _umcGameSessionData = Nothing- , _umcDescription = Nothing- , _umcAdditionalPlayerCount = Nothing- , _umcName = pName_- }+ { _umcGameProperties = Nothing+ , _umcRuleSetName = Nothing+ , _umcAcceptanceTimeoutSeconds = Nothing+ , _umcRequestTimeoutSeconds = Nothing+ , _umcNotificationTarget = Nothing+ , _umcGameSessionQueueARNs = Nothing+ , _umcCustomEventData = Nothing+ , _umcAcceptanceRequired = Nothing+ , _umcGameSessionData = Nothing+ , _umcDescription = Nothing+ , _umcAdditionalPlayerCount = Nothing+ , _umcName = pName_+ } --- | Set of developer-defined properties for a game session, formatted as a set of type:value pairs. These properties are included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- | Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. umcGameProperties :: Lens' UpdateMatchmakingConfiguration [GameProperty]-umcGameProperties = lens _umcGameProperties (\ s a -> s{_umcGameProperties = a}) . _Default . _Coerce;+umcGameProperties = lens _umcGameProperties (\ s a -> s{_umcGameProperties = a}) . _Default . _Coerce -- | Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region. umcRuleSetName :: Lens' UpdateMatchmakingConfiguration (Maybe Text)-umcRuleSetName = lens _umcRuleSetName (\ s a -> s{_umcRuleSetName = a});+umcRuleSetName = lens _umcRuleSetName (\ s a -> s{_umcRuleSetName = a}) -- | Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match. umcAcceptanceTimeoutSeconds :: Lens' UpdateMatchmakingConfiguration (Maybe Natural)-umcAcceptanceTimeoutSeconds = lens _umcAcceptanceTimeoutSeconds (\ s a -> s{_umcAcceptanceTimeoutSeconds = a}) . mapping _Nat;+umcAcceptanceTimeoutSeconds = lens _umcAcceptanceTimeoutSeconds (\ s a -> s{_umcAcceptanceTimeoutSeconds = a}) . mapping _Nat -- | Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed. umcRequestTimeoutSeconds :: Lens' UpdateMatchmakingConfiguration (Maybe Natural)-umcRequestTimeoutSeconds = lens _umcRequestTimeoutSeconds (\ s a -> s{_umcRequestTimeoutSeconds = a}) . mapping _Nat;+umcRequestTimeoutSeconds = lens _umcRequestTimeoutSeconds (\ s a -> s{_umcRequestTimeoutSeconds = a}) . mapping _Nat -- | SNS topic ARN that is set up to receive matchmaking notifications. See <http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html Setting up Notifications for Matchmaking> for more information. umcNotificationTarget :: Lens' UpdateMatchmakingConfiguration (Maybe Text)-umcNotificationTarget = lens _umcNotificationTarget (\ s a -> s{_umcNotificationTarget = a});+umcNotificationTarget = lens _umcNotificationTarget (\ s a -> s{_umcNotificationTarget = a}) -- | Amazon Resource Name (<http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html ARN> ) that is assigned to a game session queue and uniquely identifies it. Format is @arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912@ . These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region. umcGameSessionQueueARNs :: Lens' UpdateMatchmakingConfiguration [Text]-umcGameSessionQueueARNs = lens _umcGameSessionQueueARNs (\ s a -> s{_umcGameSessionQueueARNs = a}) . _Default . _Coerce;+umcGameSessionQueueARNs = lens _umcGameSessionQueueARNs (\ s a -> s{_umcGameSessionQueueARNs = a}) . _Default . _Coerce -- | Information to attached to all events related to the matchmaking configuration. umcCustomEventData :: Lens' UpdateMatchmakingConfiguration (Maybe Text)-umcCustomEventData = lens _umcCustomEventData (\ s a -> s{_umcCustomEventData = a});+umcCustomEventData = lens _umcCustomEventData (\ s a -> s{_umcCustomEventData = a}) -- | Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE. umcAcceptanceRequired :: Lens' UpdateMatchmakingConfiguration (Maybe Bool)-umcAcceptanceRequired = lens _umcAcceptanceRequired (\ s a -> s{_umcAcceptanceRequired = a});+umcAcceptanceRequired = lens _umcAcceptanceRequired (\ s a -> s{_umcAcceptanceRequired = a}) --- | Set of developer-defined game session properties, formatted as a single string value. This data is included in the 'GameSession' object, which is passed to the game server with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match.+-- | Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the 'GameSession' object with a request to start a new game session (see <http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession Start a Game Session> ). This information is added to the new 'GameSession' object that is created for a successful match. umcGameSessionData :: Lens' UpdateMatchmakingConfiguration (Maybe Text)-umcGameSessionData = lens _umcGameSessionData (\ s a -> s{_umcGameSessionData = a});+umcGameSessionData = lens _umcGameSessionData (\ s a -> s{_umcGameSessionData = a}) -- | Descriptive label that is associated with matchmaking configuration. umcDescription :: Lens' UpdateMatchmakingConfiguration (Maybe Text)-umcDescription = lens _umcDescription (\ s a -> s{_umcDescription = a});+umcDescription = lens _umcDescription (\ s a -> s{_umcDescription = a}) -- | Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match. umcAdditionalPlayerCount :: Lens' UpdateMatchmakingConfiguration (Maybe Natural)-umcAdditionalPlayerCount = lens _umcAdditionalPlayerCount (\ s a -> s{_umcAdditionalPlayerCount = a}) . mapping _Nat;+umcAdditionalPlayerCount = lens _umcAdditionalPlayerCount (\ s a -> s{_umcAdditionalPlayerCount = a}) . mapping _Nat -- | Unique identifier for a matchmaking configuration to update. umcName :: Lens' UpdateMatchmakingConfiguration Text-umcName = lens _umcName (\ s a -> s{_umcName = a});+umcName = lens _umcName (\ s a -> s{_umcName = a}) instance AWSRequest UpdateMatchmakingConfiguration where@@ -266,16 +266,16 @@ -> UpdateMatchmakingConfigurationResponse updateMatchmakingConfigurationResponse pResponseStatus_ = UpdateMatchmakingConfigurationResponse'- {_umcrsConfiguration = Nothing, _umcrsResponseStatus = pResponseStatus_}+ {_umcrsConfiguration = Nothing, _umcrsResponseStatus = pResponseStatus_} -- | Object that describes the updated matchmaking configuration. umcrsConfiguration :: Lens' UpdateMatchmakingConfigurationResponse (Maybe MatchmakingConfiguration)-umcrsConfiguration = lens _umcrsConfiguration (\ s a -> s{_umcrsConfiguration = a});+umcrsConfiguration = lens _umcrsConfiguration (\ s a -> s{_umcrsConfiguration = a}) -- | -- | The response status code. umcrsResponseStatus :: Lens' UpdateMatchmakingConfigurationResponse Int-umcrsResponseStatus = lens _umcrsResponseStatus (\ s a -> s{_umcrsResponseStatus = a});+umcrsResponseStatus = lens _umcrsResponseStatus (\ s a -> s{_umcrsResponseStatus = a}) instance NFData UpdateMatchmakingConfigurationResponse
gen/Network/AWS/GameLift/UpdateRuntimeConfiguration.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.UpdateRuntimeConfiguration--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -31,16 +31,22 @@ -- -- * 'ListFleets' --+-- * 'DeleteFleet'+-- -- * Describe fleets: -- -- * 'DescribeFleetAttributes' --+-- * 'DescribeFleetCapacity'+-- -- * 'DescribeFleetPortSettings' -- -- * 'DescribeFleetUtilization' -- -- * 'DescribeRuntimeConfiguration' --+-- * 'DescribeEC2InstanceLimits'+-- -- * 'DescribeFleetEvents' -- --@@ -57,26 +63,16 @@ -- -- ----- * Manage fleet capacity:+-- * Manage fleet actions: ----- * 'DescribeFleetCapacity'+-- * 'StartFleetActions' ----- * 'UpdateFleetCapacity'+-- * 'StopFleetActions' ----- * 'PutScalingPolicy' (automatic scaling) ----- * 'DescribeScalingPolicies' (automatic scaling) ----- * 'DeleteScalingPolicy' (automatic scaling) ----- * 'DescribeEC2InstanceLimits' ----------- * 'DeleteFleet'--------- module Network.AWS.GameLift.UpdateRuntimeConfiguration ( -- * Creating a Request@@ -125,16 +121,16 @@ -> UpdateRuntimeConfiguration updateRuntimeConfiguration pFleetId_ pRuntimeConfiguration_ = UpdateRuntimeConfiguration'- {_urcFleetId = pFleetId_, _urcRuntimeConfiguration = pRuntimeConfiguration_}+ {_urcFleetId = pFleetId_, _urcRuntimeConfiguration = pRuntimeConfiguration_} -- | Unique identifier for a fleet to update run-time configuration for. urcFleetId :: Lens' UpdateRuntimeConfiguration Text-urcFleetId = lens _urcFleetId (\ s a -> s{_urcFleetId = a});+urcFleetId = lens _urcFleetId (\ s a -> s{_urcFleetId = a}) -- | Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance. urcRuntimeConfiguration :: Lens' UpdateRuntimeConfiguration RuntimeConfiguration-urcRuntimeConfiguration = lens _urcRuntimeConfiguration (\ s a -> s{_urcRuntimeConfiguration = a});+urcRuntimeConfiguration = lens _urcRuntimeConfiguration (\ s a -> s{_urcRuntimeConfiguration = a}) instance AWSRequest UpdateRuntimeConfiguration where type Rs UpdateRuntimeConfiguration =@@ -199,18 +195,18 @@ -> UpdateRuntimeConfigurationResponse updateRuntimeConfigurationResponse pResponseStatus_ = UpdateRuntimeConfigurationResponse'- { _urcrsRuntimeConfiguration = Nothing- , _urcrsResponseStatus = pResponseStatus_- }+ { _urcrsRuntimeConfiguration = Nothing+ , _urcrsResponseStatus = pResponseStatus_+ } -- | The run-time configuration currently in force. If the update was successful, this object matches the one in the request. urcrsRuntimeConfiguration :: Lens' UpdateRuntimeConfigurationResponse (Maybe RuntimeConfiguration)-urcrsRuntimeConfiguration = lens _urcrsRuntimeConfiguration (\ s a -> s{_urcrsRuntimeConfiguration = a});+urcrsRuntimeConfiguration = lens _urcrsRuntimeConfiguration (\ s a -> s{_urcrsRuntimeConfiguration = a}) -- | -- | The response status code. urcrsResponseStatus :: Lens' UpdateRuntimeConfigurationResponse Int-urcrsResponseStatus = lens _urcrsResponseStatus (\ s a -> s{_urcrsResponseStatus = a});+urcrsResponseStatus = lens _urcrsResponseStatus (\ s a -> s{_urcrsResponseStatus = a}) instance NFData UpdateRuntimeConfigurationResponse where
gen/Network/AWS/GameLift/ValidateMatchmakingRuleSet.hs view
@@ -12,7 +12,7 @@ -- | -- Module : Network.AWS.GameLift.ValidateMatchmakingRuleSet--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -86,7 +86,7 @@ -- | Collection of matchmaking rules to validate, formatted as a JSON string. vmrsRuleSetBody :: Lens' ValidateMatchmakingRuleSet Text-vmrsRuleSetBody = lens _vmrsRuleSetBody (\ s a -> s{_vmrsRuleSetBody = a});+vmrsRuleSetBody = lens _vmrsRuleSetBody (\ s a -> s{_vmrsRuleSetBody = a}) instance AWSRequest ValidateMatchmakingRuleSet where type Rs ValidateMatchmakingRuleSet =@@ -147,16 +147,16 @@ -> ValidateMatchmakingRuleSetResponse validateMatchmakingRuleSetResponse pResponseStatus_ = ValidateMatchmakingRuleSetResponse'- {_vmrsrsValid = Nothing, _vmrsrsResponseStatus = pResponseStatus_}+ {_vmrsrsValid = Nothing, _vmrsrsResponseStatus = pResponseStatus_} -- | Response indicating whether or not the rule set is valid. vmrsrsValid :: Lens' ValidateMatchmakingRuleSetResponse (Maybe Bool)-vmrsrsValid = lens _vmrsrsValid (\ s a -> s{_vmrsrsValid = a});+vmrsrsValid = lens _vmrsrsValid (\ s a -> s{_vmrsrsValid = a}) -- | -- | The response status code. vmrsrsResponseStatus :: Lens' ValidateMatchmakingRuleSetResponse Int-vmrsrsResponseStatus = lens _vmrsrsResponseStatus (\ s a -> s{_vmrsrsResponseStatus = a});+vmrsrsResponseStatus = lens _vmrsrsResponseStatus (\ s a -> s{_vmrsrsResponseStatus = a}) instance NFData ValidateMatchmakingRuleSetResponse where
gen/Network/AWS/GameLift/Waiters.hs view
@@ -7,7 +7,7 @@ -- | -- Module : Network.AWS.GameLift.Waiters--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated
test/Main.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Main--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated
test/Test/AWS/GameLift.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Test.AWS.GameLift--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : experimental
test/Test/AWS/GameLift/Internal.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Test.AWS.GameLift.Internal--- Copyright : (c) 2013-2016 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay@gmail.com> -- Stability : experimental
test/Test/AWS/Gen/GameLift.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Test.AWS.Gen.GameLift--- Copyright : (c) 2013-2017 Brendan Hay+-- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated@@ -85,6 +85,9 @@ -- , requestDeleteVPCPeeringConnection $ -- deleteVPCPeeringConnection --+-- , requestStartFleetActions $+-- startFleetActions+-- -- , requestGetInstanceAccess $ -- getInstanceAccess --@@ -142,6 +145,9 @@ -- , requestUpdateAlias $ -- updateAlias --+-- , requestStartMatchBackfill $+-- startMatchBackfill+-- -- , requestDescribeInstances $ -- describeInstances --@@ -187,6 +193,9 @@ -- , requestDescribePlayerSessions $ -- describePlayerSessions --+-- , requestStopFleetActions $+-- stopFleetActions+-- -- , requestDescribeBuild $ -- describeBuild --@@ -280,6 +289,9 @@ -- , responseDeleteVPCPeeringConnection $ -- deleteVPCPeeringConnectionResponse --+-- , responseStartFleetActions $+-- startFleetActionsResponse+-- -- , responseGetInstanceAccess $ -- getInstanceAccessResponse --@@ -337,6 +349,9 @@ -- , responseUpdateAlias $ -- updateAliasResponse --+-- , responseStartMatchBackfill $+-- startMatchBackfillResponse+-- -- , responseDescribeInstances $ -- describeInstancesResponse --@@ -382,6 +397,9 @@ -- , responseDescribePlayerSessions $ -- describePlayerSessionsResponse --+-- , responseStopFleetActions $+-- stopFleetActionsResponse+-- -- , responseDescribeBuild $ -- describeBuildResponse --@@ -515,6 +533,11 @@ "DeleteVPCPeeringConnection" "fixture/DeleteVPCPeeringConnection.yaml" +requestStartFleetActions :: StartFleetActions -> TestTree+requestStartFleetActions = req+ "StartFleetActions"+ "fixture/StartFleetActions.yaml"+ requestGetInstanceAccess :: GetInstanceAccess -> TestTree requestGetInstanceAccess = req "GetInstanceAccess"@@ -610,6 +633,11 @@ "UpdateAlias" "fixture/UpdateAlias.yaml" +requestStartMatchBackfill :: StartMatchBackfill -> TestTree+requestStartMatchBackfill = req+ "StartMatchBackfill"+ "fixture/StartMatchBackfill.yaml"+ requestDescribeInstances :: DescribeInstances -> TestTree requestDescribeInstances = req "DescribeInstances"@@ -685,6 +713,11 @@ "DescribePlayerSessions" "fixture/DescribePlayerSessions.yaml" +requestStopFleetActions :: StopFleetActions -> TestTree+requestStopFleetActions = req+ "StopFleetActions"+ "fixture/StopFleetActions.yaml"+ requestDescribeBuild :: DescribeBuild -> TestTree requestDescribeBuild = req "DescribeBuild"@@ -875,6 +908,13 @@ gameLift (Proxy :: Proxy DeleteVPCPeeringConnection) +responseStartFleetActions :: StartFleetActionsResponse -> TestTree+responseStartFleetActions = res+ "StartFleetActionsResponse"+ "fixture/StartFleetActionsResponse.proto"+ gameLift+ (Proxy :: Proxy StartFleetActions)+ responseGetInstanceAccess :: GetInstanceAccessResponse -> TestTree responseGetInstanceAccess = res "GetInstanceAccessResponse"@@ -1008,6 +1048,13 @@ gameLift (Proxy :: Proxy UpdateAlias) +responseStartMatchBackfill :: StartMatchBackfillResponse -> TestTree+responseStartMatchBackfill = res+ "StartMatchBackfillResponse"+ "fixture/StartMatchBackfillResponse.proto"+ gameLift+ (Proxy :: Proxy StartMatchBackfill)+ responseDescribeInstances :: DescribeInstancesResponse -> TestTree responseDescribeInstances = res "DescribeInstancesResponse"@@ -1112,6 +1159,13 @@ "fixture/DescribePlayerSessionsResponse.proto" gameLift (Proxy :: Proxy DescribePlayerSessions)++responseStopFleetActions :: StopFleetActionsResponse -> TestTree+responseStopFleetActions = res+ "StopFleetActionsResponse"+ "fixture/StopFleetActionsResponse.proto"+ gameLift+ (Proxy :: Proxy StopFleetActions) responseDescribeBuild :: DescribeBuildResponse -> TestTree responseDescribeBuild = res