/*
* 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 pi-2018-02-27.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.PI.Model
{
///
/// Container for the parameters to the DescribeDimensionKeys operation.
/// For a specific time period, retrieve the top N
dimension keys for a metric.
///
///
///
///
/// Each response element returns a maximum of 500 bytes. For larger elements, such as
/// SQL statements, only the first 500 bytes are returned.
///
///
///
public partial class DescribeDimensionKeysRequest : AmazonPIRequest
{
private List _additionalMetrics = new List();
private DateTime? _endTime;
private Dictionary _filter = new Dictionary();
private DimensionGroup _groupBy;
private string _identifier;
private int? _maxResults;
private string _metric;
private string _nextToken;
private DimensionGroup _partitionBy;
private int? _periodInSeconds;
private ServiceType _serviceType;
private DateTime? _startTime;
///
/// Gets and sets the property AdditionalMetrics.
///
/// Additional metrics for the top N
dimension keys. If the specified dimension
/// group in the GroupBy
parameter is db.sql_tokenized
, you
/// can specify per-SQL metrics to get the values for the top N
SQL digests.
/// The response syntax is as follows: "AdditionalMetrics" : { "string" :
/// "string" }
.
///
///
[AWSProperty(Min=1, Max=30)]
public List AdditionalMetrics
{
get { return this._additionalMetrics; }
set { this._additionalMetrics = value; }
}
// Check to see if AdditionalMetrics property is set
internal bool IsSetAdditionalMetrics()
{
return this._additionalMetrics != null && this._additionalMetrics.Count > 0;
}
///
/// Gets and sets the property EndTime.
///
/// The date and time specifying the end of the requested time series data. The value
/// specified is exclusive, which means that data points less than (but not equal
/// to) EndTime
are returned.
///
///
///
/// The value for EndTime
must be later than the value for StartTime
.
///
///
[AWSProperty(Required=true)]
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set { this._endTime = value; }
}
// Check to see if EndTime property is set
internal bool IsSetEndTime()
{
return this._endTime.HasValue;
}
///
/// Gets and sets the property Filter.
///
/// One or more filters to apply in the request. Restrictions:
///
/// -
///
/// Any number of filters by the same dimension, as specified in the
GroupBy
/// or Partition
parameters.
///
/// -
///
/// A single filter for any other dimension in this dimension group.
///
///
///
public Dictionary Filter
{
get { return this._filter; }
set { this._filter = value; }
}
// Check to see if Filter property is set
internal bool IsSetFilter()
{
return this._filter != null && this._filter.Count > 0;
}
///
/// Gets and sets the property GroupBy.
///
/// A specification for how to aggregate the data points from a query result. You must
/// specify a valid dimension group. Performance Insights returns all dimensions within
/// this group, unless you provide the names of specific dimensions within this group.
/// You can also request that Performance Insights return a limited number of values for
/// a dimension.
///
///
[AWSProperty(Required=true)]
public DimensionGroup GroupBy
{
get { return this._groupBy; }
set { this._groupBy = value; }
}
// Check to see if GroupBy property is set
internal bool IsSetGroupBy()
{
return this._groupBy != null;
}
///
/// Gets and sets the property Identifier.
///
/// An immutable, Amazon Web Services Region-unique identifier for a data source. Performance
/// Insights gathers metrics from this data source.
///
///
///
/// To use an Amazon RDS instance as a data source, you specify its DbiResourceId
/// value. For example, specify db-FAIHNTYBKTGAUSUZQYPDS2GW4A
.
///
///
[AWSProperty(Required=true, Min=0, Max=256)]
public string Identifier
{
get { return this._identifier; }
set { this._identifier = value; }
}
// Check to see if Identifier property is set
internal bool IsSetIdentifier()
{
return this._identifier != null;
}
///
/// Gets and sets the property MaxResults.
///
/// The maximum number of items to return in the response. If more items exist than the
/// specified MaxRecords
value, a pagination token is included in the response
/// so that the remaining results can be retrieved.
///
///
[AWSProperty(Min=0, Max=25)]
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 Metric.
///
/// The name of a Performance Insights metric to be measured.
///
///
///
/// Valid values for Metric
are:
///
/// -
///
///
db.load.avg
- A scaled representation of the number of active sessions
/// for the database engine.
///
/// -
///
///
db.sampledload.avg
- The raw number of active sessions for the database
/// engine.
///
///
///
/// If the number of active sessions is less than an internal Performance Insights threshold,
/// db.load.avg
and db.sampledload.avg
are the same value. If
/// the number of active sessions is greater than the internal threshold, Performance
/// Insights samples the active sessions, with db.load.avg
showing the scaled
/// values, db.sampledload.avg
showing the raw values, and db.sampledload.avg
/// less than db.load.avg
. For most use cases, you can query db.load.avg
/// only.
///
///
[AWSProperty(Required=true, Min=0, Max=256)]
public string 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 NextToken.
///
/// An optional pagination token provided by a previous request. If this parameter is
/// specified, the response includes only records beyond the token, up to the value specified
/// by MaxRecords
.
///
///
[AWSProperty(Min=1, Max=8192)]
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property PartitionBy.
///
/// For each dimension specified in GroupBy
, specify a secondary dimension
/// to further subdivide the partition keys in the response.
///
///
public DimensionGroup PartitionBy
{
get { return this._partitionBy; }
set { this._partitionBy = value; }
}
// Check to see if PartitionBy property is set
internal bool IsSetPartitionBy()
{
return this._partitionBy != null;
}
///
/// Gets and sets the property PeriodInSeconds.
///
/// The granularity, in seconds, of the data points returned from Performance Insights.
/// A period can be as short as one second, or as long as one day (86400 seconds). Valid
/// values are:
///
/// -
///
///
1
(one second)
///
/// -
///
///
60
(one minute)
///
/// -
///
///
300
(five minutes)
///
/// -
///
///
3600
(one hour)
///
/// -
///
///
86400
(twenty-four hours)
///
///
///
/// If you don't specify PeriodInSeconds
, then Performance Insights chooses
/// a value for you, with a goal of returning roughly 100-200 data points in the response.
///
///
///
public int PeriodInSeconds
{
get { return this._periodInSeconds.GetValueOrDefault(); }
set { this._periodInSeconds = value; }
}
// Check to see if PeriodInSeconds property is set
internal bool IsSetPeriodInSeconds()
{
return this._periodInSeconds.HasValue;
}
///
/// Gets and sets the property ServiceType.
///
/// The Amazon Web Services service for which Performance Insights will return metrics.
/// Valid values are as follows:
///
/// -
///
///
RDS
///
/// -
///
///
DOCDB
///
///
///
[AWSProperty(Required=true)]
public ServiceType ServiceType
{
get { return this._serviceType; }
set { this._serviceType = value; }
}
// Check to see if ServiceType property is set
internal bool IsSetServiceType()
{
return this._serviceType != null;
}
///
/// Gets and sets the property StartTime.
///
/// The date and time specifying the beginning of the requested time series data. You
/// must specify a StartTime
within the past 7 days. The value specified
/// is inclusive, which means that data points equal to or greater than StartTime
/// are returned.
///
///
///
/// The value for StartTime
must be earlier than the value for EndTime
.
///
///
///
[AWSProperty(Required=true)]
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
}
}