aws_sdk_internetmonitor/client/
start_query.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`StartQuery`](crate::operation::start_query::builders::StartQueryFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`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>
7    ///   - [`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>
8    ///   - [`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>
9    ///   - [`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>: Provides availability score, performance score, total traffic, and round-trip times, at 5 minute intervals.</p></li>  <li>   <p><code>TOP_LOCATIONS</code>: Provides availability score, performance score, total traffic, and time to first byte (TTFB) information, for the top location and ASN combinations that you're monitoring, by traffic volume.</p></li>  <li>   <p><code>TOP_LOCATION_DETAILS</code>: Provides TTFB for Amazon CloudFront, your current configuration, and the best performing EC2 configuration, at 1 hour intervals.</p></li>  <li>   <p><code>OVERALL_TRAFFIC_SUGGESTIONS</code>: Provides TTFB, using a 30-day weighted average, for all traffic in each Amazon Web Services location that is monitored.</p></li>  <li>   <p><code>OVERALL_TRAFFIC_SUGGESTIONS_DETAILS</code>: Provides TTFB, using a 30-day weighted average, for each top location, for a proposed Amazon Web Services location. Must provide an Amazon Web Services location to search.</p></li>  <li>   <p><code>ROUTING_SUGGESTIONS</code>: Provides the predicted average round-trip time (RTT) from an IP prefix toward an Amazon Web Services location for a DNS resolver. The RTT is calculated at one hour intervals, over a one hour period.</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>
10    ///   - [`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>
11    ///   - [`linked_account_id(impl Into<String>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::linked_account_id) / [`set_linked_account_id(Option<String>)`](crate::operation::start_query::builders::StartQueryFluentBuilder::set_linked_account_id):<br>required: **false**<br><p>The account ID for an account that you've set up cross-account sharing for in Amazon CloudWatch Internet Monitor. You configure cross-account sharing by using Amazon CloudWatch Observability Access Manager. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cwim-cross-account.html">Internet Monitor cross-account observability</a> in the Amazon CloudWatch Internet Monitor User Guide.</p><br>
12    /// - On success, responds with [`StartQueryOutput`](crate::operation::start_query::StartQueryOutput) with field(s):
13    ///   - [`query_id(String)`](crate::operation::start_query::StartQueryOutput::query_id): <p>The internally-generated identifier of a specific query.</p>
14    /// - On failure, responds with [`SdkError<StartQueryError>`](crate::operation::start_query::StartQueryError)
15    pub fn start_query(&self) -> crate::operation::start_query::builders::StartQueryFluentBuilder {
16        crate::operation::start_query::builders::StartQueryFluentBuilder::new(self.handle.clone())
17    }
18}