/*
* 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 savingsplans-2019-06-28.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.SavingsPlans.Model
{
///
/// Information about a Savings Plan.
///
public partial class SavingsPlan
{
private string _commitment;
private CurrencyCode _currency;
private string _description;
private string _ec2InstanceFamily;
private string _end;
private string _offeringId;
private SavingsPlanPaymentOption _paymentOption;
private List _productTypes = new List();
private string _recurringPaymentAmount;
private string _region;
private string _savingsPlanArn;
private string _savingsPlanId;
private SavingsPlanType _savingsPlanType;
private string _start;
private SavingsPlanState _state;
private Dictionary _tags = new Dictionary();
private long? _termDurationInSeconds;
private string _upfrontPaymentAmount;
///
/// Gets and sets the property Commitment.
///
/// The hourly commitment, in USD.
///
///
public string Commitment
{
get { return this._commitment; }
set { this._commitment = value; }
}
// Check to see if Commitment property is set
internal bool IsSetCommitment()
{
return this._commitment != null;
}
///
/// Gets and sets the property Currency.
///
/// The currency.
///
///
public CurrencyCode Currency
{
get { return this._currency; }
set { this._currency = value; }
}
// Check to see if Currency property is set
internal bool IsSetCurrency()
{
return this._currency != null;
}
///
/// Gets and sets the property Description.
///
/// The description.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Ec2InstanceFamily.
///
/// The EC2 instance family.
///
///
public string Ec2InstanceFamily
{
get { return this._ec2InstanceFamily; }
set { this._ec2InstanceFamily = value; }
}
// Check to see if Ec2InstanceFamily property is set
internal bool IsSetEc2InstanceFamily()
{
return this._ec2InstanceFamily != null;
}
///
/// Gets and sets the property End.
///
/// The end time.
///
///
public string End
{
get { return this._end; }
set { this._end = value; }
}
// Check to see if End property is set
internal bool IsSetEnd()
{
return this._end != null;
}
///
/// Gets and sets the property OfferingId.
///
/// The ID of the offering.
///
///
public string OfferingId
{
get { return this._offeringId; }
set { this._offeringId = value; }
}
// Check to see if OfferingId property is set
internal bool IsSetOfferingId()
{
return this._offeringId != null;
}
///
/// Gets and sets the property PaymentOption.
///
/// The payment option.
///
///
public SavingsPlanPaymentOption PaymentOption
{
get { return this._paymentOption; }
set { this._paymentOption = value; }
}
// Check to see if PaymentOption property is set
internal bool IsSetPaymentOption()
{
return this._paymentOption != null;
}
///
/// Gets and sets the property ProductTypes.
///
/// The product types.
///
///
public List ProductTypes
{
get { return this._productTypes; }
set { this._productTypes = value; }
}
// Check to see if ProductTypes property is set
internal bool IsSetProductTypes()
{
return this._productTypes != null && this._productTypes.Count > 0;
}
///
/// Gets and sets the property RecurringPaymentAmount.
///
/// The recurring payment amount.
///
///
public string RecurringPaymentAmount
{
get { return this._recurringPaymentAmount; }
set { this._recurringPaymentAmount = value; }
}
// Check to see if RecurringPaymentAmount property is set
internal bool IsSetRecurringPaymentAmount()
{
return this._recurringPaymentAmount != null;
}
///
/// Gets and sets the property Region.
///
/// The AWS Region.
///
///
public string Region
{
get { return this._region; }
set { this._region = value; }
}
// Check to see if Region property is set
internal bool IsSetRegion()
{
return this._region != null;
}
///
/// Gets and sets the property SavingsPlanArn.
///
/// The Amazon Resource Name (ARN) of the Savings Plan.
///
///
public string SavingsPlanArn
{
get { return this._savingsPlanArn; }
set { this._savingsPlanArn = value; }
}
// Check to see if SavingsPlanArn property is set
internal bool IsSetSavingsPlanArn()
{
return this._savingsPlanArn != null;
}
///
/// Gets and sets the property SavingsPlanId.
///
/// The ID of the Savings Plan.
///
///
public string SavingsPlanId
{
get { return this._savingsPlanId; }
set { this._savingsPlanId = value; }
}
// Check to see if SavingsPlanId property is set
internal bool IsSetSavingsPlanId()
{
return this._savingsPlanId != null;
}
///
/// Gets and sets the property SavingsPlanType.
///
/// The plan type.
///
///
public SavingsPlanType SavingsPlanType
{
get { return this._savingsPlanType; }
set { this._savingsPlanType = value; }
}
// Check to see if SavingsPlanType property is set
internal bool IsSetSavingsPlanType()
{
return this._savingsPlanType != null;
}
///
/// Gets and sets the property Start.
///
/// The start time.
///
///
public string Start
{
get { return this._start; }
set { this._start = value; }
}
// Check to see if Start property is set
internal bool IsSetStart()
{
return this._start != null;
}
///
/// Gets and sets the property State.
///
/// The state.
///
///
public SavingsPlanState 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.
///
/// One or more tags.
///
///
public Dictionary 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 TermDurationInSeconds.
///
/// The duration of the term, in seconds.
///
///
public long TermDurationInSeconds
{
get { return this._termDurationInSeconds.GetValueOrDefault(); }
set { this._termDurationInSeconds = value; }
}
// Check to see if TermDurationInSeconds property is set
internal bool IsSetTermDurationInSeconds()
{
return this._termDurationInSeconds.HasValue;
}
///
/// Gets and sets the property UpfrontPaymentAmount.
///
/// The up-front payment amount.
///
///
public string UpfrontPaymentAmount
{
get { return this._upfrontPaymentAmount; }
set { this._upfrontPaymentAmount = value; }
}
// Check to see if UpfrontPaymentAmount property is set
internal bool IsSetUpfrontPaymentAmount()
{
return this._upfrontPaymentAmount != null;
}
}
}