/* * 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 GetUsageForecast operation. /// Retrieves a forecast for how much Amazon Web Services predicts that you will use over /// the forecast time period that you select, based on your past usage. /// public partial class GetUsageForecastRequest : AmazonCostExplorerRequest { private Expression _filter; private Granularity _granularity; private Metric _metric; private int? _predictionIntervalLevel; private DateInterval _timePeriod; /// /// Gets and sets the property Filter. /// /// The filters that you want to use to filter your forecast. The GetUsageForecast /// API supports filtering by the following dimensions: /// /// /// 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 Granularity. /// /// How granular you want the forecast to be. You can get 3 months of DAILY /// forecasts or 12 months of MONTHLY forecasts. /// /// /// /// The GetUsageForecast operation supports only DAILY and MONTHLY /// granularities. /// /// [AWSProperty(Required=true)] public Granularity Granularity { get { return this._granularity; } set { this._granularity = value; } } // Check to see if Granularity property is set internal bool IsSetGranularity() { return this._granularity != null; } /// /// Gets and sets the property Metric. /// /// Which metric Cost Explorer uses to create your forecast. /// /// /// /// Valid values for a GetUsageForecast call are the following: /// /// /// [AWSProperty(Required=true)] public Metric Metric { get { return this._metric; } set { this._metric = value; } } // Check to see if Metric property is set internal bool IsSetMetric() { return this._metric != null; } /// /// Gets and sets the property PredictionIntervalLevel. /// /// Amazon Web Services Cost Explorer always returns the mean forecast as a single point. /// You can request a prediction interval around the mean by specifying a confidence level. /// The higher the confidence level, the more confident Cost Explorer is about the actual /// value falling in the prediction interval. Higher confidence levels result in wider /// prediction intervals. /// /// [AWSProperty(Min=51, Max=99)] public int PredictionIntervalLevel { get { return this._predictionIntervalLevel.GetValueOrDefault(); } set { this._predictionIntervalLevel = value; } } // Check to see if PredictionIntervalLevel property is set internal bool IsSetPredictionIntervalLevel() { return this._predictionIntervalLevel.HasValue; } /// /// Gets and sets the property TimePeriod. /// /// The start and end dates of the period that you want to retrieve usage forecast for. /// The start date is included in the period, but the end date isn't included in the period. /// For example, if start is 2017-01-01 and end /// is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 /// up to and including 2017-04-30 but not including 2017-05-01. /// The start date must be equal to or later than the current date to avoid a validation /// error. /// /// [AWSProperty(Required=true)] public DateInterval TimePeriod { get { return this._timePeriod; } set { this._timePeriod = value; } } // Check to see if TimePeriod property is set internal bool IsSetTimePeriod() { return this._timePeriod != null; } } }