// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ListProfileTimes`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`profiling_group_name(impl Into<String>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::profiling_group_name) / [`set_profiling_group_name(Option<String>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_profiling_group_name):<br>required: **true**<br><p>The name of the profiling group.</p><br>
/// - [`start_time(DateTime)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::start_time) / [`set_start_time(Option<DateTime>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_start_time):<br>required: **true**<br><p>The start time of the time range from which to list the profiles.</p><br>
/// - [`end_time(DateTime)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::end_time) / [`set_end_time(Option<DateTime>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_end_time):<br>required: **true**<br><p>The end time of the time range from which to list the profiles.</p><br>
/// - [`period(AggregationPeriod)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::period) / [`set_period(Option<AggregationPeriod>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_period):<br>required: **true**<br><p>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.</p> <ul> <li> <p><code>P1D</code> — 1 day</p></li> <li> <p><code>PT1H</code> — 1 hour</p></li> <li> <p><code>PT5M</code> — 5 minutes</p></li> </ul><br>
/// - [`order_by(OrderBy)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::order_by) / [`set_order_by(Option<OrderBy>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_order_by):<br>required: **false**<br><p>The order (ascending or descending by start time of the profile) to use when listing profiles. Defaults to <code>TIMESTAMP_DESCENDING</code>.</p><br>
/// - [`max_results(i32)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of profile time results returned by <code>ListProfileTimes</code> in paginated output. When this parameter is used, <code>ListProfileTimes</code> only returns <code>maxResults</code> results in a single page with a <code>nextToken</code> response element. The remaining results of the initial request can be seen by sending another <code>ListProfileTimes</code> request with the returned <code>nextToken</code> value.</p><br>
/// - [`next_token(impl Into<String>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::set_next_token):<br>required: **false**<br><p>The <code>nextToken</code> value returned from a previous paginated <code>ListProfileTimes</code> request where <code>maxResults</code> was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the <code>nextToken</code> value.</p><note> <p>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.</p> </note><br>
/// - On success, responds with [`ListProfileTimesOutput`](crate::operation::list_profile_times::ListProfileTimesOutput) with field(s):
/// - [`profile_times(Vec::<ProfileTime>)`](crate::operation::list_profile_times::ListProfileTimesOutput::profile_times): <p>The list of start times of the available profiles for the aggregation period in the specified time range.</p>
/// - [`next_token(Option<String>)`](crate::operation::list_profile_times::ListProfileTimesOutput::next_token): <p>The <code>nextToken</code> value to include in a future <code>ListProfileTimes</code> request. When the results of a <code>ListProfileTimes</code> request exceed <code>maxResults</code>, this value can be used to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
/// - On failure, responds with [`SdkError<ListProfileTimesError>`](crate::operation::list_profile_times::ListProfileTimesError)
pub fn list_profile_times(&self) -> crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder {
crate::operation::list_profile_times::builders::ListProfileTimesFluentBuilder::new(self.handle.clone())
}
}