// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`StartQuery`](crate::operation::start_query::builders::StartQueryFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`monitor_name(impl Into<String>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::monitor_name) / [`set_monitor_name(Option<String>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_monitor_name):<br>required: **true**<br><p>The name of the monitor to query.</p><br>
/// - [`start_time(DateTime)`](crate::operation::start_query::builders::StartQueryFluentBuilder::start_time) / [`set_start_time(Option<DateTime>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_start_time):<br>required: **true**<br><p>The timestamp that is the beginning of the period that you want to retrieve data for with your query.</p><br>
/// - [`end_time(DateTime)`](crate::operation::start_query::builders::StartQueryFluentBuilder::end_time) / [`set_end_time(Option<DateTime>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_end_time):<br>required: **true**<br><p>The timestamp that is the end of the period that you want to retrieve data for with your query.</p><br>
/// - [`query_type(QueryType)`](crate::operation::start_query::builders::StartQueryFluentBuilder::query_type) / [`set_query_type(Option<QueryType>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_query_type):<br>required: **true**<br><p>The type of query to run. The following are the three types of queries that you can run using the Internet Monitor query interface:</p> <ul> <li> <p> <code>MEASUREMENTS</code>: TBD definition</p> </li> <li> <p> <code>TOP_LOCATIONS</code>: TBD definition</p> </li> <li> <p> <code>TOP_LOCATION_DETAILS</code>: TBD definition</p> </li> </ul> <p>For lists of the fields returned with each query type and more information about how each type of query is performed, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html"> Using the Amazon CloudWatch Internet Monitor query interface</a> in the Amazon CloudWatch Internet Monitor User Guide.</p><br>
/// - [`filter_parameters(FilterParameter)`](crate::operation::start_query::builders::StartQueryFluentBuilder::filter_parameters) / [`set_filter_parameters(Option<Vec::<FilterParameter>>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_filter_parameters):<br>required: **false**<br><p>The <code>FilterParameters</code> field that you use with Amazon CloudWatch Internet Monitor queries is a string the defines how you want a query to be filtered. The filter parameters that you can specify depend on the query type, since each query type returns a different set of Internet Monitor data.</p> <p>For more information about specifying filter parameters, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-cwim-query.html">Using the Amazon CloudWatch Internet Monitor query interface</a> in the Amazon CloudWatch Internet Monitor User Guide.</p><br>
/// - On success, responds with [`StartQueryOutput`](crate::operation::start_query::StartQueryOutput) with field(s):
/// - [`query_id(String)`](crate::operation::start_query::StartQueryOutput::query_id): <p>The internally-generated identifier of a specific query.</p>
/// - On failure, responds with [`SdkError<StartQueryError>`](crate::operation::start_query::StartQueryError)
pub fn start_query(&self) -> crate::operation::start_query::builders::StartQueryFluentBuilder {
crate::operation::start_query::builders::StartQueryFluentBuilder::new(self.handle.clone())
}
}