AWS SDK for C++

AWS SDK for C++ Version 1.11.742

Loading...
Searching...
No Matches
OptimizeWaypointsRequest.h
1
6#pragma once
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>
22
23#include <utility>
24
25namespace Aws {
26namespace Http {
27class URI;
28} // namespace Http
29namespace GeoRoutes {
30namespace Model {
31
35 public:
36 AWS_GEOROUTES_API OptimizeWaypointsRequest() = default;
37
38 // Service request name is the Operation name which will send this request out,
39 // each operation should has unique request name, so that we can get operation's name from this request.
40 // Note: this is not true for response, multiple operations may have the same response name,
41 // so we can not get operation's name from response.
42 inline virtual const char* GetServiceRequestName() const override { return "OptimizeWaypoints"; }
43
44 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
45
46 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
47
49
53 inline const WaypointOptimizationAvoidanceOptions& GetAvoid() const { return m_avoid; }
54 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
55 template <typename AvoidT = WaypointOptimizationAvoidanceOptions>
56 void SetAvoid(AvoidT&& value) {
57 m_avoidHasBeenSet = true;
58 m_avoid = std::forward<AvoidT>(value);
59 }
60 template <typename AvoidT = WaypointOptimizationAvoidanceOptions>
62 SetAvoid(std::forward<AvoidT>(value));
63 return *this;
64 }
66
68
72 inline const WaypointOptimizationClusteringOptions& GetClustering() const { return m_clustering; }
73 inline bool ClusteringHasBeenSet() const { return m_clusteringHasBeenSet; }
74 template <typename ClusteringT = WaypointOptimizationClusteringOptions>
75 void SetClustering(ClusteringT&& value) {
76 m_clusteringHasBeenSet = true;
77 m_clustering = std::forward<ClusteringT>(value);
78 }
79 template <typename ClusteringT = WaypointOptimizationClusteringOptions>
81 SetClustering(std::forward<ClusteringT>(value));
82 return *this;
83 }
85
87
93 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
94 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
95 template <typename DepartureTimeT = Aws::String>
96 void SetDepartureTime(DepartureTimeT&& value) {
97 m_departureTimeHasBeenSet = true;
98 m_departureTime = std::forward<DepartureTimeT>(value);
99 }
100 template <typename DepartureTimeT = Aws::String>
102 SetDepartureTime(std::forward<DepartureTimeT>(value));
103 return *this;
104 }
106
108
112 inline const Aws::Vector<double>& GetDestination() const { return m_destination; }
113 inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; }
114 template <typename DestinationT = Aws::Vector<double>>
115 void SetDestination(DestinationT&& value) {
116 m_destinationHasBeenSet = true;
117 m_destination = std::forward<DestinationT>(value);
118 }
119 template <typename DestinationT = Aws::Vector<double>>
121 SetDestination(std::forward<DestinationT>(value));
122 return *this;
123 }
125 m_destinationHasBeenSet = true;
126 m_destination.push_back(value);
127 return *this;
128 }
130
132
135 inline const WaypointOptimizationDestinationOptions& GetDestinationOptions() const { return m_destinationOptions; }
136 inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; }
137 template <typename DestinationOptionsT = WaypointOptimizationDestinationOptions>
138 void SetDestinationOptions(DestinationOptionsT&& value) {
139 m_destinationOptionsHasBeenSet = true;
140 m_destinationOptions = std::forward<DestinationOptionsT>(value);
141 }
142 template <typename DestinationOptionsT = WaypointOptimizationDestinationOptions>
143 OptimizeWaypointsRequest& WithDestinationOptions(DestinationOptionsT&& value) {
144 SetDestinationOptions(std::forward<DestinationOptionsT>(value));
145 return *this;
146 }
148
150
153 inline const WaypointOptimizationDriverOptions& GetDriver() const { return m_driver; }
154 inline bool DriverHasBeenSet() const { return m_driverHasBeenSet; }
155 template <typename DriverT = WaypointOptimizationDriverOptions>
156 void SetDriver(DriverT&& value) {
157 m_driverHasBeenSet = true;
158 m_driver = std::forward<DriverT>(value);
159 }
160 template <typename DriverT = WaypointOptimizationDriverOptions>
162 SetDriver(std::forward<DriverT>(value));
163 return *this;
164 }
166
168
171 inline const WaypointOptimizationExclusionOptions& GetExclude() const { return m_exclude; }
172 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
173 template <typename ExcludeT = WaypointOptimizationExclusionOptions>
174 void SetExclude(ExcludeT&& value) {
175 m_excludeHasBeenSet = true;
176 m_exclude = std::forward<ExcludeT>(value);
177 }
178 template <typename ExcludeT = WaypointOptimizationExclusionOptions>
180 SetExclude(std::forward<ExcludeT>(value));
181 return *this;
182 }
184
186
190 inline const Aws::String& GetKey() const { return m_key; }
191 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
192 template <typename KeyT = Aws::String>
193 void SetKey(KeyT&& value) {
194 m_keyHasBeenSet = true;
195 m_key = std::forward<KeyT>(value);
196 }
197 template <typename KeyT = Aws::String>
199 SetKey(std::forward<KeyT>(value));
200 return *this;
201 }
203
205
209 inline WaypointOptimizationSequencingObjective GetOptimizeSequencingFor() const { return m_optimizeSequencingFor; }
210 inline bool OptimizeSequencingForHasBeenSet() const { return m_optimizeSequencingForHasBeenSet; }
212 m_optimizeSequencingForHasBeenSet = true;
213 m_optimizeSequencingFor = value;
214 }
217 return *this;
218 }
220
222
225 inline const Aws::Vector<double>& GetOrigin() const { return m_origin; }
226 inline bool OriginHasBeenSet() const { return m_originHasBeenSet; }
227 template <typename OriginT = Aws::Vector<double>>
228 void SetOrigin(OriginT&& value) {
229 m_originHasBeenSet = true;
230 m_origin = std::forward<OriginT>(value);
231 }
232 template <typename OriginT = Aws::Vector<double>>
234 SetOrigin(std::forward<OriginT>(value));
235 return *this;
236 }
237 inline OptimizeWaypointsRequest& AddOrigin(double value) {
238 m_originHasBeenSet = true;
239 m_origin.push_back(value);
240 return *this;
241 }
243
245
248 inline const WaypointOptimizationOriginOptions& GetOriginOptions() const { return m_originOptions; }
249 inline bool OriginOptionsHasBeenSet() const { return m_originOptionsHasBeenSet; }
250 template <typename OriginOptionsT = WaypointOptimizationOriginOptions>
251 void SetOriginOptions(OriginOptionsT&& value) {
252 m_originOptionsHasBeenSet = true;
253 m_originOptions = std::forward<OriginOptionsT>(value);
254 }
255 template <typename OriginOptionsT = WaypointOptimizationOriginOptions>
257 SetOriginOptions(std::forward<OriginOptionsT>(value));
258 return *this;
259 }
261
263
266 inline const WaypointOptimizationTrafficOptions& GetTraffic() const { return m_traffic; }
267 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
268 template <typename TrafficT = WaypointOptimizationTrafficOptions>
269 void SetTraffic(TrafficT&& value) {
270 m_trafficHasBeenSet = true;
271 m_traffic = std::forward<TrafficT>(value);
272 }
273 template <typename TrafficT = WaypointOptimizationTrafficOptions>
275 SetTraffic(std::forward<TrafficT>(value));
276 return *this;
277 }
279
281
286 inline WaypointOptimizationTravelMode GetTravelMode() const { return m_travelMode; }
287 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
289 m_travelModeHasBeenSet = true;
290 m_travelMode = value;
291 }
293 SetTravelMode(value);
294 return *this;
295 }
297
299
302 inline const WaypointOptimizationTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
303 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
304 template <typename TravelModeOptionsT = WaypointOptimizationTravelModeOptions>
305 void SetTravelModeOptions(TravelModeOptionsT&& value) {
306 m_travelModeOptionsHasBeenSet = true;
307 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
308 }
309 template <typename TravelModeOptionsT = WaypointOptimizationTravelModeOptions>
310 OptimizeWaypointsRequest& WithTravelModeOptions(TravelModeOptionsT&& value) {
311 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
312 return *this;
313 }
315
317
321 inline const Aws::Vector<WaypointOptimizationWaypoint>& GetWaypoints() const { return m_waypoints; }
322 inline bool WaypointsHasBeenSet() const { return m_waypointsHasBeenSet; }
323 template <typename WaypointsT = Aws::Vector<WaypointOptimizationWaypoint>>
324 void SetWaypoints(WaypointsT&& value) {
325 m_waypointsHasBeenSet = true;
326 m_waypoints = std::forward<WaypointsT>(value);
327 }
328 template <typename WaypointsT = Aws::Vector<WaypointOptimizationWaypoint>>
330 SetWaypoints(std::forward<WaypointsT>(value));
331 return *this;
332 }
333 template <typename WaypointsT = WaypointOptimizationWaypoint>
335 m_waypointsHasBeenSet = true;
336 m_waypoints.emplace_back(std::forward<WaypointsT>(value));
337 return *this;
338 }
340 private:
342
344
345 Aws::String m_departureTime;
346
347 Aws::Vector<double> m_destination;
348
349 WaypointOptimizationDestinationOptions m_destinationOptions;
350
352
354
355 Aws::String m_key;
356
358
359 Aws::Vector<double> m_origin;
360
361 WaypointOptimizationOriginOptions m_originOptions;
362
363 WaypointOptimizationTrafficOptions m_traffic;
364
366
367 WaypointOptimizationTravelModeOptions m_travelModeOptions;
368
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;
385};
386
387} // namespace Model
388} // namespace GeoRoutes
389} // 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