/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the gamelift-2015-10-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.GameLift.Model { /// /// This object includes the full details of the original request plus the current status /// and start/end time stamps. /// public partial class GameSessionPlacement { private string _dnsName; private DateTime? _endTime; private List _gameProperties = new List(); private string _gameSessionArn; private string _gameSessionData; private string _gameSessionId; private string _gameSessionName; private string _gameSessionQueueName; private string _gameSessionRegion; private string _ipAddress; private string _matchmakerData; private int? _maximumPlayerSessionCount; private List _placedPlayerSessions = new List(); private string _placementId; private List _playerLatencies = new List(); private int? _port; private DateTime? _startTime; private GameSessionPlacementState _status; /// /// Gets and sets the property DnsName. /// /// The DNS identifier assigned to the instance that is running the game session. Values /// have the following format: /// ///
  • /// /// TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com. /// ///
  • /// /// Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. /// (See Amazon /// EC2 Instance IP Addressing.) /// ///
/// /// When connecting to a game session that is running on a TLS-enabled fleet, you must /// use the DNS name, not the IP address. /// ///
public string DnsName { get { return this._dnsName; } set { this._dnsName = value; } } // Check to see if DnsName property is set internal bool IsSetDnsName() { return this._dnsName != null; } /// /// Gets and sets the property EndTime. /// /// Time stamp indicating when this request was completed, canceled, or timed out. /// /// public DateTime EndTime { get { return this._endTime.GetValueOrDefault(); } set { this._endTime = value; } } // Check to see if EndTime property is set internal bool IsSetEndTime() { return this._endTime.HasValue; } /// /// Gets and sets the property GameProperties. /// /// A set of custom properties for a game session, formatted as key:value pairs. These /// properties are passed to a game server process with a request to start a new game /// session (see Start /// a Game Session). /// /// [AWSProperty(Max=16)] public List GameProperties { get { return this._gameProperties; } set { this._gameProperties = value; } } // Check to see if GameProperties property is set internal bool IsSetGameProperties() { return this._gameProperties != null && this._gameProperties.Count > 0; } /// /// Gets and sets the property GameSessionArn. /// /// 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. /// /// [AWSProperty(Min=1, Max=1024)] public string GameSessionArn { get { return this._gameSessionArn; } set { this._gameSessionArn = value; } } // Check to see if GameSessionArn property is set internal bool IsSetGameSessionArn() { return this._gameSessionArn != null; } /// /// Gets and sets the property GameSessionData. /// /// 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 Start /// a Game Session). /// /// [AWSProperty(Min=1, Max=262144)] public string GameSessionData { get { return this._gameSessionData; } set { this._gameSessionData = value; } } // Check to see if GameSessionData property is set internal bool IsSetGameSessionData() { return this._gameSessionData != null; } /// /// Gets and sets the property GameSessionId. /// /// A unique identifier for the game session. This value is set once the new game session /// is placed (placement status is FULFILLED). /// /// [AWSProperty(Min=1, Max=1024)] public string GameSessionId { get { return this._gameSessionId; } set { this._gameSessionId = value; } } // Check to see if GameSessionId property is set internal bool IsSetGameSessionId() { return this._gameSessionId != null; } /// /// Gets and sets the property GameSessionName. /// /// A descriptive label that is associated with a game session. Session names do not need /// to be unique. /// /// [AWSProperty(Min=1, Max=1024)] public string GameSessionName { get { return this._gameSessionName; } set { this._gameSessionName = value; } } // Check to see if GameSessionName property is set internal bool IsSetGameSessionName() { return this._gameSessionName != null; } /// /// Gets and sets the property GameSessionQueueName. /// /// A descriptive label that is associated with game session queue. Queue names must be /// unique within each Region. /// /// [AWSProperty(Min=1, Max=128)] public string GameSessionQueueName { get { return this._gameSessionQueueName; } set { this._gameSessionQueueName = value; } } // Check to see if GameSessionQueueName property is set internal bool IsSetGameSessionQueueName() { return this._gameSessionQueueName != null; } /// /// Gets and sets the property GameSessionRegion. /// /// 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). /// /// [AWSProperty(Min=1, Max=1024)] public string GameSessionRegion { get { return this._gameSessionRegion; } set { this._gameSessionRegion = value; } } // Check to see if GameSessionRegion property is set internal bool IsSetGameSessionRegion() { return this._gameSessionRegion != null; } /// /// Gets and sets the property IpAddress. /// /// The 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). /// /// [AWSProperty(Min=1, Max=128)] public string IpAddress { get { return this._ipAddress; } set { this._ipAddress = value; } } // Check to see if IpAddress property is set internal bool IsSetIpAddress() { return this._ipAddress != null; } /// /// Gets and sets the property MatchmakerData. /// /// 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 Match /// Data. /// /// [AWSProperty(Min=1, Max=390000)] public string MatchmakerData { get { return this._matchmakerData; } set { this._matchmakerData = value; } } // Check to see if MatchmakerData property is set internal bool IsSetMatchmakerData() { return this._matchmakerData != null; } /// /// Gets and sets the property MaximumPlayerSessionCount. /// /// The maximum number of players that can be connected simultaneously to the game session. /// /// [AWSProperty(Min=0)] public int MaximumPlayerSessionCount { get { return this._maximumPlayerSessionCount.GetValueOrDefault(); } set { this._maximumPlayerSessionCount = value; } } // Check to see if MaximumPlayerSessionCount property is set internal bool IsSetMaximumPlayerSessionCount() { return this._maximumPlayerSessionCount.HasValue; } /// /// Gets and sets the property PlacedPlayerSessions. /// /// 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. /// /// public List PlacedPlayerSessions { get { return this._placedPlayerSessions; } set { this._placedPlayerSessions = value; } } // Check to see if PlacedPlayerSessions property is set internal bool IsSetPlacedPlayerSessions() { return this._placedPlayerSessions != null && this._placedPlayerSessions.Count > 0; } /// /// Gets and sets the property PlacementId. /// /// A unique identifier for a game session placement. /// /// [AWSProperty(Min=1, Max=48)] public string PlacementId { get { return this._placementId; } set { this._placementId = value; } } // Check to see if PlacementId property is set internal bool IsSetPlacementId() { return this._placementId != null; } /// /// Gets and sets the property PlayerLatencies. /// /// A set of values, expressed in milliseconds, that indicates the amount of latency that /// a player experiences when connected to Amazon Web Services Regions. /// /// public List PlayerLatencies { get { return this._playerLatencies; } set { this._playerLatencies = value; } } // Check to see if PlayerLatencies property is set internal bool IsSetPlayerLatencies() { return this._playerLatencies != null && this._playerLatencies.Count > 0; } /// /// Gets and sets the property Port. /// /// The 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). /// /// [AWSProperty(Min=1, Max=60000)] public int Port { get { return this._port.GetValueOrDefault(); } set { this._port = value; } } // Check to see if Port property is set internal bool IsSetPort() { return this._port.HasValue; } /// /// Gets and sets the property StartTime. /// /// 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"). /// /// public DateTime StartTime { get { return this._startTime.GetValueOrDefault(); } set { this._startTime = value; } } // Check to see if StartTime property is set internal bool IsSetStartTime() { return this._startTime.HasValue; } /// /// Gets and sets the property Status. /// /// 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. /// ///
  • /// /// TIMED_OUT -- A new game session was not successfully created before the time /// limit expired. You can resubmit the placement request as needed. /// ///
  • /// /// FAILED -- Amazon GameLift is not able to complete the process of placing the /// game session. Common reasons are the game session terminated before the placement /// process was completed, or an unexpected internal error. /// ///
///
public GameSessionPlacementState Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } } }