/*
* 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 UpdateGameSessionQueue operation.
/// Updates the configuration of a game session queue, which determines how the queue
/// processes new game session requests. To update settings, specify the queue name to
/// be updated and provide the new settings. When updating destinations, provide a complete
/// list of destinations.
///
///
///
/// Learn more
///
///
///
///
/// Using Multi-Region Queues
///
///
public partial class UpdateGameSessionQueueRequest : AmazonGameLiftRequest
{
private string _customEventData;
private List _destinations = new List();
private FilterConfiguration _filterConfiguration;
private string _name;
private string _notificationTarget;
private List _playerLatencyPolicies = new List();
private PriorityConfiguration _priorityConfiguration;
private int? _timeoutInSeconds;
///
/// Gets and sets the property CustomEventData.
///
/// Information to be added to all events that are related to this game session queue.
///
///
[AWSProperty(Min=0, Max=256)]
public string CustomEventData
{
get { return this._customEventData; }
set { this._customEventData = value; }
}
// Check to see if CustomEventData property is set
internal bool IsSetCustomEventData()
{
return this._customEventData != null;
}
///
/// Gets and sets the property Destinations.
///
/// A list of fleets and/or fleet aliases that can be used to fulfill game session placement
/// requests in the queue. Destinations are identified by either a fleet ARN or a fleet
/// alias ARN, and are listed in order of placement preference. When updating this list,
/// provide a complete list of destinations.
///
///
public List Destinations
{
get { return this._destinations; }
set { this._destinations = value; }
}
///
/// This property is set to true if the property
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
public bool IsDestinationsSet
{
get
{
return Amazon.Util.Internal.InternalSDKUtils.GetIsSet(this._destinations);
}
set
{
Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref this._destinations);
}
}
// Check to see if Destinations property is set
internal bool IsSetDestinations()
{
return this.IsDestinationsSet;
}
///
/// Gets and sets the property FilterConfiguration.
///
/// A list of locations where a queue is allowed to place new game sessions. Locations
/// are specified in the form of Amazon Web Services Region codes, such as us-west-2
.
/// If this parameter is not set, game sessions can be placed in any queue location. To
/// remove an existing filter configuration, pass in an empty set.
///
///
public FilterConfiguration FilterConfiguration
{
get { return this._filterConfiguration; }
set { this._filterConfiguration = value; }
}
// Check to see if FilterConfiguration property is set
internal bool IsSetFilterConfiguration()
{
return this._filterConfiguration != null;
}
///
/// Gets and sets the property Name.
///
/// A descriptive label that is associated with game session queue. Queue names must be
/// unique within each Region. You can use either the queue ID or ARN value.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property NotificationTarget.
///
/// An SNS topic ARN that is set up to receive game session placement notifications. See
///
/// Setting up notifications for game session placement.
///
///
[AWSProperty(Min=0, Max=300)]
public string NotificationTarget
{
get { return this._notificationTarget; }
set { this._notificationTarget = value; }
}
// Check to see if NotificationTarget property is set
internal bool IsSetNotificationTarget()
{
return this._notificationTarget != null;
}
///
/// Gets and sets the property PlayerLatencyPolicies.
///
/// A set of policies that act as a sliding cap on player latency. FleetIQ works to deliver
/// low latency for most players in a game session. These policies ensure that no individual
/// player can be placed into a game with unreasonably high latency. Use multiple policies
/// to gradually relax latency requirements a step at a time. Multiple policies are applied
/// based on their maximum allowed latency, starting with the lowest value. When updating
/// policies, provide a complete collection of policies.
///
///
public List PlayerLatencyPolicies
{
get { return this._playerLatencyPolicies; }
set { this._playerLatencyPolicies = value; }
}
///
/// This property is set to true if the property
/// is set; false otherwise.
/// This property can be used to determine if the related property
/// was returned by a service response or if the related property
/// should be sent to the service during a service call.
///
///
/// True if the related property was set or will be sent to a service; false otherwise.
///
public bool IsPlayerLatencyPoliciesSet
{
get
{
return Amazon.Util.Internal.InternalSDKUtils.GetIsSet(this._playerLatencyPolicies);
}
set
{
Amazon.Util.Internal.InternalSDKUtils.SetIsSet(value, ref this._playerLatencyPolicies);
}
}
// Check to see if PlayerLatencyPolicies property is set
internal bool IsSetPlayerLatencyPolicies()
{
return this.IsPlayerLatencyPoliciesSet;
}
///
/// Gets and sets the property PriorityConfiguration.
///
/// Custom settings to use when prioritizing destinations and locations for game session
/// placements. This configuration replaces the FleetIQ default prioritization process.
/// Priority types that are not explicitly named will be automatically applied at the
/// end of the prioritization process. To remove an existing priority configuration, pass
/// in an empty set.
///
///
public PriorityConfiguration PriorityConfiguration
{
get { return this._priorityConfiguration; }
set { this._priorityConfiguration = value; }
}
// Check to see if PriorityConfiguration property is set
internal bool IsSetPriorityConfiguration()
{
return this._priorityConfiguration != null;
}
///
/// Gets and sets the property TimeoutInSeconds.
///
/// The 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. By default, this property is set to 600
.
///
///
[AWSProperty(Min=0)]
public int TimeoutInSeconds
{
get { return this._timeoutInSeconds.GetValueOrDefault(); }
set { this._timeoutInSeconds = value; }
}
// Check to see if TimeoutInSeconds property is set
internal bool IsSetTimeoutInSeconds()
{
return this._timeoutInSeconds.HasValue;
}
}
}