// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 using Amazon.GameLift.Model; using Newtonsoft.Json; namespace ManagementConsoleBackend.ManagementService.Data { public class ClientMessage { [JsonProperty(Required = Required.Always)] public string Type; [JsonProperty(Required = Required.Default)] public string PlayerId; [JsonProperty(Required = Required.Default)] public string Region; } public class ClientMessageRunMatchmakingSimulation : ClientMessage { public new string Type = "RunMatchmakingSimulation"; public string RuleSet; public MatchmakingSimulationPlayerConfig[] PlayerProfileConfigs; } public class ClientMessageDeleteVirtualPlayerTaskSchedule : ClientMessage { public new string Type = "DeleteVirtualPlayerTaskSchedule"; public string ScheduleId; } public class ClientMessageDeletePlayerProfile : ClientMessage { public new string Type = "DeletePlayerProfile"; public string ProfileId; } public class ClientMessageSavePlayerProfile : ClientMessage { public new string Type = "SavePlayerProfile"; public PlayerProfile Profile; } public class ClientMessageDeleteLatencyProfile : ClientMessage { public new string Type = "DeleteLatencyProfile"; public string ProfileId; } public class ClientMessageSaveLatencyProfile : ClientMessage { public new string Type = "SaveLatencyProfile"; public LatencyProfile Profile; } public class ClientMessageAdjustFleetCapacity : ClientMessage { public new string Type = "AdjustFleetCapacity"; public FleetCapacityAdjustment[] Changes; } public class ClientMessageGetCloudWatchGraph : ClientMessage { public new string Type = "GetCloudWatchGraph"; public string MetricWidgetJson; } public class ClientMessageGetGameSessions : ClientMessage { public new string Type = "GetGameSessions"; public string FleetId; } public class ClientMessageLaunchVirtualPlayerTasks : ClientMessage { public new string Type = "LaunchVirtualPlayerTasks"; public int NumPlayers; public string TaskDefinitionArn; public string CapacityProvider; } public class ClientMessageDeleteMatchmakingRuleSet : ClientMessage { public new string Type = "DeleteMatchmakingRuleSet"; public string RuleSetName; } public class ClientMessageUpdateMatchmakingConfiguration : ClientMessage { public new string Type = "UpdateMatchmakingConfiguration"; public string RuleSetName; public string MatchmakingConfigName; } public class ClientMessageCreateMatchmakingRuleSet : ClientMessage { public new string Type = "CreateMatchmakingRuleSet"; public string RuleSetName; public string RuleSetBody; } public class ClientMessageValidateMatchmakingRuleSet : ClientMessage { public new string Type = "ValidateMatchmakingRuleSet"; public string RuleSetBody; } public class ClientMessageGetVirtualPlayers : ClientMessage { public new string Type = "GetVirtualPlayers"; } public class ClientMessageGetVirtualPlayerTaskSchedule : ClientMessage { public new string Type = "GetVirtualPlayerTaskSchedule"; public string ScheduleId; } public class ClientMessageCreateVirtualPlayerTaskSchedule : ClientMessage { public new string Type = "CreateVirtualPlayerTaskSchedule"; public VirtualPlayerTaskSchedule Schedule; } public class ClientMessageLaunchVirtualPlayerTaskSchedule : ClientMessage { public new string Type = "LaunchVirtualPlayerTaskSchedule"; public string ScheduleId; public string TaskDefinitionArn; public string CapacityProvider; } public class ClientMessagePurgeData : ClientMessage { public new string Type = "PurgeData"; public bool PurgeMatchmakingData; public bool PurgeGameSessionsData; } public class ClientMessageGetLaunchRequest : ClientMessage { public new string Type = "GetLaunchRequest"; public string LaunchId; } public class ClientMessageTerminateSchedule : ClientMessage { public new string Type = "TerminateSchedule"; public string LaunchId; } public class ClientMessageGetVirtualPlayerTaskHistory : ClientMessage { public new string Type = "GetVirtualPlayerTaskHistory"; } public class ClientMessageGetPlayerProfiles : ClientMessage { public new string Type = "GetPlayerProfiles"; } public class ClientMessageGetLatencyProfiles : ClientMessage { public new string Type = "GetLatencyProfiles"; } public class ClientMessageGetMatchmakingSimulations : ClientMessage { public new string Type = "GetMatchmakingSimulations"; } public class ClientMessageGetMatchmakingSimulation : ClientMessage { public new string Type = "GetMatchmakingSimulation"; public string SimulationId; } public class ClientMessageGetMatchmakingTicketHeaders : ClientMessage { public new string Type = "GetMatchmakingTicketHeaders"; public string MatchmakingConfigArn; } public class ClientMessageGetMatchmakingTicketHeadersByMatchId : ClientMessage { public new string Type = "GetMatchmakingTicketHeadersByMatchId"; public string MatchId; } public class ClientMessageGetMatchmakingTicketHeadersBySimulationId : ClientMessage { public new string Type = "GetMatchmakingTicketHeadersBySimulationId"; public string SimulationId; } public class ClientMessageGetSimulationMatches : ClientMessage { public new string Type = "GetSimulationMatches"; public string SimulationId; } public class ClientMessageGetMatchmakingTicket : ClientMessage { public new string Type = "GetMatchmakingTicket"; public string TicketId; } public class ClientMessageSimulateMatchmaking : ClientMessage { public new string Type = "SimulateMatchmaking"; } public class ClientMessageSetScalingPolicy : ClientMessage { public new string Type = "SetScalingPolicy"; public string FleetId; public string Name; public string PolicyType; public string MetricName; public TargetConfiguration TargetConfiguration; public double Threshold; } public class ClientMessageDeleteScalingPolicy : ClientMessage { public new string Type = "DeleteScalingPolicy"; public string FleetId; public string Name; } public class ClientMessageTerminateVirtualPlayer : ClientMessage { public new string Type = "TerminateVirtualPlayer"; public string TaskArn; } public class ClientMessageGetQueueEvents : ClientMessage { public new string Type = "GetQueueEvents"; public string QueueArn; } public class ClientMessageGetQueueEventByPlacementId : ClientMessage { public new string Type = "GetQueueEventByPlacementId"; public string PlacementId; } public class ClientMessageGetPlayerSessions : ClientMessage { public new string Type = "GetPlayerSessions"; public string GameSessionId; } public class ClientMessageGetGameSessionQueue : ClientMessage { public new string Type = "GetGameSessionQueue"; public string QueueArn; } public class ClientMessageGetGameSessionQueueDestinationInfo : ClientMessage { public new string Type = "GetGameSessionQueueDestinationInfo"; public string QueueArn; } public class ClientMessageGetGameFleetEvents : ClientMessage { public new string Type = "GetFleetEvents"; public string FleetId; } public class ClientMessageGetFleetScaling : ClientMessage { public new string Type = "GetFleetScaling"; public string FleetId; } public class ClientMessageGetCloudWatchLogs : ClientMessage { public new string Type = "GetCloudWatchLogs"; public string LogGroup; public string LogStream; } public class ClientMessageGetGameSessionLogs : ClientMessage { public new string Type = "GetGameSessionLogs"; public string GameSessionId; } public class ClientMessageUpdateFleetLocations : ClientMessage { public new string Type = "UpdateFleetLocations"; public string FleetId; public string[] AddedLocations; public string[] RemovedLocations; } public class ClientMessageUpdateQueueSettings : ClientMessage { public new string Type = "UpdateQueueSettings"; public string QueueArn; public int TimeoutInSeconds; public PlayerLatencyPolicy[] PlayerLatencyPolicies; } public class ClientMessageUpdateQueuePriorityConfiguration : ClientMessage { public new string Type = "UpdateQueuePriorityConfiguration"; public string QueueArn; public string[] LocationOrder; public string[] PriorityOrder; } public class ClientMessageUpdateQueueDestinations : ClientMessage { public new string Type = "UpdateQueueDestinations"; public string QueueArn; public string[] Destinations; } public class ClientMessageUpdateQueueAllowedLocations : ClientMessage { public new string Type = "UpdateQueueAllowedLocations"; public string QueueArn; public string[] AllowedLocations; } public class FleetCapacityAdjustment { public string FleetId; public string Location; public int Min; public int Desired; public int Max; } }