/* * 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 GetReservationUtilization operation. /// Retrieves the reservation utilization for your account. Management account in an organization /// have access to member accounts. You can filter data by dimensions in a time period. /// You can use GetDimensionValues to determine the possible dimension values. /// Currently, you can group only by SUBSCRIPTION_ID. /// public partial class GetReservationUtilizationRequest : AmazonCostExplorerRequest { private Expression _filter; private Granularity _granularity; private List _groupBy = new List(); private int? _maxResults; 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 /// ///
  • /// /// DEPLOYMENT_OPTION /// ///
  • /// /// INSTANCE_TYPE /// ///
  • /// /// LINKED_ACCOUNT /// ///
  • /// /// OPERATING_SYSTEM /// ///
  • /// /// PLATFORM /// ///
  • /// /// REGION /// ///
  • /// /// SERVICE /// ///
  • /// /// SCOPE /// ///
  • /// /// TENANCY /// ///
/// /// GetReservationUtilization uses the same Expression /// object as the other operations, but only AND is supported among each /// dimension, and nesting is supported up to only one level deep. If there are multiple /// values for a dimension, they are OR'd together. /// ///
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. /// /// 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. If both GroupBy and Granularity aren't /// set, GetReservationUtilization defaults to DAILY. /// /// /// /// The GetReservationUtilization 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. /// /// Groups only by SUBSCRIPTION_ID. Metadata is included. /// /// 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 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 that you want to sort the data by. /// /// /// /// The following values are supported for Key: /// ///
  • /// /// UtilizationPercentage /// ///
  • /// /// UtilizationPercentageInUnits /// ///
  • /// /// PurchasedHours /// ///
  • /// /// PurchasedUnits /// ///
  • /// /// TotalActualHours /// ///
  • /// /// TotalActualUnits /// ///
  • /// /// UnusedHours /// ///
  • /// /// UnusedUnits /// ///
  • /// /// OnDemandCostOfRIHoursUsed /// ///
  • /// /// NetRISavings /// ///
  • /// /// TotalPotentialRISavings /// ///
  • /// /// AmortizedUpfrontFee /// ///
  • /// /// AmortizedRecurringFee /// ///
  • /// /// TotalAmortizedFee /// ///
  • /// /// RICostForUnusedHours /// ///
  • /// /// RealizedSavings /// ///
  • /// /// UnrealizedSavings /// ///
/// /// The supported values for SortOrder are ASCENDING and 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. /// /// Sets the start and end dates for retrieving Reserved Instance (RI) utilization. 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; } } }