// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ForecastGeofenceEvents`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`collection_name(impl Into<String>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::collection_name) / [`set_collection_name(Option<String>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_collection_name):<br>required: **true**<br><p>The name of the geofence collection.</p><br>
/// - [`device_state(ForecastGeofenceEventsDeviceState)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::device_state) / [`set_device_state(Option<ForecastGeofenceEventsDeviceState>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_device_state):<br>required: **true**<br><p>The device's state, including current position and speed.</p><br>
/// - [`time_horizon_minutes(f64)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::time_horizon_minutes) / [`set_time_horizon_minutes(Option<f64>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_time_horizon_minutes):<br>required: **false**<br><p>Specifies the time horizon in minutes for the forecasted events.</p><br>
/// - [`distance_unit(DistanceUnit)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::distance_unit) / [`set_distance_unit(Option<DistanceUnit>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_distance_unit):<br>required: **false**<br><p>The distance unit used for the <code>NearestDistance</code> property returned in a forecasted event. The measurement system must match for <code>DistanceUnit</code> and <code>SpeedUnit</code>; if <code>Kilometers</code> is specified for <code>DistanceUnit</code>, then <code>SpeedUnit</code> must be <code>KilometersPerHour</code>.</p> <p>Default Value: <code>Kilometers</code></p><br>
/// - [`speed_unit(SpeedUnit)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::speed_unit) / [`set_speed_unit(Option<SpeedUnit>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_speed_unit):<br>required: **false**<br><p>The speed unit for the device captured by the device state. The measurement system must match for <code>DistanceUnit</code> and <code>SpeedUnit</code>; if <code>Kilometers</code> is specified for <code>DistanceUnit</code>, then <code>SpeedUnit</code> must be <code>KilometersPerHour</code>.</p> <p>Default Value: <code>KilometersPerHour</code>.</p><br>
/// - [`next_token(impl Into<String>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_next_token):<br>required: **false**<br><p>The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.</p> <p>Default value: <code>null</code></p><br>
/// - [`max_results(i32)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::set_max_results):<br>required: **false**<br><p>An optional limit for the number of resources returned in a single call.</p> <p>Default value: <code>20</code></p><br>
/// - On success, responds with [`ForecastGeofenceEventsOutput`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsOutput) with field(s):
/// - [`forecasted_events(Vec::<ForecastedEvent>)`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsOutput::forecasted_events): <p>The list of forecasted events.</p>
/// - [`next_token(Option<String>)`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsOutput::next_token): <p>The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.</p>
/// - [`distance_unit(DistanceUnit)`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsOutput::distance_unit): <p>The distance unit for the forecasted events.</p>
/// - [`speed_unit(SpeedUnit)`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsOutput::speed_unit): <p>The speed unit for the forecasted events.</p>
/// - On failure, responds with [`SdkError<ForecastGeofenceEventsError>`](crate::operation::forecast_geofence_events::ForecastGeofenceEventsError)
pub fn forecast_geofence_events(&self) -> crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder {
crate::operation::forecast_geofence_events::builders::ForecastGeofenceEventsFluentBuilder::new(self.handle.clone())
}
}