7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/geo-routes/GeoRoutesRequest.h>
10#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
11#include <aws/geo-routes/model/WaypointOptimizationAvoidanceOptions.h>
12#include <aws/geo-routes/model/WaypointOptimizationClusteringOptions.h>
13#include <aws/geo-routes/model/WaypointOptimizationDestinationOptions.h>
14#include <aws/geo-routes/model/WaypointOptimizationDriverOptions.h>
15#include <aws/geo-routes/model/WaypointOptimizationExclusionOptions.h>
16#include <aws/geo-routes/model/WaypointOptimizationOriginOptions.h>
17#include <aws/geo-routes/model/WaypointOptimizationSequencingObjective.h>
18#include <aws/geo-routes/model/WaypointOptimizationTrafficOptions.h>
19#include <aws/geo-routes/model/WaypointOptimizationTravelMode.h>
20#include <aws/geo-routes/model/WaypointOptimizationTravelModeOptions.h>
21#include <aws/geo-routes/model/WaypointOptimizationWaypoint.h>
55 template <
typename A
voidT = Waypo
intOptimizationA
voidanceOptions>
57 m_avoidHasBeenSet =
true;
58 m_avoid = std::forward<AvoidT>(value);
60 template <
typename A
voidT = Waypo
intOptimizationA
voidanceOptions>
62 SetAvoid(std::forward<AvoidT>(value));
74 template <
typename ClusteringT = Waypo
intOptimizationClusteringOptions>
76 m_clusteringHasBeenSet =
true;
77 m_clustering = std::forward<ClusteringT>(value);
79 template <
typename ClusteringT = Waypo
intOptimizationClusteringOptions>
95 template <
typename DepartureTimeT = Aws::String>
97 m_departureTimeHasBeenSet =
true;
98 m_departureTime = std::forward<DepartureTimeT>(value);
100 template <
typename DepartureTimeT = Aws::String>
114 template <
typename DestinationT = Aws::Vector<
double>>
116 m_destinationHasBeenSet =
true;
117 m_destination = std::forward<DestinationT>(value);
119 template <
typename DestinationT = Aws::Vector<
double>>
125 m_destinationHasBeenSet =
true;
126 m_destination.push_back(value);
137 template <
typename DestinationOptionsT = Waypo
intOptimizationDestinationOptions>
139 m_destinationOptionsHasBeenSet =
true;
140 m_destinationOptions = std::forward<DestinationOptionsT>(value);
142 template <
typename DestinationOptionsT = Waypo
intOptimizationDestinationOptions>
155 template <
typename DriverT = Waypo
intOptimizationDriverOptions>
157 m_driverHasBeenSet =
true;
158 m_driver = std::forward<DriverT>(value);
160 template <
typename DriverT = Waypo
intOptimizationDriverOptions>
173 template <
typename ExcludeT = Waypo
intOptimizationExclusionOptions>
175 m_excludeHasBeenSet =
true;
176 m_exclude = std::forward<ExcludeT>(value);
178 template <
typename ExcludeT = Waypo
intOptimizationExclusionOptions>
192 template <
typename KeyT = Aws::String>
194 m_keyHasBeenSet =
true;
195 m_key = std::forward<KeyT>(value);
197 template <
typename KeyT = Aws::String>
199 SetKey(std::forward<KeyT>(value));
212 m_optimizeSequencingForHasBeenSet =
true;
213 m_optimizeSequencingFor = value;
227 template <
typename OriginT = Aws::Vector<
double>>
229 m_originHasBeenSet =
true;
230 m_origin = std::forward<OriginT>(value);
232 template <
typename OriginT = Aws::Vector<
double>>
238 m_originHasBeenSet =
true;
239 m_origin.push_back(value);
250 template <
typename OriginOptionsT = Waypo
intOptimizationOriginOptions>
252 m_originOptionsHasBeenSet =
true;
253 m_originOptions = std::forward<OriginOptionsT>(value);
255 template <
typename OriginOptionsT = Waypo
intOptimizationOriginOptions>
268 template <
typename TrafficT = Waypo
intOptimizationTrafficOptions>
270 m_trafficHasBeenSet =
true;
271 m_traffic = std::forward<TrafficT>(value);
273 template <
typename TrafficT = Waypo
intOptimizationTrafficOptions>
289 m_travelModeHasBeenSet =
true;
290 m_travelMode = value;
304 template <
typename TravelModeOptionsT = Waypo
intOptimizationTravelModeOptions>
306 m_travelModeOptionsHasBeenSet =
true;
307 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
309 template <
typename TravelModeOptionsT = Waypo
intOptimizationTravelModeOptions>
323 template <
typename Waypo
intsT = Aws::Vector<Waypo
intOptimizationWaypo
int>>
325 m_waypointsHasBeenSet =
true;
326 m_waypoints = std::forward<WaypointsT>(value);
328 template <
typename Waypo
intsT = Aws::Vector<Waypo
intOptimizationWaypo
int>>
333 template <
typename Waypo
intsT = Waypo
intOptimizationWaypo
int>
335 m_waypointsHasBeenSet =
true;
336 m_waypoints.emplace_back(std::forward<WaypointsT>(value));
361 WaypointOptimizationOriginOptions m_originOptions;
363 WaypointOptimizationTrafficOptions m_traffic;
367 WaypointOptimizationTravelModeOptions m_travelModeOptions;
370 bool m_avoidHasBeenSet =
false;
371 bool m_clusteringHasBeenSet =
false;
372 bool m_departureTimeHasBeenSet =
false;
373 bool m_destinationHasBeenSet =
false;
374 bool m_destinationOptionsHasBeenSet =
false;
375 bool m_driverHasBeenSet =
false;
376 bool m_excludeHasBeenSet =
false;
377 bool m_keyHasBeenSet =
false;
378 bool m_optimizeSequencingForHasBeenSet =
false;
379 bool m_originHasBeenSet =
false;
380 bool m_originOptionsHasBeenSet =
false;
381 bool m_trafficHasBeenSet =
false;
382 bool m_travelModeHasBeenSet =
false;
383 bool m_travelModeOptionsHasBeenSet =
false;
384 bool m_waypointsHasBeenSet =
false;
void SetWaypoints(WaypointsT &&value)
void SetOriginOptions(OriginOptionsT &&value)
OptimizeWaypointsRequest & WithTravelModeOptions(TravelModeOptionsT &&value)
void SetTraffic(TrafficT &&value)
bool DestinationOptionsHasBeenSet() const
OptimizeWaypointsRequest & WithOptimizeSequencingFor(WaypointOptimizationSequencingObjective value)
const WaypointOptimizationDriverOptions & GetDriver() const
AWS_GEOROUTES_API OptimizeWaypointsRequest()=default
WaypointOptimizationTravelMode GetTravelMode() const
OptimizeWaypointsRequest & WithDestinationOptions(DestinationOptionsT &&value)
const WaypointOptimizationExclusionOptions & GetExclude() const
const Aws::String & GetKey() const
bool AvoidHasBeenSet() const
void SetDestination(DestinationT &&value)
void SetDepartureTime(DepartureTimeT &&value)
bool KeyHasBeenSet() const
const WaypointOptimizationAvoidanceOptions & GetAvoid() const
void SetKey(KeyT &&value)
const WaypointOptimizationTravelModeOptions & GetTravelModeOptions() const
void SetTravelMode(WaypointOptimizationTravelMode value)
const Aws::Vector< WaypointOptimizationWaypoint > & GetWaypoints() const
bool ExcludeHasBeenSet() const
void SetTravelModeOptions(TravelModeOptionsT &&value)
OptimizeWaypointsRequest & WithKey(KeyT &&value)
const WaypointOptimizationOriginOptions & GetOriginOptions() const
bool OriginHasBeenSet() const
bool DriverHasBeenSet() const
void SetAvoid(AvoidT &&value)
bool DepartureTimeHasBeenSet() const
bool TrafficHasBeenSet() const
bool OptimizeSequencingForHasBeenSet() const
OptimizeWaypointsRequest & WithDriver(DriverT &&value)
bool TravelModeHasBeenSet() const
void SetClustering(ClusteringT &&value)
bool TravelModeOptionsHasBeenSet() const
OptimizeWaypointsRequest & WithTraffic(TrafficT &&value)
OptimizeWaypointsRequest & WithClustering(ClusteringT &&value)
OptimizeWaypointsRequest & AddDestination(double value)
AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
OptimizeWaypointsRequest & WithOriginOptions(OriginOptionsT &&value)
void SetOptimizeSequencingFor(WaypointOptimizationSequencingObjective value)
OptimizeWaypointsRequest & AddWaypoints(WaypointsT &&value)
AWS_GEOROUTES_API Aws::String SerializePayload() const override
const WaypointOptimizationClusteringOptions & GetClustering() const
OptimizeWaypointsRequest & WithWaypoints(WaypointsT &&value)
void SetDestinationOptions(DestinationOptionsT &&value)
OptimizeWaypointsRequest & WithDepartureTime(DepartureTimeT &&value)
bool WaypointsHasBeenSet() const
bool DestinationHasBeenSet() const
OptimizeWaypointsRequest & WithOrigin(OriginT &&value)
OptimizeWaypointsRequest & WithDestination(DestinationT &&value)
void SetOrigin(OriginT &&value)
const WaypointOptimizationTrafficOptions & GetTraffic() const
OptimizeWaypointsRequest & WithAvoid(AvoidT &&value)
bool ClusteringHasBeenSet() const
virtual const char * GetServiceRequestName() const override
OptimizeWaypointsRequest & WithTravelMode(WaypointOptimizationTravelMode value)
void SetExclude(ExcludeT &&value)
bool OriginOptionsHasBeenSet() const
void SetDriver(DriverT &&value)
WaypointOptimizationSequencingObjective GetOptimizeSequencingFor() const
const Aws::Vector< double > & GetDestination() const
OptimizeWaypointsRequest & WithExclude(ExcludeT &&value)
const Aws::String & GetDepartureTime() const
const Aws::Vector< double > & GetOrigin() const
OptimizeWaypointsRequest & AddOrigin(double value)
const WaypointOptimizationDestinationOptions & GetDestinationOptions() const
WaypointOptimizationSequencingObjective
WaypointOptimizationTravelMode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector