AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
OptimizeWaypointsRequest.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/GeoRoutesRequest.h>
9#include <aws/geo-routes/model/WaypointOptimizationAvoidanceOptions.h>
10#include <aws/geo-routes/model/WaypointOptimizationClusteringOptions.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.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/WaypointOptimizationSequencingObjective.h>
17#include <aws/geo-routes/model/WaypointOptimizationOriginOptions.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>
22#include <utility>
23
24namespace Aws
25{
26namespace Http
27{
28 class URI;
29} //namespace Http
30namespace GeoRoutes
31{
32namespace Model
33{
34
38 {
39 public:
40 AWS_GEOROUTES_API OptimizeWaypointsRequest() = default;
41
42 // Service request name is the Operation name which will send this request out,
43 // each operation should has unique request name, so that we can get operation's name from this request.
44 // Note: this is not true for response, multiple operations may have the same response name,
45 // so we can not get operation's name from response.
46 inline virtual const char* GetServiceRequestName() const override { return "OptimizeWaypoints"; }
47
48 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
49
50 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
51
52
54
58 inline const WaypointOptimizationAvoidanceOptions& GetAvoid() const { return m_avoid; }
59 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
60 template<typename AvoidT = WaypointOptimizationAvoidanceOptions>
61 void SetAvoid(AvoidT&& value) { m_avoidHasBeenSet = true; m_avoid = std::forward<AvoidT>(value); }
62 template<typename AvoidT = WaypointOptimizationAvoidanceOptions>
63 OptimizeWaypointsRequest& WithAvoid(AvoidT&& value) { SetAvoid(std::forward<AvoidT>(value)); return *this;}
65
67
71 inline const WaypointOptimizationClusteringOptions& GetClustering() const { return m_clustering; }
72 inline bool ClusteringHasBeenSet() const { return m_clusteringHasBeenSet; }
73 template<typename ClusteringT = WaypointOptimizationClusteringOptions>
74 void SetClustering(ClusteringT&& value) { m_clusteringHasBeenSet = true; m_clustering = std::forward<ClusteringT>(value); }
75 template<typename ClusteringT = WaypointOptimizationClusteringOptions>
76 OptimizeWaypointsRequest& WithClustering(ClusteringT&& value) { SetClustering(std::forward<ClusteringT>(value)); return *this;}
78
80
86 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
87 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
88 template<typename DepartureTimeT = Aws::String>
89 void SetDepartureTime(DepartureTimeT&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::forward<DepartureTimeT>(value); }
90 template<typename DepartureTimeT = Aws::String>
91 OptimizeWaypointsRequest& WithDepartureTime(DepartureTimeT&& value) { SetDepartureTime(std::forward<DepartureTimeT>(value)); return *this;}
93
95
99 inline const Aws::Vector<double>& GetDestination() const { return m_destination; }
100 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
101 template<typename DestinationT = Aws::Vector<double>>
102 void SetDestination(DestinationT&& value) { m_destinationHasBeenSet = true; m_destination = std::forward<DestinationT>(value); }
103 template<typename DestinationT = Aws::Vector<double>>
104 OptimizeWaypointsRequest& WithDestination(DestinationT&& value) { SetDestination(std::forward<DestinationT>(value)); return *this;}
105 inline OptimizeWaypointsRequest& AddDestination(double value) { m_destinationHasBeenSet = true; m_destination.push_back(value); return *this; }
107
109
112 inline const WaypointOptimizationDestinationOptions& GetDestinationOptions() const { return m_destinationOptions; }
113 inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; }
114 template<typename DestinationOptionsT = WaypointOptimizationDestinationOptions>
115 void SetDestinationOptions(DestinationOptionsT&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::forward<DestinationOptionsT>(value); }
116 template<typename DestinationOptionsT = WaypointOptimizationDestinationOptions>
117 OptimizeWaypointsRequest& WithDestinationOptions(DestinationOptionsT&& value) { SetDestinationOptions(std::forward<DestinationOptionsT>(value)); return *this;}
119
121
124 inline const WaypointOptimizationDriverOptions& GetDriver() const { return m_driver; }
125 inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; }
126 template<typename DriverT = WaypointOptimizationDriverOptions>
127 void SetDriver(DriverT&& value) { m_driverHasBeenSet = true; m_driver = std::forward<DriverT>(value); }
128 template<typename DriverT = WaypointOptimizationDriverOptions>
129 OptimizeWaypointsRequest& WithDriver(DriverT&& value) { SetDriver(std::forward<DriverT>(value)); return *this;}
131
133
136 inline const WaypointOptimizationExclusionOptions& GetExclude() const { return m_exclude; }
137 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
138 template<typename ExcludeT = WaypointOptimizationExclusionOptions>
139 void SetExclude(ExcludeT&& value) { m_excludeHasBeenSet = true; m_exclude = std::forward<ExcludeT>(value); }
140 template<typename ExcludeT = WaypointOptimizationExclusionOptions>
141 OptimizeWaypointsRequest& WithExclude(ExcludeT&& value) { SetExclude(std::forward<ExcludeT>(value)); return *this;}
143
145
149 inline const Aws::String& GetKey() const { return m_key; }
150 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
151 template<typename KeyT = Aws::String>
152 void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward<KeyT>(value); }
153 template<typename KeyT = Aws::String>
154 OptimizeWaypointsRequest& WithKey(KeyT&& value) { SetKey(std::forward<KeyT>(value)); return *this;}
156
158
162 inline WaypointOptimizationSequencingObjective GetOptimizeSequencingFor() const { return m_optimizeSequencingFor; }
163 inline bool OptimizeSequencingForHasBeenSet() const { return m_optimizeSequencingForHasBeenSet; }
164 inline void SetOptimizeSequencingFor(WaypointOptimizationSequencingObjective value) { m_optimizeSequencingForHasBeenSet = true; m_optimizeSequencingFor = value; }
167
169
172 inline const Aws::Vector<double>& GetOrigin() const { return m_origin; }
173 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
174 template<typename OriginT = Aws::Vector<double>>
175 void SetOrigin(OriginT&& value) { m_originHasBeenSet = true; m_origin = std::forward<OriginT>(value); }
176 template<typename OriginT = Aws::Vector<double>>
177 OptimizeWaypointsRequest& WithOrigin(OriginT&& value) { SetOrigin(std::forward<OriginT>(value)); return *this;}
178 inline OptimizeWaypointsRequest& AddOrigin(double value) { m_originHasBeenSet = true; m_origin.push_back(value); return *this; }
180
182
185 inline const WaypointOptimizationOriginOptions& GetOriginOptions() const { return m_originOptions; }
186 inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; }
187 template<typename OriginOptionsT = WaypointOptimizationOriginOptions>
188 void SetOriginOptions(OriginOptionsT&& value) { m_originOptionsHasBeenSet = true; m_originOptions = std::forward<OriginOptionsT>(value); }
189 template<typename OriginOptionsT = WaypointOptimizationOriginOptions>
190 OptimizeWaypointsRequest& WithOriginOptions(OriginOptionsT&& value) { SetOriginOptions(std::forward<OriginOptionsT>(value)); return *this;}
192
194
197 inline const WaypointOptimizationTrafficOptions& GetTraffic() const { return m_traffic; }
198 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
199 template<typename TrafficT = WaypointOptimizationTrafficOptions>
200 void SetTraffic(TrafficT&& value) { m_trafficHasBeenSet = true; m_traffic = std::forward<TrafficT>(value); }
201 template<typename TrafficT = WaypointOptimizationTrafficOptions>
202 OptimizeWaypointsRequest& WithTraffic(TrafficT&& value) { SetTraffic(std::forward<TrafficT>(value)); return *this;}
204
206
211 inline WaypointOptimizationTravelMode GetTravelMode() const { return m_travelMode; }
212 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
213 inline void SetTravelMode(WaypointOptimizationTravelMode value) { m_travelModeHasBeenSet = true; m_travelMode = value; }
216
218
221 inline const WaypointOptimizationTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
222 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
223 template<typename TravelModeOptionsT = WaypointOptimizationTravelModeOptions>
224 void SetTravelModeOptions(TravelModeOptionsT&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::forward<TravelModeOptionsT>(value); }
225 template<typename TravelModeOptionsT = WaypointOptimizationTravelModeOptions>
226 OptimizeWaypointsRequest& WithTravelModeOptions(TravelModeOptionsT&& value) { SetTravelModeOptions(std::forward<TravelModeOptionsT>(value)); return *this;}
228
230
234 inline const Aws::Vector<WaypointOptimizationWaypoint>& GetWaypoints() const { return m_waypoints; }
235 inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; }
236 template<typename WaypointsT = Aws::Vector<WaypointOptimizationWaypoint>>
237 void SetWaypoints(WaypointsT&& value) { m_waypointsHasBeenSet = true; m_waypoints = std::forward<WaypointsT>(value); }
238 template<typename WaypointsT = Aws::Vector<WaypointOptimizationWaypoint>>
239 OptimizeWaypointsRequest& WithWaypoints(WaypointsT&& value) { SetWaypoints(std::forward<WaypointsT>(value)); return *this;}
240 template<typename WaypointsT = WaypointOptimizationWaypoint>
241 OptimizeWaypointsRequest& AddWaypoints(WaypointsT&& value) { m_waypointsHasBeenSet = true; m_waypoints.emplace_back(std::forward<WaypointsT>(value)); return *this; }
243 private:
244
246 bool m_avoidHasBeenSet = false;
247
249 bool m_clusteringHasBeenSet = false;
250
251 Aws::String m_departureTime;
252 bool m_departureTimeHasBeenSet = false;
253
254 Aws::Vector<double> m_destination;
255 bool m_destinationHasBeenSet = false;
256
257 WaypointOptimizationDestinationOptions m_destinationOptions;
258 bool m_destinationOptionsHasBeenSet = false;
259
261 bool m_driverHasBeenSet = false;
262
264 bool m_excludeHasBeenSet = false;
265
266 Aws::String m_key;
267 bool m_keyHasBeenSet = false;
268
270 bool m_optimizeSequencingForHasBeenSet = false;
271
272 Aws::Vector<double> m_origin;
273 bool m_originHasBeenSet = false;
274
275 WaypointOptimizationOriginOptions m_originOptions;
276 bool m_originOptionsHasBeenSet = false;
277
278 WaypointOptimizationTrafficOptions m_traffic;
279 bool m_trafficHasBeenSet = false;
280
282 bool m_travelModeHasBeenSet = false;
283
284 WaypointOptimizationTravelModeOptions m_travelModeOptions;
285 bool m_travelModeOptionsHasBeenSet = false;
286
288 bool m_waypointsHasBeenSet = false;
289 };
290
291} // namespace Model
292} // namespace GeoRoutes
293} // namespace Aws
OptimizeWaypointsRequest & WithTravelModeOptions(TravelModeOptionsT &&value)
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 WaypointOptimizationAvoidanceOptions & GetAvoid() const
const WaypointOptimizationTravelModeOptions & GetTravelModeOptions() const
void SetTravelMode(WaypointOptimizationTravelMode value)
const Aws::Vector< WaypointOptimizationWaypoint > & GetWaypoints() const
OptimizeWaypointsRequest & WithKey(KeyT &&value)
const WaypointOptimizationOriginOptions & GetOriginOptions() const
OptimizeWaypointsRequest & WithDriver(DriverT &&value)
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)
OptimizeWaypointsRequest & WithDepartureTime(DepartureTimeT &&value)
OptimizeWaypointsRequest & WithOrigin(OriginT &&value)
OptimizeWaypointsRequest & WithDestination(DestinationT &&value)
const WaypointOptimizationTrafficOptions & GetTraffic() const
OptimizeWaypointsRequest & WithAvoid(AvoidT &&value)
virtual const char * GetServiceRequestName() const override
OptimizeWaypointsRequest & WithTravelMode(WaypointOptimizationTravelMode value)
WaypointOptimizationSequencingObjective GetOptimizeSequencingFor() const
const Aws::Vector< double > & GetDestination() const
OptimizeWaypointsRequest & WithExclude(ExcludeT &&value)
OptimizeWaypointsRequest & AddOrigin(double value)
const WaypointOptimizationDestinationOptions & GetDestinationOptions() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector