/*
* 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 a schedule that is available for your Scheduled Instances.
///
public partial class ScheduledInstanceAvailability
{
private string _availabilityZone;
private int? _availableInstanceCount;
private DateTime? _firstSlotStartTime;
private string _hourlyPrice;
private string _instanceType;
private int? _maxTermDurationInDays;
private int? _minTermDurationInDays;
private string _networkPlatform;
private string _platform;
private string _purchaseToken;
private ScheduledInstanceRecurrence _recurrence;
private int? _slotDurationInHours;
private int? _totalScheduledInstanceHours;
///
/// Gets and sets the property AvailabilityZone.
///
/// The 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 AvailableInstanceCount.
///
/// The number of available instances.
///
///
public int AvailableInstanceCount
{
get { return this._availableInstanceCount.GetValueOrDefault(); }
set { this._availableInstanceCount = value; }
}
// Check to see if AvailableInstanceCount property is set
internal bool IsSetAvailableInstanceCount()
{
return this._availableInstanceCount.HasValue;
}
///
/// Gets and sets the property FirstSlotStartTime.
///
/// The time period for the first schedule to start.
///
///
public DateTime FirstSlotStartTime
{
get { return this._firstSlotStartTime.GetValueOrDefault(); }
set { this._firstSlotStartTime = value; }
}
// Check to see if FirstSlotStartTime property is set
internal bool IsSetFirstSlotStartTime()
{
return this._firstSlotStartTime.HasValue;
}
///
/// Gets and sets the property HourlyPrice.
///
/// The hourly price for a single instance.
///
///
public string HourlyPrice
{
get { return this._hourlyPrice; }
set { this._hourlyPrice = value; }
}
// Check to see if HourlyPrice property is set
internal bool IsSetHourlyPrice()
{
return this._hourlyPrice != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type. You can specify one of the C3, C4, M4, or R3 instance types.
///
///
public string 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 MaxTermDurationInDays.
///
/// The maximum term. The only possible value is 365 days.
///
///
public int MaxTermDurationInDays
{
get { return this._maxTermDurationInDays.GetValueOrDefault(); }
set { this._maxTermDurationInDays = value; }
}
// Check to see if MaxTermDurationInDays property is set
internal bool IsSetMaxTermDurationInDays()
{
return this._maxTermDurationInDays.HasValue;
}
///
/// Gets and sets the property MinTermDurationInDays.
///
/// The minimum term. The only possible value is 365 days.
///
///
public int MinTermDurationInDays
{
get { return this._minTermDurationInDays.GetValueOrDefault(); }
set { this._minTermDurationInDays = value; }
}
// Check to see if MinTermDurationInDays property is set
internal bool IsSetMinTermDurationInDays()
{
return this._minTermDurationInDays.HasValue;
}
///
/// Gets and sets the property NetworkPlatform.
///
/// The network platform.
///
///
public string NetworkPlatform
{
get { return this._networkPlatform; }
set { this._networkPlatform = value; }
}
// Check to see if NetworkPlatform property is set
internal bool IsSetNetworkPlatform()
{
return this._networkPlatform != null;
}
///
/// Gets and sets the property Platform.
///
/// The platform (Linux/UNIX
or Windows
).
///
///
public string Platform
{
get { return this._platform; }
set { this._platform = value; }
}
// Check to see if Platform property is set
internal bool IsSetPlatform()
{
return this._platform != null;
}
///
/// Gets and sets the property PurchaseToken.
///
/// The purchase token. This token expires in two hours.
///
///
public string PurchaseToken
{
get { return this._purchaseToken; }
set { this._purchaseToken = value; }
}
// Check to see if PurchaseToken property is set
internal bool IsSetPurchaseToken()
{
return this._purchaseToken != null;
}
///
/// Gets and sets the property Recurrence.
///
/// The schedule recurrence.
///
///
public ScheduledInstanceRecurrence Recurrence
{
get { return this._recurrence; }
set { this._recurrence = value; }
}
// Check to see if Recurrence property is set
internal bool IsSetRecurrence()
{
return this._recurrence != null;
}
///
/// Gets and sets the property SlotDurationInHours.
///
/// The number of hours in the schedule.
///
///
public int SlotDurationInHours
{
get { return this._slotDurationInHours.GetValueOrDefault(); }
set { this._slotDurationInHours = value; }
}
// Check to see if SlotDurationInHours property is set
internal bool IsSetSlotDurationInHours()
{
return this._slotDurationInHours.HasValue;
}
///
/// Gets and sets the property TotalScheduledInstanceHours.
///
/// The total number of hours for a single instance for the entire term.
///
///
public int TotalScheduledInstanceHours
{
get { return this._totalScheduledInstanceHours.GetValueOrDefault(); }
set { this._totalScheduledInstanceHours = value; }
}
// Check to see if TotalScheduledInstanceHours property is set
internal bool IsSetTotalScheduledInstanceHours()
{
return this._totalScheduledInstanceHours.HasValue;
}
}
}