/*
* 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
{
///
/// Represents an EC2 instance of virtual computing resources that hosts one or more game
/// servers. In Amazon GameLift, a fleet can contain zero or more instances.
///
///
///
/// Related actions
///
///
public partial class Instance
{
private DateTime? _creationTime;
private string _dnsName;
private string _fleetArn;
private string _fleetId;
private string _instanceId;
private string _ipAddress;
private string _location;
private OperatingSystem _operatingSystem;
private InstanceStatus _status;
private EC2InstanceType _type;
///
/// Gets and sets the property CreationTime.
///
/// A time stamp indicating when this data object was created. Format is a number expressed
/// in Unix time as milliseconds (for example "1469498468.057"
).
///
///
public DateTime CreationTime
{
get { return this._creationTime.GetValueOrDefault(); }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime.HasValue;
}
///
/// 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 FleetArn.
///
/// The Amazon Resource Name (ARN)
/// that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. ARNs
/// are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912
.
///
///
public string FleetArn
{
get { return this._fleetArn; }
set { this._fleetArn = value; }
}
// Check to see if FleetArn property is set
internal bool IsSetFleetArn()
{
return this._fleetArn != null;
}
///
/// Gets and sets the property FleetId.
///
/// A unique identifier for the fleet that the instance is in.
///
///
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 InstanceId.
///
/// A unique identifier for the instance.
///
///
public string InstanceId
{
get { return this._instanceId; }
set { this._instanceId = value; }
}
// Check to see if InstanceId property is set
internal bool IsSetInstanceId()
{
return this._instanceId != null;
}
///
/// Gets and sets the property IpAddress.
///
/// IP address that is assigned to the instance.
///
///
[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 Location.
///
/// The fleet location of the instance, expressed as an Amazon Web Services Region code,
/// 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 OperatingSystem.
///
/// Operating system that is running on this instance.
///
///
public OperatingSystem OperatingSystem
{
get { return this._operatingSystem; }
set { this._operatingSystem = value; }
}
// Check to see if OperatingSystem property is set
internal bool IsSetOperatingSystem()
{
return this._operatingSystem != null;
}
///
/// Gets and sets the property Status.
///
/// Current status of the instance. Possible statuses include the following:
///
/// -
///
/// PENDING -- The instance is in the process of being created and launching server
/// processes as defined in the fleet's run-time configuration.
///
///
-
///
/// ACTIVE -- The instance has been successfully created and at least one server
/// process has successfully launched and reported back to Amazon GameLift that it is
/// ready to host a game session. The instance is now considered ready to host game sessions.
///
///
///
-
///
/// TERMINATING -- The instance is in the process of shutting down. This may happen
/// to reduce capacity during a scaling down event or to recycle resources in the event
/// of a problem.
///
///
///
public InstanceStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Type.
///
/// Amazon EC2 instance type that defines the computing resources of this instance.
///
///
public EC2InstanceType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}