/*
* 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
{
///
/// Information about an instance type to use in a Capacity Reservation Fleet.
///
public partial class ReservationFleetInstanceSpecification
{
private string _availabilityZone;
private string _availabilityZoneId;
private bool? _ebsOptimized;
private CapacityReservationInstancePlatform _instancePlatform;
private InstanceType _instanceType;
private int? _priority;
private double? _weight;
///
/// Gets and sets the property AvailabilityZone.
///
/// The Availability Zone in which the Capacity Reservation Fleet reserves the capacity.
/// A Capacity Reservation Fleet can't span Availability Zones. All instance type specifications
/// that you specify for the Fleet must use the same Availability Zone.
///
///
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 AvailabilityZoneId.
///
/// The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the
/// capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance
/// type specifications that you specify for the Fleet must use the same Availability
/// Zone.
///
///
public string AvailabilityZoneId
{
get { return this._availabilityZoneId; }
set { this._availabilityZoneId = value; }
}
// Check to see if AvailabilityZoneId property is set
internal bool IsSetAvailabilityZoneId()
{
return this._availabilityZoneId != null;
}
///
/// Gets and sets the property EbsOptimized.
///
/// Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances
/// types. This optimization provides dedicated throughput to Amazon EBS and an optimized
/// configuration stack to provide optimal I/O performance. This optimization isn't available
/// with all instance types. Additional usage charges apply when using EBS-optimized instance
/// types.
///
///
public bool EbsOptimized
{
get { return this._ebsOptimized.GetValueOrDefault(); }
set { this._ebsOptimized = value; }
}
// Check to see if EbsOptimized property is set
internal bool IsSetEbsOptimized()
{
return this._ebsOptimized.HasValue;
}
///
/// Gets and sets the property InstancePlatform.
///
/// The type of operating system for which the Capacity Reservation Fleet reserves capacity.
///
///
public CapacityReservationInstancePlatform InstancePlatform
{
get { return this._instancePlatform; }
set { this._instancePlatform = value; }
}
// Check to see if InstancePlatform property is set
internal bool IsSetInstancePlatform()
{
return this._instancePlatform != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type for which the Capacity Reservation Fleet reserves capacity.
///
///
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 to assign to the instance type. This value is used to determine which
/// of the instance types specified for the Fleet should be prioritized for use. A lower
/// value indicates a high priority. For more information, see Instance
/// type priority in the Amazon EC2 User Guide.
///
///
[AWSProperty(Min=0)]
public int 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 Weight.
///
/// The number of capacity units provided by the specified instance type. This value,
/// together with the total target capacity that you specify for the Fleet determine the
/// number of instances for which the Fleet reserves capacity. Both values are based on
/// units that make sense for your workload. For more information, see Total
/// target capacity in the Amazon EC2 User Guide.
///
///
public double Weight
{
get { return this._weight.GetValueOrDefault(); }
set { this._weight = value; }
}
// Check to see if Weight property is set
internal bool IsSetWeight()
{
return this._weight.HasValue;
}
}
}