/* * 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 ce-2017-10-25.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.CostExplorer.Model { /// /// Container for the parameters to the GetSavingsPlansPurchaseRecommendation operation. /// Retrieves the Savings Plans recommendations for your account. First use StartSavingsPlansPurchaseRecommendationGeneration /// to generate a new set of recommendations, and then use GetSavingsPlansPurchaseRecommendation /// to retrieve them. /// public partial class GetSavingsPlansPurchaseRecommendationRequest : AmazonCostExplorerRequest { private AccountScope _accountScope; private Expression _filter; private LookbackPeriodInDays _lookbackPeriodInDays; private string _nextPageToken; private int? _pageSize; private PaymentOption _paymentOption; private SupportedSavingsPlansType _savingsPlansType; private TermInYears _termInYears; /// /// Gets and sets the property AccountScope. /// /// The account scope that you want your recommendations for. Amazon Web Services calculates /// recommendations including the management account and member accounts if the value /// is set to PAYER. If the value is LINKED, recommendations /// are calculated for individual member accounts only. /// /// public AccountScope AccountScope { get { return this._accountScope; } set { this._accountScope = value; } } // Check to see if AccountScope property is set internal bool IsSetAccountScope() { return this._accountScope != null; } /// /// Gets and sets the property Filter. /// /// You can filter your recommendations by Account ID with the LINKED_ACCOUNT /// dimension. To filter your recommendations by Account ID, specify Key /// as LINKED_ACCOUNT and Value as the comma-separated Acount /// ID(s) that you want to see Savings Plans purchase recommendations for. /// /// /// /// For GetSavingsPlansPurchaseRecommendation, the Filter doesn't include /// CostCategories or Tags. It only includes Dimensions. /// With Dimensions, Key must be LINKED_ACCOUNT /// and Value can be a single Account ID or multiple comma-separated Account /// IDs that you want to see Savings Plans Purchase Recommendations for. AND /// and OR operators are not supported. /// /// public Expression Filter { get { return this._filter; } set { this._filter = value; } } // Check to see if Filter property is set internal bool IsSetFilter() { return this._filter != null; } /// /// Gets and sets the property LookbackPeriodInDays. /// /// The lookback period that's used to generate the recommendation. /// /// [AWSProperty(Required=true)] public LookbackPeriodInDays LookbackPeriodInDays { get { return this._lookbackPeriodInDays; } set { this._lookbackPeriodInDays = value; } } // Check to see if LookbackPeriodInDays property is set internal bool IsSetLookbackPeriodInDays() { return this._lookbackPeriodInDays != null; } /// /// Gets and sets the property NextPageToken. /// /// The token to retrieve the next set of results. Amazon Web Services provides the token /// when the response from a previous call has more results than the maximum page size. /// /// [AWSProperty(Min=0, Max=8192)] public string NextPageToken { get { return this._nextPageToken; } set { this._nextPageToken = value; } } // Check to see if NextPageToken property is set internal bool IsSetNextPageToken() { return this._nextPageToken != null; } /// /// Gets and sets the property PageSize. /// /// The number of recommendations that you want returned in a single response object. /// /// [AWSProperty(Min=0)] public int PageSize { get { return this._pageSize.GetValueOrDefault(); } set { this._pageSize = value; } } // Check to see if PageSize property is set internal bool IsSetPageSize() { return this._pageSize.HasValue; } /// /// Gets and sets the property PaymentOption. /// /// The payment option that's used to generate these recommendations. /// /// [AWSProperty(Required=true)] public PaymentOption 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 SavingsPlansType. /// /// The Savings Plans recommendation type that's requested. /// /// [AWSProperty(Required=true)] public SupportedSavingsPlansType SavingsPlansType { get { return this._savingsPlansType; } set { this._savingsPlansType = value; } } // Check to see if SavingsPlansType property is set internal bool IsSetSavingsPlansType() { return this._savingsPlansType != null; } /// /// Gets and sets the property TermInYears. /// /// The savings plan recommendation term that's used to generate these recommendations. /// /// [AWSProperty(Required=true)] public TermInYears TermInYears { get { return this._termInYears; } set { this._termInYears = value; } } // Check to see if TermInYears property is set internal bool IsSetTermInYears() { return this._termInYears != null; } } }