/*
* 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 GetCostForecast operation.
/// Retrieves a forecast for how much Amazon Web Services predicts that you will spend
/// over the forecast time period that you select, based on your past costs.
///
public partial class GetCostForecastRequest : 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 GetCostForecast
/// API supports filtering by the following dimensions:
///
/// -
///
///
AZ
///
/// -
///
///
INSTANCE_TYPE
///
/// -
///
///
LINKED_ACCOUNT
///
/// -
///
///
LINKED_ACCOUNT_NAME
///
/// -
///
///
OPERATION
///
/// -
///
///
PURCHASE_TYPE
///
/// -
///
///
REGION
///
/// -
///
///
SERVICE
///
/// -
///
///
USAGE_TYPE
///
/// -
///
///
USAGE_TYPE_GROUP
///
/// -
///
///
RECORD_TYPE
///
/// -
///
///
OPERATING_SYSTEM
///
/// -
///
///
TENANCY
///
/// -
///
///
SCOPE
///
/// -
///
///
PLATFORM
///
/// -
///
///
SUBSCRIPTION_ID
///
/// -
///
///
LEGAL_ENTITY_NAME
///
/// -
///
///
DEPLOYMENT_OPTION
///
/// -
///
///
DATABASE_ENGINE
///
/// -
///
///
INSTANCE_TYPE_FAMILY
///
/// -
///
///
BILLING_ENTITY
///
/// -
///
///
RESERVATION_ID
///
/// -
///
///
SAVINGS_PLAN_ARN
///
///
///
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 GetCostForecast
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. For more information about
/// blended and unblended rates, see Why
/// does the "blended" annotation appear on some line items in my bill?.
///
///
///
/// Valid values for a GetCostForecast
call are the following:
///
/// -
///
/// AMORTIZED_COST
///
///
-
///
/// BLENDED_COST
///
///
-
///
/// NET_AMORTIZED_COST
///
///
-
///
/// NET_UNBLENDED_COST
///
///
-
///
/// UNBLENDED_COST
///
///
///
[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.
///
/// 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 period of time that you want the forecast to cover. The start date must be equal
/// to or no 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;
}
}
}