/*
* 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 ec2-2016-11-15.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.EC2.Model
{
///
/// Describes overrides for a launch template.
///
public partial class LaunchTemplateOverrides
{
private string _availabilityZone;
private InstanceRequirements _instanceRequirements;
private InstanceType _instanceType;
private double? _priority;
private string _spotPrice;
private string _subnetId;
private double? _weightedCapacity;
///
/// Gets and sets the property AvailabilityZone.
///
/// The Availability Zone in which to launch the instances.
///
///
public string AvailabilityZone
{
get { return this._availabilityZone; }
set { this._availabilityZone = value; }
}
// Check to see if AvailabilityZone property is set
internal bool IsSetAvailabilityZone()
{
return this._availabilityZone != null;
}
///
/// Gets and sets the property InstanceRequirements.
///
/// The instance requirements. When you specify instance requirements, Amazon EC2 will
/// identify instance types with the provided requirements, and then use your On-Demand
/// and Spot allocation strategies to launch instances from these instance types, in the
/// same way as when you specify a list of instance types.
///
///
///
/// If you specify InstanceRequirements
, you can't specify InstanceType
.
///
///
///
public InstanceRequirements InstanceRequirements
{
get { return this._instanceRequirements; }
set { this._instanceRequirements = value; }
}
// Check to see if InstanceRequirements property is set
internal bool IsSetInstanceRequirements()
{
return this._instanceRequirements != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type.
///
///
public InstanceType 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 Priority.
///
/// The priority for the launch template override. The highest priority is launched first.
///
///
///
/// If OnDemandAllocationStrategy
is set to prioritized
, Spot
/// Fleet uses priority to determine which launch template override to use first in fulfilling
/// On-Demand capacity.
///
///
///
/// If the Spot AllocationStrategy
is set to capacityOptimizedPrioritized
,
/// Spot Fleet uses priority on a best-effort basis to determine which launch template
/// override to use in fulfilling Spot capacity, but optimizes for capacity first.
///
///
///
/// Valid values are whole numbers starting at 0
. The lower the number, the
/// higher the priority. If no number is set, the launch template override has the lowest
/// priority. You can set the same priority for different launch template overrides.
///
///
public double Priority
{
get { return this._priority.GetValueOrDefault(); }
set { this._priority = value; }
}
// Check to see if Priority property is set
internal bool IsSetPriority()
{
return this._priority.HasValue;
}
///
/// Gets and sets the property SpotPrice.
///
/// The maximum price per unit hour that you are willing to pay for a Spot Instance. We
/// do not recommend using this parameter because it can lead to increased interruptions.
/// If you do not specify this parameter, you will pay the current Spot price.
///
///
///
/// If you specify a maximum price, your instances will be interrupted more frequently
/// than if you do not specify this parameter.
///
///
///
public string SpotPrice
{
get { return this._spotPrice; }
set { this._spotPrice = value; }
}
// Check to see if SpotPrice property is set
internal bool IsSetSpotPrice()
{
return this._spotPrice != null;
}
///
/// Gets and sets the property SubnetId.
///
/// The ID of the subnet in which to launch the instances.
///
///
public string SubnetId
{
get { return this._subnetId; }
set { this._subnetId = value; }
}
// Check to see if SubnetId property is set
internal bool IsSetSubnetId()
{
return this._subnetId != null;
}
///
/// Gets and sets the property WeightedCapacity.
///
/// The number of units provided by the specified instance type.
///
///
public double WeightedCapacity
{
get { return this._weightedCapacity.GetValueOrDefault(); }
set { this._weightedCapacity = value; }
}
// Check to see if WeightedCapacity property is set
internal bool IsSetWeightedCapacity()
{
return this._weightedCapacity.HasValue;
}
}
}