/*
* 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 Reserved Instance.
///
public partial class ReservedInstances
{
private string _availabilityZone;
private CurrencyCodeValues _currencyCode;
private long? _duration;
private DateTime? _end;
private float? _fixedPrice;
private int? _instanceCount;
private Tenancy _instanceTenancy;
private InstanceType _instanceType;
private OfferingClassType _offeringClass;
private OfferingTypeValues _offeringType;
private RIProductDescription _productDescription;
private List _recurringCharges = new List();
private string _reservedInstancesId;
private Scope _scope;
private DateTime? _start;
private ReservedInstanceState _state;
private List _tags = new List();
private float? _usagePrice;
///
/// Gets and sets the property AvailabilityZone.
///
/// The Availability Zone in which the Reserved Instance can be used.
///
///
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 CurrencyCode.
///
/// The currency of the Reserved Instance. It's specified using ISO 4217 standard currency
/// codes. At this time, the only supported currency is USD
.
///
///
public CurrencyCodeValues CurrencyCode
{
get { return this._currencyCode; }
set { this._currencyCode = value; }
}
// Check to see if CurrencyCode property is set
internal bool IsSetCurrencyCode()
{
return this._currencyCode != null;
}
///
/// Gets and sets the property Duration.
///
/// The duration of the Reserved Instance, in seconds.
///
///
public long Duration
{
get { return this._duration.GetValueOrDefault(); }
set { this._duration = value; }
}
// Check to see if Duration property is set
internal bool IsSetDuration()
{
return this._duration.HasValue;
}
///
/// Gets and sets the property End.
///
/// The time when the Reserved Instance expires.
///
///
public DateTime End
{
get { return this._end.GetValueOrDefault(); }
set { this._end = value; }
}
// Check to see if End property is set
internal bool IsSetEnd()
{
return this._end.HasValue;
}
///
/// Gets and sets the property FixedPrice.
///
/// The purchase price of the Reserved Instance.
///
///
public float FixedPrice
{
get { return this._fixedPrice.GetValueOrDefault(); }
set { this._fixedPrice = value; }
}
// Check to see if FixedPrice property is set
internal bool IsSetFixedPrice()
{
return this._fixedPrice.HasValue;
}
///
/// Gets and sets the property InstanceCount.
///
/// The number of reservations purchased.
///
///
public int InstanceCount
{
get { return this._instanceCount.GetValueOrDefault(); }
set { this._instanceCount = value; }
}
// Check to see if InstanceCount property is set
internal bool IsSetInstanceCount()
{
return this._instanceCount.HasValue;
}
///
/// Gets and sets the property InstanceTenancy.
///
/// The tenancy of the instance.
///
///
public Tenancy InstanceTenancy
{
get { return this._instanceTenancy; }
set { this._instanceTenancy = value; }
}
// Check to see if InstanceTenancy property is set
internal bool IsSetInstanceTenancy()
{
return this._instanceTenancy != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The instance type on which the Reserved Instance can be used.
///
///
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 OfferingClass.
///
/// The offering class of the Reserved Instance.
///
///
public OfferingClassType OfferingClass
{
get { return this._offeringClass; }
set { this._offeringClass = value; }
}
// Check to see if OfferingClass property is set
internal bool IsSetOfferingClass()
{
return this._offeringClass != null;
}
///
/// Gets and sets the property OfferingType.
///
/// The Reserved Instance offering type.
///
///
public OfferingTypeValues OfferingType
{
get { return this._offeringType; }
set { this._offeringType = value; }
}
// Check to see if OfferingType property is set
internal bool IsSetOfferingType()
{
return this._offeringType != null;
}
///
/// Gets and sets the property ProductDescription.
///
/// The Reserved Instance product platform description.
///
///
public RIProductDescription ProductDescription
{
get { return this._productDescription; }
set { this._productDescription = value; }
}
// Check to see if ProductDescription property is set
internal bool IsSetProductDescription()
{
return this._productDescription != null;
}
///
/// Gets and sets the property RecurringCharges.
///
/// The recurring charge tag assigned to the resource.
///
///
public List RecurringCharges
{
get { return this._recurringCharges; }
set { this._recurringCharges = value; }
}
// Check to see if RecurringCharges property is set
internal bool IsSetRecurringCharges()
{
return this._recurringCharges != null && this._recurringCharges.Count > 0;
}
///
/// Gets and sets the property ReservedInstancesId.
///
/// The ID of the Reserved Instance.
///
///
public string ReservedInstancesId
{
get { return this._reservedInstancesId; }
set { this._reservedInstancesId = value; }
}
// Check to see if ReservedInstancesId property is set
internal bool IsSetReservedInstancesId()
{
return this._reservedInstancesId != null;
}
///
/// Gets and sets the property Scope.
///
/// The scope of the Reserved Instance.
///
///
public Scope Scope
{
get { return this._scope; }
set { this._scope = value; }
}
// Check to see if Scope property is set
internal bool IsSetScope()
{
return this._scope != null;
}
///
/// Gets and sets the property Start.
///
/// The date and time the Reserved Instance started.
///
///
public DateTime Start
{
get { return this._start.GetValueOrDefault(); }
set { this._start = value; }
}
// Check to see if Start property is set
internal bool IsSetStart()
{
return this._start.HasValue;
}
///
/// Gets and sets the property State.
///
/// The state of the Reserved Instance purchase.
///
///
public ReservedInstanceState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Tags.
///
/// Any tags assigned to the resource.
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property UsagePrice.
///
/// The usage price of the Reserved Instance, per hour.
///
///
public float UsagePrice
{
get { return this._usagePrice.GetValueOrDefault(); }
set { this._usagePrice = value; }
}
// Check to see if UsagePrice property is set
internal bool IsSetUsagePrice()
{
return this._usagePrice.HasValue;
}
}
}