/*
* 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 DescribeGameServerInstances operation.
/// This operation is used with the Amazon GameLift FleetIQ solution and game server
/// groups.
///
///
///
/// Retrieves status information about the Amazon EC2 instances associated with a Amazon
/// GameLift FleetIQ game server group. Use this operation to detect when instances are
/// active or not available to host new game servers.
///
///
///
/// To request status for all instances in the game server group, provide a game server
/// group ID only. To request status for specific instances, provide the game server group
/// ID and one or more instance IDs. Use the pagination parameters to retrieve results
/// in sequential segments. If successful, a collection of GameServerInstance
/// objects is returned.
///
///
///
/// This operation is not designed to be called with every game server claim request;
/// this practice can cause you to exceed your API limit, which results in errors. Instead,
/// as a best practice, cache the results and refresh your cache no more than once every
/// 10 seconds.
///
///
///
/// Learn more
///
///
///
/// Amazon
/// GameLift FleetIQ Guide
///
///
public partial class DescribeGameServerInstancesRequest : AmazonGameLiftRequest
{
private string _gameServerGroupName;
private List _instanceIds = new List();
private int? _limit;
private string _nextToken;
///
/// Gets and sets the property GameServerGroupName.
///
/// A unique identifier for the game server group. Use either the name or ARN value.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string GameServerGroupName
{
get { return this._gameServerGroupName; }
set { this._gameServerGroupName = value; }
}
// Check to see if GameServerGroupName property is set
internal bool IsSetGameServerGroupName()
{
return this._gameServerGroupName != null;
}
///
/// Gets and sets the property InstanceIds.
///
/// The Amazon EC2 instance IDs that you want to retrieve status on. Amazon EC2 instance
/// IDs use a 17-character format, for example: i-1234567890abcdef0
. To retrieve
/// all instances in the game server group, leave this parameter empty.
///
///
[AWSProperty(Min=1, Max=20)]
public List InstanceIds
{
get { return this._instanceIds; }
set { this._instanceIds = value; }
}
// Check to see if InstanceIds property is set
internal bool IsSetInstanceIds()
{
return this._instanceIds != null && this._instanceIds.Count > 0;
}
///
/// 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.
///
///
[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 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;
}
}
}