AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CalculateRouteMatrixRequest.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/location/LocationServiceRequest.h>
11#include <aws/location/LocationService_EXPORTS.h>
12#include <aws/location/model/CalculateRouteCarModeOptions.h>
13#include <aws/location/model/CalculateRouteTruckModeOptions.h>
14#include <aws/location/model/DistanceUnit.h>
15#include <aws/location/model/TravelMode.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Http {
21class URI;
22} // namespace Http
23namespace LocationService {
24namespace Model {
25
29 public:
30 AWS_LOCATIONSERVICE_API CalculateRouteMatrixRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CalculateRouteMatrix"; }
37
38 AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override;
39
40 AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41
43
47 inline const Aws::String& GetCalculatorName() const { return m_calculatorName; }
48 inline bool CalculatorNameHasBeenSet() const { return m_calculatorNameHasBeenSet; }
49 template <typename CalculatorNameT = Aws::String>
50 void SetCalculatorName(CalculatorNameT&& value) {
51 m_calculatorNameHasBeenSet = true;
52 m_calculatorName = std::forward<CalculatorNameT>(value);
53 }
54 template <typename CalculatorNameT = Aws::String>
56 SetCalculatorName(std::forward<CalculatorNameT>(value));
57 return *this;
58 }
60
62
80 inline const Aws::Vector<Aws::Vector<double>>& GetDeparturePositions() const { return m_departurePositions; }
81 inline bool DeparturePositionsHasBeenSet() const { return m_departurePositionsHasBeenSet; }
82 template <typename DeparturePositionsT = Aws::Vector<Aws::Vector<double>>>
83 void SetDeparturePositions(DeparturePositionsT&& value) {
84 m_departurePositionsHasBeenSet = true;
85 m_departurePositions = std::forward<DeparturePositionsT>(value);
86 }
87 template <typename DeparturePositionsT = Aws::Vector<Aws::Vector<double>>>
89 SetDeparturePositions(std::forward<DeparturePositionsT>(value));
90 return *this;
91 }
92 template <typename DeparturePositionsT = Aws::Vector<double>>
93 CalculateRouteMatrixRequest& AddDeparturePositions(DeparturePositionsT&& value) {
94 m_departurePositionsHasBeenSet = true;
95 m_departurePositions.emplace_back(std::forward<DeparturePositionsT>(value));
96 return *this;
97 }
99
101
119 inline const Aws::Vector<Aws::Vector<double>>& GetDestinationPositions() const { return m_destinationPositions; }
120 inline bool DestinationPositionsHasBeenSet() const { return m_destinationPositionsHasBeenSet; }
121 template <typename DestinationPositionsT = Aws::Vector<Aws::Vector<double>>>
122 void SetDestinationPositions(DestinationPositionsT&& value) {
123 m_destinationPositionsHasBeenSet = true;
124 m_destinationPositions = std::forward<DestinationPositionsT>(value);
125 }
126 template <typename DestinationPositionsT = Aws::Vector<Aws::Vector<double>>>
128 SetDestinationPositions(std::forward<DestinationPositionsT>(value));
129 return *this;
130 }
131 template <typename DestinationPositionsT = Aws::Vector<double>>
132 CalculateRouteMatrixRequest& AddDestinationPositions(DestinationPositionsT&& value) {
133 m_destinationPositionsHasBeenSet = true;
134 m_destinationPositions.emplace_back(std::forward<DestinationPositionsT>(value));
135 return *this;
136 }
138
140
155 inline TravelMode GetTravelMode() const { return m_travelMode; }
156 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
157 inline void SetTravelMode(TravelMode value) {
158 m_travelModeHasBeenSet = true;
159 m_travelMode = value;
160 }
162 SetTravelMode(value);
163 return *this;
164 }
166
168
179 inline const Aws::Utils::DateTime& GetDepartureTime() const { return m_departureTime; }
180 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
181 template <typename DepartureTimeT = Aws::Utils::DateTime>
182 void SetDepartureTime(DepartureTimeT&& value) {
183 m_departureTimeHasBeenSet = true;
184 m_departureTime = std::forward<DepartureTimeT>(value);
185 }
186 template <typename DepartureTimeT = Aws::Utils::DateTime>
188 SetDepartureTime(std::forward<DepartureTimeT>(value));
189 return *this;
190 }
192
194
202 inline bool GetDepartNow() const { return m_departNow; }
203 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
204 inline void SetDepartNow(bool value) {
205 m_departNowHasBeenSet = true;
206 m_departNow = value;
207 }
209 SetDepartNow(value);
210 return *this;
211 }
213
215
219 inline DistanceUnit GetDistanceUnit() const { return m_distanceUnit; }
220 inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; }
221 inline void SetDistanceUnit(DistanceUnit value) {
222 m_distanceUnitHasBeenSet = true;
223 m_distanceUnit = value;
224 }
226 SetDistanceUnit(value);
227 return *this;
228 }
230
232
237 inline const CalculateRouteCarModeOptions& GetCarModeOptions() const { return m_carModeOptions; }
238 inline bool CarModeOptionsHasBeenSet() const { return m_carModeOptionsHasBeenSet; }
239 template <typename CarModeOptionsT = CalculateRouteCarModeOptions>
240 void SetCarModeOptions(CarModeOptionsT&& value) {
241 m_carModeOptionsHasBeenSet = true;
242 m_carModeOptions = std::forward<CarModeOptionsT>(value);
243 }
244 template <typename CarModeOptionsT = CalculateRouteCarModeOptions>
246 SetCarModeOptions(std::forward<CarModeOptionsT>(value));
247 return *this;
248 }
250
252
258 inline const CalculateRouteTruckModeOptions& GetTruckModeOptions() const { return m_truckModeOptions; }
259 inline bool TruckModeOptionsHasBeenSet() const { return m_truckModeOptionsHasBeenSet; }
260 template <typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
261 void SetTruckModeOptions(TruckModeOptionsT&& value) {
262 m_truckModeOptionsHasBeenSet = true;
263 m_truckModeOptions = std::forward<TruckModeOptionsT>(value);
264 }
265 template <typename TruckModeOptionsT = CalculateRouteTruckModeOptions>
267 SetTruckModeOptions(std::forward<TruckModeOptionsT>(value));
268 return *this;
269 }
271
273
278 inline const Aws::String& GetKey() const { return m_key; }
279 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
280 template <typename KeyT = Aws::String>
281 void SetKey(KeyT&& value) {
282 m_keyHasBeenSet = true;
283 m_key = std::forward<KeyT>(value);
284 }
285 template <typename KeyT = Aws::String>
287 SetKey(std::forward<KeyT>(value));
288 return *this;
289 }
291 private:
292 Aws::String m_calculatorName;
293
294 Aws::Vector<Aws::Vector<double>> m_departurePositions;
295
296 Aws::Vector<Aws::Vector<double>> m_destinationPositions;
297
298 TravelMode m_travelMode{TravelMode::NOT_SET};
299
300 Aws::Utils::DateTime m_departureTime{};
301
302 bool m_departNow{false};
303
304 DistanceUnit m_distanceUnit{DistanceUnit::NOT_SET};
305
306 CalculateRouteCarModeOptions m_carModeOptions;
307
308 CalculateRouteTruckModeOptions m_truckModeOptions;
309
310 Aws::String m_key;
311 bool m_calculatorNameHasBeenSet = false;
312 bool m_departurePositionsHasBeenSet = false;
313 bool m_destinationPositionsHasBeenSet = false;
314 bool m_travelModeHasBeenSet = false;
315 bool m_departureTimeHasBeenSet = false;
316 bool m_departNowHasBeenSet = false;
317 bool m_distanceUnitHasBeenSet = false;
318 bool m_carModeOptionsHasBeenSet = false;
319 bool m_truckModeOptionsHasBeenSet = false;
320 bool m_keyHasBeenSet = false;
321};
322
323} // namespace Model
324} // namespace LocationService
325} // namespace Aws
CalculateRouteMatrixRequest & WithDepartureTime(DepartureTimeT &&value)
const Aws::Vector< Aws::Vector< double > > & GetDeparturePositions() const
const Aws::Vector< Aws::Vector< double > > & GetDestinationPositions() const
CalculateRouteMatrixRequest & WithTruckModeOptions(TruckModeOptionsT &&value)
CalculateRouteMatrixRequest & WithTravelMode(TravelMode value)
CalculateRouteMatrixRequest & AddDeparturePositions(DeparturePositionsT &&value)
AWS_LOCATIONSERVICE_API CalculateRouteMatrixRequest()=default
AWS_LOCATIONSERVICE_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
const CalculateRouteCarModeOptions & GetCarModeOptions() const
CalculateRouteMatrixRequest & WithDistanceUnit(DistanceUnit value)
CalculateRouteMatrixRequest & WithCarModeOptions(CarModeOptionsT &&value)
CalculateRouteMatrixRequest & WithDeparturePositions(DeparturePositionsT &&value)
CalculateRouteMatrixRequest & WithDestinationPositions(DestinationPositionsT &&value)
CalculateRouteMatrixRequest & WithCalculatorName(CalculatorNameT &&value)
const CalculateRouteTruckModeOptions & GetTruckModeOptions() const
AWS_LOCATIONSERVICE_API Aws::String SerializePayload() const override
CalculateRouteMatrixRequest & AddDestinationPositions(DestinationPositionsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector