/*
* 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
{
///
/// Describes a Amazon GameLift fleet of game hosting resources.
///
///
///
/// Related actions
///
///
public partial class FleetAttributes
{
private AnywhereConfiguration _anywhereConfiguration;
private string _buildArn;
private string _buildId;
private CertificateConfiguration _certificateConfiguration;
private ComputeType _computeType;
private DateTime? _creationTime;
private string _description;
private string _fleetArn;
private string _fleetId;
private FleetType _fleetType;
private string _instanceRoleArn;
private EC2InstanceType _instanceType;
private List _logPaths = new List();
private List _metricGroups = new List();
private string _name;
private ProtectionPolicy _newGameSessionProtectionPolicy;
private OperatingSystem _operatingSystem;
private ResourceCreationLimitPolicy _resourceCreationLimitPolicy;
private string _scriptArn;
private string _scriptId;
private string _serverLaunchParameters;
private string _serverLaunchPath;
private FleetStatus _status;
private List _stoppedActions = new List();
private DateTime? _terminationTime;
///
/// Gets and sets the property AnywhereConfiguration.
///
public AnywhereConfiguration AnywhereConfiguration
{
get { return this._anywhereConfiguration; }
set { this._anywhereConfiguration = value; }
}
// Check to see if AnywhereConfiguration property is set
internal bool IsSetAnywhereConfiguration()
{
return this._anywhereConfiguration != null;
}
///
/// Gets and sets the property BuildArn.
///
/// The Amazon Resource Name (ARN)
/// associated with the Amazon GameLift build resource that is deployed on instances in
/// this fleet. In a GameLift build ARN, the resource ID matches the BuildId
/// value.
///
///
public string BuildArn
{
get { return this._buildArn; }
set { this._buildArn = value; }
}
// Check to see if BuildArn property is set
internal bool IsSetBuildArn()
{
return this._buildArn != null;
}
///
/// Gets and sets the property BuildId.
///
/// A unique identifier for the build resource that is deployed on instances in this fleet.
///
///
public string BuildId
{
get { return this._buildId; }
set { this._buildId = value; }
}
// Check to see if BuildId property is set
internal bool IsSetBuildId()
{
return this._buildId != null;
}
///
/// Gets and sets the property CertificateConfiguration.
///
public CertificateConfiguration CertificateConfiguration
{
get { return this._certificateConfiguration; }
set { this._certificateConfiguration = value; }
}
// Check to see if CertificateConfiguration property is set
internal bool IsSetCertificateConfiguration()
{
return this._certificateConfiguration != null;
}
///
/// Gets and sets the property ComputeType.
///
/// The type of compute resource used to host your game servers. You can use your own
/// compute resources with Amazon GameLift Anywhere or use Amazon EC2 instances with managed
/// Amazon GameLift.
///
///
public ComputeType ComputeType
{
get { return this._computeType; }
set { this._computeType = value; }
}
// Check to see if ComputeType property is set
internal bool IsSetComputeType()
{
return this._computeType != null;
}
///
/// 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 Description.
///
/// A human-readable description of the fleet.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != 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
.
/// In a GameLift fleet ARN, the resource ID matches the FleetId
value.
///
///
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.
///
///
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 FleetType.
///
/// Indicates whether to use On-Demand or Spot instances for this fleet. By default, this
/// property is set to ON_DEMAND
. Learn more about when to use
/// On-Demand versus Spot Instances. This property cannot be changed after the fleet
/// is created.
///
///
public FleetType FleetType
{
get { return this._fleetType; }
set { this._fleetType = value; }
}
// Check to see if FleetType property is set
internal bool IsSetFleetType()
{
return this._fleetType != null;
}
///
/// Gets and sets the property InstanceRoleArn.
///
/// A unique identifier for an IAM role that manages access to your Amazon Web Services
/// services. With an instance role ARN set, any application that runs on an instance
/// in this fleet can assume the role, including install scripts, server processes, and
/// daemons (background processes). Create a role or look up a role's ARN by using the
/// IAM dashboard in the Amazon Web
/// Services Management Console. Learn more about using on-box credentials for your game
/// servers at
/// Access external resources from a game server.
///
///
[AWSProperty(Min=1)]
public string InstanceRoleArn
{
get { return this._instanceRoleArn; }
set { this._instanceRoleArn = value; }
}
// Check to see if InstanceRoleArn property is set
internal bool IsSetInstanceRoleArn()
{
return this._instanceRoleArn != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The Amazon EC2 instance type that determines the computing resources of each instance
/// in the fleet. Instance type defines the CPU, memory, storage, and networking capacity.
/// See Amazon Elastic Compute Cloud
/// Instance Types for detailed descriptions.
///
///
public EC2InstanceType InstanceType
{
get { return this._instanceType; }
set { this._instanceType = value; }
}
// Check to see if InstanceType property is set
internal bool IsSetInstanceType()
{
return this._instanceType != null;
}
///
/// Gets and sets the property LogPaths.
///
/// This parameter is no longer used. Game session log paths are now defined using
/// the Amazon GameLift server API ProcessReady()
logParameters
.
/// See more information in the Server
/// API Reference.
///
///
public List LogPaths
{
get { return this._logPaths; }
set { this._logPaths = value; }
}
// Check to see if LogPaths property is set
internal bool IsSetLogPaths()
{
return this._logPaths != null && this._logPaths.Count > 0;
}
///
/// Gets and sets the property MetricGroups.
///
/// Name of a metric group that metrics for this fleet are added to. In Amazon CloudWatch,
/// you can view aggregated metrics for fleets that are in a metric group. A fleet can
/// be included in only one metric group at a time.
///
///
[AWSProperty(Max=1)]
public List MetricGroups
{
get { return this._metricGroups; }
set { this._metricGroups = value; }
}
// Check to see if MetricGroups property is set
internal bool IsSetMetricGroups()
{
return this._metricGroups != null && this._metricGroups.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// A descriptive label that is associated with a fleet. Fleet names do not need to be
/// unique.
///
///
[AWSProperty(Min=1, Max=1024)]
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 NewGameSessionProtectionPolicy.
///
/// The type of game session protection to set on all new instances that are started in
/// the fleet.
///
/// -
///
/// NoProtection -- The game session can be terminated during a scale-down event.
///
///
-
///
/// FullProtection -- If the game session is in an
ACTIVE
status,
/// it cannot be terminated during a scale-down event.
///
///
///
public ProtectionPolicy NewGameSessionProtectionPolicy
{
get { return this._newGameSessionProtectionPolicy; }
set { this._newGameSessionProtectionPolicy = value; }
}
// Check to see if NewGameSessionProtectionPolicy property is set
internal bool IsSetNewGameSessionProtectionPolicy()
{
return this._newGameSessionProtectionPolicy != null;
}
///
/// Gets and sets the property OperatingSystem.
///
/// The operating system of the fleet's computing resources. A fleet's operating system
/// is determined by the OS of the build or script that is deployed on this fleet.
///
///
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 ResourceCreationLimitPolicy.
///
public ResourceCreationLimitPolicy ResourceCreationLimitPolicy
{
get { return this._resourceCreationLimitPolicy; }
set { this._resourceCreationLimitPolicy = value; }
}
// Check to see if ResourceCreationLimitPolicy property is set
internal bool IsSetResourceCreationLimitPolicy()
{
return this._resourceCreationLimitPolicy != null;
}
///
/// Gets and sets the property ScriptArn.
///
/// The Amazon Resource Name (ARN)
/// associated with the GameLift script resource that is deployed on instances in this
/// fleet. In a GameLift script ARN, the resource ID matches the ScriptId
/// value.
///
///
public string ScriptArn
{
get { return this._scriptArn; }
set { this._scriptArn = value; }
}
// Check to see if ScriptArn property is set
internal bool IsSetScriptArn()
{
return this._scriptArn != null;
}
///
/// Gets and sets the property ScriptId.
///
/// A unique identifier for the Realtime script resource that is deployed on instances
/// in this fleet.
///
///
public string ScriptId
{
get { return this._scriptId; }
set { this._scriptId = value; }
}
// Check to see if ScriptId property is set
internal bool IsSetScriptId()
{
return this._scriptId != null;
}
///
/// Gets and sets the property ServerLaunchParameters.
///
/// This parameter is no longer used. Server launch parameters are now defined
/// using the fleet's runtime configuration . Requests that use this parameter instead
/// continue to be valid.
///
///
[AWSProperty(Min=1, Max=1024)]
public string ServerLaunchParameters
{
get { return this._serverLaunchParameters; }
set { this._serverLaunchParameters = value; }
}
// Check to see if ServerLaunchParameters property is set
internal bool IsSetServerLaunchParameters()
{
return this._serverLaunchParameters != null;
}
///
/// Gets and sets the property ServerLaunchPath.
///
/// This parameter is no longer used. Server launch paths are now defined using
/// the fleet's RuntimeConfiguration
/// . Requests that use this parameter instead continue to be valid.
///
///
[AWSProperty(Min=1, Max=1024)]
public string ServerLaunchPath
{
get { return this._serverLaunchPath; }
set { this._serverLaunchPath = value; }
}
// Check to see if ServerLaunchPath property is set
internal bool IsSetServerLaunchPath()
{
return this._serverLaunchPath != null;
}
///
/// Gets and sets the property Status.
///
/// Current status of the fleet. Possible fleet statuses include the following:
///
/// -
///
/// NEW -- A new fleet has been defined and desired instances is set to 1.
///
///
-
///
/// DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up
/// the new fleet, creating new instances with the game build or Realtime script and starting
/// server processes.
///
///
-
///
/// ACTIVE -- Hosts can now accept game sessions.
///
///
-
///
/// ERROR -- An error occurred when downloading, validating, building, or activating
/// the fleet.
///
///
-
///
/// DELETING -- Hosts are responding to a delete fleet request.
///
///
-
///
/// TERMINATED -- The fleet no longer exists.
///
///
///
public FleetStatus 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 StoppedActions.
///
/// A list of fleet activity that has been suspended using StopFleetActions
/// . This includes fleet auto-scaling.
///
///
[AWSProperty(Min=1, Max=1)]
public List StoppedActions
{
get { return this._stoppedActions; }
set { this._stoppedActions = value; }
}
// Check to see if StoppedActions property is set
internal bool IsSetStoppedActions()
{
return this._stoppedActions != null && this._stoppedActions.Count > 0;
}
///
/// Gets and sets the property TerminationTime.
///
/// A time stamp indicating when this data object was terminated. Format is a number expressed
/// in Unix time as milliseconds (for example "1469498468.057"
).
///
///
public DateTime TerminationTime
{
get { return this._terminationTime.GetValueOrDefault(); }
set { this._terminationTime = value; }
}
// Check to see if TerminationTime property is set
internal bool IsSetTerminationTime()
{
return this._terminationTime.HasValue;
}
}
}