/* * 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 GetReservationCoverage operation. /// Retrieves the reservation coverage for your account, which you can use to see how /// much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database /// Service, or Amazon Redshift usage is covered by a reservation. An organization's management /// account can see the coverage of the associated member accounts. This supports dimensions, /// Cost Categories, and nested expressions. For any time period, you can filter data /// about reservation usage by the following dimensions: /// /// /// /// To determine valid values for a dimension, use the GetDimensionValues /// operation. /// /// public partial class GetReservationCoverageRequest : AmazonCostExplorerRequest { private Expression _filter; private Granularity _granularity; private List _groupBy = new List(); private int? _maxResults; private List _metrics = new List(); private string _nextPageToken; private SortDefinition _sortBy; private DateInterval _timePeriod; /// /// Gets and sets the property Filter. /// /// Filters utilization data by dimensions. You can filter by the following dimensions: /// ///
  • /// /// AZ /// ///
  • /// /// CACHE_ENGINE /// ///
  • /// /// DATABASE_ENGINE /// ///
  • /// /// DEPLOYMENT_OPTION /// ///
  • /// /// INSTANCE_TYPE /// ///
  • /// /// LINKED_ACCOUNT /// ///
  • /// /// OPERATING_SYSTEM /// ///
  • /// /// PLATFORM /// ///
  • /// /// REGION /// ///
  • /// /// SERVICE /// ///
  • /// /// TAG /// ///
  • /// /// TENANCY /// ///
/// /// GetReservationCoverage uses the same Expression /// object as the other operations, but only AND is supported among each /// dimension. You can nest only one level deep. If there are multiple values for a dimension, /// they are OR'd together. /// /// /// /// If you don't provide a SERVICE filter, Cost Explorer defaults to EC2. /// /// /// /// Cost category is also 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 Granularity. /// /// The granularity of the Amazon Web Services cost data for the reservation. Valid values /// are MONTHLY and DAILY. /// /// /// /// If GroupBy is set, Granularity can't be set. If Granularity /// isn't set, the response object doesn't include Granularity, either MONTHLY /// or DAILY. /// /// /// /// The GetReservationCoverage operation supports only DAILY /// and MONTHLY granularities. /// /// 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 GroupBy. /// /// You can group the data by the following attributes: /// ///
  • /// /// AZ /// ///
  • /// /// CACHE_ENGINE /// ///
  • /// /// DATABASE_ENGINE /// ///
  • /// /// DEPLOYMENT_OPTION /// ///
  • /// /// INSTANCE_TYPE /// ///
  • /// /// INVOICING_ENTITY /// ///
  • /// /// LINKED_ACCOUNT /// ///
  • /// /// OPERATING_SYSTEM /// ///
  • /// /// PLATFORM /// ///
  • /// /// REGION /// ///
  • /// /// TENANCY /// ///
///
public List GroupBy { get { return this._groupBy; } set { this._groupBy = value; } } // Check to see if GroupBy property is set internal bool IsSetGroupBy() { return this._groupBy != null && this._groupBy.Count > 0; } /// /// Gets and sets the property MaxResults. /// /// The maximum number of objects that you returned for this request. If more objects /// are available, in the response, Amazon Web Services provides a NextPageToken value /// that you can use in a subsequent call to get the next batch of objects. /// /// [AWSProperty(Min=1)] 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 Metrics. /// /// The measurement that you want your reservation coverage reported in. /// /// /// /// Valid values are Hour, Unit, and Cost. You /// can use multiple values in a request. /// /// public List Metrics { get { return this._metrics; } set { this._metrics = value; } } // Check to see if Metrics property is set internal bool IsSetMetrics() { return this._metrics != null && this._metrics.Count > 0; } /// /// 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 SortBy. /// /// The value by which you want to sort the data. /// /// /// /// The following values are supported for Key: /// ///
  • /// /// OnDemandCost /// ///
  • /// /// CoverageHoursPercentage /// ///
  • /// /// OnDemandHours /// ///
  • /// /// ReservedHours /// ///
  • /// /// TotalRunningHours /// ///
  • /// /// CoverageNormalizedUnitsPercentage /// ///
  • /// /// OnDemandNormalizedUnits /// ///
  • /// /// ReservedNormalizedUnits /// ///
  • /// /// TotalRunningNormalizedUnits /// ///
  • /// /// Time /// ///
/// /// Supported values for SortOrder are ASCENDING or DESCENDING. /// ///
public SortDefinition SortBy { get { return this._sortBy; } set { this._sortBy = value; } } // Check to see if SortBy property is set internal bool IsSetSortBy() { return this._sortBy != null; } /// /// Gets and sets the property TimePeriod. /// /// The start and end dates of the period that you want to retrieve data about reservation /// coverage for. You can retrieve data for a maximum of 13 months: the last 12 months /// and the current month. The start date is inclusive, but the end date is exclusive. /// 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. /// /// /// [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; } } }