/*
* 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 codeguruprofiler-2019-07-18.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.CodeGuruProfiler.Model
{
///
/// Container for the parameters to the ListProfileTimes operation.
/// Lists the start times of the available aggregated profiles of a profiling group for
/// an aggregation period within the specified time range.
///
public partial class ListProfileTimesRequest : AmazonCodeGuruProfilerRequest
{
private DateTime? _endTime;
private int? _maxResults;
private string _nextToken;
private OrderBy _orderBy;
private AggregationPeriod _period;
private string _profilingGroupName;
private DateTime? _startTime;
///
/// Gets and sets the property EndTime.
///
/// The end time of the time range from which to list the profiles.
///
///
[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 MaxResults.
///
/// The maximum number of profile time results returned by ListProfileTimes
/// in paginated output. When this parameter is used, ListProfileTimes
only
/// returns maxResults
results in a single page with a nextToken
/// response element. The remaining results of the initial request can be seen by sending
/// another ListProfileTimes
request with the returned nextToken
/// value.
///
///
[AWSProperty(Min=1, Max=1000)]
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 NextToken.
///
/// The nextToken
value returned from a previous paginated ListProfileTimes
/// request where maxResults
was used and the results exceeded the value
/// of that parameter. Pagination continues from the end of the previous results that
/// returned the nextToken
value.
///
///
///
/// This token should be treated as an opaque identifier that is only used to retrieve
/// the next items in a list and not for other programmatic purposes.
///
///
///
[AWSProperty(Min=1, Max=64)]
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 OrderBy.
///
/// The order (ascending or descending by start time of the profile) to use when listing
/// profiles. Defaults to TIMESTAMP_DESCENDING
.
///
///
public OrderBy OrderBy
{
get { return this._orderBy; }
set { this._orderBy = value; }
}
// Check to see if OrderBy property is set
internal bool IsSetOrderBy()
{
return this._orderBy != null;
}
///
/// Gets and sets the property Period.
///
/// The aggregation period. This specifies the period during which an aggregation profile
/// collects posted agent profiles for a profiling group. There are 3 valid values.
///
/// -
///
///
P1D
— 1 day
///
/// -
///
///
PT1H
— 1 hour
///
/// -
///
///
PT5M
— 5 minutes
///
///
///
[AWSProperty(Required=true)]
public AggregationPeriod Period
{
get { return this._period; }
set { this._period = value; }
}
// Check to see if Period property is set
internal bool IsSetPeriod()
{
return this._period != null;
}
///
/// Gets and sets the property ProfilingGroupName.
///
/// The name of the profiling group.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string ProfilingGroupName
{
get { return this._profilingGroupName; }
set { this._profilingGroupName = value; }
}
// Check to see if ProfilingGroupName property is set
internal bool IsSetProfilingGroupName()
{
return this._profilingGroupName != null;
}
///
/// Gets and sets the property StartTime.
///
/// The start time of the time range from which to list the profiles.
///
///
[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;
}
}
}