AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CalculateRouteRequest.h
1
6#pragma once
7#include <aws/location/LocationService_EXPORTS.h>
8#include <aws/location/LocationServiceRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/location/model/TravelMode.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/location/model/DistanceUnit.h>
14#include <aws/location/model/CalculateRouteCarModeOptions.h>
15#include <aws/location/model/CalculateRouteTruckModeOptions.h>
16#include <aws/location/model/OptimizationMode.h>
17#include <utility>
18
19namespace Aws
20{
21namespace Http
22{
23 class URI;
24} //namespace Http
25namespace LocationService
26{
27namespace Model
28{
29
33 {
34 public:
35 AWS_LOCATIONSERVICE_API CalculateRouteRequest() = default;
36
37 // Service request name is the Operation name which will send this request out,
38 // each operation should has unique request name, so that we can get operation's name from this request.
39 // Note: this is not true for response, multiple operations may have the same response name,
40 // so we can not get operation's name from response.
41 inline virtual const char* GetServiceRequestName() const override { return "CalculateRoute"; }
42
43 AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override;
44
45 AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
46
47
49
53 inline const Aws::String& GetCalculatorName() const { return m_calculatorName; }
54 inline bool CalculatorNameHasBeenSet() const { return m_calculatorNameHasBeenSet; }
55 template<typename CalculatorNameT = Aws::String>
56 void SetCalculatorName(CalculatorNameT&& value) { m_calculatorNameHasBeenSet = true; m_calculatorName = std::forward<CalculatorNameT>(value); }
57 template<typename CalculatorNameT = Aws::String>
58 CalculateRouteRequest& WithCalculatorName(CalculatorNameT&& value) { SetCalculatorName(std::forward<CalculatorNameT>(value)); return *this;}
60
62
75 inline const Aws::Vector<double>& GetDeparturePosition() const { return m_departurePosition; }
76 inline bool DeparturePositionHasBeenSet() const { return m_departurePositionHasBeenSet; }
77 template<typename DeparturePositionT = Aws::Vector<double>>
78 void SetDeparturePosition(DeparturePositionT&& value) { m_departurePositionHasBeenSet = true; m_departurePosition = std::forward<DeparturePositionT>(value); }
79 template<typename DeparturePositionT = Aws::Vector<double>>
80 CalculateRouteRequest& WithDeparturePosition(DeparturePositionT&& value) { SetDeparturePosition(std::forward<DeparturePositionT>(value)); return *this;}
81 inline CalculateRouteRequest& AddDeparturePosition(double value) { m_departurePositionHasBeenSet = true; m_departurePosition.push_back(value); return *this; }
83
85
96 inline const Aws::Vector<double>& GetDestinationPosition() const { return m_destinationPosition; }
97 inline bool DestinationPositionHasBeenSet() const { return m_destinationPositionHasBeenSet; }
98 template<typename DestinationPositionT = Aws::Vector<double>>
99 void SetDestinationPosition(DestinationPositionT&& value) { m_destinationPositionHasBeenSet = true; m_destinationPosition = std::forward<DestinationPositionT>(value); }
100 template<typename DestinationPositionT = Aws::Vector<double>>
101 CalculateRouteRequest& WithDestinationPosition(DestinationPositionT&& value) { SetDestinationPosition(std::forward<DestinationPositionT>(value)); return *this;}
102 inline CalculateRouteRequest& AddDestinationPosition(double value) { m_destinationPositionHasBeenSet = true; m_destinationPosition.push_back(value); return *this; }
104
106
121 inline const Aws::Vector<Aws::Vector<double>>& GetWaypointPositions() const { return m_waypointPositions; }
122 inline bool WaypointPositionsHasBeenSet() const { return m_waypointPositionsHasBeenSet; }
123 template<typename WaypointPositionsT = Aws::Vector<Aws::Vector<double>>>
124 void SetWaypointPositions(WaypointPositionsT&& value) { m_waypointPositionsHasBeenSet = true; m_waypointPositions = std::forward<WaypointPositionsT>(value); }
125 template<typename WaypointPositionsT = Aws::Vector<Aws::Vector<double>>>
126 CalculateRouteRequest& WithWaypointPositions(WaypointPositionsT&& value) { SetWaypointPositions(std::forward<WaypointPositionsT>(value)); return *this;}
127 template<typename WaypointPositionsT = Aws::Vector<double>>
128 CalculateRouteRequest& AddWaypointPositions(WaypointPositionsT&& value) { m_waypointPositionsHasBeenSet = true; m_waypointPositions.emplace_back(std::forward<WaypointPositionsT>(value)); return *this; }
130
132
149 inline TravelMode GetTravelMode() const { return m_travelMode; }
150 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
151 inline void SetTravelMode(TravelMode value) { m_travelModeHasBeenSet = true; m_travelMode = value; }
152 inline CalculateRouteRequest& WithTravelMode(TravelMode value) { SetTravelMode(value); return *this;}
154
156
164 inline const Aws::Utils::DateTime& GetDepartureTime() const { return m_departureTime; }
165 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
166 template<typename DepartureTimeT = Aws::Utils::DateTime>
167 void SetDepartureTime(DepartureTimeT&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::forward<DepartureTimeT>(value); }
168 template<typename DepartureTimeT = Aws::Utils::DateTime>
169 CalculateRouteRequest& WithDepartureTime(DepartureTimeT&& value) { SetDepartureTime(std::forward<DepartureTimeT>(value)); return *this;}
171
173
180 inline bool GetDepartNow() const { return m_departNow; }
181 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
182 inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; }
183 inline CalculateRouteRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;}
185
187
191 inline DistanceUnit GetDistanceUnit() const { return m_distanceUnit; }
192 inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; }
193 inline void SetDistanceUnit(DistanceUnit value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = value; }
196
198
203 inline bool GetIncludeLegGeometry() const { return m_includeLegGeometry; }
204 inline bool IncludeLegGeometryHasBeenSet() const { return m_includeLegGeometryHasBeenSet; }
205 inline void SetIncludeLegGeometry(bool value) { m_includeLegGeometryHasBeenSet = true; m_includeLegGeometry = value; }
206 inline CalculateRouteRequest& WithIncludeLegGeometry(bool value) { SetIncludeLegGeometry(value); return *this;}
208
210
215 inline const CalculateRouteCarModeOptions& GetCarModeOptions() const { return m_carModeOptions; }
216 inline bool CarModeOptionsHasBeenSet() const { return m_carModeOptionsHasBeenSet; }
217 template<typename CarModeOptionsT = CalculateRouteCarModeOptions>
218 void SetCarModeOptions(CarModeOptionsT&& value) { m_carModeOptionsHasBeenSet = true; m_carModeOptions = std::forward<CarModeOptionsT>(value); }
219 template<typename CarModeOptionsT = CalculateRouteCarModeOptions>
220 CalculateRouteRequest& WithCarModeOptions(CarModeOptionsT&& value) { SetCarModeOptions(std::forward<CarModeOptionsT>(value)); return *this;}
222
224
230 inline const CalculateRouteTruckModeOptions& GetTruckModeOptions() const { return m_truckModeOptions; }
231 inline bool TruckModeOptionsHasBeenSet() const { return m_truckModeOptionsHasBeenSet; }
232 template<typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
233 void SetTruckModeOptions(TruckModeOptionsT&& value) { m_truckModeOptionsHasBeenSet = true; m_truckModeOptions = std::forward<TruckModeOptionsT>(value); }
234 template<typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
235 CalculateRouteRequest& WithTruckModeOptions(TruckModeOptionsT&& value) { SetTruckModeOptions(std::forward<TruckModeOptionsT>(value)); return *this;}
237
239
245 inline const Aws::Utils::DateTime& GetArrivalTime() const { return m_arrivalTime; }
246 inline bool ArrivalTimeHasBeenSet() const { return m_arrivalTimeHasBeenSet; }
247 template<typename ArrivalTimeT = Aws::Utils::DateTime>
248 void SetArrivalTime(ArrivalTimeT&& value) { m_arrivalTimeHasBeenSet = true; m_arrivalTime = std::forward<ArrivalTimeT>(value); }
249 template<typename ArrivalTimeT = Aws::Utils::DateTime>
250 CalculateRouteRequest& WithArrivalTime(ArrivalTimeT&& value) { SetArrivalTime(std::forward<ArrivalTimeT>(value)); return *this;}
252
254
257 inline OptimizationMode GetOptimizeFor() const { return m_optimizeFor; }
258 inline bool OptimizeForHasBeenSet() const { return m_optimizeForHasBeenSet; }
259 inline void SetOptimizeFor(OptimizationMode value) { m_optimizeForHasBeenSet = true; m_optimizeFor = value; }
262
264
269 inline const Aws::String& GetKey() const { return m_key; }
270 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
271 template<typename KeyT = Aws::String>
272 void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward<KeyT>(value); }
273 template<typename KeyT = Aws::String>
274 CalculateRouteRequest& WithKey(KeyT&& value) { SetKey(std::forward<KeyT>(value)); return *this;}
276 private:
277
278 Aws::String m_calculatorName;
279 bool m_calculatorNameHasBeenSet = false;
280
281 Aws::Vector<double> m_departurePosition;
282 bool m_departurePositionHasBeenSet = false;
283
284 Aws::Vector<double> m_destinationPosition;
285 bool m_destinationPositionHasBeenSet = false;
286
287 Aws::Vector<Aws::Vector<double>> m_waypointPositions;
288 bool m_waypointPositionsHasBeenSet = false;
289
290 TravelMode m_travelMode{TravelMode::NOT_SET};
291 bool m_travelModeHasBeenSet = false;
292
293 Aws::Utils::DateTime m_departureTime{};
294 bool m_departureTimeHasBeenSet = false;
295
296 bool m_departNow{false};
297 bool m_departNowHasBeenSet = false;
298
299 DistanceUnit m_distanceUnit{DistanceUnit::NOT_SET};
300 bool m_distanceUnitHasBeenSet = false;
301
302 bool m_includeLegGeometry{false};
303 bool m_includeLegGeometryHasBeenSet = false;
304
305 CalculateRouteCarModeOptions m_carModeOptions;
306 bool m_carModeOptionsHasBeenSet = false;
307
308 CalculateRouteTruckModeOptions m_truckModeOptions;
309 bool m_truckModeOptionsHasBeenSet = false;
310
311 Aws::Utils::DateTime m_arrivalTime{};
312 bool m_arrivalTimeHasBeenSet = false;
313
315 bool m_optimizeForHasBeenSet = false;
316
317 Aws::String m_key;
318 bool m_keyHasBeenSet = false;
319 };
320
321} // namespace Model
322} // namespace LocationService
323} // namespace Aws
CalculateRouteRequest & WithTravelMode(TravelMode value)
const CalculateRouteCarModeOptions & GetCarModeOptions() const
CalculateRouteRequest & WithCarModeOptions(CarModeOptionsT &&value)
CalculateRouteRequest & WithArrivalTime(ArrivalTimeT &&value)
CalculateRouteRequest & WithTruckModeOptions(TruckModeOptionsT &&value)
CalculateRouteRequest & AddWaypointPositions(WaypointPositionsT &&value)
const Aws::Vector< double > & GetDeparturePosition() const
const Aws::Vector< Aws::Vector< double > > & GetWaypointPositions() const
CalculateRouteRequest & WithIncludeLegGeometry(bool value)
CalculateRouteRequest & WithCalculatorName(CalculatorNameT &&value)
const CalculateRouteTruckModeOptions & GetTruckModeOptions() const
CalculateRouteRequest & AddDestinationPosition(double value)
const Aws::Vector< double > & GetDestinationPosition() const
virtual const char * GetServiceRequestName() const override
CalculateRouteRequest & WithDepartureTime(DepartureTimeT &&value)
CalculateRouteRequest & AddDeparturePosition(double value)
CalculateRouteRequest & WithDestinationPosition(DestinationPositionT &&value)
CalculateRouteRequest & WithDistanceUnit(DistanceUnit value)
AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override
CalculateRouteRequest & WithOptimizeFor(OptimizationMode value)
const Aws::Utils::DateTime & GetDepartureTime() const
CalculateRouteRequest & WithWaypointPositions(WaypointPositionsT &&value)
AWS_LOCATIONSERVICE_API CalculateRouteRequest()=default
CalculateRouteRequest & WithDeparturePosition(DeparturePositionT &&value)
void SetDestinationPosition(DestinationPositionT &&value)
const Aws::Utils::DateTime & GetArrivalTime() const
AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector