/*
* 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 UpdateFleetAttributes operation.
/// Updates a fleet's mutable attributes, including game session protection and resource
/// creation limits.
///
///
///
/// To update fleet attributes, specify the fleet ID and the property values that you
/// want to change.
///
///
///
/// If successful, an updated FleetAttributes
object is returned.
///
///
///
/// Learn more
///
///
///
/// Setting
/// up Amazon GameLift fleets
///
///
public partial class UpdateFleetAttributesRequest : AmazonGameLiftRequest
{
private AnywhereConfiguration _anywhereConfiguration;
private string _description;
private string _fleetId;
private List _metricGroups = new List();
private string _name;
private ProtectionPolicy _newGameSessionProtectionPolicy;
private ResourceCreationLimitPolicy _resourceCreationLimitPolicy;
///
/// Gets and sets the property AnywhereConfiguration.
///
/// Amazon GameLift Anywhere configuration options.
///
///
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 Description.
///
/// A human-readable description of a 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 FleetId.
///
/// A unique identifier for the fleet to update attribute metadata for. You can use either
/// the fleet ID or ARN value.
///
///
[AWSProperty(Required=true)]
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 MetricGroups.
///
/// The name of a metric group to add this fleet to. Use a metric group in Amazon CloudWatch
/// to aggregate the metrics from multiple fleets. Provide an existing metric group name,
/// or create a new metric group by providing a new name. A fleet can only be in 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 game session protection policy to apply to all new instances created in this fleet.
/// Instances that already exist are not affected. You can set protection for individual
/// instances using UpdateGameSession
/// .
///
/// -
///
/// 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 ResourceCreationLimitPolicy.
///
/// Policy settings that limit the number of game sessions an individual player can create
/// over a span of time.
///
///
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;
}
}
}