// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`GetRevenueStatistics`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`statistic_type(RankingStatisticType)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::statistic_type) / [`set_statistic_type(Option<RankingStatisticType>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_statistic_type):<br>required: **true**<br><p><code>TOP_SOURCES_BY_REVENUE</code> ranks revenue from AI bot traffic, grouped by the dimension you specify in the <code>GroupBy</code> parameter (<code>NAME</code>, <code>CATEGORY</code>, <code>INTENT</code>, <code>ORGANIZATION</code>, or <code>WEBACL</code>); <code>GroupBy</code> is required for this statistic type. <code>TOP_PATHS_BY_REVENUE</code> ranks revenue by path.</p><br>
/// - [`time_window(TimeWindow)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::time_window) / [`set_time_window(Option<TimeWindow>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_time_window):<br>required: **true**<br><p>The time range for the query. Specify start and end timestamps.</p><br>
/// - [`scope(Scope)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::scope) / [`set_scope(Option<Scope>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_scope):<br>required: **true**<br><p>Specifies whether this is for a Amazon CloudFront distribution (<code>CLOUDFRONT</code>) or for a regional application (<code>REGIONAL</code>).</p><br>
/// - [`currency(Currency)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::currency) / [`set_currency(Option<Currency>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_currency):<br>required: **true**<br><p>The currency for the revenue amounts in the response.</p><br>
/// - [`group_by(GroupByType)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::group_by) / [`set_group_by(Option<GroupByType>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_group_by):<br>required: **false**<br><p>The dimension to group results by: <code>NAME</code>, <code>CATEGORY</code>, <code>INTENT</code>, <code>ORGANIZATION</code>, or <code>WEBACL</code>. Required when <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code>. Not required for <code>TOP_PATHS_BY_REVENUE</code>, where results are grouped by content path. If <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code> and <code>GroupBy</code> is omitted, the request is rejected with a <code>WAFInvalidParameterException</code>.</p><br>
/// - [`filters(MonetizationFilter)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::filters) / [`set_filters(Option<Vec::<MonetizationFilter>>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_filters):<br>required: **false**<br><p>Optional filters to narrow the results.</p><br>
/// - [`next_marker(impl Into<String>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::next_marker) / [`set_next_marker(Option<String>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_next_marker):<br>required: **false**<br><p>When you get a paginated response, this marker indicates that additional results are available. Use it in a subsequent request to retrieve the next page of results.</p><br>
/// - [`limit(i32)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::limit) / [`set_limit(Option<i32>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_limit):<br>required: **false**<br><p>The maximum number of results to return.</p><br>
/// - [`sort_by(RankingSortBy)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::sort_by) / [`set_sort_by(Option<RankingSortBy>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_sort_by):<br>required: **false**<br><p>The field to sort results by: <code>REVENUE</code>, <code>PERCENTAGE</code>, or <code>NAME</code>.</p><br>
/// - [`sort_order(SortOrder)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::sort_order) / [`set_sort_order(Option<SortOrder>)`](crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::set_sort_order):<br>required: **false**<br><p>The sort order: <code>ASC</code> for ascending or <code>DESC</code> for descending.</p><br>
/// - On success, responds with [`GetRevenueStatisticsOutput`](crate::operation::get_revenue_statistics::GetRevenueStatisticsOutput) with field(s):
/// - [`source_statistics(Option<Vec::<SourceStatistics>>)`](crate::operation::get_revenue_statistics::GetRevenueStatisticsOutput::source_statistics): <p>Statistics for top revenue sources (AI bots). Populated when <code>StatisticType</code> is <code>TOP_SOURCES_BY_REVENUE</code>.</p>
/// - [`revenue_path_statistics(Option<Vec::<RevenuePathStatistics>>)`](crate::operation::get_revenue_statistics::GetRevenueStatisticsOutput::revenue_path_statistics): <p>Statistics for top revenue paths. Populated when <code>StatisticType</code> is <code>TOP_PATHS_BY_REVENUE</code>.</p>
/// - [`next_marker(Option<String>)`](crate::operation::get_revenue_statistics::GetRevenueStatisticsOutput::next_marker): <p>When you get a paginated response, this marker indicates that additional results are available.</p>
/// - On failure, responds with [`SdkError<GetRevenueStatisticsError>`](crate::operation::get_revenue_statistics::GetRevenueStatisticsError)
pub fn get_revenue_statistics(&self) -> crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder {
crate::operation::get_revenue_statistics::builders::GetRevenueStatisticsFluentBuilder::new(self.handle.clone())
}
}