pub use crate::operation::calculate_route::_calculate_route_output::CalculateRouteOutputBuilder;
pub use crate::operation::calculate_route::_calculate_route_input::CalculateRouteInputBuilder;
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct CalculateRouteFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::calculate_route::builders::CalculateRouteInputBuilder,
}
impl CalculateRouteFluentBuilder {
pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: Default::default(),
}
}
pub async fn customize(
self,
) -> std::result::Result<
crate::client::customize::CustomizableOperation<
crate::operation::calculate_route::CalculateRoute,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<crate::operation::calculate_route::CalculateRouteError>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::client::customize::CustomizableOperation { handle, operation })
}
pub async fn send(
self,
) -> std::result::Result<
crate::operation::calculate_route::CalculateRouteOutput,
aws_smithy_http::result::SdkError<crate::operation::calculate_route::CalculateRouteError>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}
pub fn calculator_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.calculator_name(input.into());
self
}
pub fn set_calculator_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_calculator_name(input);
self
}
pub fn departure_position(mut self, input: f64) -> Self {
self.inner = self.inner.departure_position(input);
self
}
pub fn set_departure_position(
mut self,
input: std::option::Option<std::vec::Vec<f64>>,
) -> Self {
self.inner = self.inner.set_departure_position(input);
self
}
pub fn destination_position(mut self, input: f64) -> Self {
self.inner = self.inner.destination_position(input);
self
}
pub fn set_destination_position(
mut self,
input: std::option::Option<std::vec::Vec<f64>>,
) -> Self {
self.inner = self.inner.set_destination_position(input);
self
}
pub fn waypoint_positions(mut self, input: std::vec::Vec<f64>) -> Self {
self.inner = self.inner.waypoint_positions(input);
self
}
pub fn set_waypoint_positions(
mut self,
input: std::option::Option<std::vec::Vec<std::vec::Vec<f64>>>,
) -> Self {
self.inner = self.inner.set_waypoint_positions(input);
self
}
pub fn travel_mode(mut self, input: crate::types::TravelMode) -> Self {
self.inner = self.inner.travel_mode(input);
self
}
pub fn set_travel_mode(mut self, input: std::option::Option<crate::types::TravelMode>) -> Self {
self.inner = self.inner.set_travel_mode(input);
self
}
pub fn departure_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.inner = self.inner.departure_time(input);
self
}
pub fn set_departure_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.inner = self.inner.set_departure_time(input);
self
}
pub fn depart_now(mut self, input: bool) -> Self {
self.inner = self.inner.depart_now(input);
self
}
pub fn set_depart_now(mut self, input: std::option::Option<bool>) -> Self {
self.inner = self.inner.set_depart_now(input);
self
}
pub fn distance_unit(mut self, input: crate::types::DistanceUnit) -> Self {
self.inner = self.inner.distance_unit(input);
self
}
pub fn set_distance_unit(
mut self,
input: std::option::Option<crate::types::DistanceUnit>,
) -> Self {
self.inner = self.inner.set_distance_unit(input);
self
}
pub fn include_leg_geometry(mut self, input: bool) -> Self {
self.inner = self.inner.include_leg_geometry(input);
self
}
pub fn set_include_leg_geometry(mut self, input: std::option::Option<bool>) -> Self {
self.inner = self.inner.set_include_leg_geometry(input);
self
}
pub fn car_mode_options(mut self, input: crate::types::CalculateRouteCarModeOptions) -> Self {
self.inner = self.inner.car_mode_options(input);
self
}
pub fn set_car_mode_options(
mut self,
input: std::option::Option<crate::types::CalculateRouteCarModeOptions>,
) -> Self {
self.inner = self.inner.set_car_mode_options(input);
self
}
pub fn truck_mode_options(
mut self,
input: crate::types::CalculateRouteTruckModeOptions,
) -> Self {
self.inner = self.inner.truck_mode_options(input);
self
}
pub fn set_truck_mode_options(
mut self,
input: std::option::Option<crate::types::CalculateRouteTruckModeOptions>,
) -> Self {
self.inner = self.inner.set_truck_mode_options(input);
self
}
}