/*
* 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;
}
}
}