/* * 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 { /// /// Container for the parameters to the SearchGameSessions operation. /// Retrieves all active game sessions that match a set of search criteria and sorts them /// into a specified order. /// /// /// /// This operation is not designed to be continually called to track game session status. /// This practice can cause you to exceed your API limit, which results in errors. Instead, /// you must configure configure an Amazon Simple Notification Service (SNS) topic to /// receive notifications from FlexMatch or queues. Continuously polling game session /// status with DescribeGameSessions should only be used for games in development /// with low game session usage. /// /// /// /// When searching for game sessions, you specify exactly where you want to search and /// provide a search filter expression, a sort expression, or both. A search request can /// search only one fleet, but it can search all of a fleet's locations. /// /// /// /// This operation can be used in the following ways: /// /// /// /// Use the pagination parameters to retrieve results as a set of sequential pages. /// /// /// /// If successful, a GameSession object is returned for each game session /// that matches the request. Search finds game sessions that are in ACTIVE /// status only. To retrieve information on game sessions in other statuses, use DescribeGameSessions /// . /// /// /// /// You can search or sort by the following game session attributes: /// /// /// /// Returned values for playerSessionCount and hasAvailablePlayerSessions /// change quickly as players join sessions and others drop out. Results should be considered /// a snapshot in time. Be sure to refresh search results often, and handle sessions that /// fill up before a player can join. /// /// /// /// All /// APIs by task /// /// public partial class SearchGameSessionsRequest : AmazonGameLiftRequest { private string _aliasId; private string _filterExpression; private string _fleetId; private int? _limit; private string _location; private string _nextToken; private string _sortExpression; /// /// Gets and sets the property AliasId. /// /// A unique identifier for the alias associated with the fleet to search for active game /// sessions. You can use either the alias ID or ARN value. Each request must reference /// either a fleet ID or alias ID, but not both. /// /// public string AliasId { get { return this._aliasId; } set { this._aliasId = value; } } // Check to see if AliasId property is set internal bool IsSetAliasId() { return this._aliasId != null; } /// /// Gets and sets the property FilterExpression. /// /// 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: /// /// /// /// 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: /// ///
  1. /// /// =, <>, <, >, <=, /// >= /// ///
  2. /// /// Parentheses /// ///
  3. /// /// NOT /// ///
  4. /// /// AND /// ///
  5. /// /// 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". /// /// ///
[AWSProperty(Min=1, Max=1024)] public string FilterExpression { get { return this._filterExpression; } set { this._filterExpression = value; } } // Check to see if FilterExpression property is set internal bool IsSetFilterExpression() { return this._filterExpression != null; } /// /// Gets and sets the property FleetId. /// /// A unique identifier for the fleet to search for active game sessions. You can use /// either the fleet ID or ARN value. Each request must reference either a fleet ID or /// alias ID, but not both. /// /// public string FleetId { get { return this._fleetId; } set { this._fleetId = value; } } // Check to see if FleetId property is set internal bool IsSetFleetId() { return this._fleetId != null; } /// /// Gets and sets the property Limit. /// /// The 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. /// /// [AWSProperty(Min=1)] public int Limit { get { return this._limit.GetValueOrDefault(); } set { this._limit = value; } } // Check to see if Limit property is set internal bool IsSetLimit() { return this._limit.HasValue; } /// /// Gets and sets the property Location. /// /// A fleet location to search for game sessions. You can specify a fleet's home Region /// or a remote location. Use the Amazon Web Services Region code format, such as us-west-2. /// /// /// [AWSProperty(Min=1, Max=64)] public string Location { get { return this._location; } set { this._location = value; } } // Check to see if Location property is set internal bool IsSetLocation() { return this._location != null; } /// /// Gets and sets the property NextToken. /// /// 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 operation. To start at the beginning /// of the result set, do not specify a value. /// /// [AWSProperty(Min=1, Max=1024)] public string NextToken { get { return this._nextToken; } set { this._nextToken = value; } } // Check to see if NextToken property is set internal bool IsSetNextToken() { return this._nextToken != null; } /// /// Gets and sets the property SortExpression. /// /// 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: /// /// /// /// 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. /// /// [AWSProperty(Min=1, Max=1024)] public string SortExpression { get { return this._sortExpression; } set { this._sortExpression = value; } } // Check to see if SortExpression property is set internal bool IsSetSortExpression() { return this._sortExpression != null; } } }