/* * 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 GetDimensionValues operation. /// Retrieves all available filter values for a specified filter over a period of time. /// You can search the dimension values for an arbitrary string. /// public partial class GetDimensionValuesRequest : AmazonCostExplorerRequest { private Context _context; private Dimension _dimension; private Expression _filter; private int? _maxResults; private string _nextPageToken; private string _searchString; private List _sortBy = new List(); private DateInterval _timePeriod; /// /// Gets and sets the property Context. /// /// The context for the call to GetDimensionValues. This can be RESERVATIONS /// or COST_AND_USAGE. The default value is COST_AND_USAGE. /// If the context is set to RESERVATIONS, the resulting dimension values /// can be used in the GetReservationUtilization operation. If the context /// is set to COST_AND_USAGE, the resulting dimension values can be used /// in the GetCostAndUsage operation. /// /// /// /// If you set the context to COST_AND_USAGE, you can use the following dimensions /// for searching: /// ///
  • /// /// AZ - The Availability Zone. An example is us-east-1a. /// ///
  • /// /// BILLING_ENTITY - The Amazon Web Services seller that your account is with. Possible /// values are the following: /// /// /// /// - Amazon Web Services(Amazon Web Services): The entity that sells Amazon Web Services. /// /// /// /// - AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian entity that's an acting /// reseller for Amazon Web Services in India. /// /// /// /// - Amazon Web Services Marketplace: The entity that supports the sale of solutions /// that are built on Amazon Web Services by third-party software providers. /// ///
  • /// /// CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux. /// ///
  • /// /// DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid /// values are SingleAZ and MultiAZ. /// ///
  • /// /// DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora /// or MySQL. /// ///
  • /// /// INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. /// ///
  • /// /// INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different use cases. /// Examples are Compute Optimized (for example, C4, C5, /// C6g, and C7g), Memory Optimization (for example, /// R4, R5n, R5b, and R6g). /// ///
  • /// /// INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services invoice. /// ///
  • /// /// LEGAL_ENTITY_NAME - The name of the organization that sells you Amazon Web Services /// services, such as Amazon Web Services. /// ///
  • /// /// LINKED_ACCOUNT - The description in the attribute map that includes the full name /// of the member account. The value field contains the Amazon Web Services ID of the /// member account. /// ///
  • /// /// OPERATING_SYSTEM - The operating system. Examples are Windows or Linux. /// ///
  • /// /// OPERATION - The action performed. Examples include RunInstance and CreateBucket. /// ///
  • /// /// PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux. /// ///
  • /// /// PURCHASE_TYPE - The reservation type of the purchase that this usage is related to. /// Examples include On-Demand Instances and Standard Reserved Instances. /// ///
  • /// /// RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation Instance. /// ///
  • /// /// SAVINGS_PLAN_ARN - The unique identifier for your Savings Plans. /// ///
  • /// /// SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute). /// ///
  • /// /// SERVICE - The Amazon Web Services service such as Amazon DynamoDB. /// ///
  • /// /// TENANCY - The tenancy of a resource. Examples are shared or dedicated. /// ///
  • /// /// USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response /// for the GetDimensionValues operation includes a unit attribute. Examples /// include GB and Hrs. /// ///
  • /// /// USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch /// – Alarms. The response for this operation includes a unit attribute. /// ///
  • /// /// REGION - The Amazon Web Services Region. /// ///
  • /// /// RECORD_TYPE - The different types of charges such as Reserved Instance (RI) fees, /// usage costs, tax refunds, and credits. /// ///
  • /// /// RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature /// only available for last 14 days for EC2-Compute Service. /// ///
/// /// If you set the context to RESERVATIONS, you can use the following dimensions /// for searching: /// ///
  • /// /// AZ - The Availability Zone. An example is us-east-1a. /// ///
  • /// /// CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux. /// ///
  • /// /// DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid /// values are SingleAZ and MultiAZ. /// ///
  • /// /// INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge. /// ///
  • /// /// LINKED_ACCOUNT - The description in the attribute map that includes the full name /// of the member account. The value field contains the Amazon Web Services ID of the /// member account. /// ///
  • /// /// PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux. /// ///
  • /// /// REGION - The Amazon Web Services Region. /// ///
  • /// /// SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional /// or a single Availability Zone. /// ///
  • /// /// TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI). /// ///
  • /// /// TENANCY - The tenancy of a resource. Examples are shared or dedicated. /// ///
/// /// If you set the context to SAVINGS_PLANS, you can use the following dimensions /// for searching: /// ///
  • /// /// SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute) /// ///
  • /// /// PAYMENT_OPTION - The payment option for the given Savings Plans (for example, All /// Upfront) /// ///
  • /// /// REGION - The Amazon Web Services Region. /// ///
  • /// /// INSTANCE_TYPE_FAMILY - The family of instances (For example, m5) /// ///
  • /// /// LINKED_ACCOUNT - The description in the attribute map that includes the full name /// of the member account. The value field contains the Amazon Web Services ID of the /// member account. /// ///
  • /// /// SAVINGS_PLAN_ARN - The unique identifier for your Savings Plans. /// ///
///
public Context Context { get { return this._context; } set { this._context = value; } } // Check to see if Context property is set internal bool IsSetContext() { return this._context != null; } /// /// Gets and sets the property Dimension. /// /// The name of the dimension. Each Dimension is available for a different /// Context. For more information, see Context. LINK_ACCOUNT_NAME /// and SERVICE_CODE can only be used in CostCategoryRule. /// /// /// [AWSProperty(Required=true)] public Dimension Dimension { get { return this._dimension; } set { this._dimension = value; } } // Check to see if Dimension property is set internal bool IsSetDimension() { return this._dimension != null; } /// /// Gets and sets the property Filter. /// 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 MaxResults. /// /// This field is only used when SortBy is provided in the request. The maximum number /// of objects that are returned for this request. If MaxResults isn't specified with /// SortBy, the request returns 1000 results as the default value for this parameter. /// /// /// /// For GetDimensionValues, MaxResults has an upper limit of 1000. /// /// [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 SearchString. /// /// The value that you want to search the filter values for. /// /// [AWSProperty(Min=0, Max=1024)] public string SearchString { get { return this._searchString; } set { this._searchString = value; } } // Check to see if SearchString property is set internal bool IsSetSearchString() { return this._searchString != null; } /// /// Gets and sets the property SortBy. /// /// The value that you want to sort the data by. /// /// /// /// The key represents cost and usage metrics. The following values are supported: /// ///
  • /// /// BlendedCost /// ///
  • /// /// UnblendedCost /// ///
  • /// /// AmortizedCost /// ///
  • /// /// NetAmortizedCost /// ///
  • /// /// NetUnblendedCost /// ///
  • /// /// UsageQuantity /// ///
  • /// /// NormalizedUsageAmount /// ///
/// /// The supported values for the SortOrder key are ASCENDING /// or DESCENDING. /// /// /// /// When you specify a SortBy paramater, the context must be COST_AND_USAGE. /// Further, when using SortBy, NextPageToken and SearchString /// aren't supported. /// ///
public List SortBy { get { return this._sortBy; } set { this._sortBy = value; } } // Check to see if SortBy property is set internal bool IsSetSortBy() { return this._sortBy != null && this._sortBy.Count > 0; } /// /// Gets and sets the property TimePeriod. /// /// The start date and end date for retrieving the dimension values. 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; } } }