/*
* 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
{
///
/// Container for the parameters to the DescribeReservedInstancesOfferings operation.
/// Describes Reserved Instance offerings that are available for purchase. With Reserved
/// Instances, you purchase the right to launch instances for a period of time. During
/// that time period, you do not receive insufficient capacity errors, and you pay a lower
/// usage rate than the rate charged for On-Demand instances for the actual time used.
///
///
///
/// If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace,
/// they will be excluded from these results. This is to ensure that you do not purchase
/// your own Reserved Instances.
///
///
///
/// For more information, see Reserved
/// Instance Marketplace in the Amazon EC2 User Guide.
///
///
public partial class DescribeReservedInstancesOfferingsRequest : AmazonEC2Request
{
private string _availabilityZone;
private List _filters = new List();
private bool? _includeMarketplace;
private Tenancy _instanceTenancy;
private InstanceType _instanceType;
private long? _maxDuration;
private int? _maxInstanceCount;
private int? _maxResults;
private long? _minDuration;
private string _nextToken;
private OfferingClassType _offeringClass;
private OfferingTypeValues _offeringType;
private RIProductDescription _productDescription;
private List _reservedInstancesOfferingIds = new List();
///
/// 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 Filters.
///
/// One or more filters.
///
/// -
///
///
availability-zone
- The Availability Zone where the Reserved Instance
/// can be used.
///
/// -
///
///
duration
- The duration of the Reserved Instance (for example, one year
/// or three years), in seconds (31536000
| 94608000
).
///
/// -
///
///
fixed-price
- The purchase price of the Reserved Instance (for example,
/// 9800.0).
///
/// -
///
///
instance-type
- The instance type that is covered by the reservation.
///
/// -
///
///
marketplace
- Set to true
to show only Reserved Instance
/// Marketplace offerings. When this filter is not used, which is the default behavior,
/// all offerings from both Amazon Web Services and the Reserved Instance Marketplace
/// are listed.
///
/// -
///
///
product-description
- The Reserved Instance product platform description
/// (Linux/UNIX
| Linux with SQL Server Standard
| Linux
/// with SQL Server Web
| Linux with SQL Server Enterprise
| SUSE
/// Linux
| Red Hat Enterprise Linux
| Red Hat Enterprise Linux
/// with HA
| Windows
| Windows with SQL Server Standard
/// | Windows with SQL Server Web
| Windows with SQL Server Enterprise
).
///
/// -
///
///
reserved-instances-offering-id
- The Reserved Instances offering ID.
///
/// -
///
///
scope
- The scope of the Reserved Instance (Availability Zone
/// or Region
).
///
/// -
///
///
usage-price
- The usage price of the Reserved Instance, per hour (for
/// example, 0.84).
///
///
///
public List Filters
{
get { return this._filters; }
set { this._filters = value; }
}
// Check to see if Filters property is set
internal bool IsSetFilters()
{
return this._filters != null && this._filters.Count > 0;
}
///
/// Gets and sets the property IncludeMarketplace.
///
/// Include Reserved Instance Marketplace offerings in the response.
///
///
public bool IncludeMarketplace
{
get { return this._includeMarketplace.GetValueOrDefault(); }
set { this._includeMarketplace = value; }
}
// Check to see if IncludeMarketplace property is set
internal bool IsSetIncludeMarketplace()
{
return this._includeMarketplace.HasValue;
}
///
/// Gets and sets the property InstanceTenancy.
///
/// The tenancy of the instances covered by the reservation. A Reserved Instance with
/// a tenancy of dedicated
is applied to instances that run in a VPC on single-tenant
/// hardware (i.e., Dedicated Instances).
///
///
///
/// Important: The host
value cannot be used with this parameter.
/// Use the default
or dedicated
values only.
///
///
///
/// Default: default
///
///
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 that the reservation will cover (for example, m1.small
).
/// For more information, see Instance
/// types in the Amazon EC2 User Guide.
///
///
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 MaxDuration.
///
/// The maximum duration (in seconds) to filter when searching for offerings.
///
///
///
/// Default: 94608000 (3 years)
///
///
public long MaxDuration
{
get { return this._maxDuration.GetValueOrDefault(); }
set { this._maxDuration = value; }
}
// Check to see if MaxDuration property is set
internal bool IsSetMaxDuration()
{
return this._maxDuration.HasValue;
}
///
/// Gets and sets the property MaxInstanceCount.
///
/// The maximum number of instances to filter when searching for offerings.
///
///
///
/// Default: 20
///
///
public int MaxInstanceCount
{
get { return this._maxInstanceCount.GetValueOrDefault(); }
set { this._maxInstanceCount = value; }
}
// Check to see if MaxInstanceCount property is set
internal bool IsSetMaxInstanceCount()
{
return this._maxInstanceCount.HasValue;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of results to return for the request in a single page. The remaining
/// results of the initial request can be seen by sending another request with the returned
/// NextToken
value. The maximum is 100.
///
///
///
/// Default: 100
///
///
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property MinDuration.
///
/// The minimum duration (in seconds) to filter when searching for offerings.
///
///
///
/// Default: 2592000 (1 month)
///
///
public long MinDuration
{
get { return this._minDuration.GetValueOrDefault(); }
set { this._minDuration = value; }
}
// Check to see if MinDuration property is set
internal bool IsSetMinDuration()
{
return this._minDuration.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// The token to retrieve the next page of results.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property OfferingClass.
///
/// The offering class of the Reserved Instance. Can be standard
or convertible
.
///
///
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. If you are using tools that predate the 2011-11-01
/// API version, you only have access to the Medium Utilization
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. Instances that include (Amazon
/// VPC)
in the description are for use with Amazon VPC.
///
///
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 ReservedInstancesOfferingIds.
///
/// One or more Reserved Instances offering IDs.
///
///
public List ReservedInstancesOfferingIds
{
get { return this._reservedInstancesOfferingIds; }
set { this._reservedInstancesOfferingIds = value; }
}
// Check to see if ReservedInstancesOfferingIds property is set
internal bool IsSetReservedInstancesOfferingIds()
{
return this._reservedInstancesOfferingIds != null && this._reservedInstancesOfferingIds.Count > 0;
}
}
}